2007年8月8日水曜日

剛体デモ(キーマッピングバグ修正)

0 コメント



キーボードのマッピングが重複すると、片方のマッピングが聞かなくなる不具合を修正。


これで、カメラ操作ができるようになった。ついでに注視点が固定だったのを常にプレーヤを見続けるように修正。


これで3D酔いが体験できるよw。




デモを起動する



今までは、ロジックごとにInputActionのインスタンスを生成していた。


これだと、同じキーに対して複数のInputActionが生成されてしまい無駄である。


また、ひとつのキーに対してひとつのInputActionしかマッピングできないため、


同じキーに対して複数のアクションを設定した場合、片方のアクションしか設定されない。


コレを防ぐために以下のように修正した。



  1. ひとつのキーに対して、通常、トリガ、リピートの3種類のInputActionをInputManager内に保持するようにした。

  2. InputActionの生成には、InputManagerのファクトリメソッドを使用するようにした。

  3. これにより、既に存在するInputActionがファクトリメソッドで要求された場合、既存のインスタンスを返せるようになった。






2007年8月3日金曜日

剛体デモ(すり抜け防止)

0 コメント



前回のやりのこした項目の内、あたり判定のすり抜けに対応した。




デモを起動する



以下のロジックで実現



  1. 1フレーム前の位置を保存しておく

  2. 現フレームの位置かつ前フレームの位置が両方とも平面の裏のときは、衝突なし。

  3. 現フレームの位置かつ前フレームの位置が両方とも平面の表のときは、いままでどおりアテハン処理。

  4. ここがキモだがw、1フレーム前の位置が表、現フレームが裏のときは衝突してるので(速度が半径を超えている!)アテハン処理続行




というわけでとりあえず摺りぬけが発生しなくなりました。


厳密に言うと、辺に対してと頂点に対しても同様の処理をしなくてはいけないんだけど面倒だからいいやw。