概略
詳細
import mathutils
col = mathutils.Color()
col.hsv = 0.0, 1.0, 1.0 # red
col.rgb = 0.5, 0.5, 0.5 # gray
col.s = 0.0 # Saturation 0
- mathutilsは知らなかったが、他にオイラー、ベクトル、行列、クォータニオンが簡単に使えて3Dには便利。
- 次のように書くとHSV色空間の円柱を作る事が出来る。
import math
import random
import mathutils
import bpy
col = mathutils.Color((0.0, 0.0, 0.0)) # dummy
matNr = 0
for z in range(0,21,5):
for r in range(5, 21, 5):
for d in range(0,360, 20):
x = r*math.cos(math.radians(d))
y = r*math.sin(math.radians(d))
lo = (x,y,z)
ro = (0,0,math.radians(d))
bpy.ops.mesh.primitive_cube_add(location=lo, rotation=ro)
matName = "Material.{:03}".format(matNr)
matNr += 1
m = bpy.data.materials.new(matName)
col.hsv = d/360.0, r/20.0, z/20.0
m.diffuse_color = (col.r, col.g, col.b,1)
bpy.context.object.data.materials.append(m)
docs.blender.org