İçeriğe atla
Son haberler
Adventure Play Student Design Challenge, düşük maliyetli oyun alanları arıyorBlender Python API ile koleksiyonları düzenleme ve render alma rehberiMugak/ 2027 açık çağrısı kültürel projeler için 150 bin avroluk bütçe sunuyorBlender 5.3, 3D Gaussian splatları içe aktarıp render edebiliyorBlender’da PLY ve Alembic dosyaları nasıl içe ve dışa aktarılır?Rhino 8’de kesit ve 2D çizim hazırlama: ClippingSections rehberiSANAA 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 rehberi
EğitimlerBlenderPython

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

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.

Düzenli model gruplarını çağrıştıran çağdaş bir iç mekân ve mimari maketAI görsel
Temsilî görsel; yapay zekâ ile üretildi.Görsel: 3dsınıfı / FCA AI
KaydetPaylaş0

Kısaca

  1. Collection yapısı, nesneleri ve alt koleksiyonları bir arada düzenlemek için kullanılabilir.
  2. Koleksiyonun görünüm alanındaki ve render’daki görünürlüğü ayrı özelliklerle yönetilir.
  3. Line Art için dâhil etme, dışlama ve kesişim davranışlarını belirleyen koleksiyon seçenekleri belgelenmiştir.
  4. 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.

    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 kaynak
    D(
    docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Collection.html
    Özet
    D(
    docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.ops.render.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 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.

    Bu habere tepkin ne?

    Yorumlar 0

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

    İlgili haberler