오브젝트를 쌓아올릴때 alt 누른상태로 위로 이동시켜 복사할 수 있지만, 오브젝트를 드래그하고 그 위에 드롭하면 언리얼이 자동으로 그 위로 오브젝트를 쌓아줌. x, y 만 조절하면 됨.
Barrel 오브젝트를 쌓아올리고 Simulate physics 를 활성화시키면 Barrel 들이 튕겨져 나가게 됨.
그 이유는 언리얼에서 충돌을 계산하는 방식 때문임.
메시를 보기 위해선 뷰포트 위쪽 Lit 클릭 > Wireframe 선택
Wireframe을 선택하면 나오는 화면이 바로 메쉬.
기본적으로 컴퓨터가 보는 것으로, material을 적용해서 우리에게 보여준 화면.
Barrel 오브젝트의 메시를 보면 매우 복잡한 wire로 이루어져 있음을 볼 수 있음.
그러나 이게 Physics에 적용되는 것은 아님.
Physics는 물리적 계산을 훨씬 더 쉽게 하기 위해 훨씬 간단한 메쉬를 사용함.
Wireframe이 아니라 이번엔 Player Collision 선택 -> 충돌 메쉬
단순화된 충돌 메시를 볼 수 있음.
그러나 현재 Barrel 오브젝트의 충돌 메시를 보면, 울퉁불퉁하고 약간 기울어져있어 깔끔하게 충돌이 발생하지 않음.
따라서 이 충돌 메쉬를 수정해야 하는데, 언리얼에서 충돌 메시는 아주 간단하게 수정할 수 있음.
Content Browser > Barrel 메시 더블클릭 > 정적 메쉬 에디터 탭이 열림.
위의 Collision 툴바에서 Remove Collision 클릭 -> 현재 존재하는 모든 충돌 메시를 제거함.
따라서 Main 레벨 에디터로 돌아가서 플레이 버튼을 누르면 Barrel 오브젝트 전부 바닥을 뚫고 내려가게 됨.
그리고 마찬가지로 Collision 툴바를 누르면 더 단순화된 충돌 메쉬를 선택할 수 있음. 그중 10DOP-Z 선택
더 단순하고 Barrel 오브젝트에 맞는 메쉬가 생긴 것을 확인할 수 있음.
플레이 시에도 Barrel 들이 튕겨나가지 않고 안정적인 것을 확인할 수 있음.
이제 블루프린트 배럴 클래스를 만들어 매번 배럴을 만들때마다 설정을 변경하지 않아도 되도록 함.
BP_Barrel 클래스를 생성하고 simulate physics 클릭 > Mass 1000으로 설정
기존에 생성했던 모든 배럴들은 제거하고 BP_Barrel 클래스를 사용하여 드래그 앤 드롭
이렇게 하면 생성된 모든 Barrel 오브젝트들은 설정했던 메시가 적용돼있고, simulate physics와 mass가 동일하게 설정됨.
한번씩 공이 배럴을 통과하는 것처럼 보이는데, 이건 공이 너무 빨라서 물리학 시뮬레이션이 따라잡지 못하기 때문.