頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


kinematic objectに悪戦苦闘

Bulletではrigid body(剛体)以外にsoft bodyなるものがあるんだけど、それ以外にkinematic objectというのもあるらしいのよ。
Bullet Physics Japanese Manual - 07
↑この辺りを参考に。

剛体ではあるんだけど、位置を物理演算ではなく自分で決めるような場合に使うみたい。
コイン落としゲームで言えば、コインを押し出すための往復運動する物体があるじゃない、ああいうのにはこのkinematic objectがいいみたい。
最初はこんなのがあるとは知らなくて普通にrigid body使っていたんだけどね。

ともかく、このkinematic objectを使おうとしたらこれもまた相当苦労してさ、、、
というのもどこ見てもsetCollisionFlagsでフラグ立てる、getWorldTransformをコールするというのは書いててそのようにしてるつもりなんだけど、うまくいかないんだ。
rigidBody->setWorldTransform(transform);
↑だいたいこう書いてるんだけどダメ。
散々あちこちのサイトで調べたて上のコードを
rigidBody->getMotionState()->setWorldTransform(transform);
とすると動いたのよ。もう謎だわ。

<< メモリリークの原因はBulletかOpenGLか?  TopPage  Bulletでバネを設定してみる >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/905-86cbfbff




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad