Box Collision을 이용하여 오브젝트를 타고 이동해보고, 닿았을 때 중력을 적용하여 떨어뜨리는 과정을 정리하였습니다.
오브젝트 이동
Actor를 상속하는 블루프린트 클래스를 생성하고 Root(Scene)을 추가하고 Static Mesh와 Box Collision으로
SlideBox : 닿았을 때 SlideMesh(Static Mesh) 이동
TargetBox : 목표 지점까지 SlideMesh(Static Mesh) 이동
두개의 Box Collision을 생성합니다.
오브젝트 이동 블루프린트 - 이벤트그래프
SlideBox(BoxCollision)에 이벤트로 Begin Overlap과 End Overlap 두개의 이벤트를 추가하고
TPC라는 태그를 가진 타깃이 닿았을 때만 Branch를 True로 수행하고, 0.5초후에 다음 이벤트를 수행합니다.
타임라인(TimeLine)을 생성하고 BeginOverlap에는 Play를 EndOverlap은 Reverse를 연결합니다.
닿았을 때 이동을 수행하고 멀어져서 닿지 않을 때 반대로 수행하는 것입니다.
타임라인을 더블클릭하면 타임라인 에디터를 편집할 수 있습니다.
왼쪽 상단에 f+ (Float 트랙 추가)를 선택하고 Shift + 좌클릭을하면 커브 점을 생성할 수 있습니다.
첫번째 점은 시간, 값이 0,0이고 두번째 점은 1, 1로 합니다. 그리고 길이를 1.2로 해줍니다.
변수 추가로 Start Location과 End Location을 생성하고 변수 유형을 Vector로 지정합니다.
그리고 Lerp(Vector)함수를 추가합니다.
위에서 생성한 타임라인 그래프를 Lerp함수의 Alpha에연결하고 아래의 사진처럼 연결합니다.
그리고 SetWordLocation으로 Slide Mesh(이동할 Mesh)를 타깃으로하여 이동하도록 합니다.
오브젝트 이동 - 완성예시
오브젝트 중력 적용하기 [Set Simulate Physics]
Box(Box Collision)에 닿았을 때 타깃으로 지정한 Static Mesh가 떨어지게 해야합니다.
아래와 같이 StaticMesh와 BoxCollision을 컴포넌트로 추가합니다.
오브젝트 떨어뜨리기 - 이벤트그래프
Box(Box Collision)에 이벤트로 Begin Overlap을 추가합니다. 그리고 TPC라는 태그만 닿았을 때 Branch를 True로 수행할 수 있도록 합니다.
Branch가 True일 때만 1초의 Delay(지연시간)을 주고 Static Mesh에는 중력을 적용하지않고,
Static Mesh 1에는 중력을 적용하겠습니다.
오브젝트 떨어뜨리기 - 완성 예시
아래의 예시처럼 Static Mesh(바깥 틀)은 중력이 적용되지 않고, Static Mesh1(안쪽 틀)에만 중력이 적용되어 떨어지는 예시를 볼 수 있습니다.
Box Collision과 Set Simulate Physics에 대해 정리하였습니다.
잘못된 점이 있으면 알려주시면 저도 배움에 큰 도움이 됩니다. 감사합니다.