İçeriğe atla
Son haberler
SANAA sergisi Taichung’da açılıyor: 30 yıllık üretim ve süreç maketleriBlender Python ile mimari sahnelerde malzeme ayarları: 5 adımdaUnreal Engine’de Nanite ve Virtual Shadow Maps ile mimari sahne hazırlamaBlender eğri modelleme: mimari profilleri yol boyunca oluşturma rehberiArchicad Global Library rehberi: Kütüphaneleri yönetin ve yerelleştirinGenerali Stadium tasarımı açıklandı: San Siro’nun yerini alacakGemini Nano Banana 2.1 ile mimari görsel üretimi: prompt rehberiChaos Vantage animasyon rehberi: 3ds Max’ten V-Ray ve Corona ile renderBlender’da mimari iç mekân ışığı kurma: alan ışıkları ve shader ipuçlarıMimari video için Veo istemi nasıl yazılır: kadraj, ışık ve hareket
EğitimlerBlenderMariPython

Blender Python ile mimari sahnelerde malzeme ayarları: 5 adımda

Blender’ın Python API’si, mevcut malzemelerin pürüzlülük, metalik değer ve saydamlık yöntemini kodla düzenlemeye imkân veriyor. Bu rehber, mimari sahnelerde temel malzeme ayarlarını adım adım ele alıyor.

Mat sıva, ahşap, metal ve cam yüzeyleri gösteren çağdaş iç mekân görselleştirmesiAI görsel
Temsilî görsel; yapay zekâ ile üretildi.Görsel: 3dsınıfı / FCA AI
KaydetPaylaş0

Kısaca

  1. Bir nesnenin etkin malzemesine bpy.context.view_layer.objects.active üzerinden erişilebilir.
  2. Material.roughness ve Material.metallic değerleri 0 ile 1 aralığında tanımlanır.
  3. Saydamlık yöntemi için güncel belgelerde surface_render_method özelliği öne çıkıyor.
  4. Gerçek yüzey yer değiştirmesi seçeneği ince alt bölümlendirme gerektiriyor.

Bu rehberde Blender’ın Python API’siyle sahnedeki bir nesnenin etkin malzemesine ulaşmayı ve temel görünüm ayarlarını değiştirmeyi öğreneceksiniz. Blender’ın güncel API belgeleri, malzemelerde pürüzlülük, metalik yansıma, renk, saydamlık yöntemi ve yer değiştirme yaklaşımı gibi özellikleri tanımlıyor. Örnekler; mimari görselleştirmede duvar, ahşap, metal ve cam benzeri yüzeyleri düzenlerken başlangıç noktası olarak kullanılabilir. Buradaki kodlar, mevcut bir sahne ve malzeme üzerinden çalışır; sıfırdan malzeme oluşturma ya da düğüm tabanlı bir materyal kurma adımlarını kapsamaz.

Bu eğitimde neler öğreneceksiniz?

Önce etkin nesnenin malzemesini Python üzerinden nasıl kontrol edeceğinizi göreceksiniz. Ardından renk, roughness ve metallic değerlerini düzenleyecek; saydamlık ve yer değiştirme seçeneklerinin ne anlama geldiğini, hangi sınırlara dikkat edilmesi gerektiğini inceleyeceksiniz.

Bu yaklaşım özellikle tekrarlayan sahne düzenlemelerinde veya malzeme değerlerini kodla değiştirmek isteyen kullanıcılar için yararlı olabilir. Ancak API özelliklerini değiştirmek tek başına her görsel sonucu garanti etmez. Kaynak belgeler, malzemenin tam düğüm yapısını veya belirli bir mimari yüzey için hazır bir shader tarifini sunmuyor. Bu nedenle kod parçalarını, mevcut malzemenin ayarlarını değiştiren küçük işlemler olarak değerlendirin.

Gereksinimler

  • Blender’da açık bir sahne ve etkin bir nesne bulunmalı.

  • Etkin nesnenin atanmış bir malzemesi olmalı. Kod, etkin malzeme bulunmadığında değişiklik yapmaz.

  • Blender Python API’sinde bpy.context.view_layer.objects.active ile etkin nesneye, nesnenin active_material özelliğiyle etkin malzemesine erişilebilir.

  • Bu örnekler hesap, abonelik veya ayrı eklenti gereksinimi belirtmiyor. Kaynak, Blender’ın güncel API belgeleridir; belirli bir Blender sürümü için ayrıca kurulum talimatı vermiyor.

Belgeler, use_nodes özelliğinin 5.0 sürümünden itibaren kullanımdan kaldırıldığını ve 6.0 sürümünde kaldırılmasının planlandığını belirtiyor. Bu eğitim bu özelliğe dayanmadığından kod parçalarında use_nodes kullanılmıyor. Belgelerde ayrıca saydam yüzey karıştırma yöntemi için eski blend_method yerine surface_render_method kullanılması gerektiği yazıyor.

