Takunojiのプログラミング・プレイグラウンド(遊び場)

プログラミングのススメとか記載します、今までにやったのは、環境構築、実装方法の説明など、Java, UnrealEngine, Unity, BlenderPython, Discord, OpenCV, TensorFlow(Python), ラズパイ(RPi)などやりました。まだ中途半端ですが。。。

Blender Python CubeでCubeを作る

前回は、シンプルにCubeを作成いたしました。

今回はプログラムっぽく...手で作成したくない様なCubeを作成します。

f:id:Takunoji:20170617214413p:plain

上記スクリプトを起動するとエラーになります。ちょいと修正すれば動きます。
起動すると以下の様な感じで作成されます。

f:id:Takunoji:20170617214528p:plain

テスト的によくわからないけどサンプルコードを書いて見ると仕組みがわかって良い

今回のコードは以下です。

import bpy

for k in range(5):
for j in range(5):
for i in range(5):
bpy.ops.mesh.primitive_cube_add(
radius=0.25, location=(i,j,k))

本当はインデントがあったのですが。。。

まぁそれはさておき、今回筆者はBleander Pythonを初めて使用しました。
ソースを見る限り「どうやら3次元ループでCubeを作成する様だ」と予想がつきます。
ぶっちゃけて「location=」の部分は意味がわかっておりませんでしたが
起動して見て「あぁ」って感じです。

結果としては 5 x 5 x 5でCubeを並べただけですが、中々にアーティスティック🌟
サンプルコードを作った人はデザインもできるのでしょうな(笑)

余計なお世話かもしれませんが、一応。。。
「i=0, j=0, k=0」→「i=1, j=0, k=0」→「i=2, j=0, k=0」....
「i=0, j=1, k=0」→「i=1, j=1, k=0」→「i=2, j=1, k=0」....
「i=0, j=1, k=1」→「i=1, j=1, k=1」→「i=2, j=1, k=1」....
とlocationの値を更新しながCubeを作成し、最終的に画像の様なオブジェクトが作成されます。

次回は、BlenderでのPythonスクリプトの基本的な部分について記載いたします。