MRTK standart gölgelendirici

Standart gölgelendirici örnekleri

mrtk standart gölgeleme sistemi, Unity 'nin standart gölgelendiricisine benzer görseller elde eden tek bir esnek gölgelendirici kullanır, Fluent Design Sistemi ilkeleri uygulayabilir ve karma gerçeklik cihazlarında performansa devam edebilir.

Örnek sahneler

Gölgelendirici malzeme örneklerini altında Materialgallery sahnede bulabilirsiniz . Bu sahnenin tüm malzemeleri MRTK/standart gölgelendiriciyi kullanıyor.

Malzeme Galerisi

MRTK/standart gölgelendiriciyi, altındaki Standardmaterialcomparison sahnedeki Unity/standart gölgelendirici örneğine göre karşılaştırmak ve test etmek için bir karşılaştırma görünümü bulabilirsiniz .

Malzeme Karşılaştırma

Mimari

MRTK/standart gölgeleme sistemi, Unity 'nin gölgelendirici program varyant özelliğini kullanan bir "Uber gölgelendiricisi", malzeme özelliklerine göre en uygun gölgelendirici kodunu otomatik olarak oluşturmak için kullanılır. Kullanıcı malzeme denetçisinde malzeme özelliklerini seçtiğinde, yalnızca etkinleştirildikleri özellikler için performans maliyeti vardır.

Malzeme denetçisi

Çağrılan MRTK/standart gölgelendirici için özel bir malzeme denetçisi vardır MixedRealityStandardShaderGUI.cs . Denetleyici, oluşturma durumunu ayarlarken Kullanıcı seçimine ve Aides 'e göre gölgelendirici özelliklerini otomatik olarak devre dışı bırakır/devre dışı bırakır. Her özellik hakkında daha fazla bilgi için lütfen bir araç ipucu Için Unity düzenleyicisinde her bir özelliğin üzerine gelin.

Malzeme denetçisi

Inspector 'ın ilk kısmı malzemenin işleme durumunu denetler. Işleme modu , malzemenin ne zaman ve nasıl işleneceğini belirler. MRTK/standart gölgelendirici amacı, Unity/standart gölgelendiricide bulunan işleme modlarınıyansıtmadır. MRTK/standart gölgelendirici Ayrıca, tüm Kullanıcı denetimi için bir eklenebilir işleme modu ve özel işleme modu içerir.

İşleme modu Description
Ş Varsayılanını Saydam alanı olmayan normal düz nesneler için uygundur.
İnç Donuk ve saydam alanlar arasında sabit kenarları olan saydam efektlerin oluşturulmasına izin verir. Bu modda, yarı saydam alan yoktur, doku %100 donuk veya görünmez olur. Bu, megetation gibi malzemelerin şeklini oluşturmak için saydamlığı kullanırken faydalıdır.
Larak Saydamlık değerlerinin, sahip olabileceği yansımalı vurgular veya yansıtımlar dahil olmak üzere bir nesneyi tamamen soluklaştırmasını sağlar. Bu mod, bir nesne Soldurma veya dışarı animasyon uygulamak istiyorsanız kullanışlıdır. Yansıtımlar ve vurgulamalar da kullanıma sunulduğundan, Açık Plastik veya cam gibi gerçekçi saydam malzemeleri işlemek için uygun değildir.
Geçirgen Açık Plastik veya cam gibi gerçekçi saydam malzemeleri işlemeye uygun. Bu modda, malzemenin kendisi saydamlık değerlerini alır (dokunun alfa kanalına ve renk tonunun Alpha değerine bağlı olarak). Bununla birlikte, gerçek saydam malzemelerde olduğu gibi, yansıma ve aydınlatma vurgulamaları tam açıklık halinde görünür olmaya devam edecektir.
Toplamsal Önceki piksel rengini geçerli piksel rengi ile toplayan bir ek karıştırma modunu sunar. Bu, saydamlık sıralama sorunlarından kaçınmak için tercih edilen saydamlık modudur.
Özel İşleme modunun her yönünün el ile denetimine izin verir. Yalnızca Gelişmiş kullanım için.

