1. Blueprint Introduction
블루프린트는 비주얼 스크립팅이다. 노드를 서로 연결해서 코딩과 똑같은 기능의 스크립트를 만들 수 있다. 블루프린트에는 레벨 블루프린트와 클래스 블루프린트가 있다.
레벨 블루프린트 : 해당레벨에서만 적용되는 블루프린트
클래스 블루프린트 : 레벨에 상관없이 적용되는 블루프린트
2. Turning on a Light via the Level BP
방을 만들고 전구를 배치하여 블루프린트로 불 켜기
시작 애셋으로 방을 만들고 포인트 라이트를 배치한다. Rendering에서 Visible을 체크 해제하면 라이트의 불이 꺼진다. 불을 꺼놓고 블루프린트를 이용해 불을 켜도록 한다.
상단 툴바의 블루브린트-레벨블루플린트열기 클릭
레벨뷰에서 라이트를 선택하고 레벨 블루프린트의 이벤트 그래프에서 우클릭하면, 라이트에 대한 이벤트를 추가할 수 있다.
하얀선은 실행을 나타내고 파란선은 오브젝트 연결을 나타낸다.
* 레벨 뷰에서 오브젝트를 선택하고, 콘텐츠브라우저에서 아이템을 선택하고, 디테일뷰의 메쉬 또는 메테리얼 등의 밑의 화살표를 클릭하면 콘텐츠브라우저에서 클릭했던 아이템으로 바뀜
3. Toggling a Light with the Level BP
레벨 블루프린트로 점등/소등 기능 구현하기 - 플레이어가 방에 들어오면 불이 켜지도록
'방에 들어왔다'는 것을 판단하기 위해 '볼륨'을 이용한다. '볼륨'은 3차원 공간을 일컫는 것으로 진입하거나 나가는 것을 판단하는 레이어가 있다.
방에 박스 트리거를 배치하고 레벨 블루프린트에서 트리거 박스에 대한 Begin 오버랩과 End오버랩 추가 - Toggle Visibility의 시작에 연결
*빨간 노드는 이벤트 노드, 파란 노드는 함수
4. Creating a Class BP
클래스 블루프린트를 만들 때는 부모 클래스를 정해야 한다. 부모클래스로부터 기능들을 상속받을 수 있다.
Actor를 상속받는 Light_BP 블루프린트 클래스를 만든다.
5. Adding Components to a Class BP
SM_Lamp_Wall 컴포넌트를 Light_BP에 추가하고 LampFixture로 이름을 바꾼다. 이 컴포넌트를 Root로 지정한다.
spot light를 추가하여 방향, 위치, 색을 조절한다.
Light_BP를 레벨에 배치한다.
Light_BP에 Box Collision을 추가하여 위치를 조절한다.
TextRender를 추가하여 'Press F to Toggle'로 텍스트를 바꾸고 위치와 크기를 조절한다. Visible을 체크해제하여 보이지 않게 한다.
6. Adding Functionality to a Class BP
Light_BP에 레벨 블루프린트에서 했던 것처럼 Overlap이벤트에 따라 켜고 꺼지도록 블루프린트 편집
Light_BP의 이벤트 그래프로 컴포넌트 패널의 SpotLight를 드래그하면 Get형태의 노드가 생성된다.
내 블루프린트 패널의 변수 목록에서 Ctrl키를 누른채로 드래그 하면 GET 노드가, Alt키를 누른채로 드래그하면 SET노드가 생성된다.
F2키는 이름바꾸기(Rename)
Light_BP를 레벨에 여러개 만들 때 따로 스크립트를 편집할 필요가 없다. 다른 레벨에도 추가 가능.
7. Using Inputs to Control a Class BP
Light에 접근하여 버튼을 눌러야 켜지도록 수정
노드의 핀에 Alt키를 누른채 마우스를 대고 좌클릭을 누르면 연결된 노드들이 제거된다.
overlap begin 이벤트 실행핀에 enable input 함수 추가. self : 플루프린트 자신을 가리킨다.
PlayerController에 get Player Controller연결. Player Index 0 은 첫 번 째 플레이어를 가리킨다.
overlap end 이벤트 실행 핀에 disable input 추가. Get Player Controller를 player Controller에 연결
F키를 누르면 Toggle Visibility 실행
Enable Input과Disable Input에 HelpfulText의 ToggleVisibility 연결
드래그하여 노드들을 선택하고 C 키를 누르면 주석을 달 수 있다. 주석의 색도 변경할 수 있다.
8. Construction Script Customization
Construction Script가 없으면 내 블루프린트 패널-함수에서 더블클릭하여 오픈한다.
Construction Script는 오브젝트를레벨에 배치하면 동작하는 스크립트로 배치되자마자 동작하기 때문에 초기화에도 이용할 수 있다(생성자).
9. Level Editor Component Workflow
SM_Bush를 추가하고 디테일 패널에서 컴포넌트 추가 - Particle System 추가, Mesh에서 p_File 선택. Activation을 언체크
SM_Bush에 박스 트리거 추가, 크기 조절
SM_Bush 블루프린트/스크립트 추가 클릭. 오버랩 되면 Fire를 Activate
'공부 > 게임' 카테고리의 다른 글
오버워치 훈련장 구현 0 (0) | 2017.11.29 |
---|---|
언리얼 엔진4 튜토리얼 - Blueprint Quickshot (0) | 2017.11.24 |
언리얼엔진4 튜토리얼 - BP 3d Person Game (0) | 2017.11.13 |
언리얼 엔진4 튜토리얼 - Intro to Level Creation (0) | 2017.11.10 |
언리얼 엔진4 튜토리얼 - Intro to the Editor (0) | 2017.11.10 |