Creatureモジュールの構成

下図にCreatureモジュールの構成を示します.

CRCreature
+-- CRBody
|+-- CRBodyPart (CRObject)
+-- CREngine
 +-- CRController

CRCreatureは,バーチャルクリーチャ$1$体分の機能を統括するオブジェクトです.身体と制御エンジンを有しています.

CRBodyは,バーチャルクリーチャの身体モデルを統括します.身体モデルは身体構成部品の集合体です. CRBodyPartは,身体構成部品ひとつひとつに対応するオブジェクトです.剛体あるいは関節の2種類があり,さらにIKでの動作に対応するかどうかによって計$4$種類に細分されます.

CREngineは,バーチャルクリーチャのステップ処理の実行主体です.CRCreatureStep関数が1回呼ばれるたびに,CRCreatureが保持する全てのCREngineStep関数が順に実行されます. CRControllerCREngineの一種で,バーチャルクリーチャの身体制御を担当します.実際の制御機能はCRControllerを継承した各クラスが担当します.眼球運動制御,首運動制御等があります.