もどくんちゃんねる ガジェット部

自転車、ガジェット、映像制作、CG、Blender など

画像テクスチャノードにアクセスし、画像を書き換える方法【Blender,Pythonスクリプト】

画像テクスチャノードにアクセスし、画像を書き換える方法を紹介します。

具体的には下の画像のノードにアクセスし、これを書き換える方法です。

 

コードを動かすときは、オブジェクトをオブジェクトモードで選択状態にしておきましょう。

以下がコードです。



import bpy

# 現在選択しているオブジェクト(アクティブオブジェクト)にアクセス
mat = bpy.context.object.active_material
# 
nodes = mat.node_tree.nodes


# アクティブオブジェクトの画像テクスチャノードを取得
node_tex = nodes.get("Image Texture")

# 画像テクスチャノードを書き換え
node_tex.image = bpy.data.images.load("任意のファイルパス")

#現在アクティブオブジェクトが持っているノードを出力
for n in nodes:
    print(n)

 

ここで、

# アクティブオブジェクトの画像テクスチャノードを取得
node_tex = nodes.get("Image Texture")
 
この部分について、ファイルの名前は、
下の画像のように画像テクスチャノードに書かれている名前ではなく、
 
#現在アクティブオブジェクトが持っているノードを出力
for n in nodes:
    print(n)
 
を動かした時にコンソールに出てくるSharderNodeTexImageの名前を使ってください。

 

何か不明点ありましたらコメントどうぞ

 

関連記事

deziowata.hateblo.jp