Evde kullanmak için 3B modeller oluşturma

Windows Mixed Reality giriş sayfası, kullanıcıların uygulamaları başlatmadan önce indiği başlangıç noktasıdır. Uygulamanızı Windows Mixed Reality kulaklıklar için tasarlarken, uygulama başlatıcı olarak bir 3B model kullanın ve Windows Mixed Reality girişine 3B ayrıntılı bağlantılar yerleştirin. Bu makalede, Windows Mixed Reality giriş sayfasıyla uyumlu 3B modeller oluşturmaya yönelik yönergeler özetlenmiştir.

Varlık gereksinimlerine genel bakış

Windows Mixed Reality için 3B modeller oluştururken tüm varlıkların karşılaması gereken bazı gereksinimler vardır:

  1. Dışarı aktarma - Varlıklar .glb (ikili glTF), .obj veya .fbx dosya biçiminde teslim edilmelidir
  2. Modelleme - Varlıklar 10 bin üçgenden küçük olmalı, LOD başına en fazla 64 düğüm ve 32 alt çizgi içermelidir
  3. Malzemeler - Dokular 4096 x 4096'dan büyük olamaz ve en küçük mip haritası iki boyutta da 4'ten büyük olmamalıdır
  4. Animasyon - Animasyonlar 30 FPS'de (36.000 ana kare) 20 dakikadan uzun olamaz ve = 8192 dönüşüm hedef köşeleri içermelidir <
  5. İyileştirme - Varlıklar WindowsMRAssetConverter kullanılarak iyileştirilmelidir. Windows İşletim Sistemi Sürümleri <= 1709* için gereklidir ve Windows işletim sistemi sürümlerinde >= 1803 önerilir

Not

3B Görüntüleyici uygulaması farklı biçimleri ve çözünürlükleri destekler, ancak sonunda modelleri Karma Gerçeklik giriş sayfasında görüntülemeden önce .glb/glTF'ye dönüştürür.

Bu makalenin geri kalanında bu gereksinimlere ayrıntılı bir genel bakış ve modellerinizin Windows Mixed Reality giriş sayfasıyla iyi çalıştığından emin olmak için ek yönergeler yer alır.

Ayrıntılı kılavuz

Modelleri dışarı aktarma

Windows Mixed Reality giriş sayfası, 3B varlıkların eklenmiş görüntüler ve ikili veriler içeren .glb dosya biçimi kullanılarak teslim edilmesi beklenebilir. Glb, Khronos grubu tarafından tutulan 3B varlık teslimi için telifsiz bir açık standart olan glTF biçiminin ikili sürümüdür. glTF birlikte çalışabilir 3B içerik için bir endüstri standardı olarak geliştikçe, Microsoft'un Windows uygulamaları ve deneyimleri genelindeki biçimi desteklemesi de artacaktır. glTF çalışma grubu github sayfasında desteklenen dışarı aktarmaların ve dönüştürücülerin listesini bulmadan önce bir glTF varlığı oluşturmadıysanız.

Modelleme yönergeleri

Windows, Karma Gerçeklik ev deneyimiyle uyumluluğu sağlamak için varlıkların aşağıdaki modelleme yönergeleri kullanılarak oluşturulmasını bekler. Seçtiğiniz programda modelleme yaparken aşağıdaki önerileri ve sınırlamaları göz önünde bulundurun:

  1. Yukarı ekseni "Y" olarak ayarlanmalıdır.
  2. Varlık, pozitif Z eksenine doğru "ileri" ile karşılaşmalıdır.
  3. Tüm varlıklar sahnenin çıkış noktasındaki zemin düzleminde oluşturulmalıdır (0,0,0)
  4. Varlıkların dünya ölçeğinde yazılabilmesi için Çalışma Birimleri ölçümlere ve varlıklara ayarlanmalıdır
  5. Tüm kısa çizgilerin birleştirilmesi gerekmez, ancak kaynak kısıtlanmış cihazları hedefliyorsanız önerilir
  6. Tüm tireler tek bir malzemeyi paylaşmalıdır ve varlığın tamamı için yalnızca bir doku kümesi kullanılmalıdır
  7. UV'ler 0-1 alanda kare düzende yerleştirilmelidir. İzin verilse de dokuları döşemekten kaçının.
  8. Çoklu UV'ler desteklenmez
  9. Çift taraflı malzemeler desteklenmez