İşleme modları

Cull modu Description
Kapalı Yüzey yüzeyini devre dışı bırakır. İki taraflı bir kafes gerektiğinde, yüzey kaldırma yalnızca kapalı olarak ayarlanmalıdır.
Front Ön yüz yüzey kaldırma imkanı sunar.
Geri Varsayılanını Arka yüz yüzey kaldırmaimkanı sunar. Arka yüz yüzey kaldırma, işleme performansını geliştirmek için mümkün olduğunca sık etkinleştirilmelidir.

Performans

Unity standart gölgelendirici üzerinde MRTK standart gölgelendirici kullanmanın başlıca avantajlarından biri performansa sahiptir. MRTK standart gölgelendiricisi yalnızca etkinleştirilen özellikleri kullanacak şekilde genişletilebilir. Ancak, MRTK standart gölgelendiricisi, benzer Aesthetic Characteristics sonuçlarını Unity standart gölgelendiricisi olarak sunmak için de yazılmıştır, ancak daha düşük maliyetlidir. Gölgelendirici performansını karşılaştırmak için basit bir yol, GPU üzerinde gerçekleştirilmesi gereken işlem sayısıdır. Kuşkusuz, hesaplamaların büyüklüğü etkin özellikler ve diğer işleme yapılandırmalarına göre dalgalanmaya başlayabilir. Ancak, MRTK standart gölgelendiricisi, Unity standart gölgelendiriciye göre önemli ölçüde daha az bir hesaplama gerçekleştirir.

Unity standart gölgelendirici istatistikleri örneği

Unity standart gölgelendirici Istatistikleri

MRTK standart gölgelendirici istatistikleri örneği

MRTK standart gölgelendirici Istatistikleri

Not

Bu sonuçlar Unity denetçisinde bir gölgelendirici varlığı seçip görüntüleyerek ve kodu derle ve göster düğmesine tıklayarak oluşturulabilir.

Işık

MRTK/standart, aydınlatma için basit bir yaklaşık kullanır. Bu gölgelendirici, fiziksel doğruluk ve enerji tasarrufunun hesaplanmadığı için hızlı ve verimli bir şekilde işler. Blinn-Phong, fiziksel aydınlatma tekniğidir ve fiziksel tabanlı aydınlatmayı yaklaşık olarak Fresnel düşüşünü ve görüntü tabanlı aydınlatma ile karıştırılır. Gölgelendirici aşağıdaki aydınlatma tekniklerini destekler:

Yönlü ışık

Gölgelendirici, sahnedeki ilk Unity yönlü ışığın yönünü, rengini ve yoğunluğunu (etkinse) göre değişir. Dinamik nokta ışıkları, spot ışıklar veya diğer Unity ışıkları gerçek zamanlı aydınlatma olarak değerlendirilmeyecektir.

Küresel uyumcs

Gölgelendirici, etkinleştirilirse küresel uyumlarıkullanarak sahnedeki ışıkları tahmin etmek Için hafif yoklamaların kullanılmasını sağlar. Küresel uyumlarca yapılan hesaplamalar, hesaplama maliyetini azaltmak için köşe başına yapılır.

Açık eşleme

Statik aydınlatma için gölgelendirici, Unity 'nin ışık eşleme sistemitarafından oluşturulan açık haritalar için uygun olacaktır. Oluşturucuyu, açık haritalar kullanmak için statik (veya Lightmap static) olarak işaretlemeniz yeterlidir.

Üzerine gelme ışığı

Yakınlık ışığı

Hafif betik Işleme işlem hattı desteği

MRTK, geliştiricilerin, MRTK gölgelendiricileriyle Unity 'nin hafif betik Işleme işlem hattını (LWRP) kullanmasına izin veren bir yükseltme yolu içerir. Unity 2019.1.1 F1 ve hafif RP 5.7.2 paketi ile test edilmiştir. veya LWRP ile çalışmaya başlama yönergeleri için Bu sayfayabakın.

