Translate this Website to:

星期六, 6月 29, 2013

My First Blender Python Script 1 : 使用或停用所有的材質節點

到 2.67 版為止,在切換 BI 和 Cycles 著色引擎時,Blender 還是無法自動使用或停用材質節點,需要使用者一個個的手動調整,當場景裡的材質很多時,實在是非常不方便。於是我就想寫一個 Script 來解決。

Blender 的 script 採用 Python 語言,如果從來沒有程式寫作經驗的網友,可以先看 Brad Miller 和 David Ranum 寫的入門教學:How to Think like a Computer Scientist,了解寫程式是怎麼一回事及 Python 的基本語法。

接著可以參考 Blender Cookie 的教學,來了解如何在 Blender 中編寫 script:
在 Blender 的 Text Editor 視窗裡新增一筆文字資料,輸入以下的程式碼:

import bpy

for material in bpy.data.materials:
    material.use_nodes = True

第 1 行是載入名為 bpy 的 Blender Python 應用程式界面(API)。有了這個界面我們才能存取 Blender 場景裡的物件資料。

第 3 行是一個 for 敘述(statement)。for 能夠逐一的處理我們指定的資料範圍裡的所有資料。末尾的冒號千萬不能漏掉,且第 4 行一定要縮排,這樣 Python 才知道第 4 行是 for 敘述的一部分。

bpy 包含許多模組(module),其中的 data 模組能讓我們取得目前開啟的 blender 檔案內的各種資料,如網面物件(meshes)、材質(materials)等。要使用 bpy 內的某個模組如 data,就用句點(.)來連接。bpy.data.materials 代表的是場景裡所有的材質。material 是我們宣告的一個變數,用來儲存每次取得的材質。

第 4 行用來啟用材質的 Use Nodes 選項,也就是把材質的 use_nodes 屬性設為 True (真)。如果要停用材質的 Use Nodes 選項,把材質的 use_nodes 屬性設為 False (假)即可。

按 Text Editor 視窗標題列的 Run Script 按鈕,看看材質材質的 Use Nodes 選項啟用(或停用)了沒?

References:
Python

Blender 學習筆記

0 意見 Comments:

張貼留言

Related Posts Plugin for WordPress, Blogger...