# Blender Python API ile koleksiyonları düzenleme ve render alma rehberi

Kaynak: https://3dsinifi.com/haber/blender-python-api-ile-koleksiyonlari-duzenleme-ve-render · Kategori: Eğitimler · Yayın: 30 Ekim 2026

> Blender Python API belgeleri, koleksiyonları ve alt koleksiyonları düzenleme, görünürlük ile Line Art ayarlarını yönetme ve render işlemleri için araçlar sunuyor. Bu rehber, mimari sahnelerde temel adımları örneklerle açıklıyor.

## Kısaca
- Collection yapısı, nesneleri ve alt koleksiyonları bir arada düzenlemek için kullanılabilir.
- Koleksiyonun görünüm alanındaki ve render’daki görünürlüğü ayrı özelliklerle yönetilir.
- Line Art için dâhil etme, dışlama ve kesişim davranışlarını belirleyen koleksiyon seçenekleri belgelenmiştir.
- Render API’sinde aktif görünümün görüntüsünü alma ve sahne render’ı başlatma işlemleri yer alır.

## Bu rehberde ne öğreneceksiniz?

Blender sahneleri büyüdükçe mimari model, mobilya, aydınlatma ve çevre öğelerini düzenli tutmak; hangi parçaların görünür veya çıktıya dâhil olduğunu takip etmek zorlaşabilir. Blender Python API’deki `Collection` yapısı, nesneleri gruplar ve alt koleksiyonlarla hiyerarşik biçimde düzenlemeye yardımcı olur. Bu rehberde koleksiyon oluşturup sahneye bağlamayı, koleksiyonların görünürlüğünü ayarlamayı, Line Art seçeneklerini tanımayı ve render operatörlerini kullanmayı adım adım ele alıyoruz.

Örnekler, Blender’ın güncel API belgelerinde listelenen özellik ve işlemlere dayanıyor. Belgelerde belirli bir Blender sürüm numarası belirtilmediği için örnekleri kullanmadan önce mevcut çalışma ortamında test etmek gerekir. Kodlarda geçen koleksiyon adlarını ve sahne düzenini projeye göre uyarlayın.

## Gereksinimler

- Blender ve Python API’ye erişim gerekir. Kaynaklar, Blender API’sinin güncel belgeleridir; belirli bir sürüm numarası vermiyor.
- Kaynaklarda hesap veya abonelik koşulundan söz edilmiyor. Belgeler, Blender kullanımı için donanım gereksinimi ya da render süresine ilişkin bir bilgi de sunmuyor.
- Örnekler sahnedeki koleksiyon ve nesneler üzerinde işlem yapar. Uygulamadan önce önemli proje dosyalarının bir kopyasını saklamak ve kodu küçük bir test sahnesinde denemek uygun olur.

## Adım adım: koleksiyonlarla sahneyi düzenleme

### 1. Yeni koleksiyon oluşturup sahneye bağlayın

Aşağıdaki kod yeni bir koleksiyon oluşturur ve aktif sahnenin ana koleksiyonuna bağlar. Blender API belgeleri koleksiyon oluşturma ve çocuk koleksiyonları bağlama işlemlerini listeler. Örnekteki “Mobilya” adı, bir iç mekân projesinde mobilya öğelerini gruplandırmak için kullanılabilecek bir örnektir.

```python
collection = bpy.data.collections.new("Mobilya")
bpy.context.scene.collection.children.link(collection)
```

Koleksiyonun oluşturulması, sahnedeki nesnelerin kendiliğinden bu gruba taşındığı anlamına gelmez. Nesne üyeliklerini ayrıca düzenlemek gerekir. Bir koleksiyondaki `objects` özelliği doğrudan o koleksiyonda bulunan nesneleri; `all_objects` ise alt koleksiyonlardakiler dâhil nesneleri ifade eder. Bu ayrımı bilmek, ana koleksiyon ve alt gruplar içeren sahnelerde toplam içeriği doğru değerlendirmeye yardımcı olur.

### 2. Alt koleksiyonlarla hiyerarşi kurun

