Unreal/TA&Development

[UE5][BP] Change Material

김성인 2024. 4. 9. 00:10

[UE5][BP] Change Material

 

 

 일반적으로 블루프린트는 이벤트, 조건, 액션으로 이루어진다.


  1. 이벤트 : 언제를 뜻한다.
  2. 조건 : 액션이 실행될 조건을 뜻한다.
  3. 액션 : 어떤 행동을 할 것인가를 뜻한다.


 위 세 가지를 전부 합쳐보면, '조건을 만족했을 때, 어떤 행동을 취한다'라는 간단한 로직이 나오며, 이것에 몇 가지 살을 붙여서 프로그램(기능)을 돌린다.  몇가지 살을 붙인다는 것은 예를 들어 '방아쇠가 당겨지면 총이 발사된다'를 '주인공이 권총의 방아쇠를 당기면 총이 적을 향해서 발사된다'라는 식으로 살을 붙일 수 있다.  그리고 이 살들은 모두 조건이 될 수 있다.

 


 블루프린트를 작성하면, 기본적으로 세 가지 트리거를 확인할 수 있는데, 'Event Begin Play', 'Event Actor Begin Overlap', 'Event Tick'이 그것들이다.


  1. Event Begin Paly : 게임이 시작되었을 때 실행된다.
  2. Event Actor Begin Overlap : 액터가 다른 액터에 겹쳤을 때 실행된다.
  3. Event Tick : 플레이 동안 매 프레임 실행된다.


 1인칭 슈팅 게임에서, 총으로 적을 쏘았을 때, 적이 죽는 기능을 블루프린트로 만들 것인데, 기본이 되는 방법으로 트리거가 발동되었을 때, 색을 변경하는 블루프린트를 만들어 보았다.

 먼저 트리거가 발동되는 조건으로 'Event Hit' 노드를 이용하여, 'Set Material'에 연결한다.  이것을 풀어쓰면 'Hit가 일어났을 때, Material을 설정한다.'이며 아래와 같이 구성하면 된다.

 

 

  추가적으로 총에서 발사되는 총알에만 Event Hit가 발동하도록 하기 위해서 'Cast to FirstPerson Projectile'을 Event Hit과 Set Material 사이에 연결해 준다.

 


 게임에서 Hit 관련해서 판정은 대부분 Collision이 사용된다.

 이 Collision의 용도는 매우 다양한데, 아트에서는 보통 Navimesh를 구을 때 사용되며, 캐릭터와 몬스터, 배경 등의 충돌 처리 등에 이용된다.

 혹시 위 노드가 작동하지 않는 경우 이 Collision을 설정하지 않았을 경우가 크다.  특히 총알이 그냥 투과한다? 이 경우는 99.9퍼센트 Collision이 빠졌거나, Collision 설정이 빠진 거다.


프로그래밍에서는 Set과 Get이라는 함수가 존재하는데, 이 함수는 이름 그대의 기능을 한다.
  Set : 값을 설정한다.
  Get : 값을 가져온다.
블루프린트에서는 이 두 이름으로 시작하는 함수가 자주 사용되고, 프로그래밍에서도 자주 사용되니 알고 있으면 좋을 것 같다.

'Unreal > TA&Development' 카테고리의 다른 글

[UE5][BP] HUD 1/2  (0) 2024.04.14
[UE5][BP] Actor Moving, Action Mapping, Timeline  (0) 2024.04.09
[최적화] RenderDoc 활성화  (1) 2024.03.27
[UE4] Near clip plane  (0) 2021.11.29
[UE4] Engine에 Skeletal Mesh를 넣을 때 주의사항  (0) 2021.11.05