반응형

스켈레탈 메시를 처음 생성하면 피직스 에셋이 자동 생성됩니다.

자동 생성이 안됐어도 스켈레탈 메시를 누르고 피직스 추가를 하면 피직스를 새로 만들수 있습니다.

 

자동 생성된 피직스는 모양과 크기가 제대로 설정되어 있지 않아 시뮬레이션 결과가 엉망으로 나옵니다.

처음 생성했을때의 피직스 모양 - 모양과 크기가 엉망입니다..

피직스 셋팅이 안된 상태의 시뮬레이션 영상 -  아 흉해라.. 

 

이 상태로 게임에 쓸수 없기에 각 관절마다 피직스 셋팅을 해줘야 합니다.

 

설정가이드

1. 각 관절이 전부 Sphyl 형태로 되어 있는데, 계산이 많이 필요한 허벅지나 양쪽 팔등만 설정하고 나머지는 Box 형태로

설정해 줍니다.

 

2. 관절형태를 설정후 크기 및 방향등을 재설정해 줍니다.

-각 관절이 겹치게 될경우 물리 계산이 꼬이게 되므로 서로 겹치지 않도록 하고 사이즈가 너무 크지 않고 설정해 줍니다.

 


3. 각 관절별 사이즈 조절이 끝나면 컨스트레인트 각도 설정을 해줘야합니다.

- 관절 사이즈보다 컨스트레인드 각도와 위치가 더 큰영향을 끼치게 되므로 많은 테스트가 필요한 부분입니다.

여기서 각 관절이 얼마만큼 꺽이도록 할것인지 설정하고, 방향은 어느 쪽으로 향하는지 등을 설정할 수 있습니다.

여기서 주의할 점은 컨스트레인트는 한번 삭제하면 복구하기가 굉장히 까다롭기 때문에(거의 다시 만들어야함..)

삭제할때 신중을 기해야 합니다.

 

4. 새로 셋팅된 피직스형태

 

 

위와 같이 셋팅을 마치고 나면 아래처럼 시뮬레이션이 출력됩니다. 아직 완벽하진 않지만, 점점 좋아질것을 기대하며.. 

 

오늘 처음 해본거라 아직 셋팅이 완벽하지 않아 여전히 부족한 부분이 있지만, 앞으로 많은 테스트를 거치다 보면

이쁜 결과물을 충분히 만들어 낼수 있을거라 기대합니다.

앞으로 배포될 APK에 일단 주인공만 포함될 예정이며 좀더 연구해 본후 몬스터에도 적용시킬지 검토중입니다.

 

반응형
반응형

Apex Cloth를 이용하기 위해서는 먼저 ndivia홈페이로 가셔서 개발자 계정으로 회원가입을 한 후

플러그인을 받아야 합니다.

https://developer.nvidia.com/apex-clothing-3dsmax-tutorials

NVIDIA_PhysX_For_Autodesk_3ds_Max_2014_64bit_3.02.01024.04200.msi(자료방에 공유)

라는 파일을 다운받고 설치하면 맥스에 PhysX라는 플러그인이 설치됩니다.


 

-간단한 사용법 튜토리얼

물리를 적용할 캐릭터에  Skin 작업 완료후 Apex를 적용해 줍니다.


 

그리고 Max Distance로 설정하여 Brush Value값을 지정한뒤 시뮬이 적용될 Poly를 칠해줍니다.

 

 

페인트 작업이 끝나면 천이 충돌하는 위치의 Bone들에게 충돌처리를 해줍니다.

Create Kinematic Rig를 실행후 Bone들을 ADD해 줍니다.


 

위 작업을 해주면 지정한 본들의 캡슐이 생성되며 각 캡슐마다 충돌영역을 수정하여 크기를 지정해 줍니다.


 

이제 맥스작업이 마무리되면 언리얼로 넘기기 위해 Export를 해줘야 합니다.

구 버전에는 없지만, 최신버전에는 export를 할 수있는 메뉴가 친절히 내재되어 있습니다.

 

익스포트 완료후 캐릭터FBX파일을 언리얼로 임포트후 생성된 Apx 파일을 추가해 주면 언리얼에서

시뮬을 하기 위한 모든 셋팅이 완료됩니다.

 

 

 

천시뮬이 제대로 들어갔는지 확인하기 위해 페르소나툴의 메시 카테고리에서 바람을 적용해 보면 시뮬레이터 적용을 확인해 볼수 있습니다.

 

 


 

 

 

모든 셋팅이 끝난후 애니메이션을 적용해 보면 천시뮬레이션이 멋지게 적용된 것을 확인하실 수 있습니다.

 

 

테스트하면서 발생했던 에로사항들..

1. 신버전에 대한 제대로된 튜토리얼이 존재하지 않아 혼자서 삽질하며 알아냈습니다. 까페에 글올려도 대답이 없어

혼자서 자문자답했다는..

2. 언리얼상에 임포트가 되지 않아 문제 원인을 찾던중.. 이거 역시 아무리 뒤져도 나오지 않아 혹시나 해서 폴더를

영문으로 바꿨더니 잘 되네요..ㅠ

3. 맥스 작업시 가끔씩 트랜스폼 기즈모가 사라집니다. 자세히 보니 사라지는게 아니고 엄청 작아져서 다시 키워줘야

합니다.

4. 페인트 브러시 크기가 줄어들지 않아 찾느라 엄청 헤맸네요.. 구글 어디에도 답이 없다가 혼자서 이거저거 뒤지다

겨우 알아냈습니다.

 

반응형
반응형

캐릭터가 굴곡진 곳이나 불균형적인 곳을 다닐때 발이 땅을 뚫고 들어가는 것을 방지하도록 하는 기능입니다.

비대칭 지역을 다리가 알아서 인식하여 짝다리를 해주는 기능..ㅎㅎ

간단한 용어 설명

- IK(Inverse Kinematics)란?

일반적인 애니메이션은 아래 그림처럼 정방향 운동을 합니다. 하위 본에 로테이션을 주며 한개의 본만 영향을 끼치도록

애니를 줄수 있습니다.  

하지만 발끝등에 IK 체인을 걸어 IK 셋팅을 해주면 체인을 이용한 포지션 애니를 줌으로써 함께 IK셋팅이 되어 있는 모든

본이 동시에 애니가 적용되게 되며 발끝을 기점으로 애니메이션이 알아서 계산됩니다.

 

 

이 기능을 넣기 위해서는 캐릭터 블루 프린트와 애니메이션 블루 프린트 두 곳에 셋팅을 해줘야 합니다.

먼저 스켈레톤을 열어 바닥을 인식하게 할 위치에 소켓을 박아 줍니다.

 

 

지정한 소켓밑으로 오브젝트가 있는지 검사하여 충돌을 체크해주는 기능을 블루프린트를 통해 코딩해줍니다.
(문서 참조 - https://docs.unrealengine.com/latest/KOR/Engine/Animation/IKSetups/index.html)

IK Foot Trace라는 커스텀 함수를 제작하여 발 밑에 오브젝트가 있는지 검사합니다.

 

  

이렇게 제작된 캐릭터 블루프린트의 함수를 애니메이션 블루프린트에 형 변환후 변수로 호출하여 셋팅해 줍니다.

 

마지막으로 애님 그래프를 통해 오브젝트가 발생시에는 트레이스를 계산하여 발밑 연산을 해주고 평평한 평지에서는 원래 애니로 돌아오도록 설정해 줍니다.

 

위 셋팅이 끝나면 아래 그림처럼 발밑에 오브젝트를 계산하여 알아서 발위치를 잡아주게 됩니다.

 

반응형

+ Recent posts