환경에 WebSlate 추가
개요
Mesh 도구 키트에서 사용하려는 WebSlate Prefab을 WebSlateFramed라고 합니다. WebSlate에서 표시하는 콘텐츠를 제어하기 위해 지정할 수 있는 URL 매개 변수가 포함되어 있습니다. 또한 이벤트 이끌 이가 이벤트에서 WebSlate 의 URL을 실시간으로 변경할 수 있는 구성 요소가 함께 제공됩니다. WebSlate를 포함하는 Mesh 이벤트가 시작되면 WebSlate는 사용자가 제공한 URL을 사용하여 콘텐츠를 로드합니다.
참고
Mesh 도구 키트에는 WebSlate라는 Prefab도 있지만 Mesh 이벤트의 URL 업데이트를 실시간으로 지원하지 않으므로 권장하지 않습니다.
WebSlate의 크기와 모양은 배치된 쿼드 GameObject의 크기와 모양과 일치합니다. 일반적으로 WebSlate 프리팹 내부에 구운 쿼드입니다.
장면에 여러 WebSlates를 추가할 수 있습니다. Mesh를 기반으로 하는 Mesh 이벤트의 사용자 수는 WebSlate 성능에 영향을 주지 않습니다. WebSlate 리소스는 사용자의 컴퓨터에서 로컬로 초기화됩니다.
WebSlate 추가
메뉴에서 WebSlateFramed 프리팹 추가
계층 구조 내부를 마우스 오른쪽 단추로 클릭한 다음 상황에 맞는 메뉴에서 Mesh Toolkit>WebSlateFramed를 선택합니다.
팁: 계층 구조 창의 왼쪽 위에 있는 "+" 단추를 클릭하여 동일한 메뉴를 볼 수도 있습니다.
WebSlateFramed 프리팹 검색 및 추가
검색 필드에 "WebSlateFramed"를 입력합니다. 모두 필터가 선택되어 있는지 확인합니다.
원하는 프리팹을 장면 보기 또는 계층 구조로 끕니다.
기본 URL 지정
계층 구조에서 WebSlateFramed GameObject를 확장한 다음 WebSlate라는 자식 개체를 선택합니다.
검사기에서 WebSlate 구성 요소로 이동합니다.
현재 URL 필드를 Mesh 이벤트에서 WebSlate이 기본적으로 로드할 URL로 업데이트합니다.
이벤트에서 WebSlate를 제어할 수 있도록 합니다.
환경에 WebSlate를 추가할 때 기본 URL을 설정하지만 이벤트 이끌이가 제어판 사용하여 이벤트 중에 실시간으로 URL을 변경하려는 경우 어떻게 해야 할까요? 이를 수용하기 위해 WebSlateFramed Prefab에는 WebSlate Controlable이라는 구성 요소가 함께 제공됩니다. 이벤트 구성 도우미가 이벤트 중에 WebSlate를 사용하거나 사용하지 않도록 설정할 수 있는 개체 제어 가능 구성 요소도 함께 제공됩니다.
WebSlates의 제어 가능한 기능을 사용하면 환경 작성자가 환경의 디자인과 미학을 유지하면서 여러 이벤트를 실행하는 이끌이가 이벤트의 테마에 따라 콘텐츠를 변경할 수 있습니다(템플릿으로 또는 그렇지 않음). 제어 가능한 URL은 라이브 이벤트 중에만 추가하거나 변경할 수 있습니다. 사용자 지정 중에 추가된 URL(편집 모드)은 저장되지 않으므로 여러 이벤트에 걸쳐 유지되지 않습니다. WebSlates는 기본적으로 매번 Unity에서 개발자가 추가한 URL로 설정됩니다.
이 기능을 사용하여 WebSlates는 다음과 같은 기능을 제공합니다.
- 이벤트 구성 도우미: URL 토글, 표시 유형(켜기/해제) 및 (선택 사항) 일시 중단 방지(WebSlates를 항상 켜기). 이끌이는 이벤트 중에 호스트 패널을 사용하여 URL을 변경할 수 있습니다. 그러면 이벤트의 모든 사용자에 대한 WebSlates가 즉시 업데이트됩니다(전역 새로 고침).
- 이벤트 참석자: 참석자가 커서나 컨트롤러를 사용하여 WebSlate 위로 마우스를 가져가면 기본 제공 새로 고침 단추가 있는 메뉴 모음과 WebSlates의 단일 사용자 특성을 간략하게 설명하는 도구 설명이 나타납니다(일부 웹앱은 공유 환경을 제공할 수 있음). 이렇게 하면 사용자가 자리를 비우고 이벤트 중에 웹앱에 문제가 있는 경우에 사용할 수 있는 경우에 이끌이가 설정한 URL로 돌아갈 수 있습니다.
제어 가능한 이름 및 기본 URL 추가
참고: 기존 환경에 WebSlateFramed 프리팹이 이미 있는 경우 제어 가능한 기능을 가져오려면 Mesh 도구 키트를 버전 24.10 이상으로 업그레이드합니다. 이렇게 하면 아래의 3단계에서 시작할 수 있습니다.
계층 구조에서 추가한 WebSlateFramed 프리팹을 선택합니다.
검사기에서 WebSlate 제어 가능 구성 요소로 이동한 다음 표시 이름 필드에서 Controlable의 이름을 추가합니다. 이름이 환경에서 WebSlate의 함수를 나타내는지 확인합니다. 이는 제어판 이끌이가 볼 수 있으며 필요한 경우 WebSlate를 실시간으로 업데이트하는 데 사용됩니다. 이 예제에서는 "Azure 대시보드"를 사용합니다.
개체 제어 가능 구성 요소에서 동일한 방식으로 이름을 제공합니다.
Hierarchy에서 WebSlateFramed 구성 요소를 확장한 다음 WebSlate라는 자식 개체를 선택합니다.
검사기에서 현재 URL 필드를 Mesh 이벤트에서 WebSlate이 기본적으로 로드할 URL로 업데이트합니다.
재생 모드에서 WebSlate 를 테스트하여 URL이 제대로 표시되는지 확인합니다.
기타 WebSlate 제어 가능 설정
일시 중단 방지(WebSlate 제어 가능 구성 요소): 이 설정은 제어판 표시되고 기본 설정은 꺼져 있습니다. 즉, 참석자가 WebSlate에서 벗어나고 WebSlate가 30초 이상 보기에 없으면 Webslate가 자동으로 일시 중단되어 메모리를 절약합니다. WebSlate가 다시 참석자의 보기에 들어가면 다시 로드됩니다.
경우에 따라 이벤트의 위치에 관계없이 참석자를 위해 콘텐츠를 재생해야 할 수 있습니다(예: WebSlate에서 라이브 스트림 콘텐츠를 실행하는 경우). 이 경우 일시 중단 방지 설정을 설정하는 것이 좋습니다.
이벤트 이끌이는 이벤트에서 이 설정을 설정/해제할 수 있습니다. 기본 설정을 "켜기"로 변경하려면 일시 중단 방지 확인란을 선택합니다.
백플레이트 (WebSlate 제어 가능 구성 요소): WebSlateFramed Prefab에는 "프레임"을 제공하기 위해 여기에 선택된 *Backplate GameObject가 함께 제공됩니다. 프레임을 끄려면 이 설정을 "없음"으로 변경할 수 있지만 이 설정을 그대로 유지하고 이벤트 구성 도우미에 그대로 두어 백플레이트 켜기 또는 해제를 설정하는 것이 좋습니다.
표시(개체 제어 가능 구성 요소): 이 설정은 이벤트 오르가니어가 모든 이벤트 참석자에 대해 WebSlates의 표시 여부를 설정/해제할 수 있는 제어판 표시됩니다. 기본값을 "표시"하려면 이 옵션을 선택합니다.
참고: 이벤트 중에 이러한 설정이 변경되면 변경 내용이 모든 사용자에 대해 실시간으로 반영됩니다.
Mesh 이벤트에서 제어 가능 테스트
WebSlate의 전체 제어 가능 기능 테스트는 Mesh 이벤트에서만 발생할 수 있습니다. 사용자 환경을 기반으로 하는 예제 이벤트에서 제어 가능한 WebSlate 예제인 "Azure 대시보드"가 제어판 나타납니다.
이벤트 이끌이는 Azure 대시보드에서 아래쪽 화살표를 클릭하여 URL을 볼 수 있습니다. 그러면 변경할 수 있습니다.
앞서 설명한 것처럼 이끌이는 이벤트 중에 일시 중단 방지, 백플레이트 표시 및 표시(설정/해제)와 같은 WebSlate의 여러 설정을 변경할 수 있습니다.
WebSlate 메뉴
사용자 또는 이끌이가 WebSlate에 접근하여 커서 또는 VR 컨트롤러로 마우스를 가져가면 WebSlate 메뉴가 나타납니다.
새로 고침 (왼쪽 단추): 참석자는 이를 클릭하여 개인 보기를 WebSlate의 기본 웹 페이지로 되돌릴 수 있습니다.
정보(오른쪽 단추): WebSlate에서 공동 작업 웹앱을 표시하지 않는 한 참석자에게 표시되는 내용이 고유하며 다른 참석자와 공유되지 않음을 알리는 도구 설명을 제공합니다.
팁
선택한 3D 개체에 직접 스크립트 구성 요소로 WebSlate.cs 추가하고 MeshRenderer Materials에 UnlitWebSlate.mat를 추가하여 Quad 이외의 GameObjects에 WebSlate를 배치할 수 있습니다. 이로 인해 시각적 질감 확장, 반전 및/또는 회전이 발생할 수 있습니다.
WebSlate는 기본 URL을 로드합니다. 이 URL을 사용 중인 각 WebSlate에 대해 선호하는 URL로 바꾸어야 합니다. 밝기 매개 변수는 1.0(브라우저 밝기의 100%)로 설정됩니다.
WebSlates는 너무 오랫동안 화면이 꺼진 후 자동으로 일시 중단됩니다. 지정된 WebSlate가 항상 실행되도록 해야 하는 경우(예: 라이브 스트림 또는 연속 오디오 재생) WebSlate 구성 요소에서 일시 중단 방지를 선택합니다. 이렇게 하면 WebSlate가 항상 활성 상태로 유지되므로 장면에서 더 많은 리소스를 사용할 수 있습니다.
이미지 URL의 크기를 WebSlate 크기로 조정하려면 URL을 HTML로 래핑합니다. 시각적 스크립팅을 통해 WebSlate LoadHTML API를 사용하여 이 HTML 콘텐츠를 WebSlate에 렌더링합니다. 생성된 HTML을 HTMLContent 속성에 추가합니다. 또는 LoadHTMAsset API를 사용하고 HTML을 자산으로 전달할 수 있습니다. 이미지 URL을 이미지 URL로 바꿉다.
LoadHTML 및 LoadHTMLAsset API를 사용하는 이미지 URL 및 시각적 스크립팅 그래프가 있는 샘플 HTML:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width initial-scale=1.0"><title>Microsoft</title></head><body style="margin: 0; height: 100vh; overflow: hidden; background-color: black;"><img src="https://zcusa.951200.xyz/en-us/mesh/media/webview-developer-guide/ArcadeWebSlate.png" loading="lazy" style="width: 100%; height: 100%;"></body></html>