언어:
페이지 정보
수준별:
엔진 버전:
언리얼 엔진

카메라 컴포넌트 작업

언리얼 엔진

이번 비법에서는 블루프린트카메라 컴포넌트를 추가, 삼인칭 캐릭터나 레벨의 플레이 불가 캐릭터의 시야를 만드는 법을 살펴보겠습니다. 이 튜토리얼이 끝날 무렵에는 캐릭터 블루프린트에 카메라 컴포넌트를 추가하는 방법과 캐릭터에 두 가지 시야 토글 기능을 구성하는 법을 살펴보도록 하겠습니다.

이 예제에는 시작용 콘텐츠 가 포함된 블루프린트 삼인칭 템플릿 프로젝트를 사용합니다.

  1. 프로젝트가 열렸으면, 레벨에 있는 캐릭터를 선택한 다음 Delete 키를 쳐 제거합니다.

    Camera1.png

    이 템플릿에 딸려오는 기본 캐릭터 블루프린트입니다. 보시면 이미 카메라 컴포넌트가 붙어있어서, 이 캐릭터로 플레이할 때 사용되는 시점을 미리보기창으로 확인할 수 있습니다. 이러한 구성을 새로운 플레이가능 캐릭터에 대해 처음서부터 재구성해 보도록 하겠습니다.

  2. 콘텐츠 브라우저 에서 신규 추가 버튼을 누른 뒤 메뉴에서 블루프린트 클래스 를 선택합니다.

    Camera2.png

  3. 부모 클래스 선택 창에서 Character (캐릭터)를 선택한 다음 블루프린트 이름을 MyCharacter 라 짓습니다.

    Camera3.png

    새 블루프린트의 저장 위치와 이름을 선택한 이후에는 블루프린트 에디터 인터페이스 가 자동으로 열립니다.

  4. 컴포넌트 창에서 CapsuleComponent 를 선택한 다음 디테일 패널에서 Capsule Half Height (캡슐 절반 높이)를 64 로 설정합니다.

    Camera4.png

    캡슐 컴포넌트 는 캐릭터의 충돌 감지 에 사용됩니다.

  5. 컴포넌트 창에서 컴포넌트 추가 버튼을 클릭한 다음 Static Mesh 컴포넌트를 검색 추가합니다.

    Camera5.png

  6. 스태틱 메시 에 대한 디테일 패널에서 Z 위치를 -60 으로 설정하고, 스태틱 메시에 Shape_NarrowCapsule 을 할당합니다.

    Camera6.png

    캡슐 위치의 Z 값을 조정하면, 스태틱 메시가 캡슐 컴포넌트 안에 떨어지는 것이 보일 것입니다.

  7. 컴포넌트 창에서 컴포넌트 추가 버튼을 클릭한 다음 Camera 컴포넌트를 추가합니다.

    Camera7.png

    이 캐릭터에 묶여 삼인칭 시점을 내주는 카메라입니다. 이 예제는 플레이가능 캐릭터에 초점을 맞추고 있지만, 카메라 컴포넌트는 어느 블루프린트에도 추가할 수 있습니다. 예를 들어 플레이어가 확인 가능한 보안 카메라를 만들 수 있는 것입니다.

  8. 카메라 에 대한 디테일 패널에서, 그 X 위치를 -120 으로, Z20 으로 설정합니다.

    Camera8.png

    캡슐 뒤에 카메라가 오도록 값을 수정했으나, 원하는 대로 아무렇게나 조정해도 됩니다.

  9. 컴포넌트 추가 버튼을 한 번 더 누른 다음 Arrow 컴포넌트를 추가합니다.

    Camera9.png

    캐릭터가 삼인칭 카메라 시점을 사용하도록 할 뿐만 아니라, 플레이어가 버튼을 누르면 카메라를 어깨위 시점으로 옮기도록 할 것입니다. 이 애로우 컴포넌트를 사용해서 버튼을 누르거나 떼었을 때 카메라의 이동 위치를 알려주도록 하겠습니다.

  10. 애로우 컴포넌트에 대한 디테일 패널에서 그 위치를 8 단계 와 똑같이 설정합니다.

    Camera10.png

    버튼을 떼었을 때 카메라가 돌아가도록 할 기본 카메라 위치에 대한 레퍼런스입니다.

  11. 컴포넌트 추가 버튼을 클릭한 다음 애로우 컴포넌트를 하나 더 추가, 그 위치 를 아래와 같이 설정합니다.

    Camera11.png

    X-40, Y40 으로 설정하여 아래 예제와 같이 나왔습니다.

    Camera11b.png

    애로우 컴포넌트위 위치 역시 원하는 대로 설정해도 됩니다.

  12. 이벤트 그래프 탭을 클릭한 뒤, 그래프에 우클릭 하고 Right Mouse Button 이벤트를 검색 추가합니다.

    Camera12.png

    이벤트 그래프 는 카메라 이동을 위한 함수성 스크립트를 작성하는 곳입니다.

  13. 내 블루프린트 창에서 Ctrl 키를 누른 채 Camera 컴포넌트를 좌클릭 한 뒤 그래프 안으로 끌어옵니다.

    Camera13.png

    그러면 위에서의 레퍼런스를 구하여 카메라 컴포넌트에 영향을 끼치거나 프로퍼티 설정이 가능합니다.

  14. 내 블루프린트 창에서 두 개의 애로우 컴포넌트를 Ctrl - 좌클릭 드래그합니다.

  15. 그래프에서 Camera 노드의 출력핀을 좌클릭 으로 끌어놓고 SetRelativeLocation 노드를 검색 추가합니다.

    Camera14.png

    그러면 카메라를 원하는 위치로 이동시킬 수 있습니다.

  16. Arrow 2 를 끌어놓고 Get Relative Location 노드를 추가한 뒤, 아래와 같이 노드를 연결합니다.

    Camera15.png

    오른쪽 마우스 버튼 이 눌리면, 카메라의 Set Relative Location (상대 위치 설정)을 Arrow 2 컴포넌트의 Relative Location (어깨 위 카메라 위치)로 합니다. 그 다음, 마우스 오른쪽 버튼을 떼면 카메라를 다시 그 기본(Arrow 1) 위치로 설정해 줘야 합니다.

  17. SetRelativeLocation 을 복사/붙여넣기 한 다음 Arrow 1 에 해 준 작업을 아래와 같이 반복합니다.

    Camera16.png

    스크립트가 완료되어 이제 마우스 오른쪽 버튼을 눌렀다/떼면 두 카메라 위치 사이로 전환이 가능합니다.

  18. 툴바에서 컴파일 을 클릭하고 블루프린트를 저장 후 닫습니다.

    Camera17.png

    캐릭터 구성이 완료되었으나, 아직 방금 만든 캐릭터를 게임 플레이시 기본 캐릭터로 사용하라고 프로젝트에 일러줘야 할 필요가 있습니다. 그 방법은 레벨 월드 세팅 에서 이 템플릿에 사용되는 게임 모드 의 세팅을 변경하면 됩니다.

  19. 메인 레벨 에디터 창에서, 툴바의 세팅 버튼을 클릭한 다음 월드 세팅 을 선택합니다.

    Camera18.png

  20. 월드 세팅 창에서 Selected GameMode (선택된 게임모드) 아래, Default Pawn Class (기본 폰 클래스) 를 MyCharacter 로 변경합니다.

    Camera19.png

  21. 메인 툴바에서 플레이 버튼을 눌러 에디터에서 플레이합니다.

최종 결과

에디터에서 플레이할 때, 이제 할당한 카메라 컴포넌트를 옮기는 것으로 두 개의 카메라 위치 전환이 가능합니다. 위 비디오의 우리 캐릭터에는 이동 능력도 포함되어 있는데, 이는 (Content/ThirdPersonBP/Blueprints 폴더 아래 위치한) ThirdPersonCharacter 블루프린트에서 MyCharacter 블루프린트로 복사했기 때문입니다.

이동 함수성을 추가하려면, ThirdPersonCharacter 에서 다음의 함수성을 MyCharacter 블루프린트에 복사하면 됩니다.

이미지를 클릭하면 크게 보입니다.

위 스크립트는 캐릭터의 이동, 점프, 카메라 각도를 조절하는 데 사용됩니다.

카메라 컴포넌트 추가 후, 보통 카메라에 스프링 암 컴포넌트를 붙이는 것이 좋습니다. 좁은 공간이나 캐릭터와 카메라 사이에 오브젝트가 들어설 때 카메라 시야가 가리지 않도록 하는 데 도움이 되기 때문입니다.