공부/Unreal Engine

언리얼 엔진으로 FPS 게임을 만들면서, 배운 점들 정리 (1)

창작꾼 븐틴이 2024. 9. 12. 16:11
728x90
반응형
 

취미로 언리얼(Unreal as a hobby)

초보자의 시선에서 게임개발을 위한 언리얼엔진 입문을 도와드리겠습니다!! 채널을 구독하시고 아래 네이버카페에서 영상과 관련된 그리고 언리얼엔진에 관한 정보를 확인해보세요! 질문 대환

www.youtube.com

위 분의 강의를 보며 차근차근 시작했습니다.

TPS / FPS 강의를 보면서 진행하다가 메모하면 좋을 내용이나 외우면 좋을 것들을 정리하고자 작성합니다.

 


기본, 설정

F2를 눌러 '이름 변경'이 가능

 

WASD 이동 설정

- 입력 액션을 만든 후, 입력 매핑 컨텍스트에서 설정 (키보드나 마우스 key를 활용하는 무언가를 할 때 선행되어야 함)

(값 타입 지정 또한 잘해주어야 함)

부정 : (0, 1) -> (0,-1)

스위즐 입력 축 값 : x,y 변환 (1, 0) -> (0, 1)

이와 노드를(BP) 활용해 방향키를 구현 

앞에서의 Get Control Rotation, Get Right Vector 노드로 월드 방향을 잡고 x 이동.

Get Control Rotation, Get Forward Vector 노드로 월드 방향을 잡고, y 이동.

 

Yaw / Pitch / Roli의 이해

https://imsjhong.blogspot.com/2017/07/yaw-pitch-roll.html

 

Yaw Pitch Roll 의 정의

Yaw (Vertical axis) Yaw axis 는 기체의 질량중심에서 기체의 바닥을 향하는 축이다. 기체를 오른쪽으로 회전시키는 것이 양의 방향으로 움직인 것이다. Pitch (Lateral axis) Lateral ax...

imsjhong.blogspot.com

이 개념을 활용해, 마우스로 필드를 둘러보는 것 등을 구현할 수 있음.

 

반동 설정 (FPS, TPS)

=> Yaw와 Pitch 값에 변화를 주어 구현.

 

무언가를 장착한다고 하면, 스켈레톤 트리에 원하는 부분에 소켓을 추가하여 진행, 이후 아래 노드에서 소켓명을 붙이면 붙어짐

Attach Actor To Component

 

필드에 떨어져 있는 것은 스태틱 메시로 표현

장착할 때는 스켈레톤 메시로 표현 

 

데이터 테이블 생성

(Enum이 필요할 경우) Enum 생성  (열거형)

데이터 테이블에 필요한 내용을 구조체로 제작

데이터 테이블 생성 시, 만들어진 구조체를 클릭하여 생성하면 해당 구조체의 내용이 컬럼으로 표현됨.

 

인게임에서 제어 : F8 눌러서, 인게임 도중 오브젝트 위치를 수정하거나, 스켈레톤 트리 내 어느 부분을 수정하거나 등의 행동이 가능.

 

블루프린트 인터페이스

=> 다양한 곳에서 일일이 호출하기 귀찮으니, 인터페이스화로 해서 직접 참조없이 사용할 수 있도록 도와줌


 

노드 관련 

Set View Target with Blend : 뷰 타깃을 변경할 때 사용 

컨트롤러 입력에 따라 Yaw, Pitch 변경 / World Dir~에 따라 물체의 이동을 구현할 때 사용.

 

Is Valid : 유효성 검사

 

Flip Flop : A와 B 순차적 재생

 

Set Hidden in Game : 인게임 내에서 보이게 할지 말지 설정 

 

Get Overlapping Actors : 이 객체와 겹치는 액터 리스트 반환

 

Switch 문 역할을 하는 것도 있음

 

Construction Script로 데이터 테이블 내 구조체 변수들을 하나씩 미리 선언? 할 수 있음

 

그래서 사용할 때,

이처럼 간단하게, 원하는 것만을 선언하여 사용할 수 있음 (사용할 때마다 일일히 데이터 테이블을 선언하고 할 필요가 없음)

 


애니메이션 블루프린트 관련

Blueprint Thread Safe Update Animation => 이벤트 그래프에서 많은 작업을 안전하게 할수있는 언리얼5의 함수라고 함.

(매 프레임마다 호출)

동작 상태가 바뀌는 조건이나 그런 것들을 활용할 때 변수에 사용.

 

동작이 늘어날 때마다, AnimGraph에서의 작업이 필요

동작 유형에 따른 State Machine을 만들고 진행하는 것이 좋음

 

레이어마다 다른 모션을 따라가도록 설정 가능 (Layered blend per bone)

스테이트의 시퀸스 플레이어에 따른 자동 규칙, 해당 모션 끝나면 자연스레 다음 모션 재생.

 

 

다음부터는 메모할 때마다 바로바로 해야겠다ㅣ ^^;;;

 

728x90
반응형