프로그래밍 농장

Using Inputs to Control a Class BP [ Unreal Engine ] 본문

Unreal Engine

Using Inputs to Control a Class BP [ Unreal Engine ]

Tennessee201 2021. 9. 16.
728x90

지난 시간에는 아래와같이 Collision Box를 레벨 내 새롭게 복사하였으며, 이 인스턴스는 추가적인 기능없이 그대로 사용이 가능하였습니다.

 

이번 시간에는, 플레이어가 이 Trigger Volume안에 들어갈수 있게 만들어보도록하겠습니다.  또한 이전처럼 단순히 볼륨에 들어가야 불빛이 켜지는것이 아니라, 특정 버튼을 눌러서 시행하도록 해보겠습니다. 

일단 Volume에서의 상호작용이 필요하므로, Light_BP의 노드 이벤트그래프에서 수정을 해주어야할것입니다. 

플레이어가 현재 볼륨 내에 있으니 버튼 입력이 가능하다고 알리는 기능을 구현해보겠습니다 .

 

일단 아래와 같이 ALT + 우클릭으로 Toggle node 에 대한 begin과 over 작업을 전부 끊어줍니다. 

 

이후 아래와 같이 시작과 끝단에 Enable  액터를 연결해주고 플레이어 컨트롤러 액터를 각 액터에 연결해준다. 

 

이후 Light_BP의 Toggle visibillity 에는 F 라는 키보드 액터를 시작점에 연결해주어, 플레이어가 볼륨안에 들어왔을떄, F를 눌러야 불빛이 on/off 되는 기능을 구현할수있다.  최종  Light_BP의 이벤트그래프를 보면 아래와 같다. 

아래의 연결 노드는 플레이어가 위 노드에서와 같이 볼륨에 접근하였을떄 F를 누를시 발생하는 이벤트이다. 

 

이후 플레이어가 볼륨에 들어가서 F를 눌렀을떄, 불빛이 on/off 되는것을 확인할수있다. 

 

+ 클래스 이벤트를 깔끔하게 정리하는법 

아래와 같이 내가 지정 (명명) 할 노드들의 연결을 드래그한후, 'C'를 눌러주면 아래와 같이 지정된 부분의 코멘트를 달아줄수있다. 또한 이는 이후 코멘트의 색상도 사용자의 마음대로 변경할수있다. 

 

다음 포스트에서는 Contruction Script에서의 작업을 진행해보도록하겠습니다. 이는, 블루프린트에 추가적인 기능이나 우연성을 부여할수있는 페이지입니다. 

 

지금은 블루프린트를 수정할 때마다 현재 레벨상에있는 블루프린트 전체제 영향을 주어서 원하는 특정 인스턴스만 특정 효과를 갖게끔 작업해줄수없었습니다. ( 복사한 등이어도 각 등의 점등색상 등 .. 제어불가 )

이를 컨트롤할수있는 기능을 Construction Script에서 직접 구현해보도록하겠습니다. 

728x90