言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

ODE 本当に苦境

見た目が2週間前から変わっていないという所がしんどい一番の原因。プロトタイプは3日で出来たのに、安定したやつを作るのは難しい。欲張って etoys に対応するにあたり、本質的な問題にぶちあたる。

  • ジョイントの表現。

数あるジョイントのうち、「ヒンジ」だけを使うというのは最初から考えていたのだが、これを簡単に操作する方法というのが思い浮かばない。ジンジと言うのは蝶番の事だが、二つのモーフを連結する唯一の方法だ。Skeleton を作ったときは、そのあたり Connectors に一任する形だったわけだが、今回は独立したライブラリとして提供したいので、あまり外部のツールに依存したくない。

  • ジョイントの内部表現。

これが厄介で、最初 「ODE の内部表現は全て Squeak 上にもコピーを持つ」というポリシーで始めたのだが、かなり矛盾が生じてくる。一つはジョイントの内部表現でマニュアル上の API で取得出来ない物があると言う事。片や重力の扱いで構造体を直接触らせるくせに、ジョイントがエラーを強い力で引っ張られた際の情報が足りない。もちろん、ソース見れば良いだけだが、マニュアルに載ってない関数を使うのは抵抗があるしな。内部情報が足りないと、プロジェクトを保存した際に上手く開けない。引っ張られるべき物体が、ゴムが伸びきった状態のようになってしまうのだ。

  • 回転の問題。

ODE に限らない話だが、モーフの回転は汚い。回転に関するわけわからん動作でいっぱい