3DモデリングソフトBlenderでプログラミング(導入編)
何故か最近3Dモデルを作成してゲームなど作る機会があって、Blenderという3Dモデリングソフトを使っています。*1
他ソフトと連携させるためにモデルのオブジェクト名を連番で並べたり、頂点の座標情報を取ってきてゴニョゴニョしたりプログラマブルなことをやりたいなと思っていましたが、Blenderには、Pythonでスクリプトを実行したり、アドオンの開発をしたりする機能が備わっていることを思い出しましてBlenderのPythonブログラミングに手を出し始めたところです。
この辺のことに関しては、まだネット上の情報は多くないので、情報共有も兼ねて(私も完全に把握できてはいませんが)、調べつつ書き留めていきたいと思います。
プログラミング開始前の設定
日本語化
現在のバージョンでは、デフォルトで日本語化に対応しています。なお、私は今まで日本語化によって不具合に当たったことはありません。
- 画面上にあるメニューからFile→User Preferencesを選択する
- Blender User Preferencesのダイアログが表示されるので、Systemタブを選択する
- 右下のInternational fontsのチェックを入れる
- Languageのリスト一覧から日本語を選ぶ
- Translateのinterface, tooltipにチェックを入れる
以上の手順を行うとメニューがすべて日本語に切り替わるので、ダイアログ下の「デフォルトとして保存」を押して次回以降、日本語のUIで起動できます。
プログラムを書く
Blender Pythonプログラムを書くための方法がいくつかあります。
Pythonコンソール
ウィンドウタイプ一覧からPythonコンソールを選択して表示させます。
Pythonコンソールは、画像の様にPythonインタプリタをインタラクティブモードで実行したような画面になっています。動作もインタラクティブモードとほとんど同じように、一行毎にプログラムが実行されて、返された結果が出力されます。
そして、このコンソールでは、入力途中でCtrl+Spaceキーを押すことで入力補完ができます。候補が複数存在するときは利用可能な変数やメソッドの候補一覧が表示されます。
dirやhelpなどのpythonのビルトイン関数*3と合わせてライブラリのクラスやメソッドを確認するのに大変重宝します。
Blender内のテキストエディタ
Pythonコンソールと同じように、ウィンドウタイプ一覧からテキストエディタを選択します。
ウィンドウのヘッダにあるNewボタンを押すと、テキストファイルが新規作成されます。スクリプトを書いて、テキスト>スクリプト実行(ショートカットキー:Alt+P) から中身を実行することができます。テキストエディタには、プリセットでスクリプトテンプレートがいくつか用意されているので、実装の参考になるかもしれません。ヘッダのテキストメニューから編集したスクリプトをファイルに保存したり、ファイルから読み込むこともできます。
外部のテキストエディタ
自分の使い慣れたエディタや、コーディングを補助する機能があるエディタを使いたい人も多いと思います。
上記のBlenderウィンドウのテキストエディタからファイルシステムに保存したもの(もしくは既存のPythonスクリプトのファイルを読み込んだもの)は、実際のファイルと関連付けられています。そのスクリプトファイルを、お使いのエディタで開いて編集・上書き保存をしてBlenderに戻ると、外部からファイルが変更されたことが検出されて下記のようなマークが出てきます。そのマークを押して再読み込み(ショートカットキー:Alt+R)して変更を反映して、上記の手順でスクリプトを実行できます。
終わりに
次回から実際にBlenderでプログラムを書いていきます。Blender自体の操作方法や3DCGモデリングの用語等については、他のWebページの解説や参考書でご確認ください。
最後に個人的におすすめのサイトや書籍を載せておきます。
次回に続く
- 解説が詳しいBlenderの入門サイトです
- ↓入門書としても内容がしっかりしていて丁寧で非常にお勧めできます
キャラクターをつくろう! 3DCG日和。 vol.3 -Blenderでつくる、ポリゴンキャラクター
- 作者: 友
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2012/06/18
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 195回
- この商品を含むブログ (3件) を見る