Hızlı başlangıç: Modeli işlenmek üzere dönüştürme

Hızlı Başlangıç: Unity ile model işleme bölümünde, yerleşik bir modeli işlemek için Unity örnek projesini kullanmayı öğrendiniz.

Bu kılavuzda, aşağıdaki adımları izleyerek kendi modellerinizi nasıl dönüştüreceğiniz gösterilmektedir:

  • Giriş ve çıkış için Azure blob depolama hesabı ayarlama
  • Azure Remote Rendering ile kullanmak üzere bir 3B modeli karşıya yükleme ve dönüştürme
  • Dönüştürülen 3B modeli işleme için bir uygulamaya ekleme

Önkoşullar

Genel Bakış

Sunucudaki işleyici FBX veya GLTF gibi kaynak model biçimleriyle doğrudan çalışamaz. Bunun yerine modelin özel ikili biçimde olmasını gerektirir. Dönüştürme hizmeti, Azure blob depolamadaki modelleri kullanır ve dönüştürülmüş modelleri sağlanan bir Azure blob depolama kapsayıcısına geri yazar.

Gerekenler:

  • Bir Azure aboneliği
  • Aboneliğinizde bir 'StorageV2' hesabı
  • Giriş modeliniz için blob depolama kapsayıcısı
  • Çıkış verileriniz için blob depolama kapsayıcısı
  • Dönüştürülecek bir model, bkz . örnek modeller
    • Desteklenen kaynak biçimlerinin listesine bakın
    • Örnek dönüştürme betiğini kullanmak için modeli ve tüm dış bağımlılıkları (dış dokular veya geometri gibi) içeren bir giriş klasörü hazırladığınızdan emin olun

Azure kurulumu

Henüz bir hesabınız yoksa Azure'ı kullanmaya başlayın'a gidin, ücretsiz hesap seçeneğini belirleyin ve yönergeleri izleyin.

Azure hesabınız olduğunda Azure portal oturum açın.

Depolama hesabı oluşturma

Blob depolama oluşturmak için önce bir depolama hesabına ihtiyacınız vardır.

  1. Oluşturmak için "Kaynak oluştur" seçeneğini belirleyin:

Azure - kaynak ekleme

  1. Yeni ekrandan sol taraftaki Depolama'yı ve ardından sonraki sütundan Depolama hesabı - blob, dosya, tablo, kuyruk'u seçin:

Azure - depolama alanı ekleme

  1. Bu düğmeye tıklanması, doldurulacak depolama özellikleriyle birlikte aşağıdaki ekranı açar:

Azure Kurulumu

  1. Formu aşağıdaki şekilde doldurun:
  • Açılan kutunun altındaki bağlantıdan yeni bir Kaynak Grubu oluşturun ve bu ARR_Tutorial
  • Depolama hesabı adı için buraya benzersiz bir ad girin. Bu ad genel olarak benzersiz olmalıdır. Ad zaten alınmışsa bir hata iletisi gösterilir. Bu hızlı başlangıcın kapsamında arrtutorialstorage olarak adlandıracağız. Buna uygun olarak, bu hızlı başlangıçtaki herhangi bir durum için adınızla değiştirmeniz gerekir.
  • Size yakın bir Bölge seçin. İdeal olarak, diğer hızlı başlangıçta işlemeyi ayarlamak için kullanılan bölgeyle aynı bölgeyi kullanın.
  • Performans 'Premium' olarak ayarlandı. 'Standart' da çalışır, ancak bir modeli yüklerken daha düşük yükleme süresi özelliklerine sahiptir.
  • Premium hesap türü 'Blobları engelle' olarak ayarlandı
  • Yedeklilik 'Alanlar arası yedekli depolama (ZRS)' olarak ayarlandı
  1. Diğer sekmelerdeki özelliklerin hiçbirinin değiştirilmesi gerekmez, bu nedenle "Gözden geçir + oluştur" ile devam edebilir ve ardından kurulumu tamamlamak için adımları izleyebilirsiniz.

  2. Web sitesi artık dağıtımınızın ilerleme durumu hakkında sizi bilgilendirir ve sonunda "Dağıtımınız tamamlandı" sözlerini bildirir. Sonraki adımlar için "Kaynağa git" seçeneğini belirleyin:

