PythonによるBlender3DCGモデリング(1)

2015/02/16
  • このエントリーをはてなブックマークに追加
3Dプリンタでデータを出力するためには、なんらかの方法でデータを作成する必要があります。本連載では、オープンソースであり無料の3DCGソフトウェアBlenderと、プログラミング言語Pythonを用いてモデリングをする方法を紹介したいと思います。本記事では、まず手始めとして、Blenderの環境構築からテストスクリプトの実行までを行います。

本連載で使用しているサンプルコードは、githubにて公開しています。
なお、本記事では下記のVersionを使用しています、
Mac: OS X Yosemite (Vesion 10.10.2)
Windows: Windows 8.1
Blender: 2.73a
Python: 3.4.2 (Blenderにバンドルされてるpythonです)

1. Blenderのセットアップ

ここでは、Blenderをインストールし、コマンドラインからBlenderを起動できるようにします。
* Blenderで動かすPythonスクリプトは、Blender内部でも書くことができますが、Blender内部のエディタはあまり高機能ではありません。そのため、Blenderの外部でPythonスクリプトを作成し、それをBlenderに引数として与えて起動する方が開発しやすいと言えます。そこで本記事では、Blenderをコマンドラインから起動できるように設定します。

Macの場合

[Blenderのインストール]

Blender公式サイトのダウンロードページへ行き、ダウンロードボタンをクリックします。 ダウンロードが完了したら、ZIPを解凍し、BlenderフォルダをApplicationフォルダ内に配置します。 Blenderを一回起動してみましょう。 特にエラーもなく起動できればインストール完了です。Blenderを閉じます。

[Blenderをターミナルから使う設定]

Blenderをコマンドラインから起動できるようにします。 Spotlightからターミナルを起動します。 下記のコマンドを実行してaliasに関する設定を、bash_profileに追記します。

$ echo "alias blender=/Applications/Blender/blender.app/Contents/MacOS/blender" >> ~/.bash_profile
bash_profileを読み込みます。
$ source ~/.bash_profile
* 上記は、Macのデフォルトシェルであるbashの場合の方法です。zshなど他のシェルに変更されている場合には、そのシェルに合わせてaliasの設定をしてください。

[確認]

ターミナルでblenderコマンドを実行し、blenderが起動すれば設定は完了です。
$ blender

Windowsの場合

[Blenderのインストール]

公式サイトのダウンロードページヘ行きます。お使いのマシンに併せて64bitもしくは32bitのどちらかをクリックします。 ダウンロードが完了後、ダウンロードしたファイルを実行するとインストーラが起動します。 インストーラに従って進み、下記の画面になればインストール完了です。 Blenderを一回起動してみましょう。 特にエラーもなく起動できればインストール完了なのでBlenderを閉じます。

[環境変数の設定]

コマンドプロンプトからblenderコマンドを使用するために、環境変数の設定をします。 左下のWindowsマークを右クリックし、システムを選択します。 左メニューの「システム詳細設定」を選択します。 下の「環境変数」をクリックします。 システム環境変数からPathを選択し、「編集」をクリックします。 変数値に下記のPathを追記し、OKを押して保存します。 追記する値
;C:\Program Files\Blender Foundation\Blender
これで環境変数の設定は完了です。

[確認]

blenderがコマンドプロンプトから使えるかどうか確認してみましょう。Windowsキー+Rを押し、「ファイル名を指定して実行」ダイアログを開きます。名前の欄にcmdを入力し、Enterキーを押すことでコマンドプロンプトを起動することができます。 コマンドプロンプトでblenderコマンドを実行して、blenderが起動すれば設定は完了です。
>blender

2. テストスクリプトの実行

作業用のディレクトリを作成し、下記のスクリプトをコピーし、test.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)

def add_cone():
        bpy.ops.mesh.primitive_cone_add()


if __name__ == "__main__":
    delete_all()
    add_cone()
作業用のディレクトリ(フォルダ)にターミナルもしくはコマンドプロンプトで移動し、下記のコマンドを実行します。
$ blender -P test.py
下記のように円錐が表示されれば、無事にテストスクリプトの実行は完了です。 今回は、Blenderを使うためのセットアップから、テストスクリプトの実行までを紹介しました。次回以降は、作成したモデルの操作やインポート・エクスポートといった具体的な操作についてご紹介していく予定です。
『こういうことが知りたい!』とかありましたら、私のtwitterアカウントにreplyいただければと思います。

takuro.wada

kabuku Inc. いろいろやる系のEngineer / 工作と妄想と唐揚がスキ。3Dプリンタとの出会いと共に、改めてものづくりの面白さに目覚め、カブクに参加。思わず使ってみたくなるような、欲しくなるようなプロダクトを作っていきたいです。

Posts

凸凹MAPに「紙」素材が仲間入り!改良部分などを徹底解説


【3Dフィギュア部】スキャンからフィギュアをつくってみた with ルーナちゃん


Blender Conference 2015に参加してきました!


「Autodesk Gallery Pop-Up Tokyo」にRinkakが出展中!


Maker Faire Tokyo 2015 ご来場ありがとうございました!


more...