반응형
언리얼 엔진에서 **블루프린트(Blueprint)**를 이용해 피봇(pivot) 도어를 만드는 방법을 단계별로 설명합니다. 이 과정은 모델링 수정, 블루프린트 설정, 충돌 박스(Collision Box) 추가, 애니메이션 구현으로 구성되어 있습니다.
1. 모델링 수정 및 블루프린트 설정


- 피봇(Pivot) 수정: 문이 올바르게 회전하려면 **피봇 지점(pivot point)**이 경첩(hinge) 위치에 있어야 합니다. 강의자는 3D 모델링 프로그램(3ds Max)에서 문의 피봇을 수정하는 방법을 보여주며, 수정된 파일을 언리얼 엔진으로 다시 가져옵니다.

- 클래스 블루프린트 생성: BP_Door라는 이름의 **액터 블루프린트 클래스(Actor Blueprint Class)**를 생성합니다.
- 스태틱 메시(Static Mesh) 추가: 문(Door)과 문틀(Door Frame)을 **스태틱 메시 컴포넌트(Static Mesh Component)**로 추가합니다. 이 두 컴포넌트를 부모-자식 관계로 설정하여 문틀이 움직일 때 문도 함께 움직이도록 계층 구조를 만듭니다.

2. 충돌 박스(Collision Box) 설정

- 박스 컴포넌트 추가: 문이 열리는 트리거 역할을 할 박스 충돌(Box Collision) 컴포넌트를 추가합니다.
- 크기 및 위치 조정: 이 박스 충돌의 크기를 플레이어가 문에 다가갔을 때 쉽게 겹칠(overlap) 수 있도록 조절합니다.


3. 문 열기/닫기 로직 구현

- 플레이어 감지: On Component Begin Overlap 노드에서 Cast To BP_1stPersonCharacter 노드를 연결하여 겹친 액터가 플레이어인지 확인합니다.
- 애니메이션 추가:
- 타임라인(Timeline) 노드를 추가하고 이름을 Door_Rotation으로 지정합니다.
- 타임라인 에디터에서 **플로트 트랙(Float Track)**을 추가합니다.
- 시작 지점(시간 0, 값 0)과 끝 지점(시간 1, 값 90)에 키포인트(keypoint)를 추가하여 1초 동안 90도 회전하는 애니메이션을 만듭니다.
- Auto(자동) 옵션을 사용하여 부드러운 전환을 만듭니다.
- 문 회전:
- 타임라인의 출력 값을 받아 Set Relative Rotation 노드에 연결합니다.
- 문의 회전축(Z축)에 타임라인의 값(90도)을 연결하여 문이 90도 회전하도록 설정합니다.
- 문 닫기:
- 박스 충돌 컴포넌트에 On Component End Overlap 이벤트를 추가합니다.
- 이 이벤트 노드를 타임라인 노드의 Reverse(반전) 입력에 연결하여 플레이어가 박스 영역 밖으로 나갈 때 애니메이션이 반대로 실행되어 문이 닫히도록 만듭니다.
4. 테스트 및 마무리

- 블루프린트 배치: BP_Door를 씬(scene)에 배치하고 테스트합니다.
- 기능 확인: 플레이어가 문에 접근하면 문이 부드럽게 열리고, 멀어지면 부드럽게 닫히는지 확인합니다.
- 완성: 이 과정을 통해 충돌과 타임라인을 활용한 기능적인 문을 완성합니다.
반응형
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 애니메이션 블루프린트를 활용해 커튼의 움직임을 문과 연동하는 방법 (0) | 2025.09.26 |
---|---|
Unreal Engine 사운드 블루프린트를 활용하여 게임 환경에 소리를 추가하고 제어하는 방법 (0) | 2025.09.26 |
Unreal Engine 블루프린트(Blueprints)에 대한 개념과 기본적인 사용법 (0) | 2025.09.24 |
Unreal Engine 충돌의 개념 및 유형 (0) | 2025.09.24 |
Unreal Engine 실행 파일 만들기 (0) | 2025.09.23 |