unreal 8기

11일차

왕건 2026. 2. 20. 17:20

 

 

1. 액터 이동 구현

  • 블루프린트 클래스 생성 및 메시 컴포넌트 설정
  • FloatingPawnMovement로 단순 이동 구현
  • InterpToMovement로 지정 지점 간 이동 구현
  • 다양한 컴포넌트로 액터 이동 제어

시작 시 실행 (BeginPlay)

Event BeginPlay는 게임이 시작될 때 단 한 번 실행된다.

실행 순서:

  1. Get Actor Location (Self)
    → 현재 액터의 위치를 가져온다.
  2. Set Start Location
    → 그 위치를 Start Location 변수에 저장한다.

의미:
이 액터가 "처음 시작한 위치"를 기억해 두는 과정이다.
이 값은 이후 이동 거리를 계산하는 기준점이 된다.


매 프레임 반복 실행 (Tick)

Event Tick은 매 프레임 실행된다.

Tick 안에는 두 개의 흐름이 동시에 진행된다.

  1. 이동 거리 체크
  2. 실제 위치 이동

이동 거리 체크 로직

  1. Get Actor Location
    → 현재 위치를 가져온다.
  2. Distance (Vector)
    • V1 = Start Location
    • V2 = 현재 위치
    결과값 = 시작 위치에서 현재 위치까지의 거리
  3. 그 거리 값을 Move Distance와 비교한다.
  4. 조건:
    거리 >= Move Distance
  5. Branch 실행
    • 현재 Velocity 값을 가져온다.
    • Negate Vector로 방향을 반대로 만든다.
      예: (200, 0, 0) → (-200, 0, 0)
    • 그 값을 다시 Velocity에 저장한다.
  6. True일 경우:

의미:
설정한 이동 거리 이상 이동했으면 방향을 반대로 바꾼다.


실제 이동 계산 로직

이 부분은 항상 실행된다.

수식으로 쓰면 다음과 같다.

새 위치 = 현재 위치 + (Velocity × DeltaSeconds)

순서:

  1. Velocity × DeltaSeconds
    → 프레임 보정 이동량 계산
    DeltaSeconds를 곱하는 이유:
    프레임 속도가 달라도 이동 속도를 일정하게 유지하기 위해서다.
  2. Get Actor Location
    → 현재 위치
  3. 더하기 노드
    → 현재 위치 + 이동량
  4. Set Actor Location
    → 계산된 값을 새로운 위치로 설정

2. 액터 회전 구현

  • BP_RotatingActor 블루프린트 생성 및 스태틱 메시 추가
  • Add Actor Local Rotation으로 로컬 좌표 기준 회전
  • Add Actor World Rotation으로 월드 좌표 기준 회전
  • 로컬/월드 회전 차이점 이해
    • Add Actor Local Rotation은 객체의 로컬 좌표 기준 회전을 적용합니다.
      • 객체가 기울어진 상태에서도 자기 축 기준으로 회전합니다.
    • Add Actor World Rotation은 월드 좌표 기준 회전을 적용합니다.
      • 현재 회전값과 상관없이 절대적인 세계 좌표를 기준으로 회전합니다.
      • 예시로, 항상 세계 기준의 X, Y, Z 축을 따라 회전합니다.

 

'unreal 8기' 카테고리의 다른 글

플랫폼 게임 구상하고 만들어보기  (0) 2026.02.26
블루프린트로 총 게임 만들어보기  (0) 2026.02.25
10일차  (0) 2026.02.19
9일차  (0) 2026.02.13
8일차  (0) 2026.02.12