Gyorsútmutató: Modell konvertálása a renderelés előtt

A Rövid útmutató: Modell renderelése a Unityvel című témakörben megtanulta, hogyan jeleníthet meg beépített modellt a Unity mintaprojekttel.

Ez az útmutató bemutatja, hogyan alakíthatja át saját modelljeit az alábbi lépésekkel:

  • Azure Blob Storage-fiók beállítása bemenethez és kimenethez
  • 3D-modell feltöltése és konvertálása az Azure Remote Rendering
  • A konvertált 3D modell belefoglalása egy alkalmazásba renderelés céljából

Előfeltételek

Áttekintés

A kiszolgálón lévő renderelő nem tud közvetlenül működni a forrásmodell-formátumokkal, például az FBX vagy a GLTF formátumokkal. Ehelyett a modellnek saját bináris formátumban kell lennie. A konverziós szolgáltatás modelleket használ fel az Azure Blob Storage-ból, és visszaírja az átalakított modelleket egy megadott Azure Blob Storage-tárolóba.

A következők szükségesek:

  • Azure-előfizetés
  • Egy "StorageV2" fiók az előfizetésben
  • A bemeneti modell blobtárolója
  • Blob Storage-tároló a kimeneti adatokhoz
  • Átalakítandó modell, lásd a mintamodelleket
    • A támogatott forrásformátumok listájának megtekintése
    • A mintakonvertálási szkript használatához készítsen elő egy bemeneti mappát, amely tartalmazza a modellt és az összes külső függőséget (például külső textúrákat vagy geometriát)

Az Azure beállítása

Ha még nincs fiókja, nyissa meg az Azure használatának első lépéseit, válassza az ingyenes fiók lehetőséget, és kövesse az utasításokat.

Miután rendelkezik Azure-fiókkal, jelentkezzen be a Azure Portal.

Tárfiók létrehozása

A blobtároló létrehozásához először egy tárfiókra van szüksége.

  1. A létrehozáshoz válassza az "Erőforrás létrehozása" lehetőséget:

Azure – erőforrás hozzáadása

  1. Az új képernyőn válassza a bal oldalon a Storage lehetőséget, majd a következő oszlopban válassza a Tárfiók – blob, fájl, táblázat, üzenetsor lehetőséget:

Azure – tárterület hozzáadása

  1. Erre a gombra kattintva megjelenik a következő képernyő a tártulajdonságokkal a kitöltéshez:

Azure-beállítás

  1. Töltse ki az űrlapot a következő módon:
  • Hozzon létre egy új erőforráscsoportot a legördülő lista alatti hivatkozásból, és nevezze el ezt a ARR_Tutorial
  • A Tárfiók neve mezőben adjon meg egy egyedi nevet. Ennek a névnek globálisan egyedinek kell lennie. Hibaüzenet jelenik meg, ha a név már szerepel. A rövid útmutató hatókörében arrtutorialstorage nevet adunk neki. Ennek megfelelően a rövid útmutatóban szereplő összes előforduláshoz a saját nevére kell cserélnie.
  • Válasszon ki egy Önhöz közeli régiót . Ideális esetben ugyanazt a régiót használja, mint a másik rövid útmutatóban a renderelés beállításához.
  • A teljesítmény "Premium" értékre van állítva. A "Standard" is működik, de alacsonyabb betöltési idejű jellemzőkkel rendelkezik a modell betöltésekor.
  • Prémium fióktípus "Blobok blokkolása" értékre állítva
  • A redundancia "Zónaredundáns tárolás (ZRS)" értékre van állítva
  1. A többi lap egyik tulajdonságát sem kell módosítani, így folytathatja a "Véleményezés + létrehozás" lehetőséget, majd kövesse a lépéseket a beállítás befejezéséhez.

  2. A webhely most már tájékoztatja az üzembe helyezés előrehaladásáról, és a "Az üzembe helyezés befejeződött" jelentést jelenti. Válassza az "Erőforrás megnyitása" lehetőséget a következő lépésekhez:

Az Azure Storage létrehozása befejeződött

Blob Storage létrehozása

Ezután két blobtárolóra van szükségünk, egyet a bemenethez, egyet pedig a kimenethez.

  1. A "Go to resource" (Erőforrás megnyitása) gombra kattintva megnyithat egy lapot, amelyen a bal oldalon egy listamenü található. A "Blob szolgáltatás" kategória alatti listában válassza a "Tárolók" lehetőséget:

