콜라보 뷰어에 커스텀 콘텐츠 추가

커스텀 모델을 콜라보 뷰어 템플릿에 추가하는 방법을 설명합니다.

Windows
MacOS
Linux

콜라보 뷰어 템플릿에는 프리셋 콘텐츠가 포함되어 있어 바로 시작할 수 있습니다. 퀵 스타트를 통해 단계별 지침을 확인하세요. 하지만 협업형 리뷰 경험에 익숙해지면, 그 안에서 커스텀 콘텐츠를 만들고 싶어질 것입니다.

이 페이지에서는 관련된 작업 중에서도 가장 흔한 작업 방법을 설명합니다.

  • 3D 모델을 템플릿에 추가하고 내장된 네비게이션 모드와 호환되도록 설정하는 방법. 커스텀 3D 모델 사용을 참조하세요.

  • 콘텐츠가 콜라보 뷰어 템플릿에 내장된 상호작용 툴과 작동하는 방식을 조정하는 방법. 트랜스폼 및 XRay 비헤이비어 조정을 참조하세요.

  • 콜라보 뷰어 템플릿을 변경하여 기본 프리셋 콘텐츠를 포함한 템플릿에서 다른 레벨로 시작하는 방법. 시작 레벨 변경을 참조하세요.

커스텀 3D 모델 사용

콜라보 뷰어 템플릿은 바로 사용할 수 있도록 프리셋 콘텐츠가 포함되어 있지만 동일한 협업 뷰어 환경에서 커스텀 콘텐츠를 확인해 보려면 자체 모델을 추가하기 원하실 것입니다.

무엇보다 플레이어는 이 과정에서 콜리전 메시 및 내비메시를 포함한 표면으로만 걷고 순간이동할 수 있다는 사실을 명심해야 합니다. 사람들이 탐색할 수 있게 하려는 바닥과 표면에는 반드시 그와 관련된 콜리전 볼륨이나 내비메시가 있어야 합니다.

단계

