トップページgamedev
332コメント288KB

1人でゲームが作れるように修行します。2

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/05/04(火) 00:44:29ID:HN0quC1A
がんばりましょう。

前スレ
1人でゲームが作れるように修行します。
http://pc11.2ch.net/test/read.cgi/gamedev/1006284805/
0330SGGK ◆6pZCoAtaxk 2011/11/07(月) 23:05:47.86ID:Ci/pCY6w
次に出た問題はボールを例えば傾斜60度で動かそうとしても動かない問題。
やり方はボールからマウスに向かうベクトルをY軸中心で90度回転する行列で回転させて、
そのベクトルを軸にしてボールからマウスに向かうベクトル(大きさは速度と一致させておく)を60度回転させる。

−60度にしてみたら放物線のように動いた。

なので、上記のやり方の中で、Y軸中心で−90度回転させてから、
そのベクトルを軸にして60度回転させるようにして解決。

マウスクリックでボールを動かせるようになったので、やっと選手で蹴れるかどうかというところまで戻った。
0331名前は開発中のものです。2011/11/08(火) 02:48:47.25ID:x9yT+23z
原因がジンバルロックなら一旦クォータニオンを経由させれば回避できるよ
0332SGGK ◆6pZCoAtaxk 2011/11/08(火) 23:40:07.79ID:3rFIMhjp
見てくれてありがとうございます!
プログラムの方はたぶんその可能性は無さそうな感じです。
プログラムはワールド座標系だけで書いてあり、選手から見た座標系をフィールド基準の座標系に行列一回で変換するような書き方はまだ出来てません。
ジンバルロックとクォータニオンについては難解なので、キーワードとして覚え、プログラムのレベルが上がってきたら挑戦してみたいと思います。

昨日の動作の件は、DXライブラリでの回転の正負方向が分からず、
60度で空中に向かってると思ったら、地中に60度で向かっているようで、
何故かボールが地面で反射せず、地面上を這うような動きになっていたのが原因です。

次の予定はドリブル実装に挑戦!
■ このスレッドは過去ログ倉庫に格納されています