Azure – Tárolók hozzáadása

  1. Nyomja le a "+ Tároló" gombot a bemeneti blobtároló létrehozásához. Létrehozásakor használja az alábbi beállításokat:
  • Name = arrinput
  • Nyilvános hozzáférési szint = Privát
  1. A tároló létrehozása után válassza ismét a + Tároló lehetőséget, és ismételje meg a következő beállításokkal a kimeneti tárolóban:
  • Name = arroutput
  • Nyilvános hozzáférési szint = Privát

Most két Blob Storage-tárolóval kell rendelkeznie:

Blob Storage beállítása

Az átalakítás futtatása

A modellkonverzió három különböző módon indítható el:

1. Átalakítás az ARRT eszközzel

Van egy ARRT nevű UI-alapú eszköz a konverziók elindításához és a renderelt eredményekkel való interakcióhoz. Az ARRT

2. Konvertálás PowerShell-szkripttel

Az eszközkonvertálási szolgáltatás meghívásának megkönnyítése érdekében egy segédprogramszkriptet biztosítunk. A Szkriptek mappában található, és a neveConversion.ps1.

Különösen ez a szkript

  • feltölti az adott könyvtárban lévő összes fájlt a helyi lemezről a bemeneti tárolóba,
  • meghívja az eszközkonvertálási REST API-t
    • ez az api lekéri az adatokat a bemeneti tárolóból, elindít egy konverziót, és visszaad egy konverziós azonosítót,
  • lekérdezi a konvertálási állapot API-t a lekért konverziós azonosítóval, amíg a konvertálási folyamat sikeres vagy sikertelen le nem fejeződik,
  • lekéri a konvertált objektumra mutató hivatkozást a kimeneti tárolóban.

A szkript beolvassa a konfigurációját a Scripts\arrconfig.json fájlból. Nyissa meg a JSON-fájlt egy szövegszerkesztőben.

{
    "accountSettings": {
        "arrAccountId": "8*******-****-****-****-*********d7e",
        "arrAccountKey": "R***************************************l04=",
        "arrAccountDomain": "<select from available regions: australiaeast, eastus, eastus2, japaneast, northeurope, southcentralus, southeastasia, uksouth, westeurope, westus2 or specify the full url>"
    },
    "renderingSessionSettings": {
        "remoteRenderingDomain": "<select from available regions: australiaeast, eastus, eastus2, japaneast, northeurope, southcentralus, southeastasia, uksouth, westeurope, westus2 or specify the full url>"
    },
    "assetConversionSettings": {
        "localAssetDirectoryPath": "D:\\tmp\\robot",
        "resourceGroup": "ARR_Tutorial",
        "storageAccountName": "arrexamplestorage",
        "blobInputContainerName": "arrinput",
        "inputFolderPath": "robotConversion",
        "inputAssetPath": "robot.fbx",
        "blobOutputContainerName": "arroutput",
        "outputFolderPath":"converted/robot",
        "outputAssetFileName": "robot.arrAsset"
    }
}

Az accountSettings csoport konfigurációját (fiókazonosító, kulcs és tartomány) a Modell renderelése Unityvel rövid útmutatóban szereplő hitelesítő adatokkal azonos módon kell kitölteni.

A renderingSessionSettings csoport (tartomány, vmSize és maxLeaseTime) teljes konfigurációja megtekinthető a PowerShell-példaszkriptekben. A vmSize és a maxLeaseTime nem fontos az átalakításhoz, és kihagyható, mivel nem befolyásolják az átalakítást.

Az assetConversionSettings csoporton belül mindenképpen módosítsa a resourceGroup, a blobInputContainerName és a blobOutputContainerName erőforráscsoportot. Az arrtutorialstorage értékét a tárfiók létrehozásakor kiválasztott egyedi névre kell cserélni.

