기본적인 환경을 세팅하고 기초 블록 블루프린트를 만든다.
Ctrl + L
버튼을 누른 후 Ctrl
버튼을 유지한 채로 마우스를 드래그해 디렉셔널 라이트의 각도를 조정할 수 있다.모든 블록의 원형이 되는 베이스 블록
블록을 추가할 때 위치를 맞춰주는 Get Attatch Location
함수를 내부에 구현해 놓는다
NoCollision
으로 설정BlockAllDynamics
로 변경내 블루프린트 - 함수
의 +
버튼을 눌러 새 함수 생성ClickLocation
, Normal
)과 출력값(AttachLocation
) 선언기본 블록을 상속받는 바닥 블록을 구현한다.
블루프린트 생성자 그래프와 스태틱 메시 인스턴스 컴포넌트를 이용하게 된다.
베이스 블록 블루프린트를 우클릭해 자손 블루프린트 클래스 생성
선택
뷰포트 내에서 생성자는 첫 설치 시 한 번만 실행하도록 하게 하기 위해 클래스 세팅 - 블루프린트 옵션 - 드래그 시 컨스트럭션 스크립트 실행
을 비활성화한다
Instanced Static Mesh Component
FloorSizeX
, 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클래스
를 직접 구현한 클래스들로 바꿔준다.