Azure Depolama oluşturma tamamlandı

Blob depolama oluşturma

Ardından biri giriş, diğeri çıkış için iki blob kapsayıcısı gerekir.

  1. "Kaynağa git" düğmesinden, sol tarafta liste menüsü içeren bir panelin bulunduğu bir sayfaya gidersiniz. "Blob hizmeti" kategorisinin altındaki listede "Kapsayıcılar" öğesini seçin:

Azure - Kapsayıcı ekleme

  1. Giriş blob depolama kapsayıcısını oluşturmak için "+ Kapsayıcı" düğmesine basın. Oluştururken aşağıdaki ayarları kullanın:
  • Ad = arrinput
  • Genel erişim düzeyi = Özel
  1. Kapsayıcı oluşturulduktan sonra + Kapsayıcı'yı yeniden seçin ve çıkış kapsayıcısı için şu ayarlarla işlemi yineleyin:
  • Ad = arroutput
  • Genel erişim düzeyi = Özel

Şimdi iki blob depolama kapsayıcınız olmalıdır:

Blob Depolama Kurulumu

Dönüştürmeyi çalıştırma

Model dönüştürmeyi tetiklemenin üç farklı yolu vardır:

1. ARRT aracı aracılığıyla dönüştürme

Dönüştürmeleri başlatmak ve işlenen sonuçla etkileşim kurmak için ARRT adlı ui tabanlı bir araç vardır. ARRT

2. PowerShell betiği aracılığıyla dönüştürme

Varlık dönüştürme hizmetini çağırmayı kolaylaştırmak için bir yardımcı program betiği sağlıyoruz. Betikler klasöründe bulunur ve Conversion.ps1olarak adlandırılır.

Özellikle bu betik

  • belirli bir dizindeki tüm dosyaları yerel diskten giriş depolama kapsayıcısına yükler,
  • varlık dönüştürme REST API'sini çağırır
    • bu api, giriş depolama kapsayıcısından verileri alır, bir dönüştürme başlatır ve bir dönüştürme kimliği döndürür,
  • dönüştürme işlemi başarılı veya başarısız olarak sonlandırılana kadar alınan dönüştürme kimliğiyle dönüştürme durumu API'sini yoklar,
  • çıkış depolama alanında dönüştürülen varlığa bir bağlantı alır.

Betik, Script\arrconfig.json dosyasından yapılandırmasını okur. Bu JSON dosyasını bir metin düzenleyicisinde açın.

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

accountSettings grubundaki yapılandırma (hesap kimliği, anahtar ve etki alanı) Unity ile model oluşturma hızlı başlangıcındaki kimlik bilgilerine benzer şekilde doldurulmalıdır.

RenderingSessionSettings grubunun (etki alanı, vmSize ve maxLeaseTime) tam yapılandırması PowerShell Örnek betiklerinde görülebilir. vmSize ve maxLeaseTime dönüştürme için önemli değildir ve dönüştürmeyi etkilemediğinden atlanabilir.

assetConversionSettings grubunun içinde resourceGroup, blobInputContainerName ve blobOutputContainerName değerlerini değiştirdiğinizden emin olun. arrtutorialstorage değerinin depolama hesabı oluşturma sırasında seçtiğiniz benzersiz adla değiştirilmesi gerekir.

localAssetDirectoryPath'i, dönüştürmek istediğiniz modeli içeren diskinizdeki dizine işaret eden şekilde değiştirin. Çift ters eğik çizgi ("\\") kullanarak yolda ters eğik çizgilerden ("\") doğru şekilde kaçış yapmaya dikkat edin.

Hizmet, localAssetDirectoryPath yolundaki tüm verileri inputFolderPath tarafından verilen bir alt yol altındaki blobInputContainerName blob kapsayıcısına yükler. Örnek yapılandırmayla, hizmet "D:\tmp\robot" dizininin içeriğini "robotConversion" yolundaki "arrtutorialstorage" depolama hesabının "arrinput" blob kapsayıcısına yükler. Zaten var olan dosyaların üzerine yazılır.

