Blender: PythonスクリプトでGenerative Art ver. 1

Blenderをあまり使えないので、Pythonのスクリプトをどこかからもらってきたら、それなりの3Dを描けるだろうと思い、BPY(BlenderのPython)の情報を集めていました。

幾何学的に複雑な3D画像やそのアニメーションの作成方法が次に解説されているの見つけました。なんどかチャレンジしましたが、スクリプトの意味がはっきりわからないこともあって、なかなかうまくいきませんでしあ。

 

Blender 2.8 Grease Pencil Scripting and Generative Art

 

それでも、試行錯誤の結果、やっとできるようになりましたので記録しておきます。

 

I.コンソールの表示

 

これは簡単です。

下に示したように、初期画面上方のScriptingをクリックすると、左上に起動時に表示されていた画面が見えます。真ん中に立方体が表示されています。その下にはPythonのコンソールが表示されます。中央はText Editorです。

 

 

まだ、Editorをうまく使えません。

Macだからかもしれませんが、「Cmmand(Contrl)+ C」でコピーできません。コピーは右クリックでリストで選択します。

また、右上のRun Scriptをクリックするとエラーになります。原因はわかりませんが、スクリプトをPythonコンソールに貼り付けて実行するほうが確実です。

コンソールの場合も一括して実行するとエラーになるので、グループごとに貼り付けて実行する必要があるようです。

通常はありえないことですが、空白行や#のコメントも削除した方がよいようです。

赤字の警告が表示された場合は、その内容に応じて対応します。例えば、ファンクションが定義されいないという内容であれば、その定義(dfの部分)をコンソールで実行します。

エラーがなければ、ObjectモードでAddをクリックしてGrease Pencilを追加します。これを省略すると線は描かれません。

 

 

直線を描くするリプとは次です。

 

gp_layer = init_grease_pencil()
gp_frame = gp_layer.frames.new(0)
draw_line(gp_frame, (0, 0, 0), (1, 1, 0))
 

 

スクリプトを実行すると次のように直線が描かれます。

 

 

円を描くスクリプトは次です。直線と同じようにAddでGrease Penを追加しておく必要があります。また、レイヤーとフレームを作成する上の2行も必要です。

 

gp_layer = init_grease_pencil()
gp_frame = gp_layer.frames.new(0)
draw_circle(gp_frame,(0,0,0),1.1,100)
 

 

 

to be continued

Please follow and like us:
error

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.