블록 게임 만들기 3

정선호·2023년 6월 7일
0

Unreal Study

목록 보기
12/13

5. Flying and Sound

강의 영상

스페이스바를 빠르게 두 번 눌러 fly모드로 전환한 후 스페이스바와 쉬프트로 고도를 조절하는 날기 기능과, 박스를 놓고 없앨 때 소리를 재생하는 기능 추가

Flying

Jumping의 점프 이후에 노드를 추가한다

  1. FlyCounterFlyTapDelay 변수를 추가한다. 점프 직후 스페이스바를 한 번 더 빠르게 눌렀나를 판별하기 위한 변수이다.
  2. Jump입력 액션시 카운터가 쌓이고, 딜레이 이후 카운터가 0으로 초기화된다.
    만약 카운터가 2가 되면 다음 단계로 넘어간다.
  3. Flip Flop노드로 A상태와 B상태를 번갈아가며 실행한다. A상태는 나는 상태로, B상태는 걷기 상태로 전환이다

Sound

블록 설치 혹은 삭제 이후 블록이 상호작용된 위치에 사운드를 실행한다.

설치시

  1. 액터 스폰 이후 IsValid를 이용해 액터 스폰 액선이 잘 수행되었는지 확인하고, 잘 되었으면 사운드를 스폰 위치에 출력한다

파괴시

6. A better way to add blocks

강의 영상

배열을 선언해 게임 내 사용 가능한 모든 블록들을 추적
배열에 올바르게 접근하는 법을 배워 인덱스 경계 넘침을 방지
마우스 휠 입력으로 설치한 블록의 종류 변경

  1. 모든 블록에 대한 배열을 만들어 값을 추가해준다.
  2. 배열의 길이, 현재 선택한 블록 인덱스 변수를 만들어주고 BeginPlay에서 값을 초기화해준다.
  3. 입력 액션에 따라 현재 선택한 블록 인덱스 값을 바꿔주면서 현재 선택한 블록 또한 바꿔준다.
    이 때 경계 체크를 하여 경계를 넘어가면 반대쪽 끝 값으로 바꿔준다.

7. Adding a Preview Block

강의 영상

현재 선택된 블록이 어떤 것인지에 대한 시각적 표시
3인칭과 1인칭 시점 전환
카메라 줌인 및 줌아웃 구현

블록의 시각적 표시

캐릭터 메시의 자손으로 PreviewBlock 자손 액터 컴포넌트 를 추가한 후 디테일에서 소켓 - 부모 소켓을 원하는 스켈레탈 소켓에 추가한다.

  1. 현재 선택되어 있는 블록을 가져와 자손 액터 컴포넌트에 설정한 후 콜리전을 비활성화한다

시점 전환

카메라 암의 길이와 캐릭터 메시 활성화, 카메라 회전에 따른 캐릭터 회전 제한 등으로 3인칭과 1인칭을 전환한다

  1. 키 입력시 Set Hidden in Game을 통해 캐릭터메시의 숨김 여부를 정한다
  2. 크로스헤어와 스프링암의 위치와 길이를 바꾼다

  1. set use controller rotation yaw를 설정하여 플레이어가 카메라 회전에 따라 몸을 틀을지를 결정한다
  2. Attach Component to Component를 이용해 PreviewBlock액터를 붙였다 뗀다

스프링암 최소/최대 길이 설정

퓨어 함수로 만든 스프링암의 최솟값을 이용해 스프링암의 값을 변경한다

profile
학습한 내용을 빠르게 다시 찾기 위한 저장소

0개의 댓글