Azure Remote Rendering (ARR) 샘플 기능 모음

이 기사에 대하여



Azure Remote Rendering은 3D 모델을 최고의 품질로 Mixed Reality 디바이스에서 경험할 수 있습니다. Azure의 컴퓨팅 능력을 활용하여 클라우드에서 렌더링하고 그렇게 하여 디바이스로 스트리밍할 수 있습니다. 이런 방식으로 각 사용자는 3D 모델과 최대 세부 사항으로 작업하고 협업할 수 있습니다. 이 기사에서는 ARR 문서의 샘플에 기능을 정리하겠습니다.

조건



Azure Remote Rendering 튜토리얼을 완성.
튜토리얼 : 소재, 조명 및 효과 조정까지만 OK!

모델 선택



이 Model Path의 입력에 자신의 모델의 링크 (Arr 파일) 넣어 주세요.



모델 준비하지 않았던 경우는 이 디폴트 링크 있어도 괜찮습니다.
"builtin://Engine"

아래 샘플은 MRTK의 REST API를 사용하여 ARR 파일을 Model Path 입력에 자동으로 넣습니다.

ArrDownloader.cs
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.MixedReality.Toolkit.Utilities;
using TMPro;
using UnityEngine.UI;

public class ArrDownloader : MonoBehaviour
{
    string endpoint = "<こちらは自分のエンドポイント>";
    string authorizationKey = "<自分のキー>"
    public GameObject modelSlot;

    [System.Serializable]
    public class SasUrl{
        public string results;
    }

    private void Awake() {
        getSas();
    }

    async void getSas(){
        Response response = new Response();
        try{
            var headers = new Dictionary<string, string>();
            headers.Add("x-api-key", authorizationKey);
            var parameters = new Dictionary<string, string>();
            response = await Rest.GetAsync(endpoint, headers, -1, null, true);
            if (!response.Successful)
            {
                debugText.text = "サーバーにアクセスできません。#0031";
                return;
            }
            //Debug.Log(response.ResponseBody);
            var sasUrl = JsonUtility.FromJson<SasUrl>(response.ResponseBody);
            Debug.Log(sasUrl.results);
            modelSlot.GetComponent<RemoteRenderedModel>().ModelPath = sasUrl.results;
        }        
        catch (Exception e)
        {
            Debug.LogError(e.Message);
            debugText.text = "サーバーにアクセスできません。#0032";
            return;
        }
    }
}


조작



MRTK의 환경과 같이 Editor에서 키보드 「스페이스」를 누르면 핸드 포인터가 나온다. 핸드 포인터에서 왼쪽 클릭하면 버튼을 누를 수 있습니다. 마우스 오른쪽 버튼을 클릭하면 움직이면 머리를 회전하도록 뷰를 회전합니다.

앱이 실행되면 Connect 버튼으로 세션을 시작합니다.


세션을 만듭니다. 평소에는 2-3분이 걸렸지만 최대 5분 정도 걸릴지도 모릅니다.
참고 : 세션 시작이 너무 깁니다.


세션이 연결되면 모델이 자동으로 표시됩니다.


키보드에서 "m"버튼을 누르면 조작 UI를 왼손으로 이동합니다.


조작의 샘플입니다.

기능



Azure Remote Rendering 기능은 다음 섹션에서 설명합니다.

모델 도구



우선은 스트리밍 된 모델이 조종하는 도구를 설명합니다.



Load/Unload



Load/Unload 버튼은 렌더링된 모델을 표시하면 표시되지 않는 버튼입니다.

Edit Material



Azure Remote Rendering 모델의 Material을 변경할 수 있습니다. 이 예에서 모델은 너무 간단하며 변경할 수 있는 것은 선택 사항이 아닙니다. 이번에는 다른 모델로 사용해 보겠습니다.

이 아래의 예에서는 더 복잡한 모델을 경험했습니다.

Hierarchical State Override



Hierarchical State Override는 각 객체를 조작할 수 있습니다.

이 또 다른 영상으로 자동차 부분을 숨길 수있었습니다.

Lock/Unlock



이 기능을 사용하면 모델의 상태를 잠그고 조작 할 수 없습니다.

Session Tools



Session Tools란 ARR 세션의 환경을 조종한다. 각 도구에는 별도의 기능이 있습니다. 각 기능에서 스트리밍된 모델에 영향을 줍니다.



Cut Planes



Cut Planes는 평면 객체입니다. 이 평면에서 잘린 부분을 표시하지 않습니다. 그래서 모델 내용을 볼 수 있습니다.

Directional Light



Directional Light는 빛의 근원을 색을 바꿀 수 있습니다. 빛의 소스를 변경하면 객체의 색상도 영향을받습니다.

Skybox



Skybox는 장면 전체의 환경입니다. 이것을 조종하는 경우, 자신의 모델을 각각의 환경에서 차이가 보입니다.

좋은 웹페이지 즐겨찾기