• [Unreal 게시판] mobile unreal에서의 particle texture의 적절한 해상도2013.10.08 PM 10:02

게시물 주소 FONT글자 작게하기 글자 키우기

Question>

mobile unreal에서 particle을 만들려고 함.
particle에 쓸 texture의 해상도는 어느 정도가 적절한가?

-------------------------------------------------------------

Answer>

구현하려는 particle의 크기와 camera와의 거리에 따라서,
다양한 상황이 발생되기 때문에
이 질문에 대한 명확한 정답은 없다고 생각합니다.^^;;;;;

하지만,
개인적으로 생각하기에는
이런 문제의 기준은 texel(texture pixel)이어야 한다고 생각합니다.

예를 들어서
mesh type 형태의 particle로 '마법진'을 만들었다면,
particle이 발동될 때, '마법진'이 선명하게 보여 져야, user도 기분이 좋겠죠? ^^

하지만,
만약에 '마법진'이 흐릿하게 뭉게 져서 보인다면, user가 기분 좋게 볼 리가 없죠.^^;;;;

저 같은 경우,
일단 기본적으로 256 x 256으로 해보고,
particle의 texel이 흐리게 나오면, texture 해상도를 더 높이고,
particle의 texel이 선명하면, texture 해상도를 더 낮춥니다.
이런 식으로 조정해서 맞춥니다.^^

그리고,
iPhone 3는 480 x 320의 해상도를 가지지만,
iPad 4 같은 경우, 2048 x 1536의 해상도를 가집니다.
제일 좋은 방법은
기기마다 particle texture를 따로 적용하는 겁니다.
하지만, 현실적으로는 작업량이 많아져서, 이렇게 하게 되지는 않습니다.^^;;;

양쪽을 모두 지원해야 하면서,
한쪽으로 맞추어야만 하는 상황이라면, ^^;;;;;;;;;
해상도가 높은 기기(iPad 4)에 기준을 맞추어야, texel이 뭉게지지 않습니다.

하지만,
앞에서도 썼듯이, 이 질문에 대한 명확한 정답은 없습니다.
상황에 따라 여러 요소를 생각하셔서,
조정해서 최적의 값을 찾아 보시기 바랍니다.^^







Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS
댓글 : 2 개
파티클을 밉맵적용하여 저장후 기기별로 mip map 단계를 읽어오면 되지않나요?
'texture의 mipmap의 단계'에 대한 조정은
engine이 내부적으로 통제하게 되어 있습니다.

따라서,
'texture의 mipmap의 단계'를
unreal s!crip이나 kismet으로 통제하는 방법은 없습니다.
그래서, 말씀하신 방법은 불가능합니다.

(혹시, 불합리하다고 생각하실 지는 모르겠지만,
unreal engine은
low level의 접근을 막아 놓은 게 제법 많습니다.
예를 들자면, mesh의 vertex에 대한 접근도 불가능합니다. ^^;;;;;;;;;;;;)

하지만,
해상도가 높은 쪽 texture를 맞추셔도,
mobile unreal engine은 기기의 CPU나 GPU 능력에 따라,
mipmap 자동으로 선택해서 적용해 주는 기능이 잘 만들어져 있습니다.^^

예를 들어,
'infinity blade'나 'horn' 같은 app을
iPod 4G에서 실행할 때와 iPad4에서 실행할 때를 비교해 보신다면,
texture의 질이 확~ 바뀌어 지는 게 보입니다.

이 기능은 'infinity blade'나 'horn'의 개발자가
만든 게 아니라, unreal engine이 자동으로 해주는 거라서,
님이 만드신 app에도 자동으로 적용됩니다.^^

요약하면,
개발자는 '적절하게 높은 해상도의 texture'만 제공해 주기만 하면,
나머지는 engine이 기기의 능력에 따라서
자동으로 조정해서 mipmap을 적용한다는 거고요.
이 기능은 'infinity blade'나 'horn'의 예로 봤을 때,
나름 신뢰할만하다고 생각합니다.^^


P.S.1
mipmap에 대한 통제는 불가능하지만,
LOD(Level of Deteail) 개념으로 접근해서,
material를 단계적으로 통제할 수는 있습니다.

P.S.2
만약에 full license의 unreal engine을 쓰신다면,
위의 제한을 모두 다 바꾸실 수 있습니다.
하지만, 부수적인 다른 문제가 생길 가능성이 높습니다.^^;;;;;
친구글 비밀글 댓글 쓰기