본문 바로가기
개발/Unreal

언리얼 5 BP - 트리거로 스포트 라이트 제어하기 with 클래스 블루프린트 (Control Spot Light with Class Blueprint)

by 피로물든딸기 2023. 6. 7.
반응형

Unreal 5 전체 링크

 

참고

- 트리거로 스포트 라이트 제어하기 with 레벨 블루프린트

 

레벨 블루프린트는 해당 레벨에서만 사용된다.

위의 링크에서 만든 스포트 라이트가 해당 레벨에서만 사용된다면, 레벨 블루프린트로 충분하지만,

만약 다른 레벨에서도 쓰이거나, 또는 해당 레벨에서 다른 스포트 라이트가 여러 개 사용된다면,

매번 아래의 노드를 라이트마다 만들어야 한다.


블루프린트 클래스 생성

 

블루프린트를 저장할 폴더를 만든다.

 

그리고 추가 버튼을 눌러 블루프린트 클래스를 선택하자.

 

부모 클래스액터를 선택한다.

 

이름은 원하는대로 변경하고 더블 클릭해서 블루프린트를 편집하자.

 

컴포넌트 탭 아래의 추가 버튼에서 스포트 라이트와 Sphere Collision을 추가한다.

 

+ 스포트 라이트 컴포넌트

 

+ Shpere Collision

 

스포트 라이트를 아래로 향하게 하고, Sphere Collision을 밑에 배치한다. 

 

현재 설정한 스포트 라이트 값은 다음과 같다.

 

Collision의 스케일도 적절히 맞춰주었다.

 

레벨 블루프린트에서 사용한 스포트 라이트는 잠시 비활성화하거나 삭제하자.

 

만약 삭제를 했다면, 레벨 블루프린트에서 에러가 발생하므로, 노드를 같이 삭제하는 것이 좋다.

 

MySpotLight 블루프린트를 레벨에 배치한다.

 

그리고 Alt 키를 눌러서 아래와 같이 배치한다.

 

블루프린트 - 스포트 라이트에서 [렌더링] - [표시]를 체크 해제한다.

 

이제 Sphere에 들어오면 Light가 켜지고, 나가면 Light가 꺼지는 로직을 구현해보자.

SpotLlight 인스턴스를 이벤트 그래프에 배치한다.

 

Sphere를 선택한 상태에서 이벤트그래프의 빈 공간에 마우스 오른쪽을 클릭하자.

On Component Begin / End Overlap을 추가한다.

 

그리고 아래와 같이 노드를 연결하면 된다.

 

게임을 실행해서 스포트 라이트를 배치한 곳으로 캐릭터를 움직여보자.

클래스 블루프린트를 하나로 여러 개의 라이트가 정상 동작하는 것을 알 수 있다.

 

만약 레벨 블루프린트로 위와 같은 작업을 하면 라이트개수 만큼 레벨 블루프린트에 노드를 만들어야 한다.

반응형

댓글