Choose your operating system:
Windows
macOS
Linux
이번 하우투에서는 블루프린트 에 카메라 컴포넌트를 추가, 삼인칭 캐릭터나 레벨의 플레이 불가 캐릭터의 시야를 만드는 법을 살펴보겠습니다. 이 튜토리얼이 끝날 무렵에는 캐릭터 블루프린트에 카메라 컴포넌트를 추가하는 방법과 캐릭터에 두 가지 시야 토글 기능을 구성하는 법을 살펴보도록 하겠습니다.
이 예제에는 시작용 콘텐츠 가 포함된 블루프린트 삼인칭 템플릿 프로젝트를 사용합니다.
-
프로젝트가 열렸으면, 레벨에 있는 캐릭터를 선택한 다음 Delete 키를 쳐 제거합니다.
이 템플릿에 딸려오는 기본 캐릭터 블루프린트입니다. 보시면 이미 카메라 컴포넌트가 붙어있어서, 이 캐릭터로 플레이할 때 사용되는 시점을 미리보기창으로 확인할 수 있습니다. 이러한 구성을 새로운 플레이가능 캐릭터에 대해 처음서부터 재구성해 보도록 하겠습니다.
-
콘텐츠 브라우저 에서 신규 추가 버튼을 누른 뒤 메뉴에서 블루프린트 클래스 를 선택합니다.
-
부모 클래스 선택 창에서 Character (캐릭터)를 선택한 다음 블루프린트 이름을 MyCharacter 라 짓습니다.
새 블루프린트의 저장 위치와 이름을 선택한 이후에는 블루프린트 에디터 인터페이스 가 자동으로 열립니다.
-
컴포넌트 창에서 CapsuleComponent 를 선택한 다음 디테일 패널에서 Capsule Half Height (캡슐 절반 높이)를 64 로 설정합니다.
-
컴포넌트 창에서 컴포넌트 추가 버튼을 클릭한 다음 Static Mesh 컴포넌트를 검색 추가합니다.
-
스태틱 메시 에 대한 디테일 패널에서 Z 위치를 -60 으로 설정하고, 스태틱 메시에 Shape_NarrowCapsule 을 할당합니다.
캡슐 위치의 Z 값을 조정하면, 스태틱 메시가 캡슐 컴포넌트 안에 떨어지는 것이 보일 것입니다.
-
컴포넌트 창에서 컴포넌트 추가 버튼을 클릭한 다음 Camera 컴포넌트를 추가합니다.
이 캐릭터에 묶여 삼인칭 시점을 내주는 카메라입니다. 이 예제는 플레이가능 캐릭터에 초점을 맞추고 있지만, 카메라 컴포넌트는 어느 블루프린트에도 추가할 수 있습니다. 예를 들어 플레이어가 확인 가능한 보안 카메라를 만들 수 있는 것입니다.
-
카메라 에 대한 디테일 패널에서, 그 X 위치를 -120 으로, Z 는 20 으로 설정합니다.
캡슐 뒤에 카메라가 오도록 값을 수정했으나, 원하는 대로 아무렇게나 조정해도 됩니다.
-
컴포넌트 추가 버튼을 한 번 더 누른 다음 Arrow 컴포넌트를 추가합니다.
캐릭터가 삼인칭 카메라 시점을 사용하도록 할 뿐만 아니라, 플레이어가 버튼을 누르면 카메라를 어깨위 시점으로 옮기도록 할 것입니다. 이 애로우 컴포넌트를 사용해서 버튼을 누르거나 떼었을 때 카메라의 이동 위치를 알려주도록 하겠습니다.
-
애로우 컴포넌트에 대한 디테일 패널에서 그 위치를 8 단계 와 똑같이 설정합니다.
버튼을 떼었을 때 카메라가 돌아가도록 할 기본 카메라 위치에 대한 레퍼런스입니다.
-
컴포넌트 추가 버튼을 클릭한 다음 애로우 컴포넌트를 하나 더 추가, 그 위치 를 아래와 같이 설정합니다.
X 는 -40 , Y 는 40 으로 설정하여 아래 예제와 같이 나왔습니다.
애로우 컴포넌트위 위치 역시 원하는 대로 설정해도 됩니다.
-
이벤트 그래프 탭을 클릭한 뒤, 그래프에 우클릭 하고 Right Mouse Button 이벤트를 검색 추가합니다.
이벤트 그래프 는 카메라 이동을 위한 함수성 스크립트를 작성하는 곳입니다.
-
내 블루프린트 창에서 Ctrl 키를 누른 채 Camera 컴포넌트를 좌클릭 한 뒤 그래프 안으로 끌어옵니다.
그러면 위에서의 레퍼런스를 구하여 카메라 컴포넌트에 영향을 끼치거나 프로퍼티 설정이 가능합니다.
-
내 블루프린트 창에서 두 개의 애로우 컴포넌트를 Ctrl - 좌클릭 드래그합니다.
-
그래프에서 Camera 노드의 출력핀을 좌클릭 으로 끌어놓고 SetRelativeLocation 노드를 검색 추가합니다.
그러면 카메라를 원하는 위치로 이동시킬 수 있습니다.
-
Arrow 2 를 끌어놓고 Get Relative Location 노드를 추가한 뒤, 아래와 같이 노드를 연결합니다.
오른쪽 마우스 버튼 이 눌리면, 카메라의 Set Relative Location (상대 위치 설정)을 Arrow 2 컴포넌트의 Relative Location (어깨 위 카메라 위치)로 합니다. 그 다음, 마우스 오른쪽 버튼을 떼면 카메라를 다시 그 기본(Arrow 1) 위치로 설정해 줘야 합니다.
-
SetRelativeLocation 을 복사/붙여넣기 한 다음 Arrow 1 에 해 준 작업을 아래와 같이 반복합니다.
스크립트가 완료되어 이제 마우스 오른쪽 버튼을 눌렀다/떼면 두 카메라 위치 사이로 전환이 가능합니다.
-
툴바에서 컴파일 을 클릭하고 블루프린트를 저장 후 닫습니다.
캐릭터 구성이 완료되었으나, 아직 방금 만든 캐릭터를 게임 플레이시 기본 캐릭터로 사용하라고 프로젝트에 일러줘야 할 필요가 있습니다. 그 방법은 레벨 월드 세팅 에서 이 템플릿에 사용되는 게임 모드 의 세팅을 변경하면 됩니다.
-
메인 레벨 에디터 창에서, 툴바의 세팅 버튼을 클릭한 다음 월드 세팅 을 선택합니다.
-
월드 세팅 창에서 Selected GameMode (선택된 게임모드) 아래, Default Pawn Class (기본 폰 클래스) 를 MyCharacter 로 변경합니다.
-
메인 툴바에서 플레이 버튼을 눌러 에디터에서 플레이합니다.
최종 결과
에디터에서 플레이할 때, 이제 할당한 카메라 컴포넌트를 옮기는 것으로 두 개의 카메라 위치 전환이 가능합니다. 위 비디오의 우리 캐릭터에는 이동 능력도 포함되어 있는데, 이는 ( Content/ThirdPersonBP/Blueprints 폴더 아래 위치한) ThirdPersonCharacter 블루프린트에서 MyCharacter 블루프린트로 복사했기 때문입니다.
이동 함수성을 추가하려면, ThirdPersonCharacter 에서 다음의 함수성을 MyCharacter 블루프린트에 복사하면 됩니다.
이미지를 클릭하면 크게 보입니다.
위 스크립트는 캐릭터의 이동, 점프, 카메라 각도를 조절하는 데 사용됩니다.
카메라 컴포넌트 추가 후, 보통 카메라에 스프링 암 컴포넌트를 붙이는 것이 좋습니다. 좁은 공간이나 캐릭터와 카메라 사이에 오브젝트가 들어설 때 카메라 시야가 가리지 않도록 하는 데 도움이 되기 때문입니다.