MRTK yükseltmesini gerçekleştirmek için şunları seçin: karma gerçeklik araç seti- Utilities- > Upgrade mrtk basit işleme Işlem hattı için standart gölgelendirici

lwrp yükseltmesi

Yükseltme oluştuktan sonra, MRTK/standart gölgelendirici değiştirilir ve macenta (gölgelendirici hatası) materyalleri düzeltilmelidir. Yükseltmenin başarıyla yapıldığını doğrulamak için, şunları yapın: yükseltilen varlıklar/MixedRealityToolkit/StandardAssets/gölgelendiriciler/MixedRealityStandard. Shader öğesini hafif Işleme ardışık düzeninde kullanmak için denetleyin.

UıGUı desteği

MRTK standart gölgeleme sistemi, Unity 'nin yerleşik Kullanıcı arabirimi sistemiile birlikte kullanılabilir. Unity Kullanıcı arabirimi bileşenlerinde, unity_ObjectToWorld matrisi, grafik bileşeninin üzerinde bulunduğu ancak üst tuvalinin bulunduğu yerel dönüşümün dönüştürme matrisi değildir. Birçok MRTK/standart gölgelendirici efekti, nesne ölçeğinin bilinmesini gerektirir. Bu sorunu gidermek için, ScaleMeshEffect.cs Kullanıcı arabirimi ağı oluşturma sırasında ölçeklendirme BILGILERINI UV kanal özniteliklerine depolar.

Bir Unity görüntü bileşeni kullanırken, Unity Kullanıcı arabiriminin ek köşeler oluşturmasını engellemek için kaynak görüntü için "None (sprite)" belirlemeniz önerilir.

MRTK içindeki bir tuval, gerekli olduğunda bir öğesinin eklenmesini ister ScaleMeshEffect.cs :

kafes efektini Ölçeklendir

Doku birleştirici

Metalik standart gölgelendirici piksel başına metalik, düzgünlük ve occlusiyon değerlerinin hepsi, Kanal paketlemearacılığıyla denetlenebilir. Örnek:

Kanal eşleme örneği

Kanal paketleme 'yı kullandığınızda yalnızca dört ayrı yerine yalnızca bir dokuyu belleğe örnekleyerek yüklemeniz gerekir. Doku haritalarınızı, elece veya Photoshop gibi bir programda yazdığınızda, bunları aşağıdaki gibi el ile dağıtabilirsiniz:

Kanal Özellik
Kırmızı Metal
Yeşil Kapatma
Mavi Emisi (gri tona dönüştürme)
Alfa Oynat

Ya da MRTK doku birleştirici aracını kullanabilirsiniz. Aracı açmak için şu pencereyi açacak: Mixed Reality araç seti- Utilities- > Texture birleştirici öğesini seçin:

texture birleştirici örneği

Bu pencere, Unity standart gölgelendirici seçilerek ve "standart malzemeden otomatik doldurma" seçeneğine tıklanarak otomatik olarak doldurulabilir. Ya da kırmızı, yeşil, mavi veya alfa kanalı başına el ile bir doku (veya sabit değer) belirtebilirsiniz. Doku birleşimi GPU hızlandırılır ve giriş dokusunun CPU 'nun erişilebilir olmasını gerektirmez.

Ek özellik belgeleri

Aşağıda, MRTK/standart gölgelendirici ile kullanılabilen bir dizi özellik ayrıntısı hakkında ek ayrıntılar verilmiştir.

Basit kırpma

basit kırpma

Kafes anahatları

Birçok kafes ana hat tekniği işlem sonrası bir teknik kullanılarak yapılır. Son işlem harika kaliteli anahatlar sağlar, ancak birçok karma gerçeklik cihazlarından canlı olarak pahalı olabilir. İçindeki Outlineexamples sahnede kafes anahatları kullanımını gösteren bir sahne bulabilirsiniz .

Kafes ana hattı

