Bagikan melalui


Mulai cepat: Mengonversi model untuk penyajian

Di Mulai cepat: Render model dengan Unity, Anda mempelajari cara menggunakan proyek sampel Unity untuk merender model bawaan.

Panduan ini menunjukkan cara mengonversi model Anda sendiri, dengan mengikuti langkah-langkah berikut:

  • Menyiapkan akun penyimpanan blob Azure untuk input dan output
  • Mengunggah dan mengonversi model 3D untuk digunakan dengan Azure Remote Rendering
  • Menyertakan model 3D yang dikonversi dalam aplikasi untuk penyajian

Prasyarat

Gambaran Umum

Perender di server tidak dapat bekerja langsung dengan format model sumber seperti FBX atau GLTF. Sebagai gantinya, dibutuhkan model dengan format biner berpemilik. Layanan konversi menggunakan model dari penyimpanan blob Azure dan menulis model yang dikonversi kembali ke kontainer penyimpanan blob Azure yang disediakan.

Anda memerlukan:

  • Langganan Azure
  • Akun 'StorageV2' di langganan Anda
  • Kontainer penyimpanan blob untuk model input Anda
  • Kontainer penyimpanan blob untuk model output Anda
  • Model untuk dikonversi, lihat contoh model
    • Lihat daftar format sumber yang didukung
    • Untuk menggunakan contoh skrip konversi, pastikan Anda menyiapkan folder input yang berisi model dan semua dependensi eksternal (seperti tekstur eksternal atau geometri)

Azure Setup

Jika Anda belum memiliki akun, buka Mulai menggunakan Azure, pilih opsi akun gratis, dan ikuti instruksinya.

Setelah Anda memiliki akun Azure, masuk ke portal Azure.

Pembuatan akun penyimpanan

Untuk membuat penyimpanan blob, Anda memerlukan akun penyimpanan terlebih dahulu.

  1. Untuk membuatnya, pilih "Buat sumber daya":

Azure - tambahkan sumber daya

  1. Dari layar baru, pilih Penyimpanan di sisi kiri lalu Akun penyimpanan - blob, file, tabel, antrean dari kolom berikutnya:

Azure - tambahkan penyimpanan

  1. Mengklik tombol ini memunculkan layar berikut dengan properti penyimpanan untuk mengisi:

Azure Setup

  1. Isi formulir dengan cara berikut:
  • Buat Grup Sumber Daya baru dari tautan di bawah kotak drop-down dan beri nama ARR_Tutorial
  • Untuk Nama akun penyimpanan, masukkan nama unik di sini. Nama ini harus unik secara global. Pesan kesalahan ditampilkan jika nama sudah diambil. Dalam lingkup panduan mulai cepat ini, kami menamainya arrtutorialstorage. Oleh karena itu, Anda perlu menggantinya dengan nama Anda untuk setiap kejadian dalam mulai cepat ini.
  • Pilih Wilayah yang dekat dengan Anda. Idealnya gunakan wilayah yang sama seperti yang digunakan untuk menyiapkan penyajian di mulai cepat lainnya.
  • Performa diatur ke 'Premium'. 'Standar' juga berfungsi, tetapi memiliki karakteristik waktu pemuatan yang lebih rendah saat memuat model.
  • Jenis akun premium diatur ke 'Blokir blob'
  • Redundansi diatur ke 'Penyimpanan zona-redundan (ZRS)'
  1. Tidak ada properti di tab lain yang harus diubah, sehingga Anda dapat membuka "Tinjau + buat" , lalu ikuti langkah-langkahnya untuk menyelesaikan penyetelan.

  2. Situs web sekarang memberi tahu Anda tentang kemajuan penyebaran Anda dan melaporkan "Penyebaran Anda selesai" pada akhirnya. Pilih "Buka sumber daya" untuk langkah berikutnya:

Pembuatan Azure Storage selesai

Pembuatan penyimpanan blob

Selanjutnya, kita perlu dua kontainer blob, satu untuk input dan satu untuk output.

  1. Dari tombol "Buka sumber daya" , Anda masuk ke halaman dengan panel di sebelah kiri yang berisi menu daftar. Dalam daftar tersebut di bawah kategori "Blob service" , pilih "Kontainer":

Azure - tambahkan Kontainer

  1. Tekan tombol "+ Container" untuk membuat kontainer penyimpanan blob input. Gunakan pengaturan berikut saat membuatnya:
  • Nama = arrinput
  • Tingkat akses publik = Privat
  1. Setelah kontainer dibuat, pilih + Kontainer lagi dan ulangi dengan pengaturan ini untuk kontainer output :
  • Nama = arroutput
  • Tingkat akses publik = Privat

Anda sekarang memiliki dua kontainer penyimpanan blob:

Penyetelan Penyimpanan Blob

Jalankan konversi

Ada tiga cara berbeda untuk memicu konversi model:

1. Konversi melalui alat ARRT

Ada alat berbasis UI yang disebut ARRT untuk memulai konversi dan berinteraksi dengan hasil yang dirender.

2. Konversi melalui skrip PowerShell

Untuk mempermudah panggilan layanan konversi aset, kami menyediakan skrip utilitas. Ini terletak di folder Skrip dan disebut Conversion.ps1.

