Snabbstart: Konvertera en modell för rendering

I snabbstart: Rendera en modell med Unity lärde du dig att använda Unity-exempelprojektet för att återge en inbyggd modell.

Den här guiden visar hur du konverterar dina egna modeller, vilket innebär följande steg:

  • Konfigurera ett Azure Blob Storage-konto för indata och utdata
  • Ladda upp och konvertera en 3D-modell för användning med Azure Remote Rendering
  • Inkludera den konverterade 3D-modellen i ett program för återgivning

Förutsättningar

Översikt

Renderaren på servern kan inte fungera direkt med källmodellformat som FBX eller GLTF. I stället kräver det att modellen har ett egenutvecklat binärt format. Konverteringstjänsten använder modeller från Azure Blob Storage och skriver konverterade modeller tillbaka till en angiven Azure Blob Storage-container.

Du behöver:

  • En Azure-prenumeration
  • Ett StorageV2-konto i din prenumeration
  • En bloblagringscontainer för din indatamodell
  • En bloblagringscontainer för dina utdata
  • En modell som ska konverteras finns i exempelmodeller
    • Se listan över källformat som stöds
    • Om du vill använda exempelkonverteringsskriptet måste du förbereda en indatamapp som innehåller modellen och alla externa beroenden (t.ex. externa texturer eller geometri)

Azure-konfiguration

Om du inte har något konto ännu går du till Kom igång med Azure, väljer alternativet kostnadsfritt konto och följer anvisningarna.

När du har ett Azure-konto loggar du in på Azure Portal.

Skapa lagringskonto

För att skapa bloblagring behöver du först ett lagringskonto.

  1. Om du vill skapa en väljer du "Skapa en resurs":

Azure – lägg till resurs

  1. På den nya skärmen väljer du Lagring till vänster och sedan Lagringskonto – blob, fil, tabell, kö från nästa kolumn:

Azure – lägga till lagring

  1. Om du klickar på den här knappen visas följande skärm med lagringsegenskaper att fylla i:

Azure-installation

  1. Fyll i formuläret på följande sätt:
  • Skapa en ny resursgrupp från länken nedanför listrutan och namnge den här ARR_Tutorial
  • Ange ett unikt namn här som lagringskontonamn. Det här namnet måste vara globalt unikt. Ett felmeddelande visas om namnet redan har tagits. I den här snabbstarten ger vi den namnet arrtutorialstorage. Därför måste du ersätta det med ditt namn för alla förekomster i den här snabbstarten.
  • Välj en region nära dig. Använd helst samma region som används för att konfigurera återgivningen i den andra snabbstarten.
  • Prestanda inställd på "Premium". "Standard" fungerar också, men har lägre egenskaper för inläsningstid vid inläsning av en modell.
  • Premium-kontotyp inställd på "Blockblobar"
  • Redundans inställd på "Zonredundant lagring (ZRS)"
  1. Ingen av egenskaperna på andra flikar behöver ändras, så du kan fortsätta med "Granska + skapa" och sedan följa stegen för att slutföra installationen.

  2. Webbplatsen informerar dig nu om förloppet för distributionen och rapporterar "Distributionen är klar" så småningom. Välj "Gå till resurs" för nästa steg:

Skapandet av Azure Storage har slutförts

Skapa bloblagring

Därefter behöver vi två blobcontainrar, en för indata och en för utdata.

  1. Från knappen "Gå till resurs" kommer du till en sida med en panel till vänster som innehåller en listmeny. I listan under kategorin "Blob service" väljer du "Containers":

Azure – lägga till containrar

  1. Tryck på knappen "+ Container" för att skapa indatabloblagringscontainern. Använd följande inställningar när du skapar den:
  • Namn = arrinput
  • Offentlig åtkomstnivå = Privat
  1. När containern har skapats väljer du + Container igen och upprepar med de här inställningarna för utdatacontainern :
  • Namn = arroutput
  • Offentlig åtkomstnivå = Privat

Nu bör du ha två bloblagringscontainrar:

Konfiguration av Blob Storage

Kör konverteringen

Det finns tre olika sätt att utlösa en modellkonvertering:

1. Konvertering via ARRT-verktyget

Det finns ett gränssnittsbaserat verktyg som heter ARRT för att starta konverteringar och interagera med det renderade resultatet. SKÄRMBILD AV ARRT

2. Konvertering via ett PowerShell-skript

För att göra det enklare att anropa tillgångskonverteringstjänsten tillhandahåller vi ett verktygsskript. Den finns i mappen Skript och kallas Conversion.ps1.

I synnerhet det här skriptet

  • laddar upp alla filer i en viss katalog från en lokal disk till indatalagringscontainern,
  • anropar REST API:et för tillgångskonvertering
    • det här API:et hämtar data från indatalagringscontainern, startar en konvertering och returnerar ett konverterings-ID,
  • avsöker api:et för konverteringsstatus med det hämtade konverterings-ID:t tills konverteringsprocessen avslutas med framgång eller fel.
  • hämtar en länk till den konverterade tillgången i utdatalagringen.

