Skip to main content
Blender 4.x'de Birden Fazla Kameradan Render Almak

Blender 4.x'de Birden Fazla Kameradan Render Almak

BySuperRenders Farm Team
Published 22 Mar 20268 min read
Blender'da çok kameradan render alma — sahne temelli yaklaşım, Python batch betikleri ve render farm için kompositer kurulumu.

Neden Aynı Anda Birden Fazla Kameradan Render Alınır?

Profesyonel iş akışlarında, %5+ görüş açısı ile mimari geçişler, ön/yan/üst görünümleri içeren ürün görselleştirmesi veya sabit kameralar ve alternatif açılarla VFX çekimleri gibi birden fazla kamera açısından render almaya sık ihtiyaç duyarsınız. Her kamerayı ayrı ayrı renderlemek sıkıcı ve zaman kaybedici bir işlemdir. Blender 4.x, birden fazla kamerayı tek bir toplu işlemde renderlemek için birkaç yöntem sunarak zaman tasarrufu sağlar ve render farm'a etkili gönderim imkanı sunar.

Günde yüzlerce çok kameradan render işi yönetiyoruz. Bu kılavuzdaki teknikler hız için optimize edilmiş olup Super Renders Farm gibi bulut render farm'ları tarafından yerel olarak desteklenmektedir. İster yerel olarak çalışıyor ister farm'a gönderiliyor olun, bu yaklaşımlar çok kameradan render iş akışınızı basitleştirecektir.

Yöntem 1: Sahne Temelli Çok Kameradan Render Alma

En basit ve farm dostu yöntem, her kamera için ayrı sahneler oluşturmaktır. Her sahne aynı geometri ve malzemeleri paylaşır ancak farklı bir etkin kameraya sahiptir. Daha sonra bir Python betiği kullanarak tüm sahneleri sırayla renderlersiniz.

