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:
- Dışarı aktarma - Varlıklar .glb (ikili glTF), .obj veya .fbx dosya biçiminde teslim edilmelidir
- Modelleme - Varlıklar 10 binden az üçgen olmalı, LOD başına en fazla 64 düğüm ve 32 alt çizgi içermelidir
- 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
- Animasyon - Animasyonlar 30 FPS'de (36.000 ana kare) 20 dakikadan uzun olamaz ve = 8192 dönüşüm hedef köşeleri içermelidir <
- İ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:
- Yukarı ekseni "Y" olarak ayarlanmalıdır.
- Varlık pozitif Z eksenine doğru "ileri" ile karşılaşmalıdır.
- Tüm varlıklar olay yeri çıkış noktasındaki zemin düzleminde oluşturulmalıdır (0,0,0)
- Varlıkların dünya ölçeğinde yazılabilmesi için Çalışma Birimleri ölçümlere ve varlıklara ayarlanmalıdır
- Tüm kafeslerin birleştirilmesi gerekmez, ancak kaynak kısıtlanmış cihazları hedeflediyseniz bu önerilir
- 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
- UV'ler 0-1 boşlukta kare düzende yerleştirilmelidir. İzin verilse de dokuları döşemekten kaçının.
- Çoklu UV'ler desteklenmez
- Ç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:
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
- glTF İhracatçıları ve Dönüştürücüleri
- glTF Araç Seti
- glTF 2.0 Belirtimi
- Microsoft glTF LOD Uzantısı Belirtimi
- Pc Karma Gerçeklik Doku Paketleme Uzantıları Belirtimi
- HoloLens Karma Gerçeklik Doku Paketleme Uzantıları Belirtimi
- Microsoft DDS Dokuları glTF uzantıları belirtimi