Bir mimari görselleştirme dosyasında ana bir “İç Mekân” koleksiyonu altında mobilya ve aydınlatma gibi gruplar oluşturulabilir. Blender API belgelerinde `children` doğrudan alt koleksiyonları, `children_recursive` ise tüm alt koleksiyonları listeleyen özellikler olarak tanımlanır. Hiyerarşiyi incelerken hangi düzeydeki içeriğe ihtiyaç duyulduğunu belirleyin.

`all_objects` özelliği, koleksiyon ile onun alt koleksiyonlarında yer alan nesneleri kapsar ve salt okunurdur. Bu nedenle içerik düzenlemesini bu özellik üzerinden değil, koleksiyon nesneleri ve alt koleksiyonlarına yönelik işlemlerle yapmak gerekir. Ayrıca belgeler `children_recursive` listesinin oluşturulmasının alt koleksiyon sayısına bağlı zaman aldığını belirtiyor; çok katmanlı bir hiyerarşide bu özelliği kullanırken bunu göz önünde bulundurun.

### 3. Görünüm alanı ve render görünürlüğünü ayrı yönetin

`hide_viewport` koleksiyonun görünüm alanında, `hide_render` ise render’da genel olarak devre dışı bırakılmasını sağlar. İki ayar birbirinin yerine geçmez. Örneğin bir grubu çalışma görünümünde gizli tutup render’da görünür bırakmak için aşağıdaki gibi ayrı değerler belirlenebilir:

```python
collection.hide_viewport = True
collection.hide_render = False
```

Bu örnekte koleksiyon görünüm alanında kapatılır, render’da ise devre dışı bırakılmaz. İhtiyaç farklıysa değerleri buna göre değiştirin. Sonucu yalnızca bir yerde kontrol etmek yeterli değildir: görünüm alanını ve render çıktısını ayrı ayrı inceleyin.

### 4. Line Art davranışını koleksiyon düzeyinde seçin

Blender belgeleri koleksiyonların Line Art hesabında nasıl ele alınacağını belirleyen seçenekler sunuyor. Modlar arasında `INCLUDE`, `OCCLUSION_ONLY`, `EXCLUDE`, `INTERSECTION_ONLY`, `NO_INTERSECTION` ve `FORCE_INTERSECTION` bulunuyor. Seçenekler, koleksiyondan çizgi üretilmesi, yalnızca örtüşme oluşturulması, hesabın dışında bırakılması veya kesişim çizgilerinin ele alınması gibi farklı davranışları ifade ediyor.

Aşağıdaki örnekte koleksiyon için yalnızca örtüşme oluşturan mod seçilir:

```python
collection.lineart_usage = 'OCCLUSION_ONLY'
```

Kesişimlerle ilgili ek denetimler gerekiyorsa belgelerde `lineart_use_intersection_mask` ve `use_lineart_intersection_priority` özellikleri de yer alıyor. Kesişim önceliği `lineart_intersection_priority` ile belirlenebilir; API belgesi bu değer için 0 ile 255 aralığını bildiriyor. Bu seçenekleri, sahnede Line Art hesabı kullanılıyorsa ve ihtiyaç duyulan davranış netse değerlendirin.

## Aktif görünümden görüntü alma ve render

`bpy.ops.render.opengl` operatörü aktif görünüm alanının görüntüsünü almak için belgelenmiştir. `write_still` seçeneği, animasyon devre dışıyken görüntünün çıktı yoluna kaydedilmesini sağlar:

```python
bpy.ops.render.opengl(write_still=True)
```

Bu işlem genel sahne render’ıyla aynı değildir. API’de `bpy.ops.render.render` adıyla listelenen operatör, sahne render’ını başlatmak için kullanılabilir. Örnekte tek görüntüyü kaydetme seçeneği yer alıyor:

```python
bpy.ops.render.render(write_still=True)
```

Render operatörünün belgelenmiş parametreleri arasında animasyon, görünüm alanını kullanma, sahne seçimi ve animasyon için başlangıç ile bitiş kareleri bulunur. Kare aralığı seçenekleri animasyon render’ı içindir. API sayfası bu işlemleri ve parametreleri tanımlasa da proje için gereken tüm çıktı ayarlarını belirtmez; render almadan önce sahnenizin ayarlarını kontrol edin.

