Aracılığıyla paylaş


Evde kullanmak için 3B modeller oluşturma

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

Varlık gereksinimlerine genel bakış

Windows Karma Gerçeklik 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 binden az üçgen 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 işletim sistemi sürümlerinde <gerekli = 1709* ve Windows işletim sistemi sürümlerinde >önerilen = 1803

Not

3B Görüntüleyici uygulaması farklı biçimleri ve çözünürlükleri destekler, ancak sonuçta modelleri Karma Gerçeklik girişte 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 Karma Gerçeklik giriş sayfasıyla düzgün çalıştığından emin olmak için ek yönergeler yer alır.

Ayrıntılı kılavuz

Modelleri dışarı aktarma

Windows Karma Gerçeklik giriş sayfası, katıştırılmış görüntüler ve ikili veriler içeren .glb dosya biçimi kullanılarak 3B varlıkların teslimini bekler. 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ışabilen 3B içerik için bir endüstri standardı olarak geliştikçe, Microsoft'un Windows uygulamaları ve deneyimlerindeki biçim desteği de artacaktır. glTF çalışma grubu github sayfasında desteklenen dışarı aktarma 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 aşağıdaki modelleme yönergeleri kullanılarak varlıkların 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 olay yeri çı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 kafeslerin birleştirilmesi gerekmez, ancak kaynak kısıtlanmış cihazları hedeflediyseniz bu önerilir
  6. Tüm tireler tek bir malzemeyi paylaşmalıdır ve varlığın tamamı için tek bir doku kümesi kullanılmalıdır
  7. UV'ler 0-1 boşlukta 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 Karma Gerçeklik giriş sayfası 10.000'den fazla üçgene sahip modelleri desteklemez. Bu sayıyı aşmadığından emin olmak için dışarı aktarmadan önce mesh'lerinizi üçgene ayırmanız önerilir. Windows MR, yüksek performanslı ve yüksek kaliteli bir deneyim sağlamak için isteğe bağlı geometri ayrıntı düzeylerini (LOD) de 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'nin 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 Kategori 10,000 Kategori 10,000
LOD 1 5.000 10,000
LOD 2 2.500 Kategori 10,000

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

Windows Karma Gerçeklik giriş sayfası, LOD başına 64'ten fazla düğüme veya 32 alt kümeye sahip modelleri desteklemez. Düğümler, glTF belirtiminde sahnedeki nesneleri tanımlayan bir kavramdır. Alt çizgiler, nesnedeki ağ üzerindeki temel öğeler dizisinde tanımlanır.

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

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 Karma Gerçeklik 4096x4096 çözünürlüğe sahip dokuları destekler, ancak 512x512'de yazmanız önerilir. Dokular, 4'ün katları halinde çözünürlüklerde 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 haritada beyaz) ve yalıtıcı (metalik haritada siyah) yüzeyler için yansıtıcı ve yayılma bilgilerini içerir.

Normal

Tanjant Space 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 gerçekten tanımladığı için en fazla karakteri verir. Örneğin, çizikler, parmak izleri, lekeler, kirler 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 dışı = 0,0 siyah. Toprak 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 Karma Gerçeklik home, özel uzantılar kullanılarak tanımlanan çekirdek glTF belirtiminin üzerine bir dizi iyileştirme sunar. Bu iyileştirmeler Windows sürümlerinde <= 1709 gereklidir ve daha yeni Windows sürümlerinde önerilir. GitHub'da bulunan Windows Karma Gerçeklik Asset Converter'i 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ştirecektir. 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 tam listesi için Dynamics 365 uygulamalarında kullanım için 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 düzenine 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 Düzeni
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ını sıkıştırırken her haritada aşağıdaki sıkıştırma beklenir:

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

Tam ekran (VR) kulaklıklar

Çevreleyici (VR) mikrofonlu kulaklıklar için bilgisayar tabanlı Windows Karma Gerçeklik deneyimleri, dokuların aşağıdaki paketleme belirtimi kullanılarak 3 dokulu bir kurulum kullanılarak paketlenmesi beklenir:

Windows işletim sistemi >= 1803

glTF Özelliği Doku Ambalaj Düzeni
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ını sıkıştırı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 Düzeni
pbrMetallicRoughness baseColorTexture Kırmızı (R), Yeşil (G), Mavi (B)
MSFT_packing_occlusionRoughnessMetallic roughnessMetallicOcclusionTexture Pürüzlülük (R), Metalik (G), Tıkanıklık (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal (RG)

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

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

Ağ 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 destekler. 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üşüktür. Windows Karma Gerçeklik 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 belirtimini karşılayan varlıklar oluşturmayı 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 Kategori 10,000 Kategori 10,000
LOD 1 5.000 10,000
LOD 2 2.500 Kategori 10,000

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

Ekran kapsamı

LOD'lar Windows Karma Gerçeklik'da, her LOD'da ayarlanan ekran kapsamı değeri tarafından yönetilen bir sisteme göre görüntülenir. Şu anda ekran alanının daha büyük bir bölümünü kullanan nesneler daha yüksek 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ündeki 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'nin bir parçası olarak eklendi. 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 tetiklemenizi sağlar. Örneğin, kullanıcı nesneye yakınken veya nesneye bakarken animasyon tetikler. glTF nesneniz animasyonlara sahipse ancak tetikleyicileri tanımlamıyorsanız animasyonlar oynatılamaz. Aşağıdaki bölümde, bu tetikleyicileri herhangi bir animasyonlu glTF nesnesine eklemek için 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 ile .glb dosyasını içeri aktarmanız için bir dosya seçici açılır.

glTF modelinizi açtıktan sonra düzenleyici penceresinde JSON'ı 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ı 3B görüntüleyicide önizleyebilirsiniz.

Tetikleyicileri ekleme

Animasyon tetikleyicileri, Animasyon Eşleme uzantısı kullanılarak glTF modeli JSON'a eklenir. Animasyon haritası uzantısı burada GitHub'da genel olarak belgelenmiştir (NOT: BU BIR TASLAK UZANTıSıDıR). Uzantıyı modelinize eklemek için düzenleyicide glTF dosyasının sonuna kaydırmanız ve henüz mevcut değilse dosyanıza "extensionsUsed" ve "extensions" bloğunu eklemeniz gerekir. "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.

Belirtimde belirtildiği gibi, animasyon dizinleri dizisi olan "animasyonlar" listesindeki "anlamsal" dizeyi 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 Karma Gerçeklik giriş sayfası tarafından desteklenir.

  • "ALWAYS": Bir animasyonu sürekli döngüye alma
  • "HELD": Bir nesnenin yakalandığı sürenin tamamı boyunca döngüye alınır.
  • "GAZE": Bir nesneye bakılırken döngüye alınır
  • "NEARY": Görüntüleyici bir nesneye yakınken döngüye alındı
  • "İŞ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 Karma Gerçeklik girişinde desteklenmemasına neden olur.

Özellik En Büyük
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ıtlara neden olur.

glTF varlığı, Windows MR tarafından işlenecek sahne özniteliğini kullanarak varsayılan sahneyi işaret etmelidir. Ayrıca Windows 10 Nisan 2018 güncelleştirmesinin öncesinde Windows MR glTF yükleyicisi erişimci gerektirir:

  • 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 belirtiminden 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 ilkel mod çizgilerini ve noktalarını desteklemez.

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

Diğer kaynaklar

Ayrıca bkz.