애니메이션 관련 질문드립니다.
241
작성한 질문수 4
안녕하세요, 강의 내용에 없는 것일 수도 있는데 오랫동안 궁금하던 것이라 여쭤봅니다. 쓰고 보니 글이 너무 길어져서 죄송하네요.
그동안 유니티에서 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
안녕하세요,
질문주신 수준의 내용들로 넘어가면,
스스로 연구를 해서 답을 찾아내셔야 합니다.
저도 딱히 애니메이션 쪽을 깊게 연구해본 적이 없어 정확한 답을 알지 못합니다.
오늘 전에 다니던 회사 클라 시니어분들과 저녁을 먹은 김에 살짝 물어봤는데,
보통 위 이슈는 프로그래머가 해결하는게 아니라
모델러들이 메쉬를 만드는 단계에서 해당 부분까지 고려해서 만든다고 하네요.
UI 기능 관련 질문이 있습니다!
0
30
2
픽셀 좌표 스크린 좌표
0
30
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
70
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
82
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
81
1
Input 적용과 관련하여 질문 있습니다.
0
73
1
디버그 불가.. Unity에 연결 불가
0
78
1
달리기 애니메이션 에러
0
86
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
64
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
105
1
재귀호출? 오류나는데 왜 이래요 ?
0
167
6
Animation blending 파라미터 계산
0
66
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
95
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
86
2
질문있습니다
0
142
2
아 이거 소스코드 같은거 없나요?
0
140
3
질문 드립니다. string.IsNullOrEmpty(name)
0
85
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
134
2
유니티6 NavMesh 안되는분들
1
174
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
525
1
GetComponent<Poolable> 질문드립니다.
0
100
2
UI 불러오지 못함
0
116
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
154
2