Módosítsa a localAssetDirectoryPath értéket úgy, hogy a lemez könyvtárára mutasson, amely tartalmazza a konvertálni kívánt modellt. Ügyeljen arra, hogy megfelelően elkerülje a fordított perjeleket ("\") az elérési úton dupla fordított perjelek ("\\") használatával.

A szolgáltatás feltölti a localAssetDirectoryPathban megadott elérési út összes adatát a blobInputContainerName blobtárolóba az inputFolderPath által megadott alútvonal alatt. A példakonfigurációval a szolgáltatás feltölti a "D:\tmp\robot" könyvtár tartalmát az "arrtutorialstorage" tárfiók "arrinput" blobtárolójába a "robotConversion" elérési út alatt. A már meglévő fájlok felülíródnak.

Módosítsa az inputAssetPath értéket a konvertálni kívánt modell elérési útjára – az elérési út a localAssetDirectoryPathhoz képest van. Az "\" helyett használja az "/" értéket az elérési út elválasztójaként. Tehát a "robot.fbx" fájl esetében, amely közvetlenül a "D:\tmp\robot" fájlban található, használja a "robot.fbx" fájlt.

A modell konvertálása után a rendszer visszaírja a blobOutputContainerName által megadott tárolóba. A választható outputFolderPath megadásával megadható egy alútvonal. A példában a szolgáltatás az eredményül kapott "robot.arrAsset" értéket átmásolja a kimeneti blobtárolóba a "konvertált/robot" alatt.

Az outputAssetFileName konfigurációs beállítás határozza meg az átalakított objektum nevét – a paraméter nem kötelező, és ha nincs megadva, a szolgáltatás a bemeneti fájlnevet használja a kimeneti név létrehozásához.

Nyisson meg egy PowerShellt, és győződjön meg arról, hogy az előfeltételek között említett módon telepítette a Azure PowerShell. Ezután jelentkezzen be az előfizetésébe a következő paranccsal, és kövesse a képernyőn megjelenő utasításokat:

Connect-AzAccount

Megjegyzés

Ha a szervezet több előfizetéssel rendelkezik, előfordulhat, hogy meg kell adnia a SubscriptionId és a Tenant argumentumot. A részleteket a Connect-AzAccount dokumentációjában találja.

Váltson a azure-remote-rendering\Scripts könyvtárra, és futtassa a konvertálási szkriptet:

.\Conversion.ps1 -UseContainerSas

Ehhez hasonlót kell látnia: Conversion.ps1

3. Átalakítás API-hívásokon keresztül

A C# és a C++ API egyaránt belépési pontot biztosít a szolgáltatással való interakcióhoz:

Új modell beszúrása a rövid útmutató mintaalkalmazásába

A konvertálási szkript létrehoz egy közös hozzáférésű jogosultságkód (SAS) URI-t a konvertált modellhez. Ezt az URI-t mostantól modellnévként is átmásolhatja a rövid útmutató mintaalkalmazásába (lásd : Rövid útmutató: Modell renderelése a Unityvel).

Modell cseréje a Unityben

A mintának most be kell töltenie és renderelnie kell az egyéni modellt!

Nem kötelező: SAS URI újbóli létrehozása

A konvertálási szkript által létrehozott SAS URI 24 óra elteltével lejár. A lejárat után azonban nem kell újra átalakítania a modellt. Ehelyett létrehozhat egy új SAS-t a portálon a következő lépésekben leírtak szerint:

  1. Jelentkezzen be az Azure Portalra.
  2. Válassza ki a Storage-fiók erőforrását:

Képernyőkép a kiválasztott Tárfiók-erőforrásról.

  1. A következő képernyőn válassza a Bal oldali panelEn a Storage Explorer lehetőséget, és keresse meg a kimeneti modellt (.arrAsset fájlt) az arroutput blobtárolóban. Kattintson a jobb gombbal a fájlra, és válassza a helyi menü Közös hozzáférésű jogosultságkód lekérése elemét:

    Aláírás-hozzáférés

  2. Ekkor megnyílik egy új képernyő, amelyen kiválaszthatja a lejárati dátumot. Nyomja le a Létrehozás gombot, és másolja ki a következő párbeszédpanelen megjelenő URI-t. Ez az új URI lecseréli a szkript által létrehozott ideiglenes URI-t.

Következő lépések

Most, hogy ismeri az alapokat, tekintse meg oktatóanyagainkat, hogy részletesebb ismereteket szerezzen.

Ha meg szeretné ismerni a modellkonvertálás részleteit, tekintse meg a modellkonvertálás REST API-ját.