MeshOutline.cs ve MeshOutlineHierarchy.cs bir ağ Oluşturucu etrafında bir ana hat işlemek için kullanılabilir. Bu bileşenin etkinleştirilmesi, özetlenen nesnenin ek bir işleme geçişini tanıtır, ancak mobil karma gerçeklik cihazlarında performansı güvenle çalıştırmak için tasarlanmıştır ve hiçbir gönderi işlemini kullanmaz. Bu efektin sınırlamaları, su olmayan (veya iki taraflı olması gereken) nesneler üzerinde iyi çalışmamaktadır ve örtüşen nesnelerde derinlemesine bir sıralama sorunu oluşabilir.

Ana hat davranışları, MRTK/standart gölgelendirici ile birlikte kullanılmak üzere tasarlanmıştır. Ana hat malzemeleri genellikle katı olmayan bir renktir, ancak geniş bir efekt dizisine ulaşmak için yapılandırılabilir. Bir ana hat malzemesinin varsayılan yapılandırması aşağıdaki gibidir:

Kafes ana hat malzemeleri
  1. Ana hattın diğer nesnelerin işlemesini önleyemediğinden emin olmak için, anahat malzemeleri için derinlik yazma-devre dışı bırakılmalıdır.
  2. Köşe, ana hattı işlemek için etkinleştirilmesi gerekir.
  3. Kesintisiz Normals kullanın-Bu ayar bazı kafesler için isteğe bağlıdır. Bir köşeyi bir köşe temelinde hareket ettirerek, bazı kafeslerin varsayılan normallik, ana hat içinde süreksizlik oluşmasına neden olacak şekilde ortaya çıkar. Bu süreksizlik giderilmesi için bu kutuyu, tarafından oluşturulan başka bir düzleştirilmiş normal değerler kümesini kullanmak üzere kontrol edebilirsiniz MeshSmoother.cs

MeshSmoother.cs , bir kafesde otomatik olarak düzgünleştirilmiş normalleştirmalar oluşturmak için kullanılabilen bir bileşendir. Bu yöntem, boşluk içinde aynı konumu paylaşan bir kafesdeki köşeleri gruplandırır ve bu köşelerin normali 'nin ortalamasını alır. Bu işlem, temel alınan kafesin bir kopyasını oluşturur ve yalnızca gerekli olduğunda kullanılmalıdır.

Kesintisiz Normals ana hattı
  1. İle düzgün normallik oluşturuldu MeshSmoother.cs .
  2. Varsayılan normaller kullanıldı, küp köşelerinden oluşan yapıtlara dikkat edin.

Kalıp testi

Geniş bir efekt dizisine ulaşmak için yapılandırılabilir kalıp test desteği yerleşik olarak geliştirilmiştir. Portal gibi:

kalıp testi

Instanced renk desteği

Binlerce GPU ınstanmiş kafeste benzersiz malzeme özellikleri sağlamak için ınstanced Color desteği:

ınstanced özellikleri

Triplanar eşleme

Triplanar eşlemesi, bir ağı programlı bir şekilde dokarak bir tekniktir. Genellikle, ekçilere, UVs olmayan kafesler veya şekillerin sarmalanmasından kaçınılması zor. Bu uygulama, Dünya veya yerel alan projeksiyonu, düzgünlük karıştırma belirtimini ve normal harita desteğini destekler. Kullanılan her dokuda 3 doku örneği gerektiğinden, performans açısından kritik durumlarda dikkatli kullanın.

triplanar

Köşe kalıp

Dünya alanında köşe kalıp. Yükseltilmiş sınırlayıcı birimleri veya geçiş/çıkış kafeslerini görselleştirmede faydalıdır.

Normal harita ölçeği 1

Çeşitli

Albedo iyileştirmelerini denetlemek için bir onay kutusu. Bir Albedo dokusu belirtilmediğinde iyileştirme Albedo işlemleri devre dışı bırakıldı. Bu, Uzaktan doku yüklemeyidenetlemek için kullanışlıdır.

Yalnızca şu kutuyu işaretleyin:

Albedo ataması

Piksel başına kırpma dokuları, yerel kenar tabanlı düzgünleştirme ve normal harita ölçekleme desteklenir.

Normal harita ölçeği 2

Ayrıca bkz.