Skriptet läser dess konfiguration från filen Scripts\arrconfig.json. Öppna JSON-filen i en textredigerare.

{
    "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"
    }
}

Konfigurationen i gruppen accountSettings (konto-ID, nyckel och domän) bör fyllas i i motsvarande autentiseringsuppgifter i snabbstarten Rendera en modell med Unity.

En fullständig konfiguration av gruppen renderingSessionSettings (domän, vmSize och maxLeaseTime) visas i PowerShell-exempelskript. VmSize och maxLeaseTime är inte viktiga för konvertering och kan utelämnas eftersom de inte påverkar konverteringen.

I gruppen assetConversionSettings måste du ändra resourceGroup, blobInputContainerName och blobOutputContainerName. Värdet för arrtutorialstorage måste ersättas med det unika namn som du valde när lagringskontot skapades.

Ändra localAssetDirectoryPath så att den pekar på katalogen på disken, som innehåller den modell som du vill konvertera. Var noga med att ta bort omvända snedstreck ("\") i sökvägen med dubbla omvänt snedstreck ("\\").

Tjänsten laddar upp alla data från sökvägen som anges i localAssetDirectoryPath till blobInputContainerName-blobcontainern under en undersökväg som anges av inputFolderPath. Med exempelkonfigurationen laddar tjänsten upp innehållet i katalogen "D:\tmp\robot" till blobcontainern "arrinput" för lagringskontot "arrtutorialstorage" under sökvägen "robotConversion". Redan befintliga filer skrivs över.

Ändra inputAssetPath till sökvägen till modellen som ska konverteras – sökvägen är relativ till localAssetDirectoryPath. Använd "/" i stället för "\" som sökvägsavgränsare. Så för en "robot.fbx"-fil, som finns direkt i "D:\tmp\robot", använder du "robot.fbx".

När modellen har konverterats skrivs den tillbaka till lagringscontainern som anges av blobOutputContainerName. En undersökväg kan anges genom att ange den valfria outputFolderPath. I exemplet kopierar tjänsten den resulterande "robot.arrAsset" till utdatablobcontainern under "konverterad/robot".

Konfigurationsinställningen outputAssetFileName bestämmer namnet på den konverterade tillgången – parametern är valfri och om den inte anges använder tjänsten indatafilens namn för att generera ett utdatanamn.

Öppna en PowerShell och se till att du har installerat Azure PowerShell enligt kraven. Logga sedan in på din prenumeration med följande kommando och följ anvisningarna på skärmen:

Connect-AzAccount

Anteckning

Om din organisation har fler än en prenumeration kan du behöva ange argumenten SubscriptionId och Tenant. Hitta information i dokumentationen för Connect-AzAccount.

Ändra till azure-remote-rendering\Scripts katalogen och kör konverteringsskriptet:

.\Conversion.ps1 -UseContainerSas

Du bör se något liknande: Conversion.ps1

3. Konvertering via API-anrop

Både C# och C++-API:et tillhandahåller en startpunkt för att interagera med tjänsten:

Infoga ny modell i snabbstartsexempelappen

Konverteringsskriptet genererar en SAS-URI (Signatur för delad åtkomst) för den konverterade modellen. Du kan nu kopiera den här URI:n som modellnamn till snabbstartsexempelappen (se Snabbstart: Rendera en modell med Unity).

Ersätt modell i Unity

Exemplet bör nu läsa in och återge din anpassade modell!

Valfritt: Återskapa en SAS-URI

SAS-URI:n som skapades av konverteringsskriptet upphör att gälla efter 24 timmar. Men när den har upphört att gälla behöver du inte konvertera modellen igen. I stället kan du skapa en ny SAS i portalen enligt beskrivningen i nästa steg:

  1. Logga in på Azure-portalen.
  2. Välj din lagringskontoresurs :

Skärmbild som markerar den valda lagringskontoresursen.

  1. På följande skärm väljer du Lagringsutforskaren på den vänstra panelen och letar upp utdatamodellen (.arrAsset-filen ) i bloblagringscontainern för arroutput . Högerklicka på filen och välj Hämta signatur för delad åtkomst på snabbmenyn:

    Signaturåtkomst

  2. En ny skärm öppnas där du kan välja ett förfallodatum. Tryck på Skapa och kopiera den URI som visas i nästa dialogruta. Den här nya URI:n ersätter den tillfälliga URI som skriptet skapade.

Nästa steg

Nu när du känner till grunderna kan du ta en titt på våra självstudier för att få mer djupgående kunskap.

Om du vill lära dig mer om modellkonvertering kan du läsa REST-API:et för modellkonvertering.