本日は Blender の技術調査枠です。
今回試してみるのは Blender の操作を python で行うというものです。
以下の記事を参考にします。
qiita.com
因みに BlenderWiki にPython マニュアルがあり、Blender での GUI 操作はほとんどスクリプト化できるそうです。
・Blender 2.6、Python マニュアル
https://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Extensions/Python
物は試しです。早速 Blender 上で操作してみます。
エディタ―タイプから Python コントロールを選択します。
すると以下のようなエディタ画面が開きます。
まずは Cube オブジェクトを削除してみます。
記事のサンプルプログラムだと Cube に限らず、ランプやカメラを含めた全てのオブジェクトを削除します。
Cube のみの削除であれば、以下の一文で十分です。
・bpy.context.scene.objects.unlink(bpy.data.objects['Cube'])
試しに実行してみました。Cube オブジェクトが消えます。
もう少し色々な処理を一括で実施したい場合や、何度も利用する処理はスクリプトファイルとして保存しておくと便利です。
例えば、参照記事の全オブジェクトの削除処理をスクリプトファイルとして保存します。
・AllDelete.py
import bpy def delete_all(): for item in bpy.context.scene.objects: bpy.context.scene.objects.unlink(item) for item in bpy.data.objects: bpy.data.objects.remove(item) for item in bpy.data.meshes: bpy.data.meshes.remove(item) for item in bpy.data.materials: bpy.data.materials.remove(item) delete_all()
次に作成したスクリプトファイルを Blender 内で利用してみます。
エディタ―タイプからテキストディターを選択します。
開くボタンでスクリプトファイルを選択すると、以下のようにファイルが読み込まれます。
この状態でスクリプト実行ボタンをクリックします。
全てのオブジェクトが削除されました。
全てのUI操作ができるので、当然、逆に3Dモデルのインポートもできます。
日本語情報が少なく API を調べるのが大変ではありますが、一度組んでしまえば便利です。
以前紹介した三面図ビューの作成とか自動化してみようかな。
bluebirdofoz.hatenablog.com