Re: アニメーション座標での当たり判定 ( No.1 ) |
- 名前:いっち 日時:2013/03/20 02:54
モデルを拝見しました。どのような事情があるのかは分かりませんが、
歩行のアニメーションでモデルの見た目上の座標が移動してしまうのはあまり良いアイデアとは思えません。
移動しないようにすることは出来ないのでしょうか?(ついでに前進と後退のアニメーションも別々にしたほうが良いと思います)
出来ないようでしたら、管理人さんが以下のサンプルの Player_Process 内で行っているように
> ttp://homepage2.nifty.com/natupaji/DxLib/program/dxprogram_3DAction.html
アニメーションの移動成分を無効にした上で、モデルの移動は完全にプログラムから制御することをお勧めします。
|
Re: アニメーション座標での当たり判定 ( No.2 ) |
- 名前:ジュンヤ 日時:2013/03/23 21:08
いっちさんご回答ありがとうございます。
私も以前は、3DActionのサンプルの様にアニメーション座標は移動させないで、
プログラムから制御する方法でやっていました。
しかし今回は3D格闘ゲームで使用するアニメーションを作っていまして、
その時にパンチやキックなどの連続技で移動や停止を繰り返す複雑なアニメーションや
投げ技がありまして、それらをすべてプログラム上で計算するのは
難しいので、アニメーション座標を使うことにしました。
現状では地形との当たり判定以外は実装できているので、
直進方向での壁を貫通するのさえ止められれば、ゲームに組み込めそうなんですが・・
|
Re: アニメーション座標での当たり判定 ( No.3 ) |
- 名前:いっち 日時:2013/03/21 22:08
モデルが当たり判定後前進しなくなるのは MV1SetFrameUserLocalMatrix を使用して座標を固定しているためです。
(なので、当たり判定も最初の1回以外はヒットしていません)
Source.cpp の 193行目 辺りに以下の行を追加すればとりあえず動くようにはなると思います。
> else {
> MV1ResetFrameUserLocalMatrix( ModelHandle, 1 ) ;
> }
|
Re: アニメーション座標での当たり判定 ( No.4 ) |
- 名前:ジュンヤ 日時:2013/03/23 21:09
色々試行錯誤してみましたが、アニメーション座標を操作するのは難しいので、
アニメーション座標が壁から突き抜けているベクトルをもとめて
その分だけプログラム上の座標から引いてやるという方法で
なんとか垂直な壁に限っては止める事ができました。
今回もアドバイスありがとうございました。
|