인프런 커뮤니티 질문&답변

bong님의 프로필 이미지
bong

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

애니메이션 관련 질문드립니다.

작성

·

142

0

안녕하세요, 강의 내용에 없는 것일 수도 있는데 오랫동안 궁금하던 것이라 여쭤봅니다. 쓰고 보니 글이 너무 길어져서 죄송하네요.

그동안 유니티에서 Humanoid animation 을 적용했을 때 부자연스러운 현상이 좀 있었습니다.

1. Humanoid rig 적용된 캐릭터에 Humanoid animation 을 실행시켜보면 Body poking(옷 위로 몸체가 삐져나오는 현상) 을 자주 보게 되는데요, 해결 방법이 있을까요?

제가 강의를 들으면서 생각해 본건,
- body와 cloth에 mesh collider를 붙인다. 근데 속도가 엄청 느려질 것 같고, 만들 수 있는 layer의 개수에는 한계가 있는데 캐릭터가 많아지면 어떡하나 싶네요ㅠ
- 그리고 오래 전에 어떤 글을 본 것 같은데 cloth에도 body와 동일한 bone 구조를 줘서 body의 움직임을 그대로 따라가게 한다는 것이었나? 그런 방법도 있던 것 같습니다..

2. 비슷한 문제일 수 있는데 Humanoid animation 실행 중에 특정 프레임에서 발의 일부가 바닥 아래로 빠지는 현상도 있더라구요.
3. 캐릭터가 무기를 잡거나 휘두를 때에도 해당 캐릭터와 같이 제공된 애니메이션이 아니라, 별도 애니메이션 팩에 있는 걸 쓰게되면 무기를 붙잡는게 좀 자연스럽지 않아보였습니다. 찾아보니 2와 3은 해결하려면 IK(Inverse Kinematic) 라는걸 써야 하는 것 같던데 감이 잘 안 오네요..ㅠ

4. 마지막으로, 유니티 강의 게시판에서 언리얼 얘기를 꺼내서 정말 죄송하지만, (언리얼 강의도 내실테니 양해 부탁드려요~)
cgtrader 에서 rigging된 캐릭터 에셋들을 검색해서 보면 언리얼의 경우는 epic skeleton이라는 걸 적용하더라구요. 그리고 그런 에셋들은 (epic 적용된) 언리얼 패키지와 (humanoid rig 적용된) 유니티 패키지를 같이 제공하는 경우가 많습니다. 하지만 애니메이션 실행 데모 영상은 항상 언리얼 쪽만 올려놓던데 언리얼에서는 이러한 Body poking 현상이 거의 나오지 않아서 그런 것인지도 궁금하네요. 언리얼 데모 영상에서는 poking 을 본적이 거의 없습니다.

감사합니다.

답변 2

0

bong님의 프로필 이미지
bong
질문자

현업에 계시니 이런 이슈들을 혹시 아시나 해서 여쭤봤습니다. 답변 감사드립니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

안녕하세요,
질문주신 수준의 내용들로 넘어가면,
스스로 연구를 해서 답을 찾아내셔야 합니다.

저도 딱히 애니메이션 쪽을 깊게 연구해본 적이 없어 정확한 답을 알지 못합니다.
오늘 전에 다니던 회사 클라 시니어분들과 저녁을 먹은 김에 살짝 물어봤는데,
보통 위 이슈는 프로그래머가 해결하는게 아니라
모델러들이 메쉬를 만드는 단계에서 해당 부분까지 고려해서 만든다고 하네요.

bong님의 프로필 이미지
bong

작성한 질문수

질문하기