2013-02-28 61 views
6

我想要顯示一些科學數據,這些數據目前只是一些具有不同顏色和大小的球體的動畫。在混合器外部運行Blender python腳本

我已經在Mathematica中創建了一個爲POV-Ray創建輸入的腳本。

我的問題是,我是不滿意的POV-Ray的結果的質量和想寫一個Python腳本,它可以設置相應的攪拌機場景,使它們。一個重要的限制是,我想在無頭機器上渲染,所以我不能使用Blender的內部控制檯。

我的問題:是否可以從外部控制檯使用Blender的api來獲取POV-Ray類行爲?


讀喬治Profenza的回答後,我做了進一步的研究和Blender的文檔中找到Don’t Use Blender!

與我的想法相反,必須創建一個python腳本,由後臺模式下的攪拌器執行。

./blender --background --python myscript.py 

回答

4

至於我記得你無需打開界面/窗口系統,我希望適合你的設置運行命令行攪拌機。 不僅可以告訴Blender呈現文檔,還可以運行生成該文檔的腳本/用幾何圖形,燈光等填充場景。

或者,您可以直接爲渲染器生成內容(並跳過一個3D編輯器/攪拌器完全)。有相當多的免費渲染出有像:

  1. Yafaray
  2. Sunflow
  3. Mitsuba
  4. LuxRender
  5. Pixie

yafaray

YAFARAY

sunflow

SUNFLOW

的LuxRender LUX

精靈

PIXIE

+0

我知道這是一箇舊的線程,但是您是否有直接生成內容的建議?現在我正在嘗試cgkit(一個生成RenderMan文件的python庫),但想知道是否有更好的方法。謝謝 – sheridp 2014-05-26 20:03:04

+0

您是否在談論創建生成模型?如果是這樣,應該使用[Blender Python API](http://www.blender.org/documentation/blender_python_api_2_70_5/bpy.ops.mesh.html)將頂點添加到面/網格物體和/或修改這些網格。不知道cgkit,謝謝你的提高,看起來很有趣。快速查看文檔,您可以使用cgkit生成自定義[三角網格](http://cgkit.sourceforge.net/doc2/trimesh.html)。很難說你的方案中有什麼更好的方法... – 2014-05-27 10:34:37

+0

...你可以同時使用cgkit和Blender來生成網格。 Blender中有更多的修飾符和工具,但最終我會選擇最簡單的解決方案(不一定是功能最豐富的解決方案):什麼產生你想要的輸出最簡單,並且仍然支持你需要的輸入生成幾何我假設)。 HTH – 2014-05-27 10:36:46

5

有兩種選擇,

  • 第一,你所遇到的是它在後臺模式下運行攪拌機,
  • 第二,這是非常實驗,使用攪拌機作爲一個Python模塊 - BlenderAsPyModule

在這兩種情況下,這應該是一個簡單的操作來導入Mathematica場景 - bpy.ops.import_scene.* 然後渲染場景bpy.ops.render.render

+0

我會留下第一個選項。但是,感謝您指出'import_scene'運算符。這可能會非常有幫助。 – Stefan 2013-02-28 18:12:18