Adım adım malzeme ayarı

1. Etkin nesnenin malzemesini kontrol edin

İlk adımda Blender’ın etkin nesnesini alın ve ona atanmış etkin malzemenin olup olmadığını kontrol edin. Aşağıdaki kodu, Blender Python API bağlamında çalıştırın:

python
obj = bpy.context.view_layer.objects.active
material = obj.active_material if obj else None

if material is not None:
    print(material.name)

Kod, etkin nesne varsa onun etkin malzemesini değişkene atar. Malzeme mevcut olduğunda adını yazdırır; böylece sonraki ayarları hangi malzeme üzerinde yaptığınızı kontrol edebilirsiniz. Etkin nesne veya malzeme yoksa kod, özellik düzenleme adımına geçmez.

2. Renk, pürüzlülük ve metalik değeri düzenleyin

Material veri bloğunda diffuse_color, roughness ve metallic özellikleri bulunur. Belgelerde diffuse_color dört bileşenli renk dizisi olarak tanımlanır; roughness ve metallic için geçerli aralık 0 ile 1’dir. Aşağıdaki örnek, önceki adımda elde edilen material değişkeni üzerinden bu alanları ayarlar:

python
if material is not None:
    material.diffuse_color = (0.55, 0.35, 0.20, 1.0)
    material.roughness = 0.6
    material.metallic = 0.0

Bu değerler, ilgili API alanlarına örnek atamalardır; belirli bir ahşap, boya veya metal için doğru fiziksel karşılık oldukları anlamına gelmez. Mimari görselleştirmede malzeme görünümünü sahnenin ışığı ve kullandığınız materyal yapısıyla birlikte kontrol edin. Kaynak belge, bu değerlerin tek başına gerçek dünyadaki bir yüzey ölçümüne karşılık geldiğini söylemiyor.

3. Saydamlık yöntemini seçin

Güncel belgelerde surface_render_method özelliğinin iki seçeneği listeleniyor: DITHERED ve BLENDED. DITHERED, gri tonlu hash saydamlığına izin verir ve render pass’leri ile ışın izleme özellikleriyle uyumlu olarak tanımlanır. BLENDED ise renkli saydamlık sağlar; ancak render pass’leri ve ışın izlemeyle uyumsuzluk taşır.

python
if material is not None:
    material.surface_render_method = 'DITHERED'

Bu ayar, saydamlığın nasıl harmanlanacağına ilişkin yöntemi belirler; tek başına cam görünümü oluşturduğunu varsaymayın. Kaynakta, saydamlık için gerekli tüm shader düğümleri veya alfa değerlerinin nasıl kurulacağı açıklanmıyor. Ayrıca eski blend_method özelliği kullanımdan kaldırılmış olarak işaretlenmiş durumda; yeni bir betikte güncel belgelerde gösterilen surface_render_method alanını tercih edin.

4. Yer değiştirme yaklaşımını belirleyin

Malzeme belgeleri displacement_method için BUMP, DISPLACEMENT ve BOTH seçeneklerini sıralıyor. BUMP, yer değiştirme görünümünü bump eşleme ile taklit eder. DISPLACEMENT, yalnızca gerçek yüzey yer değiştirmesini kullanır ve ince alt bölümlendirme gerektirir. BOTH ise gerçek yer değiştirme ile bump yaklaşımını birleştirir.

python
if material is not None:
    material.displacement_method = 'BUMP'

Bu örnek, gerçek geometrik ayrıntı gerektirmeyen bir başlangıç ayarıdır. Gerçek yer değiştirmeyi denemek istiyorsanız belgelerdeki ince alt bölümlendirme koşulunu dikkate alın; kaynak, gerekli alt bölüm sayısını belirtmiyor. Bu nedenle belirli bir değer önermek yerine sahne ve geometri üzerinde kontrollü test yapın.

5. Değişiklikleri birlikte uygulayın

Birden fazla ayarı aynı koşul içinde değiştirmek, etkin malzeme kontrolünü tek yerde tutar. Aşağıdaki örnek, önceki adımlardaki alanları bir araya getirir:

python
if material is not None:
    material.roughness = 0.45
    material.metallic = 0.0
    material.surface_render_method = 'DITHERED'
    material.displacement_method = 'BUMP'

Buradaki sayılar örnek değerlerdir; her sahneye uygun evrensel reçete değildir. Kendi dosyanızda her değişiklikten sonra render sonucunu ve malzemenin mevcut yapısını kontrol edin. Birden fazla malzemeye toplu uygulama, malzeme oluşturma ve düğüm ağacı düzenleme bu rehberin kapsamı dışında kalır.

Sık yapılan hatalar

