Translate this Website to:

星期一, 7月 01, 2013

My First Blender Python Script 2 : 根據著色引擎來使用或停用所有的材質節點

我們可以修改前一段程式碼,讓程式根據目前使用的著色引擎來使用或停用所有的材質節點。以下的程式碼中,# 表示說明(comment)符號,代表以後的文字不會被當作程式執行。在所有的程式語言中,說明(或註解)都是很重要的部份,這能幫助讀/寫程式的人用熟悉的語言快速瞭解程式的內容。

import bpy

# 下一行取得目前所在場景名稱,存在 currentScene 這個變數裡。
currentScene = bpy.context.scene.name
# 下一行取得目前場景所使用的著色引擎,存在 renderer 這個變數裡。
renderer = bpy.data.scenes[currentScene].render.engine

# 利用 if 敘述來判斷是否使用材質節點,renderer == "CYCLES"是判斷式,
# 意思是如果著色引擎是 Cycles 的話,就執行下方縮排的程式碼:所有材質使用節點。
if renderer == "CYCLES":
    for material in bpy.data.materials:
         material.use_nodes = True
# 如果不是就跳過,執行 else 下方縮排的程式碼:所有材質不使用節點。
else:
    for material in bpy.data.materials:
         material.use_nodes = False

data 模組能存取 blend 檔案內所有的物件或場景,因此若要存取 data 模組內的特定物件,就必須特別指定,我們可以用物件名稱來達到這個目的。第 4 行我們利用 bpy 裡的 context 模組來取得目前場景的名稱,用 currentScene 變數紀錄。接著在第 6 行 bpy.data.scenes[currentScene].render.engine 的中括號裡指定我們要存取的場景,以取得目前場景所使用的著色引擎。

Python

Blender 學習筆記

0 意見 Comments:

張貼留言

Related Posts Plugin for WordPress, Blogger...