隅歩つ

書いて理解を深める

BlenderのPython APIでマテリアル設定(もっと基本編)

以前、別の記事でマテリアル設定のことを書きました。

そのやり方は本で見たものだったのですが、私には難しく少し理解しづらいものでした。

別のサイトでもっとシンプルで理解しやすいものがで残します。理解しやすいけど使い勝手は悪そうです。けど、わかることは重要です。

コードを書いてみる

単純に書くと以下のようになります。

ma = bpy.data.materials.new('color')
ma.diffuse_color = (1, 0, 0, 1)

しかし、マテリアルは1つではないと思うので、リストに入れます。

ma = []
ma.append(bpy.data.materials.new('color'))

新規作成したマテリアルに色を付ける(ディフューズで設定)。

ma[0].diffuse_color = (0, 1, 1, 1)

そして、オブジェクトに新規作成&ディフューズ設定したマテリアルを設定する。

bpy.ops.mesh.primitive_cube_add()
bpy.context.object.data.materials.append(ma[0])

コードの全体はこちら

最初にオブジェクトとマテリアルを削除しています。

import bpy

for m in bpy.data.meshes:
    bpy.data.meshes.remove(m)

for m in bpy.data.materials:
    bpy.data.materials.remove(m)

ma = []
ma.append(bpy.data.materials.new('color'))
ma[0].diffuse_color = (0, 1, 1, 1)

bpy.ops.mesh.primitive_cube_add()
bpy.context.object.data.materials.append(ma[0])

だいぶ基本的な部分が理解できてきました。

けど、応用して作成しようとすると、すぐにつまづきます。

引き続きBlenderPythonをがんばろうと思います。

https://yuuuha.hatenablog.com/entry/bpy_materialyuuuha.hatenablog.com

参考サイト→ http://www3.muroran-it.ac.jp/yt-lab/Blender/blender28.pdf

BlenderユーザーのためのPython入門

BlenderユーザーのためのPython入門

  • 作者:大西武
  • シーアンドアール研究所
Amazon