콜라보 뷰어 템플릿의 기본 레벨에서 커스텀 콘텐츠로 작업하려면 아래 단계를 따르세요.

  1. 3D 모델, 라이트 등 레벨에 존재하는 기존 콘텐츠를 제거하고 커스텀 콘텐츠를 추가하세요. 건물, 기계 부품, 나무 등 샘플 에셋은 SampleLevel 이라는 이름의 하위 레벨에 배치됩니다. 메인 퍼시스턴트 레벨에 속한 하위 레벨 레벨을 처음부터 시작하고 싶을 때는 기존 하위 레벨을 삭제하고 콘텐츠를 메인 퍼시스턴트 레벨에 배치하거나 신규 하위 레벨을 생성하면 됩니다. 스카이 스피어, 라이트 등 일부 씬 엘리먼트를 샘플 씬에 유지하려면 해당 항목을 메인 퍼시스턴트 레벨로 옮기세요. 월드 아웃라이너(World Outliner) 에서 Building, Gears, Trees 처럼 더는 사용할 필요가 없는 폴더를 제거해도 됩니다.

  2. 콘텐츠를 배치하고 패키징된 애플리케이션에서 사용자들에게 보여질 모습과 시각적으로 똑같이 구성하세요.

  3. 플레이어가 걷거나 순간이동할 수 있는 모든 표면에는 콜리전 메시가 구성되어 있어야 합니다. 콘텐츠 임포트 방식에 따라 여러분이 지오메트리 모델링에 사용한 3D 디자인 애플리케이션에서도 이 작업을 수행할 수 있습니다. 아니면 스태틱 메시 에디터의 스태틱 메시 메뉴를 열거나 콜리전(Collision) 메뉴의 툴을 사용해도 됩니다.

    콜리전 셋업을 자동화하려면 스태틱 메시에 콜리전 구성, 또는 블루프린트와 Python 에서 스태틱 메시로 콜리전 구성을 참조하세요.

    아니면 블로킹 볼륨(Blocking Volumes) 으로 보이지 않는 박스 형태의 콜리전을 레벨에 추가하는 방법도 있습니다. 그러면 스태틱 메시를 수정하지 않고 콜리전을 레벨 내에서 간단히 작동할 수 있습니다. 다만 이 볼륨이 스태틱 메시에 지정된 것은 아니기에, 레벨에 있는 지오메트리를 이동할 경우 볼륨을 직접 옮겨야 할 수도 있습니다.

  4. 레벨에 하나 이상의 플레이어 스타트(Player Start) 액터를 배치하세요. 추가 배치 시 액터 배치(Place Actors) 패널에 있는 기본(Basic) 탭의 플레이어 스타트 액터를 뷰포트에 더 드래그하면 됩니다.

    새로운 사람이 세션에 참가하면 무작위로 선택된 플레이어 스타트 위치에서 시작하게 됩니다. 새로운 사람이 시작해도 될만한 곳마다 하나 이상의 플레이어 스타트 액터를 배치하세요. 액터는 걸을 수 있는 표면 바로 위에 배치해서 걷기 모드로 변경한 플레이어가 표면을 뚫고 추락하지 않도록 설정하세요.

    같은 장소 주변에 여러 액터를 추가하는 것도 좋습니다. 그러면 세션에 새로 참가한 다른 플레이어들이 동일한 위치에 겹칠 가능성이 줄어듭니다.

  5. 플레이어가 순간이동할 표면을 내비메시 바운딩 볼륨에 포함해서 표면마다 내비메시를 확보하세요. 기본 퍼시스턴트 레벨에서 표면의 규모를 조정해 3D 모델을 감추거나 새로 만들 수 있습니다. 바운딩 볼륨은 레벨에 필요한 만큼 배치할 수 있습니다. 내비메시를 생성하는 방법은 다음과 같습니다.

    1. 레벨에 내비메시 바운드 볼륨이 없을 경우, 액터 배치 패널의 볼륨 탭에서 뷰포트에 드래그해서 추가합니다.

    2. 뷰포트나 월드 아웃라이너 에서 내비메시 바운드 볼륨을 선택한 뒤, 뷰포트의 트랜스폼 기즈모를 배치하고자 하는 지역의 가운데쯤으로 옮기세요.

    3. 디테일(Details) 패널의 브러시 세팅(Brush Settings) 에서 볼륨의 크기 및 형태를 변경하세요.

    4. 툴바에서 빌드(Build) 아이콘을 클릭해 이전에 계산된 레벨 관련 데이터를 리빌드하거나, 빌드 > 네비게이션(Navigation) > 경로 빌드(Build Paths) 를 선택해 내비게이션 데이터만 리빌드하세요.

    5. P 를 눌러 생성된 내비메시를 확인하고 예상한 지역에 배치되었는지 확인하세요. 내비메시는 녹색 표면로 렌더링되며, 볼륨과 교차되는 콜리전 메시보다 약간 위에 배치됩니다.

  6. 필요하다면 라이팅을 빌드하세요.

  7. 퀵스타트 페이지의 안내에 따라 프로젝트를 리패키징 및 재배포하세요.

최종 결과

위 단계를 전부 따랐다면 여러 사용자를 하나의 리뷰 세션에 연결할 수 있을 것입니다. 참가한 사용자는 여러분이 레벨에 추가한 커스텀 콘텐츠를 볼 수 있습니다.

트랜스폼 및 XRay 비헤이비어 조정

