2013-02-20 152 views
18

我想通過python腳本在攪拌機中渲染和保存多個圖像。我知道如何通過Blender GUI渲染和保存圖像,但我想通過我的腳本完成,因爲我正在使用一組嵌套循環並需要保存多個圖像。我能夠渲染圖像,我猜想保存輸出成功的圖像。但我不知道它保存在哪裏,當我嘗試編輯文件路徑時,它會給我上下文錯誤的錯誤。通過Blender渲染和保存圖像python

回答

7

是這樣的:

import bpy 

bpy.context.scene.render.filepath = 'pathToOutputImage' 
bpy.context.scene.render.resolution_x = w #perhaps set resolution in code 
bpy.context.scene.render.resolution_y = h 
bpy.ops.render.render() 
+5

沒有'write_still = True'作爲'render()'函數的參數blender在我的情況下沒有創建圖像。 – tobltobs 2015-11-18 21:06:07

20

這裏就是我在Blender 2.63所做的:

bpy.data.scenes['Scene'].render.filepath = '/home/user/Documents/image.jpg' 
bpy.ops.render.render(write_still=True) 

我在做什麼是創建一個VR全景(一系列它周圍的物體拍攝)。和我一起算法結束:

  1. 創建或加載你要採取的
  2. 規模它的鏡頭,並執行一些不錯的照明對象;檢查燈光與渲染場景(使用F12鍵)
  3. 創建Empty節點並設置它的位置和旋轉,以身份(位置:0, 0, 0,旋轉:0, 0, 0
  4. 設置相機欣賞到起始位置(再次檢查它與渲染)
  5. 運行腳本!

您將在/home/user/VR目錄內以您的物體周圍的step_count拍攝結束。

cam = bpy.data.objects['Camera'] 
origin = bpy.data.objects['Empty'] 

step_count = 32 

for step in range(0, step_count): 
    origin.rotation_euler[2] = radians(step * (360.0/step_count)) 

    bpy.data.scenes["Scene"].render.filepath = '/home/user/VR/vr_shot_%d.jpg' % step 
    bpy.ops.render.render(write_still=True) 
+0

想知道爲什麼'write_still = True'非常重要,以至於沒有保存圖像就沒有保存。 – 2016-11-17 05:26:34

+1

@SibbsGambling我認爲這是因爲Blender還有一個選項來呈現預覽圖像(很像當你按下F12時)。所以實際上將渲染保存爲靜止圖像是有些可選的。 – 2016-11-18 03:45:37