2017년 7월 2일 일요일

6월 15일

6월 15일
현제까지 밝혀진 문제점/공부할 점

현제 내부에서 핵심 기능으로 평가중인 옷 과 신체사이즈 간의 관계, 사실적인 물리효과
에 대한 정보를 업데이트 합니다.
크게 핵심기능과 문제점을 짚어보며, 2주차 발표 이후 우리가 넘어가야 할 첫 번째 산이 어느 파트인지 설명 해 보겠습니다.




핵심기능과 문제점


1. 첫 번째로 신체사이즈는 Morph targer 과 Animation bone controller를 사용하여 키와 살의 변형이 가능하다는 결론을 얻었고, 이미 Morph target은 실제 적용에 성공하였습니다. 애니메이션 파트를 맡기에는 아직까지 시간과 정보가 부족하며, 우선순위도 비교적 낮기 때문에 2주차 발표에서는 구현 단계를 미루기로 결정했습니다.










(Morph target을 이용한 캐릭터의 세부적인 표현)








2. 두 번째로 옷에 대한 사실적인 물리효과에 대한 것입니다.
지금까지 AMD 와 NVIDIA, 혹은 HAVOK 사 등에서 내놓은 여러 가지 물리 엔진이 있으나, 얘나 지금이나 모델링 Clipping 문제가 있습니다.








 (위쪽의 AMD hairworks   아래쪽의 NVIDIA사의 Gameworks)


현제 코드빼고 무료로 공개되어있고, 다른 엔진에 비하여 양호한 편으로 Clipping문제를 해결중 이며, 좋게 평가 받고있는 Nvidia 사의 APEX Cloth 시스템을 사용하기로 결정했습니다.





(APEX Cloth)




기초적인 Cloth 시스템의 구현 역시 성공적으로 되었습니다만. 아직 남아있는 문제가 있습니다. 옷에 대해서는 ragdoll 시스템을 주입시켜야 합니다.




(ragdoll과 애니메이션의 병합 예시, ragdoll 수치를 높게 잡아 애니메이션에 따라 휘두른 주먹의 힘의 양이 메쉬의 몸무개를 뛰어넘어버려 메쉬는 넘어지게 된 장면입니다.)


ragdoll의 초기 구현 목적은 애니메이션과 별개로 스스로 “물리”적으로 동작하는 메쉬를 위해서 만들어 졌습니다.
이후 오랫동안 발전 끝에, 이 기술은 애니메이션 시스템과 병합되거나, 독립적으로 높은 퍼포먼스를 유지하며 훌륭하게 동작하는 단계에 이르렀습니다만, 독자적인 시스템들이 들어간 아종 ragdoll 들이 많이 생겨, 기준이 애매한 상태인 것 같습니다.

APEX Cloth 시스템에서는 ragdoll을 사용한다고 명시하였으며,
언리얼 엔진에서는 phAT라며, 물리에셋툴 이라는 이름의 툴을 이용해서 ragdoll과 비슷한 물리를 사용중인 것 같습니다.
14일 오전 테스트로 APEX Cloth 에서는 phAT 의 ragdoll은 먹히지 않았습니다.
같은날 오후 테스트로 APEX Cloth에서 사용하라고 하는 ragdoll을 구현했을 때, 정상적으로 언리얼엔진에서도 인식이 되는 것을 확인했습니다.

이로써 해결해야 하는 문제는 아래와 같습니다:
1. APEX의 ragdoll 시스템과 Unreal에서 제공하는 ragdoll 시스템은 동일한가?
2. 동일하다면 unreal에서 제공하는 ragdoll 로 APEX의 옷에 기능을 적용 할 수 있는가?
3. 동일하지 않다면 동일하게 바꿀 수 있는가?
4. 체형의 변화에 따라 옷에도 적용해야할 ragdoll 범위또한 변해야 한다. 이를 해결하기 위한 솔루션이 있는가? 혹은 C++ 코드로 우리가 수정 할 수 있는가?

의 문제가 남아있습니다.



3. 세 번째의 문제인  옷과 신체사이즈 간의 관계입니다.
신체사이즈의 조절과 기획에 맞는 옷의 사이즈를 생각하여 낸 결론은 문제없다 압니다.

우선 이 작업을 시작하기 앞서, 우리는
1. 수정을 할 신체부위의 최소, 최대치 기준 정립.
2. 옷과 신체부위와의 비교가 필요한 부위를 결정.
3. 옷과 신체부위의 메쉬와 언리얼 엔진에서의 치수 통일 ex) 1uu=1cm
4. 옷의 사이즈, 재질, 부위별로 세분화, 그에따른 신체에 적용가능한 허용 수치 결정.

를 회의를 통해 최종 정립합니다.

이후 신체사이즈에 따른 올바른 옷들을 sort 시켜줄 수 있는 알고리즘을 구현합니다.







가장 우선적인 작업



이 작업들을 행하기 위해 가장 중요한 부분은 통일되고, 필요기능이 충족되고, 재사용이 용이한 뼈대인 스켈레탈 메쉬를 구현하는 것입니다.
스켈레탈 메쉬가 있어야만 올바르게 아바타 생성, 옷과 아바타사이의 현실적인 적용, APEX 적용이 가능하게 되기때문에 가장 우선적으로 작업되어야 할 부분이 될 것입니다.
이미 이 부분을 맡을 Maya 공부는 시작되었습니다.










댓글 없음:

댓글 쓰기