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

Kaynak: https://3dsinifi.com/haber/blender-python-ile-mimari-sahnelerde-malzeme-ayarlari-5 · Kategori: Eğitimler · Yayın: 30 Ekim 2026

> 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.

## Kısaca
- Bir nesnenin etkin malzemesine bpy.context.view_layer.objects.active üzerinden erişilebilir.
- Material.roughness ve Material.metallic değerleri 0 ile 1 aralığında tanımlanır.
- Saydamlık yöntemi için güncel belgelerde surface_render_method özelliği öne çıkıyor.
- 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.

## Pro ipucu
Saydamlık yöntemini değiştirmeden önce render pass ve ışın izleme gereksinimlerinizi kontrol edin; BLENDED bu özelliklerle uyumsuz olarak belgeleniyor.

## 3dsınıfı yorumu
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.

## Kaynaklar
- [docs.blender.org (CC BY-SA 4.0)](https://docs.blender.org/api/current/bpy.types.Material.html) (özet)
- [docs.blender.org (CC BY-SA 4.0)](https://docs.blender.org/api/current/bpy.types.Object.html) (özet)

_Yapay zekâ ile yazıldı, kaynaklarla doğrulandı. © 3dsınıfı_
