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:
- Dışarı aktarma - Varlıklar .glb (ikili glTF), .obj veya .fbx dosya biçiminde teslim edilmelidir
- Modelleme - Varlıklar 10 bin üçgenden küçük 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 İş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:
- 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 sahnenin çı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 kısa çizgilerin birleştirilmesi gerekmez, ancak kaynak kısıtlanmış cihazları hedefliyorsanız önerilir
- 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
- UV'ler 0-1 alanda 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 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:
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
- glTF Exporters and Converters
- 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