안녕하세요! 오늘은 언리얼 엔진에서 매우 중요하지만 초보자들이 종종 간과하는 개념인 '피벗(Pivot)'에 대해 알아보겠습니다. 피벗은 게임 개발에서 오브젝트의 회전과 이동의 기준점 역할을 하며, 이를 제대로 이해하면 더 정교한 오브젝트 조작이 가능해집니다.
피벗이란 무엇인가?
피벗은 간단히 말해 오브젝트의 중심점 또는 기준점입니다. 이 점을 중심으로 오브젝트가 회전하고, 이동할 때 이 점을 기준으로 위치가 계산됩니다. 다른 3D 소프트웨어에서는 '오리진(Origin)' 또는 '트랜스폼 중심(Transform Center)'이라고 불리기도 합니다.
왜 피벗이 중요한가?
- 정확한 회전: 오브젝트를 회전시킬 때 피벗이 중심이 됩니다. 피벗 위치에 따라 회전 결과가 완전히 달라질 수 있습니다.
- 부모-자식 관계: 피벗은 계층 구조에서 자식 오브젝트가 부모를 따라 움직일 때 기준점이 됩니다.
- 애니메이션: 캐릭터나 오브젝트 애니메이션에서 피벗 위치는 자연스러운 움직임을 구현하는 데 중요합니다.
- 오브젝트 배치: 레벨 디자인에서 정확한 피벗 위치는 오브젝트를 정확히 배치하는 데 도움이 됩니다.
언리얼 엔진에서 피벗 확인하기
언리얼 엔진에서는 오브젝트를 선택했을 때 나타나는 위젯(gizmo)이 피벗 위치를 보여줍니다. 이 위젯은 보통 X(빨강), Y(초록), Z(파랑) 축으로 표시됩니다.

피벗 조정하기
1. 스태틱 메시의 피벗 조정
스태틱 메시의 경우, 피벗 위치를 변경하려면 일반적으로 3D 모델링 소프트웨어(Maya, Blender 등)에서 변경해야 합니다. 하지만 언리얼 엔진 내에서도 임시적인 방법으로 조정할 수 있습니다:
- 스태틱 메시를 선택합니다.
- 디테일 패널에서 '트랜스폼' 섹션을 찾습니다.
- '피벗 오프셋' 값을 조정합니다.
2. 블루프린트에서 피벗 활용하기
블루프린트에서는 컴포넌트의 상대적 위치를 조정함으로써 실질적인 피벗 위치를 변경할 수 있습니다:

- 블루프린트 에디터를 엽니다.
- 컴포넌트 패널에서 루트 컴포넌트를 확인합니다.
- 다른 컴포넌트들의 위치를 루트 컴포넌트 기준으로 조정합니다.
실전 예제: 문 회전 시스템 만들기
피벗의 중요성을 이해하기 위한 간단한 예제로, 문이 자연스럽게 열리고 닫히는 시스템을 만들어 보겠습니다.
1단계: 문 메시 준비하기
문 메시의 피벗이 문의 한쪽 끝(경첩 위치)에 있는지 확인합니다. 그렇지 않다면 다음과 같이 조정합니다:
- 모델링 소프트웨어에서 피벗 위치를 조정하여 다시 임포트합니다.
- 또는 언리얼 엔진에서 블루프린트를 생성하고 메시 컴포넌트의 위치를 조정합니다.
2단계: 블루프린트 생성
- 문 메시를 우클릭하고 '블루프린트 생성'을 선택합니다.
- 이벤트 그래프에서 문이 열리고 닫히는 로직을 구현합니다.
3단계: 회전 로직 구현

간단한 회전 로직은 다음과 같습니다:
- 플레이어 상호작용 감지 (예: 키 입력 또는 오버랩 이벤트)
- 현재 문 상태 확인 (열림/닫힘)
- Set Relative Rotation 노드를 사용하여 문 회전 (예: Z축으로 90도)
고급 팁: 런타임에 피벗 변경하기
때로는 게임 플레이 중에 피벗 위치를 변경해야 할 수도 있습니다. 이럴 때는 다음과 같은 방법을 사용할 수 있습니다:
- 소켓 활용: 스켈레탈 메시에 소켓을 추가하고 이를 새로운 피벗 포인트로 활용합니다.
- 빈 액터 활용: 빈 액터를 부모로 사용하고 실제 메시는 자식으로 배치하여 상대적 위치를 조정합니다.
- 컴포넌트 계층 구조: 블루프린트 내에서 컴포넌트 계층 구조를 활용하여 실질적인 피벗 포인트를 변경합니다.
자주 발생하는 문제와 해결책
문제 1: 오브젝트가 이상한 지점에서 회전합니다.
해결책: 피벗 위치를 확인하고 조정합니다. 블루프린트를 사용하는 경우 컴포넌트의 상대적 위치를 점검합니다.
문제 2: 임포트한 모델의 피벗이 잘못된 위치에 있습니다.
해결책: 원본 3D 모델링 소프트웨어에서 피벗을 조정하고 다시 임포트하거나, 언리얼 엔진에서 블루프린트를 통해 조정합니다.
문제 3: 애니메이션이 자연스럽지 않게 적용됩니다.
해결책: 스켈레톤의 루트 본과 메시의 피벗이 올바르게 정렬되어 있는지 확인합니다.
결론
피벗은 언리얼 엔진에서 오브젝트를 다룰 때 기본이 되는 중요한 개념입니다. 특히 정교한 움직임이나 상호작용이 필요한 게임 요소를 만들 때, 피벗의 위치와 역할을 이해하는 것은 매우 중요합니다. 이 글이 여러분의 언리얼 엔진 개발 여정에 도움이 되길 바랍니다!
다음 글에서는 언리얼 엔진의 물리 시스템과 콜리전에 대해 알아보겠습니다. 궁금한 점이나 제안 사항이 있으면 댓글로 남겨주세요!
이 블로그는 언리얼 엔진 초보자를 위한 시리즈의 일부입니다. 더 많은 튜토리얼과 팁은 홈페이지를 방문해주세요.
'Unreal 강의 > 생초보가 알아야 할 것들' 카테고리의 다른 글
<생초보> 언리얼5 조작 방법 및 단축키 (0) | 2023.11.29 |
---|---|
<생초보> 언리얼 프로젝트 생성할 때 꼭 해야하는 설정 (0) | 2023.11.27 |