Aracılığıyla paylaş


Renk malzemeleri

Renk malzemeleri , Azure Uzaktan İşleme'de desteklenen malzeme türlerinden biridir. Bunlar, herhangi bir tür aydınlatma almaması gereken, ancak her zaman tam parlaklıkta görünmesi gereken ağlar için kullanılır. Araç panoları, ampuller gibi 'parlayan' malzemeler veya fotogrametri aracılığıyla elde edilen modeller gibi statik aydınlatmayı zaten içeren veriler için bu durum söz konusu olabilir.

Renk malzemeleri, daha basit gölgelendirme modellerinden dolayı PBR malzemelerine göre daha verimli işlenir. Ayrıca farklı saydamlık modlarını da destekler.

Renk malzemesi özellikleri

Aşağıdaki malzeme özellikleri çalışma zamanı API'sinde, örneğin sırasıyla C# ColorMaterial sınıfında veya C++ ColorMaterial sınıfında kullanıma sunulur.

  • ColorFlags: Aşağıdaki özellikleri etkinleştirmek için çeşitli özellik bayrakları bu bit maskesinde birleştirilebilir:

    • UseVertexColor: Mesh renkler içeriyorsa vertex ve bu seçenek etkinleştirilirse, ağın vertex rengi ve AlbedoMapile çarpılırAlbedoColor. Varsayılan olarak UseVertexColor devre dışıdır.
    • DoubleSided: Çift taraflılık true olarak ayarlanırsa, kamera arka yüzlerine bakıyor olsa bile bu malzemeye sahip üçgenler işlenir. Varsayılan olarak bu seçenek devre dışıdır. Ayrıca Single-sided renderingbkz. .
    • AlphaClipped: Değerinin altında AlphaClipThreshold olan alfa değerine bağlı olarak piksel başına sabit kesmeleri etkinleştirir (aşağıya bakın). Bu, opak malzemeler için de çalışır.
    • TransparencyWritesDepth: Malzeme üzerinde TransparencyWritesDepth bayrak ayarlanırsa ve malzeme saydamsa, bu malzemeyi kullanan nesneler son derinlik arabelleğine de katkıda bulunur. Sonraki bölümde renk malzemesi özelliğine ColorTransparencyMode bakın. Kullanım örneğiniz tamamen saydam sahnelerin daha makul bir geç aşama yeniden üretilmesine ihtiyaç duyuyorsa bu özelliği etkinleştirmeniz önerilir. Karışık opak/saydam sahneler için bu ayar, olanaksız yeniden oluşturma davranışı veya yeniden oluşturma yapıtlarına neden olabilir. Bu nedenle, genel kullanım örneği için varsayılan ve önerilen ayar bu bayrağı devre dışı bırakmaktır. Yazılı derinlik değerleri, kameraya en yakın nesnenin piksel başına derinlik katmanından alınır.
    • FresnelEffect: Bu malzeme bayrağı ilgili malzeme üzerinde katkı fresnel etkisi sağlar. Etkinin görünümü diğer fresnel parametreleri FresnelEffectColor tarafından yönetilir ve FresnelEffectExponent aşağıda açıklanmıştır.
  • AlbedoColor: Bu renk veya vertex renkleri gibi AlbedoMap diğer renklerle çarpılır. Bir malzemede saydamlık etkinleştirildiyse alfa kanalı opaklığı 1 ayarlamak için kullanılır ve tamamen opak ve 0 tamamen saydam anlamına gelir. Varsayılan albedo rengi opak beyazdır.

    Not

    Renk malzemeleri ortamı yansıtmadığından, tamamen saydam bir renk malzemesi görünmez hale gelir. Bu, PBR malzemeleri için farklıdır.

  • AlbedoMap: Piksel başına albedo değerleri için 2B doku .

  • AlphaClipThreshold: Bayrağı özelliğinde ColorFlags ayarlanırsaAlphaClipped, albedo alfa değerinin değerinden AlphaClipThreshold düşük olduğu tüm pikseller çizilmez. Alfa kırpma saydamlığı etkinleştirmeden bile kullanılabilir ve işlenmesi çok daha hızlıdır. Alfa kırpılmış malzemelerin işlenmesi hala tamamen opak malzemelere göre daha yavaştır. Varsayılan olarak alfa kırpma devre dışıdır.

  • TexCoordMode: Albedo dokusu için doku koordinatları oluşturmak için kullanılan modu tanımlar. Bu malzeme doku kullanmıyorsa bu mod yoksayılır. Doku koordinatları varsayılan olarak ağın giriş köşe akışlarından (mod TextureCoordinateGenerationMode.SourceUv0 veya TextureCoordinateGenerationMode.SourceUv1) getirilir ve ardından ve TexCoordOffsetaracılığıyla TexCoordScale dönüştürülür. Bir malzemeyi kod aracılığıyla ayarlarken, bu mod iki yapılandırılabilir 3B düzleme ve köşe uzaklığı olarak koordinatları oluşturmak için veya TextureCoordinateGenerationMode.PlanarWorldSpace olarak da ayarlanabilirTextureCoordinateGenerationMode.PlanarObjectSpace.TexCoordPlaneVTexCoordPlaneU Buna 'planar doku eşlemesi' denir.

  • TexCoordScale ve TexCoordOffset: Kaynak ağdan doku koordinatları için fazladan bir doğrusal dönüşüm uygulanabilir. Ölçek UV doku koordinatlarıyla çarpılır, uzaklık buna eklenir. Dokuları uzatmak ve kaydırmak için kullanılabilir. Varsayılan ölçek (1, 1) ve uzaklık (0, 0) şeklindedir.

  • TexCoordPlaneU ve TexCoordPlaneV: Planar eşleme modları için bunlar sırasıyla u koordinatı ve v koordinatı için doku düzlemlerini tanımlar. Düzlemler standart normal biçimde (A,B,C,D) tanımlanır, bu nedenle koordinat t = Ax + By + C*z + D olarak hesaplanır; burada (x,y,z) dünya veya nesne uzayında köşe konumudur.

  • FresnelEffectColor: Bu malzeme için kullanılan fresnel rengi. Yalnızca bu malzemede fresnel efekt bayrağı ayarlandığında önemlidir (yukarıya bakın). Bu özellik fresnel parlaklığının temel rengini denetler (tam açıklama için fresnel etkisine bakın). Şu anda yalnızca RGB kanalı değerleri önemlidir ve alfa değeri yoksayılır.

  • FresnelEffectExponent: Bu malzeme için kullanılan fresnel üs. Yalnızca bu malzemede fresnel efekt bayrağı ayarlandığında önemlidir (yukarıya bakın). Bu özellik fresnel parlamanın yayılmasını denetler. En düşük değer 0,01, nesnenin tamamına yayılmaya neden olur. Maksimum değer 10,0, parıldayı yalnızca görünen en otlatma kenarlarına sabitler.

  • VertexMix: ile 1 arasındaki 0 bu değer, bir meshteki rengin vertex son renge ne kadar güçlü bir şekilde katkıda bulunup bulunmayabileceğinizi belirtir. Varsayılan değer olan 1'de, vertex renk tam olarak albedo rengiyle çarpılır. 0 değeriyle vertex renkler tamamen yoksayılır.

  • ColorTransparencyMode: PBR malzemelerinin aksine, renk malzemeleri farklı saydamlık modlarını birbirinden ayırır:

    • Opaque: Varsayılan mod saydamlığı devre dışı bırakır. Alfa kırpması yine de mümkündür ve yeterliyse tercih edilmelidir.
    • AlphaBlended: Bu mod PBR malzemeleri için saydamlık moduna benzer. Cam gibi önlü malzemeler için kullanılmalıdır.
    • Additive: Bu mod en basit ve en verimli saydamlık modudur. Malzemenin katkısı işlenen görüntüye eklenir. Bu mod, önemli nesneleri vurgulamak için kullanılan işaretçiler gibi parlama (ancak yine de saydam) nesnelerin benzetimini yapmak için kullanılabilir.

Not

FresnelEffectColor PBR malzemeleriyle aynı kabul edilen değer aralığına sahip olsa AlbedoColor da, kanalları etkili bir şekilde [0; 1] Renk malzemeleri için.

Dönüştürme sırasında renk malzemesi geçersiz kılmaları

Malzeme geçersiz kılma dosyası aracılığıyla model dönüştürme sırasında renk malzemesi özelliklerinin bir alt kümesi geçersiz kılınabilir. Aşağıdaki tabloda yukarıda belgelenen çalışma zamanı özellikleri ile geçersiz kılma dosyasında karşılık gelen özellik adı arasındaki eşleme gösterilmektedir:

Malzeme özellik adı Geçersiz kılma dosyasındaki özellik adı
ColorFlags.AlphaClipped alphaClipEnabled
ColorFlags.UseVertexColor useVertexColor
ColorFlags.DoubleSided isDoubleSided
ColorFlags.TransparencyWritesDepth transparencyWritesDepth
AlbedoColor albedoColor
TexCoordScale textureCoordinateScale
TexCoordOffset textureCoordinateOffset
ColorTransparencyMode transparent
AlphaClipThreshold alphaClipThreshold

API belgeleri

Sonraki adımlar