벡터 연산과 DeltaTime, 블루프린터 함수 라이브러리 활용

DevBison·2025년 8월 12일

벡터 연산과 델타 타임 (Unreal Engine)

벡터 기본 개념

  • 벡터(Vector): 크기(길이)와 방향을 동시에 가지는 값.
  • 길이를 가지고 있는 것이 벡터이며, 좌표(x, y, z)로 표현됨.
  • 벡터의 덧셈: x끼리, y끼리, z끼리 더함 → 두 벡터의 정확한 가운데 방향.
  • 벡터의 뺄셈: 덧셈과 동일하게 x, y, z 각각 빼줌.


벡터 연산의 쓰임

  • 각도에 의한 동작, 물체의 방향 계산, 이동 속도, 충돌 판정 등에 활용.


단위 벡터 (Unit Vector)

  • 크기가 1인 벡터.
  • 벡터의 크기: 피타고라스 정리로 계산
    길이 = √(x² + y² + z²)
  • 정규화(Normalize): 벡터의 크기를 1로 맞추는 연산.
    (x/길이, y/길이, z/길이)

내적(Dot Product)

  • 공식:
    A·B = Ax*Bx + Ay*By + Az*Bz
    또는
    A·B = ||A|| * ||B|| * cosθ
  • 의미: 두 벡터 사이의 각도와 방향 관계를 계산.
    • 결과가 1 → 같은 방향
    • 결과가 0 → 서로 직각
    • 결과가 -1 → 반대 방향

외적(Cross Product)

  • 공식: A × B = 두 벡터에 모두 수직인 벡터
  • 보통 법선 벡터(노멀 벡터) 계산에 사용.

게임 루프와 프레임

  • Tick: 매 프레임마다 호출되는 함수.
  • FPS(Frame Per Second): 1초에 화면이 갱신되는 횟수.
  • Unreal Engine은 기본적으로 120FPS 제한.
  • 8.33ms → 한 프레임의 시간 (1초 ÷ 120프레임)

  • 게임은 내부적으로 while 루프를 계속 돌면서 매 프레임 처리.
  • FPS 차이는 게임 속도 차이를 발생시킬 수 있으므로, 프레임에 의존하지 않는 계산이 필요.


델타 타임 (Delta Seconds)

  • Delta Seconds: 이전 프레임과 현재 프레임 사이의 시간(초).
  • 초당 속도 * Delta Seconds = 현재 프레임 이동 거리
    → 프레임이 달라도 동일한 이동 속도를 유지.



  • 장점: 프레임이 튀더라도 속도 차이 없이 부드러운 움직임 제공.
  • 게임 이동 로직 기본 공식:
    위치 += 방향 벡터 * 속도 * Delta Seconds


블루프린트 함수 라이브러리

  • 함수 라이브러리: 여러 블루프린트에서 사용할 수 있는 전역 함수 모음.
  • 로컬 변수: 해당 함수 내에서만 사용 가능.
  • 입력(Input): 함수 인자.
  • 출력(Output): 함수 반환 값.






함수 호출 예시

  • Self: 자기 자신 참조.
  • 다른 블루프린트에서 전역 함수를 호출해 동일한 동작 수행 가능.



핵심 요약

  1. 벡터 연산(덧셈, 뺄셈, 내적, 외적)은 게임 수학의 기본.
  2. 단위 벡터와 정규화를 이해하면 방향 계산이 쉬워짐.
  3. Delta Seconds를 곱해주면 FPS 차이 없이 동일한 속도 유지.
  4. 블루프린트 함수 라이브러리를 사용하면 재사용 가능한 전역 함수 작성 가능.
profile
응애 개발자

0개의 댓글