Mesh analizinde bir renk göstergesi eklemenin bir yolu var mı?
Bu Nesnenin duvar kalınlığını analiz etmenin gerekli olduğu tıbbi bir araştırma yapıyorum. Ağları otomatik olarak renklendiren ağ analizini kullandım. Renklerin duvar kalınlığını belirtmek için maalesef bir renk açıklaması eklemenin bir yolunu bulamıyorum. Bunun gibi bir şey arıyorum:
https://www.researchgate.net/figure/Three-dimensional-3D-atrial-wall-thickness-variation-across-the-whole-human-atria-Top_fig2_319241926
Bu sorunu çözmenin bir yolu var mı?

Böyle bir şey izledim.

Bu ayarlarla objekt mavi kalır.

Blender'da oldukça yeni olduğum için, gölgeleme düzenleyicisini bulmak ve komut dosyalarını kullanmak benim için o kadar kolay olmadı ama yavaş yavaş onunla uyumlu hale geliyorum. Gölgelendirme düzenleyicisindeki ayarları yeniden oluşturmaya çalıştığımda, komut dosyasını, MaptThickness "grubuna bağlayamadım. NormalDepth metnini test_Thickness'inizden volume projekt @vklidu'dan kopyaladım ve yüklemek için (.py) olarak kaydettim bir eklenti olarak ama işe yaramadı. (.osl) olarak kaydettiğimde Blender bana göstermiyor bile.Sanırım oldukça kolay ama betiği aslında nasıl uygulayabilirim?

Yanıtlar
Inside özelliği etkinleştirilmiş Ortam Oklüzyon düğümü ne olacak ? Sonuç ne kadar kesin emin değilim, ancak Mesh Analizinden çok daha iyi çalışıyor gibi görünüyor .

Mesh Analizi ile karşılaştırın, bu gölgelendirici:
- işlenebilir (Döngü motoruyla)
- renk tepe noktasına atanır (yüze değil)
İpuçları:
- Her iki malzemede aynı ColorRamp düğümünü paylaşmak için bu düğümü bir malzemede Düğüm Grubuna kapatın ve bu Düğüm Grubunu ikinci malzemeye ekleyin .
- Renk Yönetimi geçiş filmik için Standardı
Not: AO etkinleştirilmiş Eevee renkler üretir, ancak kalınlık için kullandığımız "Inside" özelliği yoktur.
Doğruluk
oldukça ilginç Q, çünkü kalınlık ölçü yönüne bağlıdır. Derinlik yönünde bir kalınlığı söylemek ve ölçmek için kullandığımız cam levha gibi, yani ince. Ancak, bu durumda çok kalın olacak şekilde genişlik yönünde kalınlığı da ölçebilirsiniz.
Mesh Analizinin ölçtüğü budur. @RobinBetts'in OSL gölgelendiricileriyle karışımını kontrol ederseniz, içinde NormalDepth adlı bir malzeme bulunur ve bu, Mesh Analizi ile tam olarak aynı şeyi yapar - tek bir ışını normal yönden başka bir yüze doğru çeker. Bu mesafe, bir yüze atanan karşılık gelen renkle temsil edilir. Dolayısıyla, düğüm grubunu açıp Eşleme Aralığı düğümünü kontrol ederseniz - ilk iki değer Renk Rampasının başlangıcını / bitişini tanımlar .
Örnek - Min = 0'dan itibaren kırmızı sıfır mesafede başlar ve Maks'dan = 1 , 1 m mesafede mavi biter anlamına gelir. Bu iki değerle oynarken, ColorRamp'ın hangi mesafeyi temsil ettiğini tam olarak belirleyebilirsiniz. Yani bu malzeme sizin için en iyisi gibi görünüyor.
Ancak Mesh Analizi ile aynı şekilde matematiksel olarak doğru olan "tuhaf" renkli yüzler oluşturur. Maymun'un çenesinin alt kısmını kontrol ettiğinizde olduğu gibi, ağın o kısmı o kadar kalın olmasa da koyu mavi vardır, ancak yüzden atılan ışın kaşlara kadar uzanır, bu mesafe o yüz için koyu maviye karşılık gelir.
Tek bir ışın yönü kullanılmadığında kalınlığın nasıl hesaplanacağına dair başka yöntemler de vardır. AO'nun yarım küre yönünde birçok kişiyi vurduğu gibi. Nihai renkler bu mesafelerin ortalamasını temsil eder.
Karşılaştırma - Normal Derinlik (OSL) / Ortam Tıkanıklığı / Lambert Derinliği (OSL)

NormalDepth gölgelendiricisi , benzer renkleri elde etmek için Ambient Occlusion ve Lambert değerleriyle doğru görünüyor . Ve nasıl kontrol edeceğime dair hiçbir fikrim yok.
Bu, @ vklidu'nun cevabının bir tamamlayıcısıdır .. AO, doğru yol gibi görünüyor. Uygulamanıza bağlı olarak, dikkate alınması gereken başka 'kalınlık' ölçüleri olabilir.
Ben normal bir ray uzunluğu alarak, hızlı OSL shader yazacaktım, ama bütün toprakları, @Robert Pali tarafından çok kapsamlı bir şekilde ele edilmiştir burada . Yani bu cevap için burada kredi yok lütfen, senaryolar onun.
Model için @ Pali'nin Lambertian kalınlığını (normal önyargılı, ancak çevresinde örnekleme) ve 0-1 arasındaki renk kaması için basit Normal kalınlığını kullanmak, şunu verir:

@Vklidu'nun bahsettiği gibi, eşlemelerin senkronize kalmasını sağlayabilirsiniz. Tüm malzemeler için aralık eşlemesini bir gruba koyarak ve grubu düzenleyerek malzemeler arasında:

@ Pali'nin gölgelendiricileri ile AO arasındaki tek fark, AO'nun yarımkürede normal gölgeleme noktasının etrafına ' Örnekler ' örnekleme ışınları göndermesi ve cevabında tanımladığı şekillerde önyargılı olarak sadece bir tane göndermesidir.