Üçgen sayıları ve ayrıntı düzeyleri (LOD)

Windows Mixed Reality home, 10.000'den fazla üçgene sahip modelleri desteklemez. Bu sayının aşılmadığından emin olmak için, dışarı aktarmadan önce tirelerinizi üçgene ayırmanız önerilir. Windows MR ayrıca yüksek performanslı ve yüksek kaliteli bir deneyim sağlamak için isteğe bağlı geometri ayrıntı düzeylerini (LOD) destekler. WindowsMRAssetConverter , modelinizin 3 sürümünü tek bir .glb modelinde birleştirmenize yardımcı olur. Windows, modelin kapladığı ekran emlak miktarına göre hangi LOD'un görüntüleneceğini belirler. Aşağıdaki önerilen üçgen sayılarıyla yalnızca 3 LOD düzeyi desteklenir:

LOD Düzeyi Önerilen Üçgen Sayısı En Fazla Üçgen Sayısı
LOD 0 10,000 10,000
LOD 1 5.000 10,000
LOD 2 2,500 10,000

Düğüm sayıları ve alt iş sınırları

Windows Mixed Reality giriş sayfası, LOD başına 64 düğüm veya 32'den fazla alt çizgi içeren modelleri desteklemez. Düğümler , glTF belirtiminde sahnedeki nesneleri tanımlayan bir kavramdır. Alt çizgiler, nesnedeki ağ üzerindeki ilkel öğeler dizisinde tanımlanır.

Özellik Açıklama Desteklenen En Fazla Belgeler
Düğümler glTF Sahnesindeki Nesneler LOD başına 64 Burada
Alt Çizgiler Tüm tirelerdeki ilkellerin toplamı LOD başına 32 Burada

Malzeme yönergeleri

Dokular PBR metal pürüzlülük iş akışı kullanılarak hazırlanmalıdır. Albedo, Normal, Oklusion, Metalik ve Pürüzlülük gibi tam bir doku kümesi oluşturarak başlayın. Windows Mixed Reality, 4096x4096'ya kadar çözünürlüğe sahip dokuları destekler, ancak 512x512'de yazmanız önerilir. Dokular 4'ün katlarında çözünürlükte yazılmalıdır. Bu, aşağıda özetlenen dışarı aktarma adımlarında dokulara uygulanan sıkıştırma biçimi için bir gereksinimdir. Mip eşlemeleri veya doku oluştururken en düşük mip en fazla 4x4 olmalıdır.

Önerilen Doku Boyutu En Büyük Doku Boyutu En Düşük Mip
512x512 4096x4096 maksimum 4x4

Albedo (temel renk) haritası

Aydınlatma bilgisi olmayan ham renk. Bu harita ayrıca sırasıyla metal (metalik haritadaki beyaz) ve yalıtıcı (metalik haritada siyah) yüzeyler için yansıtıcı ve dağınık bilgileri içerir.

Normal

Tanjant Alanı Normal eşlemesi

Pürüzlülük haritası

Nesnenin mikro yüzünü açıklar. Beyaz 1.0 kaba siyah 0.0 pürüzsüzdür. Bu harita, varlığın yüzeyini tam olarak tanımladığı gibi en fazla karakteri verir. Örneğin, çizikler, parmak izleri, lekeler, kir vb.

Ortam tıkanıklık haritası

Yansımaları engelleyen kapalı ışık alanlarını gösteren değer ölçek haritası

Metalik harita

Bir şeyin metal olup olmadığını gölgelendiriciye bildirir. Ham Metal = 1,0 beyaz Metal olmayan = 0,0 siyah. Kir gibi ham metali kapsayan bir şeyi gösteren geçiş grisi değerleri olabilir, ancak genel olarak bu harita yalnızca siyah beyaz olmalıdır.

İyileştirmeler

Windows Mixed Reality home, özel uzantılar kullanılarak tanımlanan çekirdek glTF belirtimlerinin üzerinde bir dizi iyileştirme sunar. Bu iyileştirmeler Windows sürümleri <= 1709 için gereklidir ve daha yeni Windows sürümlerinde önerilir. GitHub'da bulunan Windows Mixed Reality Varlık Dönüştürücüsü'ni kullanarak tüm glTF 2.0 modellerini kolayca iyileştirebilirsiniz. Bu araç, aşağıda belirtilen doğru doku paketleme ve iyileştirme işlemlerini gerçekleştirir. Genel kullanım için WindowsMRAssetConverter'ı kullanmanızı öneririz, ancak deneyim üzerinde daha fazla denetime ihtiyacınız varsa ve kendi iyileştirme işlem hattınızı oluşturmak istiyorsanız aşağıdaki ayrıntılı belirtime başvurabilirsiniz.

Not

Tam model sınırları için olasılıkların kesin bir listesi için Dynamics 365 uygulamalarda kullanılmak üzere 3B model iyileştirme makalesine bakın.

Malzemeler

Karma Gerçeklik ortamlarda varlık yükleme süresini geliştirmek için Windows MR, bu bölümde tanımlanan doku paketleme şemasına göre paketlenmiş sıkıştırılmış DDS dokularının işlenmesini destekler. DDS dokularına MSFT_texture_dds uzantısı kullanılarak başvurulur. Dokuların sıkıştırılması kesinlikle önerilir.

HoloLens

HoloLens tabanlı karma gerçeklik deneyimleri, dokuların aşağıdaki paketleme belirtimi kullanılarak 2 dokulu bir kurulum kullanılarak paketlenmesini bekler:

glTF Özelliği Doku Ambalaj Şeması
pbrMetallicRoughness baseColorTexture Kırmızı (R), Yeşil (G), Mavi (B)
MSFT_packing_normalRoughnessMetallic normalRoughnessMetallicTexture Normal (RG), Pürüzlülük (B), Metalik (A)

DDS dokuları sıkıştırılırken her haritada aşağıdaki sıkıştırma beklenir:

Doku Beklenen Sıkıştırma
baseColorTexture, normalRoughnessMetallicTexture BC7

Çevreleyici (VR) kulaklıklar

Çevreleyici (VR) mikrofonlu kulaklıklar için bilgisayar tabanlı Windows Mixed Reality deneyimleri, dokuların aşağıdaki paketleme belirtimi kullanılarak 3 dokulu bir kurulum kullanılarak paketlenmelerini bekler:

Windows işletim sistemi >= 1803

