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.
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:
collection.hide_viewport = True
collection.hide_render = FalseBu ö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:
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:
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:
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_viewportilehide_renderfarklı özelliklerdir. İstenen görünürlüğü her iki yerde de doğrulayın.Alt koleksiyonları gözden kaçırmak:
objectsdoğrudan üyeleri gösterir; alt koleksiyonları da hesaba katmak içinall_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.openglaktif 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.
Sık sorulan sorular
Blender’da koleksiyonun render’da görünmesini nasıl kapatırım?
Koleksiyonun `hide_render` özelliğini etkinleştirin. `hide_viewport` görünüm alanındaki görünürlüğü ayrı olarak yönetir.
Blender Python API ile aktif görünümün görüntüsü alınabilir mi?
Evet. API belgelerinde `bpy.ops.render.opengl` aktif görünüm alanının görüntüsünü alan operatör olarak tanımlanır. `write_still` seçeneği animasyon devre dışıyken görüntüyü çıktı yoluna kaydedebilir.
Blender koleksiyonlarında Line Art için hangi seçenekler var?
`INCLUDE`, `OCCLUSION_ONLY`, `EXCLUDE`, `INTERSECTION_ONLY`, `NO_INTERSECTION` ve `FORCE_INTERSECTION` modları belgelenmiştir.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
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.




Yorumlar 0