기본적인 환경을 세팅하고 기초 블록 블루프린트를 만든다.
Ctrl + L버튼을 누른 후 Ctrl버튼을 유지한 채로 마우스를 드래그해 디렉셔널 라이트의 각도를 조정할 수 있다.모든 블록의 원형이 되는 베이스 블록
블록을 추가할 때 위치를 맞춰주는 Get Attatch Location함수를 내부에 구현해 놓는다

NoCollision으로 설정BlockAllDynamics로 변경
내 블루프린트 - 함수의 +버튼을 눌러 새 함수 생성ClickLocation, Normal)과 출력값(AttachLocation) 선언기본 블록을 상속받는 바닥 블록을 구현한다.
블루프린트 생성자 그래프와 스태틱 메시 인스턴스 컴포넌트를 이용하게 된다.
베이스 블록 블루프린트를 우클릭해 자손 블루프린트 클래스 생성 선택
뷰포트 내에서 생성자는 첫 설치 시 한 번만 실행하도록 하게 하기 위해 클래스 세팅 - 블루프린트 옵션 - 드래그 시 컨스트럭션 스크립트 실행을 비활성화한다

Instanced Static Mesh ComponentFloorSizeX, FloorSizeY가 있다.
Instanced Static Mesh Component에 메시 추가하기
Instanced Static Mesh Componenet에 세팅해놓고 블록 메시를 삭제한다
For Loop를 이용해 Instanced Block Mesh의 내장 함수인 Add Instance명령을 불러 원하는 개수의 블록 스태틱 메시들을 생성한다.
화면에 십자 표시를 해주는 HUD를 구현한다
플레이어 입력을 추가하고, 플레이어 캐릭터를 구현한 후 입력에 대응하는 블루프린트 코드를 작성한다
마지막으로 게임에 직접 만든 플레이어를 적용한다

Recieve Draw HUD Event이벤트 노드로 시작해 Draw Texture명령을 실행해 화면에 크로스헤어를 띄운다
콘텐츠 브라우저에 캐릭터 블루프린트를 생성한다.

CharacterMesh0 컴포넌트에 원하는 캐릭터의 스켈레탈 메시를 추가한다SpringArm과 Camera 컴포넌트를 붙여 3인칭 카메라를 만들어준다.SpringArm컴포넌트에서 카메라 세팅 - 폰 제어 회전 사용을 체크한다BP_BlockPlayer내비 무브먼트 - 무브먼트 기능 - 날기를 체크한다캐릭터 무브번트:걷기 - 걸을 수 있는 바닥 각도를 46도로 설정한다폰 - 컨트롤러 회전 요 사용을 체크 해제한다CharMoveComp캐릭터 무브먼트(회전 세팅) - 무브먼트 방향으로 회전을 체크해 캐릭터가 가속되는 방향으로 회전하게 한다메뉴바에서 편집 - 프로젝트 세팅 - 엔진 - 입력으로 들어가 원하는 입력과 키를 바인딩시킬 수 있다.

플레이어 이동과 십자표에 대한 값을 변수로 저장하는 명령들을 구현한다
Jump & Turn

Move

Get Crosshair
BeginPlay 시 HUD의 십자키를 가져오는 명령

전체적인 게임 모드를 관장하는 블루프린트로 블루프린트 - 게임 모드 베이스로 추가할 수 있다.
컴포넌트의 디테일에서 디폴트 폰 클래스, HUD클래스를 직접 구현한 클래스들로 바꿔준다.