Kısaca
- Aktif kameraya `scene.camera` üzerinden erişip lens değerini değiştirebilirsiniz.
- Üçler kılavuzu, kamera verisindeki `show_composition_thirds` özelliğiyle açılabilir.
- Animasyon aralığı `frame_start` ve `frame_end` özellikleriyle belirlenir.
- Blender 5.0’dan itibaren `scene.use_nodes` özelliği kullanımdan kaldırılmıştır; kompozit oluşturma ayarı için `scene.render.use_compositing` kullanılmalıdır.
Bu rehberde ne öğreneceksiniz?
Blender’da mimari görselleştirme sahnesinin kamera ve zamanlama ayarlarını Python API üzerinden yönetmek, tekrarlanabilir bir çalışma düzeni kurmaya yardımcı olur. Bu rehberde aktif kamerayı bulmayı, odak uzaklığını değiştirmeyi, kadraj kılavuzunu açmayı ve animasyonun başlangıç-bitiş karelerini tanımlamayı ele alıyoruz. Son bölümde, daha kısa bir önizleme aralığı belirlemeyi ve sık karşılaşılan hataları kontrol etmeyi göreceksiniz.
Buradaki örnekler, Blender’ın güncel API belgelerinde açıklanan Scene ve Camera özelliklerine dayanıyor. Amaç, bütün render ayarlarını otomatikleştirmek değil; kamera kadrajı ve zaman aralığı gibi temel kararları sahne üzerinde kontrollü biçimde uygulamak.
Gereksinimler
Örnekleri Blender’ın Python API’sinin kullanılabildiği bir çalışma ortamında çalıştırın. Kodlarda Blender içindeki bpy modülünün ve aktif sahne bağlamının hazır olduğu varsayılır. Belgelere göre sahneye bpy.context.scene üzerinden erişilebilir; sahnenin aktif kamerası scene.camera özelliğinde tutulur.
Belgeler güncel API sayfalarıdır. Scene.use_nodes için ayrıca Blender 5.0’dan itibaren kullanımdan kaldırıldığı, kaldırılmasının 6.0 için planlandığı belirtiliyor. Bu rehber kompozit düğümlerini kurmadığından, kamera ve kare aralığı örneklerinde bu özelliğe ihtiyaç yoktur. Bir hesap gereksinimi kaynaklarda belirtilmiyor.
Kodları uygulamadan önce proje dosyasının bir kopyasını saklamak ve değerleri küçük bir test sahnesinde denemek iyi bir çalışma alışkanlığıdır. Bu, özellikle farklı kamera düzenleri veya animasyon aralıkları bulunan projelerde, mevcut sahne ayarlarının istenmeden değiştirilmesini önlemeye yardımcı olur.
1. Aktif kamerayı kontrol edin
Önce sahnede kullanılacak aktif kamera olup olmadığını kontrol edin. Scene.camera, render için kullanılan aktif kamerayı belirtir. Aşağıdaki kod, kamera varsa onun adını yazdırır; yoksa sahnenin aktif kamerası olmadığını bildirir. Bu kontrol, sonraki kodlarda kamera verisine erişmeden önce güvenli bir başlangıç sağlar.
scene = bpy.context.scene
camera = scene.camera
if camera is None:
print("Sahnede aktif kamera yok.")
else:
print("Aktif kamera:", camera.name)Bir kameranın sahnede bulunmasıyla aktif kamera olarak seçilmiş olması aynı şey değildir. Kod scene.camera üzerinden yalnızca etkin kameraya ulaşır. Kontrol sonucunda kamera yoksa lens ve kadraj ayarlarına geçmeden önce sahnede kullanılacak kamerayı belirleyin.
2. Lens değerini ve kadraj kılavuzunu ayarlayın
Kamera nesnesinin ayarları camera.data üzerinden erişilen kamera veri bloğunda tutulur. Perspektif kamera için lens, odak uzaklığını milimetre cinsinden ifade eder. Belgelenen varsayılan değer 50,0 mm’dir; bu örnekte değer 35,0 mm olarak ayarlanıyor. Bu, API üzerinden sayısal bir ayar değişikliğidir; sahnenin belirli bir mimari sonuca ulaşacağını garanti etmez. Görüntüyü kontrol ederek uygun değeri seçin.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.lens = 35.0Kamera görünümünde üçler kılavuzunu kullanmak için aynı veri bloğundaki show_composition_thirds özelliğini açabilirsiniz. Kılavuz, kadraj içindeki öğelerin yerleşimini değerlendirirken yardımcı olur; geometriyi veya kamera konumunu kendiliğinden değiştirmez.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.show_composition_thirds = TrueKılavuz görünmüyorsa kamera görünümünde olup olmadığınızı ve aktif kamerayı kontrol edin. Bu özellik, API’de kameranın kompozisyon kılavuzlarını görüntüleme ayarları arasında yer alır. Belgelerde ayrıca merkez, altın oran ve başka kompozisyon kılavuzları da listelenir; burada örnek, mimari kadraj değerlendirmesi için üçler kılavuzuyla sınırlı tutuluyor.
3. Animasyonun kare aralığını belirleyin
Bir sahnenin oynatma ve render aralığının başlangıç ve bitiş noktaları frame_start ile frame_end özellikleriyle belirlenir. Aşağıdaki örnek aralığı 1. kareden 120. kareye ayarlar ve sahnenin geçerli karesini başlangıç karesine taşır. Değerler örnektir; kendi animasyonunuzun uzunluğuna göre değiştirin.
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = 120
scene.frame_set(scene.frame_start)frame_set() geçerli kareyi ayarlarken nesneleri ve görünüm katmanlarını da günceller. Bu nedenle yalnızca kare numarasını bir değişkende tutmak yerine sahnenin kare ayarını güncellemek için bu yöntemi kullanabilirsiniz. API belgeleri, frame_set() yönteminin alt kare değeri de alabileceğini belirtiyor; bu rehberde temel tam kare kullanımıyla yetiniyoruz.
Önizleme için ana aralıktan ayrı bir başlangıç ve bitiş aralığı tanımlamak da mümkün. use_preview_range özelliği alternatif aralığın kullanılıp kullanılmayacağını, frame_preview_start ve frame_preview_end ise sınırları belirler.
scene = bpy.context.scene
scene.use_preview_range = True
scene.frame_preview_start = 20
scene.frame_preview_end = 40Bu örnekte önizleme aralığı 20–40. kareler arasındadır. API açıklamasına göre alternatif aralık, animasyon oynatımı ve görünüm render’ları için kullanılabilir. Ana animasyon aralığını değiştirmek istemediğinizde bu ayrım işinize yarayabilir. Önizleme ayarının beklediğiniz kapsamda çalıştığını sahnede kontrol edin.
Sık yapılan hatalar
Aktif kamera olmadığını gözden kaçırmak:
scene.cameraboşsa kamera veri bloğuna erişemezsiniz. Önce ilk örnekteki kontrolü çalıştırın.Ayarı yanlış nesnede aramak: Lens ve kamera kompozisyon kılavuzu, kamera nesnesinin
databölümündedir. Kare aralığı ise sahne özellikleridir.Önizleme aralığını ana aralık sanmak:
frame_preview_startveframe_preview_end, anaframe_startveframe_enddeğerlerinden ayrıdır. Alternatif aralığı etkinleştirenuse_preview_rangeayarını da kontrol edin.Eski kompozit ayarını kullanmak: Belgeler
Scene.use_nodesözelliğinin Blender 5.0’dan itibaren kullanımdan kaldırıldığını, ayarlamanın etkisiz olduğunu ve 6.0’da kaldırılmasının planlandığını söylüyor. Kompozit oluşturmayı açıp kapatmak içinscene.render.use_compositingözelliğine yönelin.Örnek değerleri projeye aynen taşımak: 35 mm veya 120 kare, her sahne için doğru tercih değildir. Kadrajı ve animasyon süresini proje gereksinimine göre değerlendirin.
Mimarlık ve görselleştirme iş akışında sonraki adımlar
Bu yöntem, aynı sahnede farklı kadraj ve zamanlama ayarlarını tekrar uygulayan görselleştirme ekiplerine ve kamera düzenini öğrenen öğrencilere yarar sağlayabilir. Örneğin sabit bir sahne aralığına dönmek veya kompozisyon kılavuzunu tekrar açmak için bu kısa kod parçaları temel oluşturur. Ancak bu örnekler render hızını artırmaz ve belirli donanım gereksinimleri hakkında bilgi vermez. Büyük projelerde değişiklikleri önce kullanılan iş istasyonunda ve proje kopyasında deneyin.
Sonraki adım olarak, tek tek kod parçalarını kendi sahnenizde uygulayıp kamera kadrajını ve kare aralığını doğrulayın. Daha sonra aynı ayarları ekip içinde paylaşılabilir bir iş akışına dönüştürmek istenirse Blender API’nin ilgili nesne ve özelliklerini inceleyin. Kompozit ayarlarını değiştirmek gerekiyorsa güncel API’deki scene.render.use_compositing özelliğini kullanın; eski scene.use_nodes özelliğine dayalı yeni kod yazmayın.
Kaynak ve lisans
Bu rehber, Blender’ın Scene ve Camera API belgelerindeki özellikler temel alınarak uyarlanmıştır. Her iki kaynak da CC BY-SA 4.0 lisansıyla sunulmuştur: bpy.types.Scene ve bpy.types.Camera. Kod örnekleri, belgelerde açıklanan API adlarından yararlanılarak bu rehber için yazılmıştır.
Sık sorulan sorular
Blender Python API ile aktif kameraya nasıl erişilir?
`bpy.context.scene` ile aktif sahneye, ardından `scene.camera` ile sahnenin aktif kamerasına erişilir. Kamera yoksa `scene.camera` değeri boş olabilir.
Blender’da kamera lens değeri Python ile nasıl değiştirilir?
Aktif kameranın veri bloğundaki `camera.data.lens` özelliği ayarlanabilir. Bu özellik perspektif kameranın odak uzaklığını milimetre cinsinden belirtir.
Blender 5.0’da `Scene.use_nodes` kullanılmalı mı?
Güncel API belgeleri bu özelliğin Blender 5.0’dan itibaren kullanımdan kaldırıldığını ve ayarlanmasının etkisiz olduğunu belirtiyor. Kompozit oluşturmayı açıp kapatmak için `scene.render.use_compositing` öneriliyor.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
Blender API üzerinden kamera ve zamanlama ayarlarını düzenlemek, özellikle aynı sahne düzenini farklı teslimlerde tekrarlayan ofisler için pratik bir başlangıç. Kod parçaları kısa ve sahne özellikleriyle sınırlı; bu nedenle karmaşık bir otomasyon sistemi kurmadan önce küçük, ölçülebilir adımlarla ilerlemeyi mümkün kılıyor.
Türkiye’deki öğrenciler ve görselleştirme ekipleri açısından asıl dikkat noktası, örnek değerleri hazır reçete gibi kullanmamak. Rehber donanım performansı veya lisans maliyeti hakkında bilgi vermiyor; değişiklikleri mevcut iş istasyonunda test etmek ve proje dosyalarının kendi lisans koşullarını ayrıca değerlendirmek gerekiyor.



Yorumlar 0