Pythonでマイクラ風のボクセルを作るサンプルです。
BlenderのPythonでマイクラ風
BlenderのPythonの練習で、マイクラ風のワールド作成を試してみました。
厳密に作ると立方体がだいぶ増えるので、今回は1段のみです。
とりあえずボクセル
Pythonで「primitive_cube_add」を使えば立方体ができます。
ループで箱をランダムにでこぼこにしながらつくっていきます。
import bpy
import random
for i in range(-10, 10):
for j in range(-10,10):
h=1
hei = random.random()
if random.random() > 0.5 :h = 0
bpy.ops.mesh.primitive_cube_add(location=(i,j,h), size=1, rotation=(0,0,0))
これででこぼこっぽい土地ができます。
色付け
マテリアルを作って割り当てます。
また先にエンプティを作っておき、作ったボックスのペアレントにします。
これならアウトライナーもすっきり表示されます。
import bpy
import random
mat1 = bpy.data.materials.new('Brown')
mat1.diffuse_color = (0.5, 0.2, 0.1, 1.0)
mat2 = bpy.data.materials.new('Brown')
mat2.diffuse_color = (0,0.5,0, 1.0)
paobj = bpy.data.objects['PA']for i in range(-10, 10):
for j in range(-10,10):
h = 0
m = mat1
r = random.random()
if r > 0.5:
h = 1
m = mat2
bpy.ops.mesh.primitive_cube_add(location=(i,j,h), size=1, rotation=(0,0,0))
bpy.context.object.data.materials.append(m)
bpy.context.object.parent = paobj
これで上は緑、下は茶色に。