콘텐츠 구성 방식에 따라 런타임 시 트랜스폼 및 XRay 상호작용의 비헤이비어에 영향을 미칠 수 있습니다.

  • 액터의 모빌리티(Mobility) 세팅을 통해 런타임 시 트랜스폼 상호작용으로 해당 오브젝트를 움직일 수 있는지 여부를 결정할 수 있습니다. 런타임 시 오브젝트를 옮기려면 모빌리티무버블(Movable) 로 설정하세요. 오브젝트를 강조할 수는 있지만, 옮길 수는 없게 하고 싶다면 모빌리티스태틱(Static) 으로 설정하세요.

  • 월드 아웃라이너 에서 볼 수 있는 액터 간의 부모 및 자손 계층구조도 트랜스폼 및 XRay 상호작용에 영향을 미칩니다.

    • 런타임 시 트랜스폼 상호작용으로 오브젝트를 옮길 경우, 오브젝트의 모든 자손이 자동으로 부모를 따라 이동하며, 부모로부터 물려받은 오프셋도 그대로 유지합니다.

      예를 들어 아래 스크린샷에 등장하는 모든 'Transmission'은 중앙의 검은색 바 Transmission_Main_Part 를 부모로 설정합니다.

      예시 콘텐츠 부모-자손 계층구조

      따라서 런타임 시 검은색 바를 움직이면 자손 액터도 움직입니다. 하지만 자손 액터도 별개로 움직일 수 있습니다. 이후에 부모를 움직일 경우, 자손은 새로운 오프셋을 유지합니다. 

      자손 액터를 초기 위치로 재설정할 경우, 월드 스페이스에 위치한 초기 위치 및 회전값이 아닌 부모 액터로부터 받은 기존 오프셋으로 초기화됩니다. 부모 액터를 초기 위치로 재설정할 경우, 할당된 모든 자손 액터는 부모로부터 받은 현재 오프셋을 유지합니다.

    • Xray 아이솔레이트(Xray Isolate) 상호작용 모드를 사용할 경우, 씬에 있는 오브젝트를 선택하면 선택한 오브젝트와 같은 계층구조에 있는 다른 오브젝트를 전부 숨김 처리합니다.

      예를 들어, 해당 기본 씬에 배치된 콘텐츠의 경우, 투과(Transmission) 어셈블리를 구성하는 모든 오브젝트가 계층구조의 단일 최상위 부모 하에 배치됩니다. 이제 Xray 아이솔레이트를 사용해 투과되는 오브젝트를 선택하면 다른 투과 오브젝트는 전부 숨김 처리됩니다. 즉, 동일한 최상위 Gears 항목에 부모로 설정된 모든 액터가 숨겨집니다. 건물을 구성하는 액터는 계층구조에서 별개의 최상위 Building 항목에 속하므로 영향을 받지 않습니다.

      마찬가지로 아래 이미지에 보이는 바닥처럼 건물의 일부에 Xray 아이솔레이트를 대신 사용할 경우, 건물에 해당하는 모든 오브젝트만 투명해지고 투과 어셈블리는 불투명 상태를 유지합니다.

      두 사례 모두 나무와 외부 지형은 영향을 받지 않는데, 해당 오브젝트가 GearsBuilding 계층구조에 소속되지 않았기 때문입니다.

  • Xray 또는 트랜스폼 명령으로 상호작용하고자 하는 액터가 있을 경우, 피직스 시뮬레이션(Simulate Physics) 세팅을 비활성화해야 합니다. 해당 세팅은 디테일 패널의 피직스(Physics) 항목에 있습니다.

    피직스 시뮬레이션 비활성화

시작 레벨 변경

사용자가 메인 메뉴를 완료할 경우, 콜라보 뷰어 템플릿의 메인 메뉴에서 CollaborativeViewer_P 레벨을 로드하도록 설정되어 있습니다. 하지만 신규 레벨을 생성해 콘텐츠를 보관하고, 메인 메뉴에서 대신 레벨을 시작하도록 할 수도 있습니다. 해당 동작을 선택할 경우, 메인 메뉴의 로직을 변경해 사용자가 세션에 참가할 때 실행되도록 설정해야 합니다.

단계

콜라보 뷰어를 시작 레벨로 설정하려면 아래 단계를 따르세요.

  1. 콘텐츠 브라우저(Content Browser) 에서 CollaborativeViewer/UMG/MainMenu 폴더에 있는 Widget_MainMenu 에셋을 찾으세요.

  2. 실행할 에셋을 더블 클릭하고 그래프(Graph) 를 클릭해서 위젯 블루프린트 뷰를 여세요.

  3. 유저 셀렉션 커밋(Commit User Selections) 그룹을 선택하세요. 그룹에서 세션 호스팅 시작(Begin Hosting a Session) 하위 그룹을 찾으세요.

  4. OpenLevel 노드의 레벨 이름(Level Name) 을 참여자들이 세션에 연결하면 시작하는 레벨 이름으로 변경하세요.

  5. 위젯을 컴파일(Compile)저장(Save) 한 뒤 프로젝트를 다시 패키징하세요.

최종 결과

다음에 프로젝트를 시작하고 메인 메뉴를 완료할 경우, 위 과정을 통해 구성한 커스텀 레벨에서 시작하게 됩니다.

Select Skin
Light
Dark
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