glTF Özelliği Doku Ambalaj Şeması
pbrMetallicRoughness baseColorTexture Kırmızı (R), Yeşil (G), Mavi (B)
MSFT_packing_occlusionRoughnessMetallic occlusionRoughnessMetallicTexture Oklüzyon (R), Pürüzlülük (G), Metalik (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal (RG)

DDS dokuları sıkıştırılırken her haritada aşağıdaki sıkıştırma beklenir:

Doku Beklenen Sıkıştırma
normalTexture BC5
baseColorTexture, occlusionRoughnessMetallicTexture BC7
Windows işletim sistemi <= 1709

glTF Özelliği Doku Ambalaj Şeması
pbrMetallicRoughness baseColorTexture Kırmızı (R), Yeşil (G), Mavi (B)
MSFT_packing_occlusionRoughnessMetallic roughnessMetallicOcclusionTexture Pürüzlülük (R), Metalik (G), Oklüzyon (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal (RG)

DDS dokuları sıkıştırılırken her haritada aşağıdaki sıkıştırma beklenir:

Doku Beklenen Sıkıştırma
normalTexture BC5
baseColorTexture, roughnessMetallicOcclusionTexture BC7

Örgü LOD'ları ekleme

Windows MR, ekran kapsamına bağlı olarak 3B modelleri farklı ayrıntı düzeylerinde işlemek için geometri düğümü LOD'larını kullanır. Bu özellik teknik olarak gerekli olmasa da tüm varlıklar için önerilir. Şu anda Windows 3 ayrıntı düzeyini desteklemektedir. Varsayılan LOD, en yüksek kaliteyi temsil eden 0'dır. Diğer LOD'ler sıralı olarak numaralandırılır, örneğin, 1, 2 ve kalite giderek daha düşük olur. Windows Mixed Reality Varlık Dönüştürücüsü, birden çok glTF modeli kabul ederek ve bunları geçerli LOD düzeylerine sahip tek bir varlıkta birleştirerek bu LOD belirtimine uyan varlıkların oluşturulmasını destekler. Aşağıdaki tabloda beklenen LOD sıralama ve üçgen hedefleri özetlenmektedir:

LOD Düzeyi Önerilen Üçgen Sayısı En Fazla Üçgen Sayısı
LOD 0 10,000 10,000
LOD 1 5.000 10,000
LOD 2 2,500 10,000

LOD kullanırken her zaman 3 LOD düzeyi belirtin. LoD sistemi eksik LOD düzeyine geçtiğinden eksik LOD'ler modelin beklenmedik şekilde işlenmemesiyle sonuçlanır. glTF 2.0 şu anda çekirdek belirtimlerin bir parçası olarak LOD'leri desteklememektedir. LOD'ler MSFT_LOD uzantısı kullanılarak tanımlanmalıdır.

Ekran kapsamı

LOD'ler, her lod üzerinde ayarlanan ekran kapsamı değeri tarafından yönlendirilen bir sistem temelinde Windows Mixed Reality görüntülenir. Şu anda ekran alanının daha büyük bir bölümünü tüketen nesneler daha yüksek bir LOD düzeyinde görüntülenir. Ekran kapsamı çekirdek glTF 2.0 belirtiminin bir parçası değildir ve MSFT_lod uzantısının "ekstralar" bölümünde MSFT_ScreenCoverage kullanılarak belirtilmelidir.

LOD Düzeyi Önerilen Aralık Varsayılan Aralık
LOD 0 100% - 50% 0,5
LOD 1 %50'nin altında - %20 0,2
LOD 2 %20'nin altında - %1 0.01
LOD 4 %1'in altında -

Animasyon yönergeleri

Not

Bu özellik, Windows 10 Nisan 2018 Güncelleştirmesi kapsamında eklenmiştir. Windows'un eski sürümlerinde bu animasyonlar oynatılmayacaktır, ancak bu makaledeki kılavuza göre yazıldıysa yüklenmeye devam eder.

Karma gerçeklik ana sayfası, HoloLens'te animasyonlu glTF nesnelerini ve çevreleyici (VR) kulaklıkları destekler. Modelinizde animasyon tetikleme yapmak istiyorsanız glTF biçiminde Animasyon Haritası uzantısını kullanmanız gerekir. Bu uzantı, kullanıcının dünyadaki varlığına bağlı olarak glTF modelinde animasyonları tetiklemenize olanak tanır. Örneğin, kullanıcı nesneye yakın olduğunda veya nesneye bakarken bir animasyon tetikler. glTF nesneniz animasyonlara sahipse ancak tetikleyicileri tanımlamıyorsa animasyonlar oynatılamaz. Aşağıdaki bölümde, bu tetikleyicileri herhangi bir animasyonlu glTF nesnesine eklemeye yönelik bir iş akışı açıklanmaktadır.

Araçlar

İlk olarak, henüz sahip değilseniz aşağıdaki araçları indirin. Bu araçlar herhangi bir glTF modelini açmayı, önizlemesini yapmayı, değişiklikler yapmayı ve glTF veya .glb olarak geri kaydetmeyi kolaylaştırır:

  1. Visual Studio Code
  2. Visual Studio Code için glTF Araçları

Modeli açma ve önizleme

.glTF dosyasını düzenleyici penceresine sürükleyerek VSCode'da glTF modelini açarak başlayın. .glTF dosyası yerine .glb kullanıyorsanız, indirdiğiniz glTF Araçları eklentisini kullanarak bunu VSCode'a aktarabilirsiniz. "Görünüm -> Komut Paleti" bölümüne gidin ve komut paletine "glTF" yazmaya başlayın ve "glTF: Glb'den içeri aktar" seçeneğini belirleyin. Bu seçim, .glb dosyasını içeri aktarmanız için bir dosya seçici açar.

glTF modelinizi açtıktan sonra düzenleyici penceresinde JSON'u görmeniz gerekir. Ayrıca dosya adına sağ tıklayıp sağ tıklama menüsünden "glTF: 3B Modeli Önizleme" komut kısayolunu seçerek modeli canlı bir 3B görüntüleyicide önizleyebilirsiniz.

Tetikleyicileri ekleme

Animasyon tetikleyicileri, Animasyon Eşlemesi uzantısı kullanılarak glTF modeli JSON'a eklenir. Animasyon haritası uzantısı burada GitHub'da genel olarak belgelenmiştir (NOT: BU BİR TASLAK UZANTıDIR). Uzantıyı modelinize eklemek için düzenleyicide glTF dosyasının sonuna kaydırın ve henüz yoksa dosyanıza "extensionsUsed" ve "extensions" bloğunu ekleyin. "extensionsUsed" bölümünde "EXT_animation_map" uzantısına bir başvuru ekleyeceksiniz ve "uzantılar" bloğunda eşlemelerinizi modeldeki animasyonlara ekleyeceksiniz.

Belirtimlerde belirtildiği gibi, animasyon dizinleri dizisi olan "animasyonlar" listesindeki "semantik" dizesini kullanarak animasyonu neyin tetiklediğini tanımlarsınız. Aşağıdaki örnekte, kullanıcı nesneye bakarken yürütülecek animasyonu belirttik:

  "extensionsUsed": [
    "EXT_animation_map"
  ],
  "extensions" : {
      "EXT_animation_map" : {
            "bindings": [
                {
                    "semantic": "GAZE",
                    "animations": [0]
                }
            ]
      }
  }

Aşağıdaki animasyon tetikleyici semantiği, Windows Mixed Reality giriş sayfası tarafından desteklenir.

  • "ALWAYS": Bir animasyonu sürekli döngüye alma
  • "HELD": Bir nesnenin kapılmış olduğu süre boyunca döngüye alınır.
  • "BAKıŞ": Bir nesneye bakılırken döngüye alınıyor
  • "YAKıNLIK": Görüntüleyici bir nesneye yakınken döngüye girdi
  • "İŞARET EDİLEN": Kullanıcı bir nesneyi işaret ederken döngüye alınıyor

Kaydetme ve dışarı aktarma

glTF modelinizde değişiklik yaptıktan sonra doğrudan glTF olarak kaydedebilirsiniz. Ayrıca düzenleyicide dosyanın adına sağ tıklayıp "glTF: GLB'ye aktar (ikili dosya)" seçeneğini belirleyerek .glb dosyasını dışarı aktarabilirsiniz.

Kısıtlamalar

Animasyonlar 20 dakikadan uzun olamaz ve 36.000'den fazla ana kare (30 FPS'de 20 dakika) içeremez. Buna ek olarak, dönüşüm hedef tabanlı animasyonlar kullanıldığında 8192 veya daha az dönüşüm hedef köşesini aşmaz. Bu sayıların aşılması, animasyonlu varlığın Windows Mixed Reality girişte desteklenmemasına neden olur.

Özellik Maksimum
Süre 20 dakika
Ana Kareler 36,000
Dönüşüm Hedef Köşeleri 8192

glTF Uygulama notları

Windows MR, negatif ölçekler kullanarak geometriyi çevirmeyi desteklemez. Negatif ölçeklere sahip geometri büyük olasılıkla görsel yapıtlarla sonuçlanır.

glTF varlığı, Windows MR tarafından işlenecek sahne özniteliğini kullanarak varsayılan sahneye işaret etmelidir. Ayrıca Windows 10 Nisan 2018 güncelleştirmeden önceki Windows MR glTF yükleyicisi için erişimci gerekir:

  • En düşük ve en yüksek değerlere sahip olmalıdır.
  • SCALAR türü componentType UNSIGNED_SHORT (5123) veya UNSIGNED_INT (5125) olmalıdır.
  • VEC2 ve VEC3 türü componentType FLOAT (5126) olmalıdır.

Aşağıdaki malzeme özellikleri çekirdek glTF 2.0 belirtiminden kullanılır ancak gerekli değildir:

  • baseColorFactor, metallicFactor, roughnessFactor
  • baseColorTexture: dds içinde depolanan bir dokuya işaret etmelidir.
  • emissiveTexture: dds içinde depolanan bir dokuya işaret etmelidir.
  • emissiveFactor
  • alphaMode

Aşağıdaki malzeme özellikleri çekirdek belirtimlerinden yoksayılır:

  • Tüm Çoklu UV'ler
  • metalRoughnessTexture: Bunun yerine aşağıda tanımlanan Microsoft için iyileştirilmiş doku ambalajı kullanılmalıdır
  • normalTexture: Bunun yerine aşağıda tanımlanan Microsoft için iyileştirilmiş doku ambalajı kullanılmalıdır
  • normalScale
  • occlusionTexture: Bunun yerine aşağıda tanımlanan Microsoft için iyileştirilmiş doku ambalajı kullanılmalıdır
  • occlusionStrength

Windows MR temel mod çizgilerini ve noktalarını desteklemez.

Yalnızca tek bir UV köşesi özniteliği desteklenir.

Diğer kaynaklar

Ayrıca bkz.