본문 바로가기

블루프린팅

(91)          글쓰기    
[언리얼][블루프린트] 직접 블루프린트 통신 직접 블루프린트 통신은 블루프린트/액터 사이의 간단한 통신 방법이다. 다른 액터/블루프린트에 대한 참조를 저장하는 오브젝트 레퍼런스 변수를 만드는 데 사용된다. 그런 다음 오브젝트 레퍼런스 변수를 액션의 타깃 입력 파라미터로 사용해 액션을 호출할 수 있다. 플레이어가 지나가면 포인트라이트의 사시성을 토글하는 BP_LightSwitch 블루프린트를 생성해 보자. 1. 프로젝트를 하나 생성하거나 연다. 2. 콘텐츠드러워를 열어 +추가를 누르고 블루프린트 클래스>액터부모클래스> 이름을 BP_LightSwitch 로 한고 더블클릭해서 블루프린트 에디터를 연다. 3. 컴포넌트 패널에서 스태틱 메시 컴포넌트를 추가하고 디테일에서 SM_CornerFrame 스태틱메시를 선택한다. 조명스위치를 시각적으로 표현한다. 4..
[언리얼][블루프린트통신] 블루프린트 통신의 이해 이전 장에서 블루프린트 클래스 함수들을 만드는 법을 배웠다. 이제 한 블루프린트에서 다른 블루프린트의 함수와 이베트를 호출하고 정보에 접근할 수 있는 블루프린트 통신을 소개한다. 레벨 블루프린트에서 액터를 참조하는 방법과 형변환의 개념도 배운다. 블루프린트 클래스와 레벨 블루프린트 사이의 통신을 가능하게 하는 이벤트 디스패쳐와 이벤트를 바인딩하는 방법에 대해서도 알아본다. 이장에서 다음과 같은 통신방법을 배우게 됩니다. 직접 블루프린트 통신 블루프린트의 형변환 레벨 블루프린트 통신 이벤트 디스패처 이벤트 바인딩
[언리얼][블루프린트]게임플레이 프레임워크 클래스 탐색 새 블루프린트를 생성하는 첫 번째 단계 중 하나는 템플릿으로 사용할 부모 클래스를 선택하는 것이다. 버튼에 표시되는 클래스를 기본 클래스라고 하며 게임 플레이 프레임워크의 일부다. 다른 클래스를 부모 클래스로 사용하려면 모든 클래스 카테고리를 확장하고 하는 클래스를 검색한다. 다음은 언리얼은 Object라는 기본 클래스의 계층을 보여준다. Pawn과 Character클래스를 자식으로 갖는 액터클래스와 Scene Component를 자식으로 갖는 Actor Component클래스와는 뿌리가 다르다는것을 알수 있다. Pawn Class Pawn, 폰이란 월드 내 플레이어에 대한 물리적 표현입니다. Pawn 클래스는 플레이어나 AI 가 제어할 수 있는 모든 액터의 베이스 클래스입니다. Pawn 은 월드 내 플..
[블루프린트][객체지향] 컨스트럭션 스크립트 블루프린트 에디터의 패널 중 하나는 컨스트럭션 스크립트라고하며 블루프린트가 처음 레벨에 추가됐을때, 레벨에디터에서 해당 속성이 변경되었을때 또는 런타임에 인스턴스가 생성됐을 때 모든 액터의 블루프린트가 수행하는 특별한 함수다. 예를 들어 레벨별로 블루프린트의 각 인스턴스에 대해 서로 다른 스태틱 메시를 선택할 수 있도록 인스턴스 편집 가능한 스태틱 메시를 사용해서 블루프린트를 생성해 보겠다. 1. 프로젝트를 하나 만들거나 기존것을 사용한다. 2. 콘텐츠브라우저에서 추가 버튼을 클릭후 블루프린트 클래스 옵션을 선택후 부모클래스로 액터를 선택하고 이름을 BP_Construction하고 더블클릭후 블루프린트 에디터를 연다. 3. 컴포넌트패널에서 추가버튼을 클릭후 스태틱메시 컴포넌트를 선택한다. StaticMe..
[블루프린트] 키보드입력 다음과 같이 키보드 이벤트 F를 입력받아 출력하는 Event Graph를 만들어 실행해봐도 키보드 입력이 안되는 경우가 발생했다. 해결을 위해서는 다음과 같이 2가지 방법이 있다. 1. Level Editor>Outliner에서 입력처리를 하는 액터를 선택하고 Detail>Input에서 Auto Receive Input을 Player0를 선택해준다. 2. 이작업을 Event Graph에서 하는 방법도 있다. Event BeginPlay에서 노드를 만들고 Enable Input연결해준다. GetPlayer Controller노드를 만들어 Enable Input의 Player Controller와 연결해준다.
[블루프린트][객체지향] 액터의 스폰과 파괴 컨텐트 드로워클릭후 +Add를 누르고 블루프린트 클래스를 선택한후 액터를 선택해 이름을 BP_Spawn으로 한다. 더블클릭해서 블루프린트 클래스 에디터를 열고 왼쪽위 Components Add를 눌러 Basic Shapes를 하나 추가한다. 뷰포트의 이벤트그래프를 클릭하고 액터의 인스턴스를 만드는 Sapwn Actor from Class라는 함수가 있다. 이 함수를 이벤트그래프에 추가하려면 이벤트그래프 패널을 우클릭해 컨텍스트 메뉴를 열고 검색 상자에 spawn을 입력해서 결과를 필터링한 다음 함수 이름을 클릭한다. Class는 Fire를 검색해서 Blueprint Effect Fire를 선택해준다. 1을 누르면 실행하게 만들기 위해 컨텍스트메뉴을 열어 Keyboard Events 1을 선택하고 Spaw..
액터관리 액터클래스는 객체에 사용되는 기본 클래스이며 레벨에 배치하거나 생성할 수 있다. 만들 블루프린트의 대부분은 액터 클래스 또는 액터의 자식 클래스를 기반으로 한다. 액터참조 integer, float와 같은 원시타입 변수들은 간단하지만, 객체 또는 액터들은 훨씬 복잡하고 메모리를 차지하기 때문에 전체를 복사하는 것보다는 저장된 메모리위치를 참조하는것이 효율적이다 이러한 타입의 변수를 오브젝트 레퍼런스라고 한다. C에서 포인터 같은 개념이다. 연습 BP_Barrel이 Hit되면 BPFire라는 변수에 연결된 Blueprint_Effect_Fire의 히든상태를 바꾸어 나타나게 한다. 1. 1인칭 템플릿을 기반으로 프로젝트를 만든다 2. 컨텐츠 드어 버튼을 클릭해 콘텐츠 브라우저를 연 다음 추가 버튼을 클릭하고..
OOP개념에 익숙해지기 클래스 객체지향 프로그램을 위해 객체를 만드기 위한 템플릿이다. 틀린 비유일지 모르지만 클래스는 런타임시 존재하지 않고 움직이지 않는다. 클래스를 이용해 객체를 만들었을때 비로서 움직이기 시작한다. 하나의 클래스로 복수의 객체를 만들수 있고 만들어진 객체는 독립적이다. 객체는 객체내에서만 참조할수 있는 것들이 있고 클래스끼리 공유할 수 있는 것들도 있다. 따라서 여러 객체들끼리 통신하는 것이 쉽고도 어려울수 있다. 객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란 컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 ..
객체지향 프로그래밍과 게임플레이 프레임워크 블루프린트는 객체지향프로그래밍 OOP의 원리를 기반으로 한다. OOP의 목표중 하나는 프로그래밍 개념을 실제 세계에 더 가깝게 만드는 것이다. 언리얼엔진은 게임 개발에 사용되는 몇가지 필수 클래스를 가지고 있다. 이 클래스들은 게임플레이 프레임워크의 일부다. 게임플레이 프레임워크의 메인 클래스는 액터라고 불린다.
블루프린트 클래스 UI 블루프린트 클래스 작업시 블루프린트 에디터의 UI 요소에 대한 분석입니다. 블루프린트 클래스 에디터 에는 기본적으로 여러가지 탭이 들어있습니다: 메뉴 툴바 컴포넌트 내 블루프린트 그래프 에디터 디테일 패널
레벨 블루프린트 UI Level Blueprint (레벨 블루프린트)란 레벨 단위 글로벌 이벤트 그래프 역할을 하는 특수한 형태의 블루프린트 입니다. 프로젝트 내 각 레벨에는 기본적으로 자체적인 레벨 블루프린트가 있어 언리얼 에디터 안에서 편집할 수 있으나, 에디터 인터페이스를 통해 새로운 레벨 블루프린트를 생성할 수는 없습니다. 레벨 전체적으로 관련된 이벤트 또는 레벨 내 특정 액터 인스턴스가 함수 호출이나 흐름 제어 연산 형태로 일련의 동작을 발동시키는 데 사용됩니다. 언리얼 엔진 3 에 익숙하신 분들이라면 그 키즈멧 작동 방식과 매우 유사한 이런 개념에 금방 익숙해 지실 수 있을 것입니다. 레벨 블루프린트는 레벨 스트리밍과 시퀀서 를 제어할 수도 있으며, 레벨에 놓인 액터에 이벤트를 바인딩할 수도 있습니다. 인터페이스 ..
블루프린트 에디터 레퍼런스 Blueprint (블루프린트) 비주얼 스크립팅 시스템은 UE4 전반에 걸쳐 여러가지 방식으로 사용되는 시스템입니다. 블루프린트는 레벨 기반 이벤트를 구동시키거나, 게임내 액터에 대해 내부적으로 스크립팅된 동작을 제어하거나, 심지어 매우 현실적인 게임 캐릭터 시스템 전반에 걸친 복잡한 애니메이션을 제어하거나 하는 데 사용할 수 있습니다. 이와 같은 블루프린트 적용 사례에 있어서, 해당 블루프린트 스크립트를 편집하는 위치는 물론 사용할 수 있는 툴도 필요에 따라 조금씩 바뀝니다. 즉 UE4 안에서 블루프린트 에디터가 나타날 수 있는 위치와 방법은 사실상 여러가지라는 뜻입니다. 그러나 그 차이점과는 무관하게, 블루프린트 에디터는 항상 동일한 핵심 동작을 수행합니다: 게임의 여러 부분에 구동되는 강력한 비주얼..