Kurulum:

  1. Ana sahnede (ör., Scene), tüm kameralarınızı ayarlayın. Bunları ihtiyacınız olan her yere konumlandırın.
  2. Görünüm penceresinin sağ üst köşesinde, Scene seçiciyi (Sahne'yi gösteren açılır menü) bulun.
  3. Yeni bir sahne oluşturmak için yanındaki + simgesine tıklayın.
  4. İstendiğinde Link Objects seçeneğini seçin (bu, nesnelerin kendilerini değil, nesne referanslarını kopyalar — düzenlemeler tüm sahnelerde uygulanır).
  5. Her kamera için tekrarlayın (%5 kameranız varsa %5 sahne oluşturun: Scene, Scene.001, Scene.002, vb.).
  6. Her yeni sahnede, Scene Properties > Camera kısmına gidip ana sahnenizdeki ilgili kameraya ayarlayın.

Örnek:

  • Scene: Etkin kamera = Camera_Front
  • Scene.001: Etkin kamera = Camera_Side
  • Scene.002: Etkin kamera = Camera_Top
  • Scene.003: Etkin kamera = Camera_Iso

Tüm sahneler aynı nesneleri paylaştığından, malzeme veya geometri değişiklikleri her yerde uygulanır. Yalnızca etkin kamera farklılık gösterir.

Tüm Sahneleri Renderlemek:

Python konsolundan tüm sahneleri sırayla renderleyebilirsiniz:

import bpy

scenes = bpy.data.scenes
output_folder = "/path/to/output/"

for scene in scenes:
    bpy.context.window.scene = scene
    bpy.context.scene.render.filepath = f"{output_folder}{scene.name}_render.png"
    bpy.ops.render.render(write_still=True)
    print(f"Rendered {scene.name}")

/path/to/output/ kısmını gerçek çıktı dizininizle değiştirin. Bu betik tüm sahneler arasında döngü yapar, her birini etkin hale getirir ve benzersiz bir adlandırılmış dosyaya renderler.

Farm İçin:

Super Renders Farm'a gönderirken, bu Python betiğini ekleyin ve ön render betiği olarak belirtin. Farm bunu otomatik olarak çalıştıracak, tüm sahneleri manuel müdahale olmadan renderleyecektir.

Yöntem 2: İşaretçi Temelli Kamera Bağlantısı

Daha karmaşık iş akışları için, belirli kameraları çerçevelere veya render pass'lerine bağlamak amacıyla kamera işaretçilerini kullanın. Bu yöntem, farklı çerçeve aralıkları için farklı kameralar istiyorsanız faydalıdır.

Kurulum:

  1. Timeline Editor'da bir çerçeveye sağ tıklayın ve Add Marker seçeneğini seçin.
  2. İşaretçiyi tanımlayıcı bir şekilde adlandırın (ör., Camera_Wide_Start).
  3. Önemli çerçeve numaralarında ek işaretçiler oluşturun (ör., %100 çerçevede Camera_Close_Start).
  4. Her işaretçi için, Marker Properties'i açın ve buna bir kamera ekleyin.

İşaretçi temelli bağlantı, sahne temelli olanından daha karmaşık olup genellikle kamera kesmeleri belirli çerçevelerde gerçekleşen hareket grafiği veya animasyonlu diziler için kullanılır.

İşaretçi Bağlantısı İçin Python Betiği:

import bpy

def render_with_markers():
    scene = bpy.context.scene
    markers = scene.timeline_markers
    output_folder = "/path/to/output/"
    
    for i, marker in enumerate(markers):
        if hasattr(marker, 'camera'):
            scene.camera = marker.camera
            frame_start = marker.frame
            frame_end = markers[i + 1].frame if i + 1 < len(markers) else scene.frame_end
            
            for frame in range(frame_start, frame_end):
                scene.frame_set(frame)
                scene.render.filepath = f"{output_folder}frame_{frame:04d}.png"
                bpy.ops.render.render(write_still=True)
                print(f"Rendered frame {frame} with {scene.camera.name}")

render_with_markers()

Bu yaklaşım, tek çerçeve render'lar için daha az yaygın olup animasyonlu diziler için daha faydalıdır. Çoğu çok kameradan render işi için, Yöntem 1 (sahneler) daha basittir.

Yöntem 3: Python Betiğiyle Toplu Renderlemeler

Maksimum kontrol için, her kamera için kameraları, çıktı yollarını ve render ayarlarını açıkça tanımlayan bir Python betiği yazın.

Örnek Betik:

import bpy
import os

output_base = "/path/to/output"
cameras_config = [
    {"name": "Camera_Front", "file": "front_view.png"},
    {"name": "Camera_Side", "file": "side_view.png"},
    {"name": "Camera_Top", "file": "top_view.png"},
    {"name": "Camera_Iso", "file": "isometric_view.png"},
]

scene = bpy.context.scene

for cam_config in cameras_config:
    camera_name = cam_config["name"]
    output_file = os.path.join(output_base, cam_config["file"])
    
    scene.camera = bpy.data.objects[camera_name]
    scene.render.filepath = output_file
    scene.render.image_settings.file_format = 'PNG'
    scene.render.image_settings.compression = 90
    
    bpy.ops.render.render(write_still=True)
    print(f"Rendered {camera_name} -> {output_file}")

print("All cameras rendered successfully!")

Bu betik açık ve değiştirilmesi kolaydır. Her kamera girişine yapılandırma ekleyerek kamera başına render ayarlarını (çözünürlük, örnekler, denoiser ayarları) ayarlayabilirsiniz.

Gelişmiş: Kamera Başına Ayarlar:

cameras_config = [
    {
        "name": "Camera_Front",
        "file": "front_view.png",
        "samples": 256,
        "denoiser": True,
        "resolution": (1920, 1080)
    },
    {
        "name": "Camera_Close",
        "file": "close_view.png",
        "samples": 512,
        "denoiser": True,
        "resolution": (4096, 2304)
    },
]

for cam_config in cameras_config:
    scene.camera = bpy.data.objects[cam_config["name"]]
    scene.render.filepath = os.path.join(output_base, cam_config["file"])
    scene.render.resolution_x = cam_config["resolution"][0]
    scene.render.resolution_y = cam_config["resolution"][1]
    scene.cycles.samples = cam_config["samples"]
    scene.cycles.use_denoising = cam_config["denoiser"]
    
    bpy.ops.render.render(write_still=True)

Bu, her kameranın farklı çözünürlüklerde veya örnek sayılarında renderlenebilmesini sağlayarak birden fazla açıda render zamanlarının optimize edilmesine yardımcı olur.

Yöntem 4: Çok Kameradan Çıktı İçin Kompositer Düğüm Kurulumu

Daha sofistike boru hatları için, tekli bir render pass'te kameralar arasında birleştirmek veya geçiş yapmak amacıyla Kompositer'i kullanın.

Kurulum:

  1. Compositor editörünü açın (Shift+F11 veya Window > Toggle Compositor).
  2. Use Nodes seçeneğini etkinleştirin (sağ üst köşedeki onay kutusu).
  3. Kompositer'de, render'ları kameraya göre yalıtmak için Cryptomatte düğümü veya ID Mask düğümü ekleyin.
  4. Alternatif olarak, önceden renderlenmiş kamera çıktıları arasında otomatik olarak geçiş yapmak için çerçeve numarası sürücüleriyle Switch Nodes kullanın.

Örnek: Çok Kameradan Dizi İçin Kompositer Switch:

  1. Her kamerayı ayrı ayrı bir çerçeve dizisine renderleyin.
  2. Her diziyi kompositer'e Image Sequence düğümleri olarak aktarın.
  3. Geçerli çerçeveye göre hangi kameranın çerçevelerini çıkartacağını seçmek için çerçeve numarası sürücülü bir Switch düğümü veya Mix düğümü kullanın.
  4. Bu, tek bir komposit görevinin farklı çerçeve aralıklarında farklı kameralar çıkarmasını sağlayarak yeniden renderlemeden.

Kompositer yöntemi gelişmiş olup genellikle efektler işi için veya birden fazla render'ı tek bir çıktıya birleştirirken kullanılır. Doğrudan çok kameradan stiller veya diziler için, Yöntemler 1-3 daha pratiktir.

Yöntem 5: Çok Kameradan Farm Toplu Gönderimi

Super Renders Farm'a gönderirken, tüm kameraları paralel olarak renderlemek için farm'ın çok render kapasitesini kullanın.

Hazırlık:

  1. Her sahnin benzersiz ve tanımlayıcı bir ada sahip olduğundan emin olun (ör., Front_View, Side_View).
  2. Her sahnin doğru etkin kameraya sahip olduğunu doğrulayın.
  3. Blender dosyanızı dışa aktarın.

Gönderim:

  1. .blend dosyanızı farm'ın gönderim portalına yükleyin.
  2. Render Settings'de, Render All Scenes (veya eşdeğer seçenek) seçeneğini seçin.
  3. Çıktı biçimini ve dizinini belirtin.
  4. Render düğümü sayısını ayarlayın. Farm, sahneleri kullanılabilir düğümler arasında dağıtacak ve birden fazla kamerayı paralel olarak renderleyecektir.

Örnek Farm Gönderimi:

  • Scene 1 → Node 1 (Camera Front) → Çıktı: front_view_001.png
  • Scene 2 → Node 2 (Camera Side) → Çıktı: side_view_001.png
  • Scene 3 → Node 3 (Camera Top) → Çıktı: top_view_001.png

%10 sahnin ve farm'ın %10+ düğümün mevcut olduğu durumlarda, tüm kameralar aynı anda renderlenecektir. Bu, yerel sıralı renderlemeden önemli ölçüde daha hızlıdır.

Çok Kameradan Renderlemeler İçin Önerilen İş Akışları

Tutarlı Dosya Adlandırması Kullanın:

Render çıktıları açıkça etiketlenmelidir:

project_name_camera_front_001.exr
project_name_camera_side_001.exr
project_name_camera_top_001.exr

Sahneleri Mantıksal Olarak Organize Edin:

Sahneleri kamera açılarından sonra adlandırın: Front_View, Side_View, Top_View, Isometric, Detail_Close. Scene.001 veya RenderScene_v2 gibi genel adlardan kaçının.

Kamera Başına Çözünürlüğü Optimize Edin:

Farm'a renderlemiyorsanız, her kameraı farklı çözünürlüklerde renderleyebilirsiniz. Geniş çekimler %1920x1080 olabilir, detail çekimleri ise %4096x2304 olabilir.

Esnek Kompozitleme İçin Cryptomatte veya AOV'ları Kullanın:

Beauty render'ınız ile birlikte Cryptomatte pass'lerini renderleyin. Bu, nesneleri yeniden renderlemeden post-prodüksiyonda ID'ye göre yalıtmanıza olanak tanır.

FAQ

Will rendering multiple cameras increase my render time significantly?

Hayır, paralel düğümlere sahip bir farm'a gönderiyorsanız. Yerel olarak sırayla renderlemiyorsanız, evet — N kamera için kabaca N kadar daha fazla zaman alır. Farm, sahneleri düğümler arasında dağıtarak bunu hafifletir.

Can I render multiple cameras at different frame ranges?

Evet, işaretçi temelli bağlantı (Yöntem 2) veya kompositer kullanılarak. Örneğin, %1-50 çerçeveleri Camera A'dan, %51-100 çerçeveleri Camera B'den renderlenecektir.

Do all scenes need to share the same materials and objects?

Sahne temelli yöntem için evet. Geometri ve malzemeleri paylaşmak için sahneler oluştururken "Link Objects" seçeneğini kullanın.

What output format should I use for multi-camera renders?

Profesyonel işler için EXR kullanın (renk derinliğini ve AOV'ları korur) veya web/önizleme için PNG kullanın.

Can I render multiple cameras with motion blur or depth of field?

Evet. Motion blur render başına uygulanır, bu nedenle her kamera renderlemesi etkinleştirilmişse kendi motion blur'ını içerir. Depth of field kameraya özgüdür.

How do I handle camera animations (moving camera) across multiple cameras?

Kameralar animasyonlandırılmışsa, her sahne ilgili kamerasının animasyonunu renderleyecektir. Diğer sahneler kendi kamera animasyonlarını bağımsız olarak renderleyecektir.

Related Articles

Blender'da rendering optimizasyonu hakkında daha fazla bilgi için, cloud render farm setup üzerindeki kapsamlı kılavuzumuza bakın. Ayrıca common rendering problems guide kılavuzunda rendering çözümleri ele almaktayız.

Bulut gönderimi için, desteklenen özellikler, Super Renders Farm'da toplu rendering ve optimizasyon ipuçları hakkında bilgi almak için Blender cloud render farm guide kılavuzumuzu keşfedin.

Additional Resources