Config
: 게임 프로젝트의 설정 값 보관. 필수 보관해야 함.Content
: 에셋 관리 공간. 콘텐츠 브라우저 그 공간.Intermediate
: 임시 파일 저장곤간. 제거해도 에디터에 의해 자동 재생성된다.Saved
: 작업 중에 생성된 결과물 저장. 제거해도 게임 프로젝트에는 영향 없음.프로젝트이름.uproject
: Json형식의 텍스트 파일로 어떤 버전의 언리얼 에디터를 열지에 대한 정보가 적혀있으며 언리얼 에디터와 연결되어 해당 파일이 있는 프로젝트 폴더가 에디터로 불러와진다.레벨
: 플레이어가 돌아다닐 수 잇는 공간액터
: 언리얼 엔진에서는 오브젝트를 액터라고 한다.메시
: Mesh, 언리얼 엔진에서는 어떤 3D 모델을 메시라고 한다.텍스트 기반인 기존 C++ 같은 스크립트와 다르게 노드 기반 비주얼 스크립트
블루 프린트를 컴파일 하지 않으면 언리얼 에디터에 반영되지 않는다.
해당 레벨에서만 동작하는 블루프린트
레벨 블루 프린트는 다른 레벨에선 동작하지 않고 해당 레벨에서만 동작하게 된다.
예시1 화면에 문자열 출력해보기
Event BeginPlay
String PrintString
예시2 테이블 액터 위아래로 움직여보기
테이블이 움직일 수 있도록 static
에서 Movable
상태로 바꾸기.
테이블을 크릭한 상태에서 블루프린트에서 우클을 누르면 테이블의 레퍼런스를 생성할 수 있는 옵션이 생긴다.
테이블 레퍼런스를 생성해주면 테이블을 블루프린트에서 다룰 수 있게 된다.
Transformation SetActorLocation
SetActorLocation
노드의 타겟으로 Table 레퍼런스를 연결해준다.Utilities Delay
SetActorLocation
노드의 다음 노드로 연결해주면 타겟인 테이블이 z 축값을 100으로 3초 유지하게 된다.Physics SetSimulatePhysics
Delay
의 다음 노드로서 이어준다.마치 Unity의
Prefab
과 같다
클래스 블루 프린트를 미리 에셋으로 생성해둔 후, 뷰포트에 드래드 앤 드롭하여 오브젝트화 할 수 있다.
예시 1 A키 누르는 순간 (Pressed) 마다 큐브 이동시키기
MoveCubeBP 큐브에의 블루프린트 스크립트니까, self
는 이 MoveCubeBP 큐브가 된다.
기본적으로는 언리얼은 액터가 Input을 받아들이는 게 비활성화 되어있음.
BeginPlay
실행 핀에 Enable Input
을 연결. 게임이 시작되면 큐브의 입력이 활성화된다.
GetPlayerController
는 플레이어 컨트롤러를 리턴하는데, 이를 Enable Input
의 Player Controller 핀에 연결해준다.
플레이어 컨트롤러는 플레이어에게서 받은 입력을 어떤 동작으로 변환하는 함수성을 구현하는, 사람 플레이어의 의지를 ㅌ나타낸다.
SetActorLocation
GetActorLocation
예시 2 플레이어 캐릭터
Character
는 이동할 수 있고 충돌 처리도 된다.
AddMovementInput
은 캐릭터같은 Pawn
을 이동시키는 노드이다.
뷰포트에 카메라 추가
카메라가 계속 큐브를 따라다니는 이유큰 큐브의 컴포넌트로 설정해놔서 이다.
언리얼은 현재 빙의된 폰의 1인칭 카메라를 자동으로 생성해준다.따라서 이 카메라를 쓰지 않고 내가 설정한 뷰포트 카메라를 쓰도록 해야 한다.
Set View Target with Blend
GetPlayerController
노드로 Player Index 0 (로컬 플레이어) 에 대한 플레이어 컨트롤러를 가져와 연결Camera Actor
로 변경해준다.
글을 읽는 동안 많은 걸 배울 수 있었습니다.