프로그래밍 농장

Tutorial: 라이트 켜기 [ Unreal Engine ] 본문

Unreal Engine

Tutorial: 라이트 켜기 [ Unreal Engine ]

Tennessee201 2021. 8. 24.
728x90

Unreal Engine은 Epicgames 를 통하여 설치할수있으며, 최초 설치 후 새 프로젝트를 만들면 아래와 같은 플레이 및 에디트 환경이 출력되는것을 확인할수있다. 

아래는 3인칭시점의 새로운 레벨을 깔아준 모습 

 

이후 아래와 같은 콘텐츠 브라우저를 통하여 여러가지 도구들과 상호작용타겟을 배치시킬수있다.

 

언리얼엔진 내에서는 WASD 와 마우스 오른쪽 클릭을 통해 시점과 방향을 조절할수있으며, 아래와 같이 Architecture들을 조합하여 구조물을 만들수도있다. 

이때, 각 도구들은 space를 통해 3가지 방법으로 transform을 할수있다 ( 위치 / 회전 / 스케일 . . )

아키텍쳐들을 트랜스폼해 만들어낸 구조물 

 

Rendering - Visible 의 옵션을 통하여 아래의 라이트를 on/off 가 가능하다 . 이후 블루프린트 스크립트가 이 라이트를 끄도록 설정할수있다. 

Rendering - Visible [ On ] 

 

Rendering - Visible [ Off ] 

 

이제 블루프린트 스크립트를 통하여 위 라이트를 조작할수 있도록 해보겠습니다.  

 

위 메뉴옵션에서 블루프린트를 클릭 후 ,

 

여기서 블루프린트 클래스 열기레벨 블루프린트 열기 가 있는데, 블루프린트 클래스 열기는 말그대로, 기존에 존재하는 블루프린트 클래스를 가져와 사용하는것이며, 레벨 블루프린트는 현재 레벨에서만 사용가능한 블루프린트를 뜻한다. 

 

[ 레벨 블루프린트 ]

모눈 창 : 이벤트 그래프 - 비주얼 스크립트 작업이 이루어지는 곳 ( 각 노드들을 배치, 연결하는 곳 )

 

아래와 같이 레벨창과 블루프린트창을 동시에 띄워놓고, 위에서 생성하였던 light를 클릭후 블루프린트에서 우클릭을 하게되면 아래와 같이 해당되는 옵션 및 작업들이 나열되고, 이를 선택하여 스크립트 작업을 생성할수있다. 

PointLight에 대한 노드가 생긴 모습

위와 같이 PointLight에 대한 노드가 생겼다. 이후 이 노드에 대한 작업을 통하여 라이트의 on/off를 조정할 수 있다. 

 

아래와 같이 PointLight에 드래그 후 클릭을 떼게되면, PointLight와 관련된 액션만 나온 것을 확인할수있다. 

위 액션들을 통하여 PointLight에 변화를 줄수있다. 

 

위 옵션에서 Toggle Visibillity 를 선택하여 Point Light의 Light Component에 토글 기능을 부여해준 모습이다. 

( Light의 점등 / 소등 기능을 넣은것과 같다 )

이후 위 기능을 사용가능하게 하기위한 노드들간의 연결을 진행하여야할것이다. 

처음에 기본생성 되어있던 두 노드들을 보자면 아래와 같다. 

Tick이벤트 노드: 연결된 이벤트는 게임이 실행되는 동안 매 프레임마다 발동한다. 

BeginPlay이벤트 노드: 게임이 시작되면 연결된 이벤트들이 모두 발동한다. 

 

-> 지금의 경우, BeginPlay 이벤트 노드만이 필요하므로 Tick 노드는 삭제 후, BeginPlay노드와 Toggle 노트의 실행핀을 연결해 준다. 

위와 같이 노드 간의 연결선을 보게되면, 푸른 선은 오브젝트들을 연결한 선이며, 레벨 내 오브젝트의 래퍼랜스들을 잇는 것이다.  하얀선은 실행을 나타내는 선이다. 

 

이와같이 게임이 시작됨과 동시에, 연결된 노드의 이벤트가 시작될 것이며, 위 스크립트를 통해 어떠한 작업이 이루어질지 예측할수있다.  제일 먼저 Toggle Visibillity 노드를 호출할 것이며, 이는 이벤트 대상인 Light Component를 감지할 것이다. 이후에는, PointLight에 전송시켜줄것이다. 

-> 간단히 말하면 게임 Play와 동시에 불이 켜지는 작업이라는 것을 확인할수있다. 

 

<Play 전>

<Play 후>

728x90