Pythonを使ってBlenderの物理シミュレーションをやってみた

スクリーンショット 2017-12-20 14.31.06

 

松本市のコワーキングスペースKNOWERSで月に1回、「Pythonもくもく会」を開催していて、最近の僕はBlenderとPythonを組み合わせて遊んでいます。

今回は物理シミュレーション。環境はmacOS High Sierra 10.13.2 + Blender 2.79です。

 

BlenderにはPythonが組み込まれており、「Cubeを作る」や「Cubeの名前を取得」なんかがプログラムを通じて操作できます。

組んだプログラムはTerminalかBlender内のコンソールから実行できます。Terminalから実行するためにはbash_profileにaliasを追加しておくと楽。

alias blender=’/Applications/blender/blender.app/contents/MacOS/blender’
source .bash_profile(bash_profileの反映)

すると、Terminalでチョチョイとできるように。

blender –python hogehoge.py
blender –background –python hogehoge.py(バックグラウンド実行)

 

さて、本題の物理シミュレーション。参考にさせてもらったサイトはこちら。
▶︎参考:Blenderの物理シミュレーションをpythonスクリプトで作成 – 株式会社CFlatの明後日スタイルのブログ

チコっとソースを変更したのがこちら。

18行目からコメントアウト含め3パターンあります。pattern1は剛体のシミュレーション。pattern3が柔体シミュレーション。柔体シミュレーションは

bpy.ops.object.modifier_add(type=’SOFT_BODY’)

を追加して「Cubeたちよ!君たちは柔体だ!」と定義してあげるだけ。

詳しく調べていませんが、柔体用のパラメータはたくさんあると思います。上記1行ではおそらくデフォルト値が設定されるのではないかと思います。

 

 

 

おわりに

Blenderは3DCGアプリ。本来はマウスであれこれやって作っていくもの。でも、Cubeを1000個並べるような単純な繰り返しはスクリプトを組んで実行させた方が楽。モディファイアを使ってもできそうですけどね(笑)

もちろんそれ以外にもスクリプトが効果的なシーンはあるでしょう。

いろんなことができるアプリが(基本)無料で使えて遊べる楽しい。とてもありがたいことですね。

この記事を書いた人

花村貴史|Takashi Q. Hanamura

空気感フォトグラファー/傾聴者/エンプティチェアが好き/Creative Codingが好きな、写真を生業とする元ソフトウェアエンジニア。
「自分の好きを大切にしよう」と会社員をやめて大好きな信州に移住。2年半の信州生活を終え、愛しの相方さんのいる兵庫に移住。
その人・その場の「空気感をそっとすくい撮る」写真が好評。撮影した写真で「自然体のあなた」を世に伝えるメッセンジャー。
オシゴトについては「WORKS」へ。ご依頼は「CONTACT」からどうぞ。

写真のオシゴト一覧

撮影|Photo Session

お話しながらのポートレイト撮影です。「今」そして「これから」のあなたにフォーカスして撮影します。SNSやサイト用のプロフィール写真に。

 

撮影|Photo Shooting

「友達と楽しんでいる」「セミナーで講演している」「パーティーを主催している」など、皆さんが大切な時間を過ごしている瞬間をスナップします。

 

写真術|Photo Lecture

カメラの使い方、撮影術、Lightroomの使い方などの「マンツーマンレクチャ」や「少人数制のワークショップ」について。写真に関する疑問の解決に。

 

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします