Windows11の教科書

ウィンドウズ11やスマホで困ったことを調べたブログ

【Blender 3】Pythonでマイクラ風

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))

 

これででこぼこっぽい土地ができます。

f:id:apicode:20211215143924p:plain

 

色付け

マテリアルを作って割り当てます。

また先にエンプティを作っておき、作ったボックスのペアレントにします。

これならアウトライナーもすっきり表示されます。

 

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

 

これで上は緑、下は茶色に。

f:id:apicode:20211215145113p:plain

        

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