[[devel]]

* SprBlenderのインストールの方法 [#a7c5ac0b]

+ Blender最新版をインストールする
+ Springhead2をチェックアウトする(既にある場合は最新版にする)
+ svn+ssh://springhead.info/home/svn/spr2/SprBlender/trunk をSpringhead2と同じ場所にチェックアウトする。
 c:\Projects\Springhead2 にSpringhead2があるとしたら
 c:\Projects\SprBlenderにチェックアウト
+ SprBlenderフォルダにある install.bat を実行。途中で「開発者モードでインストールしますか」と聞かれたら「y」を入力。


Kogumaを実行するには
+ svn+ssh://springhead.info/home/svn/lab/Experiments/trunk/KogumaBlender を、Experiments\KogumaBlender にチェックアウトする
+ svn+ssh://springhead.info/home/svn/lab/Experiments/trunk/textures を、Experiments\textures にチェックアウトする
+ koguma_leap3_delaysel.blend をBlenderに読み込んで実行する


* ルールスクリプトの在処 [#rf711917]

- koguma_leap3_delaysel.blend の場合
-- init
--- koguma_leap3_delaysel_rule_Koguma_init.py
-- step
--- koguma_leap3_delaysel_rule_Koguma_step_bpy.py

- Blender内のText Editorで編集してもよいし、外部のテキストエディタを使っても良い。
-- 外部のテキストエディタで編集した場合は、creatureのUpdateを行うと再読込される(その後initも呼ばれる)。


- 将来的には、他の.blendで使われていると共通するコードは別のファイルに移動するようにする。


* Creatureの処理の流れ [#j7c22318]

- creature_init
-- Updateボタンを押した時に呼ばれる。初期化用。

- 物理シミュレーションステップ
- creature_step



* 関数の見つけ方 [#e13c002a]

- 例
 creature_stepの中にある
 lookctl.step()
 の定義を探す場合
 
 lookctl が出てくる最初の行を init -> step の順に探す
 (initの中で変数定義されてるかもしれないし、stepの中かもしれないので)
 
 と、initの中に
 # Create Look Controller
 lookctl = LookController( head,  lefteye,  righteye)
 が見つかる。
 LookControllerクラスのオブジェクトということが分かる。
 
 そこでクラス定義 
 class LookController:
 を探す。
 
 クラス定義が見つかったら、step() の定義(def step(...):)を探す。

- これで見つからない場合
-- Springheadの関数かも
-- bpyの関数かも


* クリーチャパラメータについて [#efed389e]

- crHnd.get_cr_param("Reach Speed") のようにすると Reach Speedという名前のパラメータに現在セットされている値が得られる。
-- この関数が呼ばれた瞬間にGUIにセットされている値が帰ってくる。
-- なので、stepの中でこの関数が呼ばれている場合は、パラメータを変更すればすぐに動作に反映される。


* キャラクタを構成する全ての剛体・全ての関節についてループ処理したい場合 [#i0b6bb64]

- (TBD)