충돌
Last updated
Last updated
콜라이더(또는 바운딩 박스)는 게임 내에서 어느 한 애셋이 다른 애셋과의 물리적 상호작용을 할 때 발생하는 3차원 경계선입니다. 콜라이더를 통해 단단한 벽이나 찰 수 있는 오브젝트를 만들 수 있습니다.
간단히 말해, 애셋이 안에 들어있는 투명한 상자라고 생각하면 쉽습니다.
콜라이더는 모델의 최대 지점에 의해 정의되며 전체 애셋을 포함하는 메시를 생성합니다.
단일 모델로 구성된 애셋이며, 콜라이더는 볼륨 박스 그 자체가 됩니다.
볼륨 박스가 애셋보다 클 경우 콜라이더는 빈 공간과 관계없이 함께 커지게 됩니다.
콜라이더는 VXM 오브젝트의 빈 공간을 고려하지 않습니다.
가령, 연결되지 않은 부분이나 오목한 표면에는 별도의 콜라이더가 생성되지 않습니다.
위 이미지의 신호등은 컨벡스(convex)입니다. 전체 모양에는 곡선이 있으며 플레이어가 그 아래로 지나가게 만들고 싶지만, 이는 단일 애셋이기 때문에 바운딩 박스가 직사각형으로 취급되어 단단한 벽 역할을 하게 됩니다.
이를 피하고 올바르게 작동하게 만들기 위해, 오브젝트는 애니메이터에서 작게 분리된 부분들을 조립하여 만들어져야 합니다. 따라서 최종 모델은 복합 엔티티가 됩니다.
꽃병과 벤치 사이의 틈은 신호등에서 발생했던 문제와 유사한 문제를 발생시키지만 이 경우에는 복합 엔티티 제작이 해결 방법이 될 수 없습니다. 대신, 두 개의 간단한 엔티티(꽃병과 벤치)를 각자 내보내기 하여 게임 메이커에서 개별 오브젝트로 원하는 위치에 정렬합니다.
다수의 노드 골격으로 연결된 2개 이상의 모델로 구성된 애셋입니다.
복합 애셋을 제작하려면 애니메이터를 이용해야 합니다.
정적 애셋에는 단일 프레임의 1개 애니메이션이 적용되어 있습니다. 게임 메이커에서는 이를 애니메이션으로 인식하지 않습니다.
이러한 애셋의 경우, 각 모델에는 고유한 콜라이더 볼륨이 있습니다.
아래 예시와 같이 원래의 바운딩 박스 안에 간단한 정적 애셋이 들어가 게임 메이커에서 확인했을 때 부자연스러운 충돌이 발생하는 것을 확인할 수 있습니다.
이제 동일한 의자를 더 타이트한 충돌 볼륨의 여러 개 모델로 나누고 같은 외형이지만 게임 메이커에서 훨씬 더 자연스러운 상호작용 기능을 포함하도록 애니메이터에서 리깅해 보겠습니다.
원래 모델을 복제하고 원하지 않는 복셀을 제거하거나 원하는 복셀을 선택한 다음, 만들고자 하는 각 모델의 '조각'의 편집 메뉴에서 '선택된 복셀 저장하기'를 선택하여 모델을 신속하게 분해합니다. 이러한 조각들은 원본과 동일한 충돌 볼륨 및 피벗 포인트를 가지고 있으므로 볼륨을 트리밍해야 합니다.