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個並べるような単純な繰り返しはスクリプトを組んで実行させた方が楽。モディファイアを使ってもできそうですけどね(笑)

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

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

出張撮影のご依頼、承ってます

あなたの行きたい場所に出張してポートレイトやプロフィール写真を撮影します。出張エリアは関西エリア(神戸・大阪・京都など)、関東エリア(神奈川、東京など)です。

撮影の詳細はこちら。

以下の日程で撮影をお受けできますので、僕の写真をご覧になってピンッときた方はご連絡ください。お待ちしています。

【関西エリア】
・1月6日(日)〜14日(月)
・1月31日(木)

【関東エリア】
・1月20日(日)
・1月22日(火)〜25日(金)


どんな写真を撮ってもらえるか写真集を見る。
そのほかの写真のオシゴトを見る。

撮影|Photo Session

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

撮影|Photo Shooting

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

写真術|Photo Lecture

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

販売:Photo Sales

A3ノビ〜A4程度のサイズの額装販売および、壁紙などの写真データの販売。ご自宅やコミニュティスペースに飾り、癒しになれば嬉しい。