Secara khusus, skrip ini

  • mengunggah semua file dalam direktori tertentu dari disk lokal ke kontainer penyimpanan input,
  • memanggil REST API konversi aset
    • api ini mengambil data dari kontainer penyimpanan input, memulai konversi dan mengembalikan ID konversi,
  • polling API status konversi dengan ID konversi yang diambil hingga proses konversi berakhir dengan keberhasilan atau kegagalan,
  • mengambil tautan ke aset yang dikonversi dalam penyimpanan output.

Skrip membaca konfigurasinya dari file Scripts\arrconfig.json. Buka file JSON itu di editor teks.

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

Konfigurasi dalam grup accountSettings (ID akun, kunci, dan domain) harus diisi analog dengan kredensial di mulai cepat Merender model dengan Unity.

Konfigurasi lengkap grup renderingSessionSettings (domain, vmSize, dan maxLeaseTime) dapat dilihat di skrip Contoh PowerShell. vmSize dan maxLeaseTime tidak penting untuk konversi dan dapat dihilangkan, karena tidak memengaruhi konversi.

Di dalam grup assetConversionSettings , pastikan untuk mengubah resourceGroup, blobInputContainerName, dan blobOutputContainerName. Nilai untuk arrtutorialstorage perlu diganti dengan nama unik yang Anda pilih selama pembuatan akun penyimpanan.

Ubah localAssetDirectoryPath untuk mengarahkan ke direktori pada disk Anda, yang berisi model yang ingin Anda konversi. Berhati-hatilah untuk menghindari garis miring terbalik dengan benar ("\") di jalur menggunakan garis miring terbalik ganda ("\\").

Layanan mengunggah semua data dari jalur yang diberikan di localAssetDirectoryPath ke kontainer blob BlobInputContainerName di bawah subpath yang diberikan oleh inputFolderPath. Dengan konfigurasi contoh, layanan mengunggah konten direktori "D:\tmp\robot" ke kontainer blob "arrinput" akun penyimpanan "arrtutorialstorage" di bawah jalur "robotConversion". File yang sudah ada ditimpa.

Ubah inputAssetPath ke jalur model yang akan dikonversi - jalur relatif terhadap localAssetDirectoryPath. Gunakan "/" alih-alih "\" sebagai pemisah jalur. Jadi untuk file "robot.fbx", yang terletak langsung di "D:\tmp\robot", gunakan "robot.fbx".

Setelah model dikonversi, model ditulis kembali ke kontainer penyimpanan yang diberikan oleh blobOutputContainerName. Subjalur dapat ditentukan dengan menyediakan outputFolderPath opsional. Dalam contoh, layanan menyalin "robot.arrAsset" yang dihasilkan ke kontainer blob output di bawah "konversi/robot".

Pengaturan konfigurasi outputAssetFileName menentukan nama aset yang dikonversi - parameter bersifat opsional dan jika tidak ditentukan, layanan menggunakan nama file input untuk menghasilkan nama output.

Buka PowerShell, pastikan Anda telah memasang Azure PowerShell seperti yang disebutkan dalam prasyarat. Lalu, masuk ke langganan Anda dengan perintah berikut dan ikuti petunjuk di layar:

Connect-AzAccount

Catatan

Jika organisasi Anda memiliki lebih dari satu langganan, Anda mungkin perlu menentukan argumen SubscriptionId dan Tenant. Temukan detailnya dalam dokumentasi Connect-AzAccount.

Ubah ke direktori azure-remote-rendering\Scripts dan jalankan skrip konversi:

.\Conversion.ps1 -UseContainerSas

Anda akan melihat sesuatu seperti ini: Conversion.ps1

3. Konversi melalui panggilan API

API C# dan C++ menyediakan titik masuk untuk berinteraksi dengan layanan:

Menyisipkan model baru ke dalam Aplikasi Sampel Mulai Cepat

Skrip konversi menghasilkan URI Tanda Tangan Akses Bersama (SAS) untuk model yang dikonversi. Sekarang Anda dapat menyalin URI ini sebagai Nama Model ke dalam aplikasi sampel mulai cepat (lihat Mulai cepat: Merender model dengan Unity).

Ganti model di Unity

Sampel sekarang harus memuat dan merender model kustom Anda!

Opsional: Membuat ulang SAS URI

URI SAS yang dibuat oleh skrip konversi kedaluwarsa setelah 24 jam. Namun, setelah kedaluwarsa, Anda tidak perlu mengonversi model lagi. Sebagai gantinya, Anda dapat membuat SAS baru di portal seperti yang dijelaskan di langkah berikut:

  1. Masuk ke portal Microsoft Azure.
  2. Pilih sumber daya akun Penyimpanan Anda:

Cuplikan layar yang menyoroti sumber daya akun Penyimpanan yang dipilih.

  1. Di layar berikut, Pilih Penjelajah penyimpanan di panel kiri dan temukan model output Anda (file.arrAsset ) di kontainer penyimpanan blob arroutput . Klik kanan pada file dan pilih Dapatkan Tanda Tangan Akses Bersama dari menu konteks:

    Akses Tanda Tangan

  2. Layar baru terbuka di mana Anda dapat memilih tanggal kedaluwarsa. Tekan Buat, dan salin URI yang diperlihatkan dalam dialog berikutnya. URI baru ini menggantikan URI sementara yang dibuat skrip.

Langkah berikutnya

Setelah mengetahui dasar-dasarnya, lihat tutorial kami untuk mendapatkan pengetahuan yang lebih mendalam.

Jika Anda ingin mempelajari perincian konversi model, lihat REST API konversi model.