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 veAlbedoMap
ile çarpılırAlbedoColor
. Varsayılan olarakUseVertexColor
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ındaAlphaClipThreshold
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 üzerindeTransparencyWritesDepth
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ğineColorTransparencyMode
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 parametreleriFresnelEffectColor
tarafından yönetilir veFresnelEffectExponent
aşağıda açıklanmıştır.
AlbedoColor
: Bu renk veya vertex renkleri gibiAlbedoMap
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 ve0
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ğindeColorFlags
ayarlanırsaAlphaClipped
, albedo alfa değerinin değerindenAlphaClipThreshold
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 (modTextureCoordinateGenerationMode.SourceUv0
veyaTextureCoordinateGenerationMode.SourceUv1
) getirilir ve ardından veTexCoordOffset
aracılığıylaTexCoordScale
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 veyaTextureCoordinateGenerationMode.PlanarWorldSpace
olarak da ayarlanabilirTextureCoordinateGenerationMode.PlanarObjectSpace
.TexCoordPlaneV
TexCoordPlaneU
Buna 'planar doku eşlemesi' denir.TexCoordScale
veTexCoordOffset
: 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
veTexCoordPlaneV
: 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
: ile1
arasındaki0
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
- C# ColorMaterial sınıfı
- C# RenderingConnection.CreateMaterial()
- C++ ColorMaterial sınıfı
- C++ RenderingConnection::CreateMaterial()
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin