블루프린트 전용

언리얼 엔진 작업을 시작하는 게임플레이 프로그래머를 위한 입문 정보입니다.

Windows
MacOS
Linux

블루프린트 클래스블루프린트 비주얼 스크립팅 비주얼 스크립팅 시스템을 사용해서 새로운 클래스를 구성할 수 있습니다. 새 블루프린트 클래스 생성 이후에는, 컴포넌트를 추가하고, 비주얼 스크립팅으로 함수나 기타 게임플레이 또는 디자인 방식을 구성하고, 클래스 변수의 기본값을 설정합니다. LightSwitch 클래스는 LightSwitch_BPOnly 라는 이름의 블루프린트만을 사용해서 구성되어 있으며, 아래 설명되어 있습니다.

클래스 셋업

LightSwitch_BPOnly 클래스는 콘텐츠 브라우저 에 생성되었고, 액터 가 부모 클래스로 선택되었습니다.

컴포넌트를 블루프린트에 추가하는 방식은, 블루프린트 에디터컴포넌트 탭에서 정적으로, 또는 그래프 에디터 의 비주얼 스크립팅을 통해 동적으로 이루어집니다. LightSwitch 클래스는 항상 PointLightComponent 와 SphereComponent 를 갖고있기 때문에, 이 경우 컴포넌트는 컴포넌트 탭에서 정적으로 추가해 주었습니다.

컴포넌트 탭을 사용해서 PointLight1 이란 이름의 PointLightComponent 를 루트 컴포넌트로 추가하고, Sphere1 란 이름의 SphereComponent 를 PointLightComponent 에 붙였습니다. 블루프린트 에디터 에서 클래스에 추가된 컴포넌트의 아이콘은 연파랑색인 반면, 부모 클래스에서 상속된 컴포넌트의 아이콘은 진파랑색입니다.

BP_Only_ComponentList.png

블루프린트 에디터내 블루프린트 탭에서는 새로운 변수, 함수, 매크로 를 추가할 수 있습니다. 블루프린트 클래스 안에 들어있는 모든 그래프 에 접근할 수도 있습니다. 그래프에서, 노드 를 서로 연결하여 클래스 변수, 게임플레이 이벤트, 심지어 액터의 주변 정보로 구동 가능한 게임플레이 기능 및 디자인 방식을 만들어 냅니다.

내 블루프린트 탭을 사용하여 LightSwitch_BPOnly 클래스에 플로트 변수 DesiredBrightness 가 추가되었습니다. 내 블루프린트 탭에는 컴포넌트 창 에서 추가된 컴포넌트도 표시되어, 원한다면 그래프에서 접근해 볼 수 있습니다.

BP_Only_MyBlueprint.png

LightSwitch_BPOnly 클래스 행위 구성에 사용된 그래프는 둘입니다. 첫째는 컨스트럭션 스크립트 함수 그래프로, 컨스트럭션 스크립트 함수 입구 노드가 들어있는 것입니다. 이 이벤트는 액터가 레벨에 추가될 때, 또는 기존 액터가 레벨 안에서 움직일 때 실행됩니다. LightSwitch_BPOnly 클래스에서 컨스트럭션 스크립트 이벤트는 Set Intensity 노드에 연결되어, 액터가 레벨에 추가되거나 그 안에서 움직일 때 Point Light 1 (PointLightComponent)의 밝기가 Desired Brightness 값으로 설정됩니다.

BP_Only_ConstructionScript.png

LightSwitch_BPOnly 클래스에 구성되어 있는 나머지 그래프는 이벤트 그래프 입니다. 이벤트 그래프 내의 실행은 OnComponentBeginOverlap 이나 OnComponentEndOverlap 와 같은 이벤트로부터 시작됩니다. 이러한 이벤트는 레벨에 있는 다른 액터가 SphereComponent 에 겹치거나 벗어날 때 실행됩니다. 두 이벤트 모두 Toggle Visibility 노드에 연결되어, 해당 이벤트 실행시 PointLightComponent 의 표시여부가 토글됩니다. 이벤트나 그래프 작업 관련 상세 내용은 이벤트, 이벤트 그래프, 그래프 에디터 문서를 확인해 주시기 바랍니다.

BP_Only_EventGraph.png

우클릭 메뉴에서 Toggle Visibility 를 찾을 수 없는 경우 '컨텍스트에 따라' 체크를 해제하거나 '노드 찾기' 메뉴에서 검색해 보시기 바랍니다. 그냥 포인트 라이트 변수 노드에서 선을 끌어 놓은 다음 Toggle Visibility 를 검색해도 같은 결과를 얻을 수 있습니다.

Sphere1 에 대한 OnComponentEndOverlap 를 찾을 수 없는 경우, Sphere 변수가 선택되었는지 확인한 다음 Event->Add Event 에서 이벤트를 추가하거나, 우클릭 메뉴에서 Add Event->Collision->View OnComponentBeginOverlap / OnComponentEndOverlap 하시기 바랍니다.

DesiredBrightness 변수는 세팅에서 Editable 로 설정되어, 블루프린트 에디터클래스 디폴트 에 보이며 편집도 가능합니다. 이는 그 변수가 클래스의 각 인스턴스별로 변경 가능하여, 각 액터마다 별도의 DesiredBrightness 값을 가질 수 있다는 뜻입니다.

BP_Only_Defaults.png

블루프린트 클래스는 다른 블루프린트 클래스로 확장 가능한데, 클래스 뷰어 에서 클래스 옆의 드롭다운을 통해 새 블루프린트를 만들거나, 블루프린트에 우클릭한 다음 이것을 기반으로 새 블루프린트 생성 을 선택하는 것입니다.

LightSwitchBPOnly 블루프린트 클래스는 콘텐츠 브라우저 에 있으며, 거기서 레벨에 드래그 앤 드롭 가능합니다. 클래스 뷰어 에도 있습니다. 콘텐츠 브라우저 또는 클래스 뷰어 를 사용하여 레벨에 액터를 놓는 방법에 대한 상세 정보는, 액터 배치하기 문서를 확인해 주시기 바랍니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