UDN
Search public documentation:
TranslucentHairSortingKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
반투명 헤어 소팅
문서 변경내역: Jack Porter 작성; 홍성진 번역.
개요
게임에서 헤어를 한 올 한 올 실시간 렌더하려면 꽤나 비싸기에, 보통은 그 위에다 헤어같아 보이는 폴리곤 층을 놓는 식으로 해결하고 있습니다. 그런 다음 폴리곤에다가 반투명 에지 헤어 가닥으로 텍스처를 입히는 것입니다. 이 방법에서 생길 수 있는 문제라면 폴리곤이 서로 교차할 수가 있다는 것인데, 그렇게 하지 않으면 캐릭터 머리 위에 얹어 놓은 헬멧 같아 보일 수가 있으니 어쩔 수 없습니다. 폴리곤이 교차해 버리면 많은 실시간 렌더러에서는 폴리곤을 올바른 순서대로 그리지 못하므로 폴리곤이 반짝이거나 튀어보이게 됩니다. 언리얼 엔진 3 에서는 아티스트가 스켈레탈 메시 안에서 폴리곤 렌더링 순서를 직접 조절할 수 있게 하여 이 문제를 해결하고 있습니다. 물론 헤어는 머리칼이나 털 뿐만 아니라 가죽이나 이끼같은 것으로 바꿔도 됩니다.
반투명 헤어 소팅 기능 접근법
헤어 소팅 기능은 애님세트 에디터 를 통해 접할 수 있습니다. 여기서 소팅 모드를 포함해 반투명 헤어가 될 부분 작업을 하면 됩니다.
트라이앵글 소팅 모드
TRISORT_None
인덱스 버퍼에 소팅이 적용된 적이 없고, 트라이앵글 그리기 순서는 버텍스 캐시에 대해 최적화된 대로입니다.TRISORT_CenterRadialDistance (중심 방사형 거리)
이 머티리얼/섹션에 대한 모든 버텍스 중심을 찾습니다. 그리고서 에지를 공유하는 연속된 트라이앵글 스트립을 간추립니다. 그런 다음 메시 중심에 가까운 스트립을 시작으로 밖으로 나가며 그 다음으로 가까운 스트립을 그립니다. 낮은 레이어가 먼저 렌더되기에, 보통 플레이어 머리에 좋습니다.TRISORT_Random
테스트용 모드로, 트라이앵글을 임의로 소팅합니다.TRISORT_Tootle
이 모드는 TRISORT_CenterRadialDistance 와 유사한 소팅을 위해 AMD의 오버드로-최소화 Tootle 라이브러리를 사용합니다.TRISORT_MergeContiguous (인접 병합)
이 모드는 기존 그리기 순서를 최대한 유지하되, 어떤 트라이앵글 스트립이 (에지를 공유하거나 해서) 물리적으로 연결되었는데도 인덱스 버퍼에는 (그리기 순서가) 붙어있지 않은 경우, 트라이앵글 스트립을 붙이기 위해 병합시킵니다. 이 방법은 메시 임포트 직후 디폴트 그리기 순서가 꽤나 괜찮은데 인접되지 않은 스트립이 조금 있을 때 좋습니다. 일단 스트립이 인접되면 TRISORT_Custom 으로 스트립 그리기 순서를 조절하면 됩니다.TRISORT_Custom
트라이앵글 개별 스트립을 선택하고 소팅 순서를 바꿔, 항상 다른 헤어 스트립 앞이나 뒤에 렌더링되도록 할 수 있는 옵션입니다. 보통 헤어에 가장 좋은 방법은, TRISORT_CenterRadialDistance 로 소팅(1)하여 적절한 헤어 그리기 순서를 얻습니다. 그런데 가끔은 특정 헤어 스트립을 다른 스트립 앞뒤에 렌더링하도록 바꾸는게 나을 수가 있습니다. 아래 예제에서, 원형 헤어 스트립(2)을 그 옆의 헤어 스트립 뒤에 렌더하고 싶다 칩시다.




TRISORT_CustomLeftRight
이 옵션은 TRISORT_Custom과 하는 일이 완전 똑같으나, 그리기 순서를 둘 저장합니다: 하나는 모델의 왼편에서 볼 때, 하나는 오른편에서 볼 때 입니다. 뷰어가 메시를 보고 있는 방향에 따라 그리기 순서가 실행시간에 선택되게 됩니다. 이 옵션은 섹션의 트라이앵글 당 6 Byte만큼 메모리 사용량이 늘어납니다. 툴바에 있는
- CustomLeftRightBoneName (커스텀 좌우 본 이름) - 어느 쪽의 헤어를 표시할지를 정하기 위해 좌표와 축 등을 기준점으로 사용할 본의 이름입니다. 보통은 머리 본입니다. None 으로 설정된 경우, 원점과 메시의 로컬 공간이 사용됩니다.
- CustomLeftRightAxis (커스텀 좌우 축) - 카메라가 메시를 향할 때 오른쪽을 향하는 본 축입니다. 스켈레톤 렌더링과 선택적으로 본 이름을 켜면 각 본에 대한 축을 시각화시켜 볼 수 있습니다. 각 본에는 3색선이 있으며, X 는 빨강, Y 는 초록, Z 는 파랑 입니다.
트라이앵글 그리기 순서 시각화 슬라이더
이 슬라이더로 트라이앵글 그리기 순서를 시각화시켜 볼 수 있습니다. 슬라이더를 왼쪽으로 끌면 표시되는 반투명 트라이앵글 수가 렌더링되는 순서대로 차차 감소되며, 오른쪽으로 끌면 증가됩니다. 이를 통해 다른 스트립에 가려진 스트립 선택을 위해 반투명 레이어를 서서히 벗겨볼 수도 있겠습니다.

스켈레탈 메시 리임포팅 관련 공지
커스텀 소팅을 가진 스켈레탈 메시를 리임포트할 때, 언리얼은 커스텀 소팅 순서 백업 및 복원을 시도합니다. 버텍스 순서도 같을 필요는 없습니다. 대신 새 메시의 각 헤어 스트립에 있는 각각의 트라이앵글에 대한 참조 포즈 위치가 구형 메시와 비교됩니다. 스트립의 트라이앵글 전부가 일치하면, 스트립의 그리기 순서는 유지됩니다. 버텍스가 수정된 헤어 스트립이거나 새로 추가된 헤어 스트립의 경우는 수동으로 소팅해야 하나, 나머지 스트립의 순서는 유지됩니다. 구형 메시의 스트립이 새 메시와 일치하지 않는 게 있으면, 경고창을 통해 얼마나 일치하지 않는지 유저에게 알려주게 됩니다.
원패스 헤어 라이팅
반투명 라이팅을 패스 여러번으로 처리하면, 같은 메시에 레어이가 여럿 겹쳐버려 결과물이 너무 밝아지게 됩니다. 스켈레탈 메시 시네마틱 액터 에 기본값인 원패스 라이팅 설정이 새로 생겼으니, 에디터에서 라이팅을 미리보려면 스켈레탈 메시 시네마틱 액터 를 놓아 보면 됩니다. 원패스 라이팅을 사용하려면 게임플레이 스켈레탈 메시 컴포넌트 상의 스크립트에 bUseOnePassLightingOnTranslucency (반투명에 원패스 라이팅 사용여부) 플랙을 참으로 설정해야 합니다.