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

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

The Blender Python API 〜プログラムにやらせよう〜

今まで、Blender Pythonを勉強してきました。参考にしたサイトを読み進めてみると
記事の内容がやりたいことと違ってきているので、別の資料を参照してみようと思います。
以前、ダウンロードしたPDFファイルを参考にしようと思います。
タイトルは表題の「The Blenderr Python API」です。

ダウンロードして、プリントアウトしたので電子媒体でないため紹介ができません。。
なので読んでやった内容を記載しようと思います。

「Chapert1」The Blender Interface: 割愛します。詳細は以下のサイトなどを。。。

www.youtube.com

そして、スクリプトなど使用する時には、以下の様にやると便利です。
1.Blenderを起動する(Windows版)
自分のマシンがMacなのでこちらのサイトを参照してください。
まとめると、
コマンドプロンプトを立ち上げる→Windowsキー(Winodwsマーク)+R
・「cmd」と入力してエンターキー
blender.exeのある場所へ移動 →「> cd C:\Program Files\Blender」など
 ※インストーラーでインストールした場合は上記のフォルダにあるはずです。
そして、「>blender.exe」で起動します。

(Mac版): こちらは今現状動かしているので、、、
ターミナルを起動します。f:id:Takunoji:20180201205700p:plain←をクリック

「/Applications/Blender.app/Contents/MacOS/blender」と入力して起動します。
※入力途中で「tab」キーを押すと残りを補完してくれます。

f:id:Takunoji:20180201210203p:plain
画面の右上にf:id:Takunoji:20180201210313p:plain←こんな部分があるのでそいつをドラッグして下に引っ張ります。
同じやり方で横に引っ張り下の様な形で画面を表示します。

f:id:Takunoji:20180201210449p:plain

ここまできたら、f:id:Takunoji:20180201212211p:plain←の四角の絵をクリック
すると下の様な画面が表示されますので、「Python Console」の文言があります。
そいつをクリックします。同様に「TextEditor」とやります。f:id:Takunoji:20180201212906p:plainf:id:Takunoji:20180201212325p:plain

↑こんな感じに表示されると思います。これは左上からテキストエディタ
右上がビューポート、下の部分がPythonConsoleになります。

今までは、Pythonコンソールになれる、描画の概要を理解するという事に注力したと思います。→やってみてそう思いました。(笑)

ここまでで、コーディングの準備が整った感じになります。

[First Script]
左上のテキストエディタに以下の様なスクリプトを写経してみてください。
ただしTABがサイト上には表示されないので参考ファイルもどうぞ

※ここに記載している文字をコピってもインデント(Tab)が入らないため動きません。
  下のリンクからソースをダウンロードできます。インデントを入れると動きます。

20180201.py ---------------------------------------------

import bpy

for k in range(5):
for j in range(5):
for i in range(5):
print('(X: %s,Y: %s,Z: %s)' % (i, j, k))
bpy.ops.mesh.primitive_cube_add(radius=0.25, location=(i,j,k))

 

---------------------------------------------

を実行すると以下の様な感じです。

f:id:Takunoji:20180201215425p:plain

ついでに、コンソールに各キューブの座標が表示される様になっています。
処理の内容に関しては、%sに%以降の()ないの値を代入して表示します。

f:id:Takunoji:20180201221208p:plain

こんな感じです。

「FirstScript」はとりあえずキューブでキューブを作っているスクリプトになります。
for文の内容に関しては、このページの真ん中らへんに出力結果を表示しています。

キューブの他にも色々と作成できそうだ。
Pythonコンソールにて「py.ops.mesh.primitive_」と入力した後に
コンソールの下にあるf:id:Takunoji:20180201221825p:plainをクリックしてやると以下の様に補完できる文字が表示されます。

f:id:Takunoji:20180201222014p:plain

cubeの他にも、まぁ色々とある様です。このオブジェクトを使いこなせば
何かしらの作品が作れそうだ。今日はここまでにします。

次回は、上記スクリプトで遊んでみようと思います。