使用Blender建立精彩非凡的做品,你能夠是三維圖形、創意設計的專家,但沒必要要成爲軟件開發的專家。python
Blender具備強大的插件擴展功能,不只能夠加載大量的各類功能、效率加強插件,並且稍微懂點python的也能夠開發插件。先說說怎麼用插件吧。shell
進入文件-用戶偏好設置,在對話框中選擇"Addon",而後能夠設置本身須要的插件。 或者,ctrl+alt+u,快速進入設置對話框。
Blender的插件機制所有采用Python實現,最新的2.73a版本集成了Python3.4.2的引擎。編輯器
注意:Blender的腳本print("hello")函數是輸出信息到啓動的控制檯的,直接運行的時候看不到輸出的信息。
函數
可是,爲了保持相對獨立的運行環境,這個版本與操做系統的python是不一樣的,是在Blender的上下文環境運行的。所以,在操做系統安裝的庫,在這裏是用不了的,有的庫能夠在Blender安裝運行,但有的庫是不行的。但這並無太大的妨礙,由於Blender裏面的庫已經足夠強大了。
spa
Blender運行、編輯Python的腳本有幾種方式:操作系統
啓動時運行: blender --python /home/me/my_script.py 命令行運行: 拖動3D視圖的右上角,向左下,擴展出一個窗口。 選擇左下角的立方體,選擇Python控制檯,而後就能夠輸入Python腳本了。 編輯器運行: 跟命令行相似,先擴展出一個窗口。 選擇左下角的立方體,選擇文本編輯器,而後選擇新建,就能夠輸入Python腳本了。 再選擇運行腳本便可,也能夠將輸入的內容保存起來。 外部編輯器: 使用任何的編輯器,如Sublime、記事本等編輯腳本,編輯腳本。 而後複製到文本編輯器、或打開文件、或直接複製到命令行窗口便可。 能夠把Blender掛到一個調試器上,而後從python的IDE中就能夠直接Debug進去,這個之後再說。
下面咱們再看一下Blender的腳本結構。插件
進入目錄,看一下scripts目錄下的東西,一切全明白了。 Blender不只使用Python來擴展插件,連本身的不少參數設置也都是用的一樣的機制實現的。 若是搞明白了這個參數,就能夠容易地定製本身的工做臺了。 好比,scripts/starup下存放了Blender的啓動執行過程和參數。
閒話少說了,立刻開發一個本身的插件。命令行
import bpy class HelloWorldPanel(bpy.types.Panel): """Creates a Panel in the Object properties window""" bl_label = "Hello World Panel" bl_idname = "OBJECT_PT_hello" bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object" def draw(self, context): layout = self.layout obj = context.object row = layout.row() row.label(text="Hello world!", icon='WORLD_DATA') row = layout.row() row.label(text="Active object is: " + obj.name) row = layout.row() row.prop(obj, "name") row = layout.row() row.operator("mesh.primitive_cube_add") def register(): bpy.utils.register_class(HelloWorldPanel) def unregister(): bpy.utils.unregister_class(HelloWorldPanel) if __name__ == "__main__": register()
把上面的代碼複製到Blender的文本編輯器中,點擊「運行腳本」便可。設計
怎麼?沒有反應?不會吧?調試
鼠標右鍵選中缺省窗口的立方體對象(物體模式),到對象的屬性面板,該面板的標題欄的第五個圖標「立方體」選中,而後滾動顯示到最下方,應該就能夠看見了。
終於體會到Blender的任性了吧?不要拍我啊!這是用的Blender的官方例子,之後我再弄個簡單的。
要想用Blender開發個插件,知道點這些皮毛是不夠的。
後續,咱們首先要對Blender的對象體系進行探索。