해결된 질문
작성
·
635
1
본 수업의 다른 질문에서 '불멸의너구리좌'님께서 말씀해주신 질문과 비슷한 문제인데요,
RigidBody 컴포넌트에 의해 캐릭터가 이동 및 회전 시 물리적인 힘이 가해지고, 이 힘이 계속 남아있어 한번 넘어지게 되면 다시 이동을 시켜도 계속 넘어진 상태로 있게 됩니다.
이 점을 해결하기 위한 좋은 방법은 y축을 Freeze하는 방법이 제일 좋은 방법인가요?
또 하나 파생 질문을 드리자면 예를 들어 오버워치는 캐릭터가 평소엔 벽에 부딪혀도 쓰러지거나 하지 않는데, 캐릭터가 사망하게 되면 쓰러져서 데굴데굴 굴러다니게 됩니다. 이런 상황에서는 평소엔 y축이 Freeze 상태였다가 생명력이 0이 되면 Freeze가 풀리게 되는 식으로 구현이 되는 건가요?
3D 게임에서 캐릭터 오브젝트들의 RigidBody를 어떻게 설정해주는게 보편적인지 궁금해요.
답변 3
2
2
y축 고정보다 더 확실한 방법은, 그냥 유니티 물리를 적용받지 않게 설정하는건데요.
RigidBody 설정에서 IsKinematic 체크박스를 클릭하시면 됩니다.
(물론 이렇게 될 경우 중력은 알아서 처리를 해주긴 해야합니다)
사실 극히 예외적인 경우가 아니면
보편적인 장르에서 유니티 물리를 적용할 일은 거의 없다고 보시면 됩니다.
정말 필요하다면 말씀하신대로 유닛이 죽을 때 화려하게 구른다거나~ 할 때만 잠시 켜주면 되겠죠.
0
아 그렇군요.. 전 저 현상이 거슬려서 isKinematic을 켜주긴 했는데 중력 작용은 해주고 싶어서 좀 딜레마였습니다.
결론은 유니티 엔진에서 만드는 게 물리 시뮬레이션같은 것도 아니고, 일반적인 게임에서는 그렇게까지 필요하진 않다는 말씀이시죠?