unreal 공부

Virus·2025년 1월 22일
  1. Transform 속성 이해하기
    1️⃣ Transform이란?
    Transform은 액터의 위치(Location), 회전(Rotation), 크기(Scale)를 나타내며, 이를 통해 액터가 월드에서 어디에 있고 어떻게 배치되는지를 정의합니다.

위치(Location): 월드 좌표계에서 액터의 위치를 나타냅니다.
회전(Rotation): 액터가 바라보는 방향과 기울기를 나타내며, 언리얼에서는 Pitch, Yaw, Roll로 표현됩니다.
크기(Scale): 액터의 크기 비율을 나타내며, 각각 x, y, z 축을 기준으로 확대/축소가 가능합니다.
2️⃣ FTransform 구조체
Transform의 위치, 회전, 크기를 하나의 구조체로 묶어 관리할 수 있는 FTransform을 사용하면 Transform 연산이 간편해집니다.

3️⃣ 좌표계의 개념
월드 좌표계 (World Space): 게임 월드 전체를 기준으로 한 절대적인 좌표.
로컬 좌표계 (Local Space): 부모 액터나 부모 컴포넌트를 기준으로 한 상대적인 좌표.
부모-자식 관계에서는 부모의 Transform 변화가 자식에게 영향을 미칩니다.

  1. Transform을 활용한 액터 제어
    1️⃣ Transform 조정 방법
    언리얼 에디터에서는 마우스를 사용해 3D Gizmo를 통해 직접 위치, 회전, 크기를 조정할 수 있습니다.
    또한, C++ 코드를 통해 프로그램적으로 Transform을 설정할 수 있습니다.

2️⃣ BeginPlay에서 Transform 설정
BeginPlay() 함수에서 액터의 위치, 회전, 크기를 변경하여 초기 상태를 설정할 수 있습니다.

위치(Location): 특정 좌표로 이동.
회전(Rotation): 특정 방향으로 회전.
크기(Scale): 특정 배율로 확대/축소.

  1. Tick 함수와 DeltaTime 활용
    1️⃣ Tick 함수와 DeltaTime이란?
    Tick 함수: 액터가 매 프레임 업데이트해야 하는 작업을 처리하는 함수.
    DeltaTime: 이전 프레임과 현재 프레임 사이에 걸린 시간(초). 프레임 속도와 무관하게 일정한 동작을 구현하는 데 사용됩니다.
    2️⃣ 프레임 독립적인 동작 구현
    FPS가 달라지더라도 동일한 속도를 유지하려면, DeltaTime을 곱해 시간 기반으로 동작을 계산해야 합니다.
    예를 들어, 초당 100만큼 이동하려면 100 * DeltaTime 값을 사용합니다.

  2. Tick 함수로 회전 구현
    1️⃣ 회전 속도를 활용한 액터 회전
    Tick 함수에서 DeltaTime과 회전 속도를 활용해 액터가 초당 일정 각도로 회전하도록 구현할 수 있습니다.
    DeltaTime을 활용하면 FPS에 관계없이 일정한 회전 속도를 유지할 수 있습니다.
    2️⃣ Tick 함수의 최적화
    Tick 함수는 매 프레임 호출되므로, 필요하지 않을 때는 비활성화하는 것이 중요합니다.
    이벤트 기반으로 전환하거나, 필요한 상황에서만 활성화하면 성능을 개선할 수 있습니다.

  3. 배운 점과 느낀 점
    1️⃣ Transform의 유연성
    Transform을 활용하면 액터의 위치, 회전, 크기를 자유롭게 조정할 수 있으며, 부모-자식 관계를 통해 효율적으로 계층 구조를 관리할 수 있음을 알게 되었습니다.

2️⃣ DeltaTime의 중요성
DeltaTime은 프레임 속도에 상관없이 게임 동작을 일정하게 유지하도록 해주는 중요한 개념입니다. 이를 통해 프레임 독립적인 로직을 구현할 수 있었습니다.

3️⃣ Tick 함수 최적화 필요성
Tick 함수는 매 프레임 호출되므로, 불필요하게 활성화하면 성능 문제가 발생할 수 있음을 배웠습니다. 이를 최적화하는 방법도 고려해야 합니다.

0개의 댓글