inputAssetPath'i dönüştürülecek modelin yoluyla değiştirin; yol localAssetDirectoryPath'e göredir. Yol ayırıcı olarak "\" yerine "/" kullanın. Bu nedenle, doğrudan "D:\tmp\robot" içinde bulunan bir "robot.fbx" dosyası için "robot.fbx" kullanın.

Model dönüştürüldükten sonra blobOutputContainerName tarafından verilen depolama kapsayıcısına geri yazılır. İsteğe bağlı outputFolderPath sağlanarak bir alt yol belirtilebilir. Örnekte hizmet, sonuçta elde edilen "robot.arrAsset" öğesini "converted/robot" altındaki çıkış blob kapsayıcısına kopyalar.

outputAssetFileName yapılandırma ayarı dönüştürülen varlığın adını belirler. Parametre isteğe bağlıdır ve belirtilmezse hizmet bir çıkış adı oluşturmak için giriş dosyası adını kullanır.

Bir PowerShell açın, önkoşullarda belirtildiği gibi Azure PowerShell yüklediğinizden emin olun. Ardından aşağıdaki komutla aboneliğinizde oturum açın ve ekrandaki yönergeleri izleyin:

Connect-AzAccount

Not

Kuruluşunuzun birden fazla aboneliği varsa SubscriptionId ve Kiracı bağımsız değişkenlerini belirtmeniz gerekebilir. Ayrıntıları Connect-AzAccount belgelerinde bulabilirsiniz.

dizinine azure-remote-rendering\Scripts geçin ve dönüştürme betiğini çalıştırın:

.\Conversion.ps1 -UseContainerSas

Şuna benzer bir şey görmeniz gerekir: Conversion.ps1

3. API çağrıları aracılığıyla dönüştürme

Hem C# hem de C++ API'si, hizmetle etkileşime geçmek için bir giriş noktası sağlar:

Hızlı Başlangıç Örnek Uygulamasına yeni model ekleme

Dönüştürme betiği, dönüştürülen model için bir Paylaşılan Erişim İmzası (SAS) URI'sini oluşturur. Artık bu URI'yi Model Adı olarak hızlı başlangıç örnek uygulamasına kopyalayabilirsiniz (bkz . Hızlı Başlangıç: Unity ile model işleme).

Unity'de modeli değiştirme

Örnek artık özel modelinizi yükleyip işlemelidir!

İsteğe bağlı: SAS URI'lerini yeniden oluşturma

Dönüştürme betiği tarafından oluşturulan SAS URI'sinin süresi 24 saat sonra dolar. Ancak süresi dolduktan sonra modelinizi yeniden dönüştürmeniz gerekmez. Bunun yerine, sonraki adımlarda açıklandığı gibi portalda yeni bir SAS oluşturabilirsiniz:

  1. Azure Portal oturum açın.
  2. Depolama hesabı kaynağınızı seçin:

Seçili Depolama hesabı kaynağını vurgulayan ekran görüntüsü.

  1. Aşağıdaki ekranda, sol panelde Depolama gezgini'ni seçin ve arroutput blob depolama kapsayıcısında çıkış modelinizi (.arrAsset dosyası) bulun. Dosyaya sağ tıklayın ve bağlam menüsünden Paylaşılan Erişim İmzası Al'ı seçin:

    İmza Erişimi

  2. Bir süre sonu tarihi seçebileceğiniz yeni bir ekran açılır. Oluştur'a basın ve sonraki iletişim kutusunda gösterilen URI'yi kopyalayın. Bu yeni URI, betiğin oluşturduğu geçici URI'nin yerini alır.

Sonraki adımlar

Temel bilgileri öğrendiğinize göre, daha ayrıntılı bilgi edinmek için öğreticilerimize göz atın.

Model dönüştürmenin ayrıntılarını öğrenmek istiyorsanız model dönüştürme REST API'sine göz atın.