## Sık karşılaşılan hatalar

- **Viewport ve render ayarlarını aynı sanmak:** `hide_viewport` ile `hide_render` farklı özelliklerdir. İstenen görünürlüğü her iki yerde de doğrulayın.
- **Alt koleksiyonları gözden kaçırmak:** `objects` doğrudan üyeleri gösterir; alt koleksiyonları da hesaba katmak için `all_objects` özelliğinin kapsamını dikkate alın.
- **Line Art modunu rastgele seçmek:** Seçenekler farklı çizgi ve kesişim davranışlarını tanımlar. İstenen sonuca göre seçim yapıp küçük bir örnek sahnede kontrol edin.
- **Viewport görüntüsünü sahne render’ı saymak:** `bpy.ops.render.opengl` aktif görünümü görüntüler; genel render için ayrı operatör bulunur.
- **API belgesinde yer almayan davranışları varsaymak:** Kaynaklar belirli proje ayarlarını, render hızını veya donanım gereksinimini açıklamıyor. Bu ayrıntılar için kendi sahne ve çalışma ortamınızı sınayın.

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

Mimarlık ofisleri ve görselleştirme ekipleri, model, mobilya, aydınlatma ve çevre öğelerini koleksiyonlarla gruplandırarak sahne hiyerarşisini daha anlaşılır kurabilir. Görünüm alanı ile render görünürlüğünü ayrı yönetmek, çalışma sırasında ihtiyaç duyulmayan öğeleri gizlerken çıktıdaki içeriği farklı tutmaya imkân verir. Line Art kullanan çizim odaklı sunumlarda ise koleksiyon düzeyindeki modlar, grupların çizgi hesabına nasıl katılacağını belirlemeye yardımcı olabilir.

Bu API belgeleri belirli bir eklentiyle uyumluluk, donanım seviyesi veya Blender sürümü için garanti vermiyor. Ofislerde ortak dosyalara yönelik otomasyon kurmadan önce kodu kullanılan Blender ortamında ve küçük bir test dosyasında deneyin. Lisans açısından kaynak belgelerin CC BY-SA 4.0 koşulunu da dikkate alın; bu lisans, belge içeriğinin kullanımında geçerlidir.

## Sonraki adımlar

Önce küçük bir test sahnesinde koleksiyon hiyerarşisi oluşturun ve görünüm alanı ile render ayarlarını ayrı ayrı değiştirerek sonucu karşılaştırın. Ardından Line Art kullanılıyorsa uygun modu belirleyip çıktıdaki çizgileri kontrol edin. Render operatörlerine geçmeden önce sahnenin çıktı ayarlarını doğrulayın. API belgeleri ayrıca Cycles doku önbelleğini oluşturma ve temizleme işlemlerini de listeliyor; bunlar koleksiyon düzenleme ve temel render akışından ayrı operatörlerdir.

## Kaynak ve lisans

Bu rehber, Blender Python API’nin `Collection` ve render operatörleri belgelerinden Türkçeye uyarlanmıştır. Her iki kaynak da CC BY-SA 4.0 lisansıyla sunulmuştur.

## Pro ipucu
Koleksiyonu gizlerken `hide_viewport` ve `hide_render` değerlerini ayrı ayrı ayarlayın; ardından hem görünüm alanında hem render çıktısında sonucu doğrulayın.

## 3dsınıfı yorumu
Türkiye’deki mimarlık ofisleri ve görselleştirme ekipleri için koleksiyonları API üzerinden yönetmek, tekrarlanan sahne düzenleme işlerini daha tutarlı hâle getirebilir. Özellikle model, mobilya ve çevre öğelerinin farklı gruplarda tutulması, dosya hiyerarşisini takip etmeyi kolaylaştırabilir.

Bununla birlikte belgeler performans, donanım gereksinimi veya belirli bir Blender sürümü için uyumluluk garantisi vermiyor. Otomasyonu önce küçük bir örnekte denemek ve kullanılan çalışma ortamında doğrulamak önemli. Kaynak belgeler CC BY-SA 4.0 lisanslı; olası maliyetlere ilişkinse bilgi sunmuyor.

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

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