SprBlender

  • Springhead2をBlender上で動かすことができるpythonモジュールです
  • Blenderの編集画面上でリアルタイム物理シミュレーションできます

構成検討

  • SprBlender紹介(このページ)
  • デモ
  • マニュアル
  • ダウンロード

導入方法

必要なもの

  • 以下を32bit版または64bit版どちらかに統一して揃える
  • Blender 2.5以降(最新版) 32bit or 64bit
    • インストーラ版だとうまく動作しないようなのでzip版をダウンロードしてください
    • 現在は最新2.62版にて動作確認を行なっています
  • springhead2のpythonDLL: Spr.pyd 32bit or 64bit
    • \Springhead2\bin\win32 or win64
    • 最新バージョンのビルドは\Springhead2\src\EmbPython\SprPythonDLL.sln
  • Blender用pythonスクリプト
    • \Experiments\SprPyBlender\scripts
  • Springhead2の動作に必要なライブラリ 32bit or 64bit
    • \Springhead2\lib

導入

  1. Blenderをインストール
    • インストール先パスに日本語が含まれないよう注意
  2. Blender用モジュールスクリプト(\Experiments\SprPyBlender\scripts)の"scripts"をBlender本体のフォルダ内の"(バージョン番号)\scripts"に上書き
    • 今のところファイルの上書きにはなりません
    • 今のところ必要なのはscripts\module\spr_opだけです
    • scriptsフォルダでチェックアウトすると楽にupdateできます
  3. Spr.pydをBlender本体フォルダ内の"(バージョン番号)\scripts\modules"に入れる
  4. Springhead2のライブラリ(lib\win32かlib\win64)にPathを通す

常に最新のspr_opを使いたい場合

  • シンボリックリンクを使うと便利です

Windows7

  • 管理者権限でコマンドプロンプト起動
    mklink /J "D:\Program Files (x86)\Blender Foundation\blender-2.61-release-windows64\2.61\scripts\modules\spr_op" "D:\project\Experiments\SprPyBlender\scripts\modules\spr_op"

windows XP

  • Link Creation Shell Extension(SourceForge.net)をダウンロード、インストール
  • 右クリックドラッグ&ドロップ→「リンクを作る」

とりあえず使ってみる

  1. Blenderを起動する
  2. \Experiments\SprPyBlender\demo\test.blendを読み込む
    • 環境によってGLSLがうまく描画されない場合はひとまず3D Viewの"Viewport Shading"から"Solid"を選択
    • 01_open.png
  3. 右下のpythonコンソールで"import spr_op"と入力してEnter
    • &ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename);
    • BlenderにSpringhead2用のOperatorが登録される
    • Springhead2用のパネルを表示
      • 3DView: Spr Operator Panel、Spr Info Panel
      • Scene: Spr Scene panel
      • Object: Spr Object Panel
      • SprOperatorPanel.png SprScenePanel.png SprObjectPanel.png
    • Springhead2の初期化、Operatorメインループ始動
  4. "Set Scene"を押すとSpringhead2のシーンを初期化
    • OperatorSetScene.png
  5. "Physics Step Enable"をチェックするとStepが有効になり動き出す
    • PhysicsStepEnable.png
  6. オブジェクトを移動したり回転するとリアルタイムに影響
    • オブジェクトの移動:選択(右クリック)→G(または右ドラッグ)→マウス移動→左クリックで決定(右クリックキャンセル)
    • オブジェクトの回転:選択(右クリック)→R→マウス移動→左クリックで決定(右クリックキャンセル)
    • "Enable Throw"を押すとオブジェクトに初速を与えられるようになる
    • 04_move.png
  7. "Restore Scene"を押すと初期姿勢に戻る(変位、回転)
    • OperatorRestoreScene.png
  8. コピーしたオブジェクトや追加したオブジェクトに物理を適用したい場合は、対象を選択(右クリック、shiftを押しながらで複数選択可)、"Set Objects"を押す
    • オブジェクトのコピー:選択(右クリック)→shift+D→マウス移動→左クリックで決定
    • 追加時に物理法則に従うかどうか、BoxかSphereかの設定が適用される
    • OperatorSetObjects.png
  9. "Set Scene"を押すとその場でSpringhead2のシーン全体を初期化する
    • OperatorSetScene.png

memo

  • 現状では"import spr_op"後にblendファイルをロードすると動かなくなります
    • "ReRegister"を1度押すと再び動くようになります
      • "ReRegister"を複数回押すとStepが重複して呼ばれるようになるので注意してください

詳しい使い方

Blender操作に関するメモ

描画関連

Blenderの基本操作

その他操作

  • PythonコンソールでCtrl+Shitを押すと補完を利用できる

中身・仕組みに関するメモ