İlk hata, etkin nesnenin mutlaka malzemesi olduğunu varsaymaktır. Kod bu nedenle None kontrolü içeriyor. İkinci hata, BLENDED seçeneğini her durumda daha iyi saydamlık yöntemi olarak görmektir: belgeler bu yöntemin render pass’leri ve ışın izlemeyle uyumsuz olduğunu belirtiyor. Üçüncü hata, DISPLACEMENT seçip geometride yeterli alt bölümlendirme bulunmasını göz ardı etmektir.

Ayrıca blend_method gibi kullanımdan kaldırılmış alanlara yeni kodda dayanmayın. use_nodes özelliğini de güncel materyal iş akışı için bir açma-kapama anahtarı gibi kullanmayın; belgeler bu alanın 5.0’dan itibaren kullanımdan kaldırıldığını, 6.0’da kaldırılmasının planlandığını ve ayarlamanın etkisiz olduğunu bildiriyor. Bu eğitim düğüm ağacının nasıl kurulacağını tarif etmediği için onu değiştiren kod sunmuyor.

Mimarlık ve görselleştirme iş akışına etkisi

Bu yöntem, sahnedeki etkin malzemenin temel özelliklerini kodla değiştirmek isteyen mimar, iç mimar ve görselleştirme sanatçılarına yöneliktir. Aynı proje içinde roughness ya da metallic değerlerini düzenli biçimde güncellemek için pratik bir başlangıç sağlar; fakat kaynaklar performans kazanımı, donanım gereksinimi veya render motorları arasında uyumluluk garantisi vermiyor. Saydamlık yönteminde render pass ve ışın izleme uyumluluğunu, gerçek yer değiştirmede ise geometri yoğunluğunu özellikle göz önünde bulundurun.

Sonraki adımlar

Önce tek bir nesnenin etkin malzemesi üzerinde çalışın ve her değişiklikten sonra sonucu inceleyin. Ardından aynı yaklaşımı gerçek proje dosyanızda, kullandığınız sahne ve render ayarlarıyla sınayın. Daha ileri bir otomasyon için Blender API belgelerindeki Material ve Object bölümlerini birlikte inceleyebilirsiniz; bu kaynaklar mevcut materyal özelliklerini ve nesnenin etkin malzemeye erişimini tanımlar. Yeni bir üretim betiğini kullanmadan önce, seçilen Blender sürümündeki API davranışını ayrıca doğrulayın.

Kaynak ve lisans

Bu eğitim, Blender API’nin Material ve Object belgelerindeki özellik açıklamalarına dayanır. Her iki kaynak da CC BY-SA 4.0 lisanslıdır; içerik Türkçeye uyarlanarak anlatılmış, örnek kodlar mimari malzeme düzenleme bağlamında yeniden yazılmıştır.

Sık sorulan sorular

Blender Python’da etkin malzemeye nasıl erişilir?

Etkin nesneye `bpy.context.view_layer.objects.active` ile erişilebilir. Nesnenin `active_material` özelliği etkin malzemeyi verir; nesne veya malzeme yoksa kontrol yapılmalıdır.

Blender’da saydamlık için blend_method mi surface_render_method mu kullanılmalı?

Güncel API belgeleri, kullanımdan kaldırılmış `blend_method` yerine `surface_render_method` kullanılmasını belirtiyor. Belgelerde `DITHERED` ve `BLENDED` seçenekleri listeleniyor.

Blender’da gerçek displacement için ne gerekir?

`DISPLACEMENT` yöntemi gerçek yüzey yer değiştirmesini kullanır ve ince alt bölümlendirme gerektirir. Kaynak belgeler belirli bir alt bölüm sayısı vermiyor.

Kaynaklar

2 kaynak
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Material.html
Özet
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Object.html
Özet

Kaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.

3dsınıfı yorumu
3dEditörün değerlendirmesi

Türkiye’deki küçük ofisler ve öğrenciler için bu yaklaşım, mevcut malzeme değerlerini hızlıca değiştirmek ve tekrarlayan düzenlemeleri betik mantığıyla düşünmek açısından erişilebilir bir başlangıç. Rehberdeki örnekler, Blender’ın kendi API’sine dayanıyor; ek bir araç veya donanım yatırımı gerektirdiğine dair kaynaklarda bilgi yok.

Bununla birlikte, kod tek başına üretim kalitesinde materyal kurmuyor. Özellikle saydamlıkta render ayarlarıyla uyumluluk, yer değiştirmede geometri yoğunluğu ve kullanılan Blender sürümündeki API davranışı kontrol edilmeli. Önce kopya bir dosyada deneyip sonucu sahneye göre değerlendirmek en güvenli yol.

Bu habere tepkin ne?

Yorumlar 0

İlk yorumu sen yazKendi test sonuçlarını ya da sorunu paylaş.
+

İlgili haberler