ToyProject/SkyTemple

[언리얼엔진 5] 4. BabyAngel Statue Gimmick

부비새 2023. 7. 7. 17:50

이번에는 상호작용하면 동상의 방향을 바꿀 수 있고 모든 동상이 같은 방향을 바라볼때 이벤트가 발생하도록 만들어 볼 것이다.

클릭만 반응 / 반응 X / 레이저만 반응

역시 BP_STShootActorBase로 부터 상속받아 3가지 액터를 만들어 본다.

ClickTrigger 함수를 오버라이딩 하여 Activated가 되지 않으면 방향을 바꾸어 준다.
Timeline을 통해 부드럽게 회전을 시켜준다 이후 방향을 돌리면 Check Rot All 함수를 한번 호출하여 동상이 모두 같은 방향을 바라보는지 체크한
이보다 더 깔끔한 알고리즘이 있을 것 같지만 비용은 비슷할 것이기에 위와 같이 같은 방향을 바라보는지 체크한다

+ get actor Rotation 노드를 통해 각각의 방향을 가져와 비교하는 것보다 Int를 두어 비교하는 것이 훨씬 비용이 적기에 Int를 두어 비교하였다. 

단점 - 방향을 바꿀 때마다 Int를 신경써야한다.

 

3가지 종류의 동상으로

BP_STAngel  - 클릭으로 상호작용

BP_STAngelShoot - 레이저로 상호작용

BP_STAngelStatic - 상호작용이 불가능

 

레벨내 배치된 동상들을 모두 같은 방향으로 맞추면 이벤트가 발생한다.