ページ 11

Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 16:33
by heyman
今Dxライブラリで3dゲームを作っているのですが、弾と地形との当たり判定が
うまくいきません。たとえば、たまの速度を上げると壁を通り抜けてしまいます。
原因はわかってるのですが、対処法がわかりません。どうすればよいでしょうか?

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 17:12
by softya(ソフト屋)
モデルの弾の大きさで当たり判定するのではなく、移動距離も含めた大きさの弾が存在するものとして当たり判定カプセルで当たり判定したらどうでしょうか。
「DXライブラリ置き場 3D関係関数リファレンスページ」
http://homepage2.nifty.com/natupaji/DxL ... .html#R9N8

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 17:20
by heyman
つまりこういう事でしょうか?
●←弾
周り←当たり判定
       ____
      ( ● )
        ̄ ̄

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 18:03
by usao
[弾] ←弾一個分の当たり判定サイズ(従来)

弾が位置AからBまで移動したときの判定領域サイズ(提案)
[A__________________________B]

ということでは?
オフトピック
回答側がナチュラルに予想して答えてはいるけれども
>原因はわかってるのですが、
ということであれば,その「わかっている原因」を書かれた方がいいんじゃないかな

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 18:40
by heyman
usao さんが書きました:>原因はわかってるのですが、
ということであれば,その「わかっている原因」を書かれた方がいいんじゃないかな
ゆっくり弾が進む場合だと
●←弾
┃←壁
      ┃
●●●●●●●┃
      ┃
という具合に当たるのですが、
早い場合だと
       ┃
●   ●  ┃ ●
       ┃
といった感じで当たらないということです
usao さんが書きました:弾が位置AからBまで移動したときの判定領域サイズ(提案)
[A__________________________B]
ということは

●←弾
┃←壁
-←弾の移動距離&弾の当たり判定
       ┃
●------●---┃----●
       ┃
ということでしょうか?

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 18:59
by softya(ソフト屋)
太さが弾と同じで移動距離長のカプセルで当たり判定するなら、弾自体の当たり判定は不要ですよ。

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 19:17
by heyman
()←当たり判定カプセル
●←弾のモデル
 
(←弾の移動距離→●)
ということであってますでしょうか?

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 20:49
by softya(ソフト屋)
弾自体は当たり判定しなくて良いんですけどね。
弾の長さ+移動距離をカプセルの長さにするという意味なら合ってます。

【補足】
ゲームプログラミングではと言うか今のCPUの仕組みでは時間は飛び飛びになるしかないので、1フレームの間で一定距離移動した物体は通った場所全部に存在していると考えるんです。
扱っているはリアル(現実)ではなく、リアルを擬似的にシミュレートしているものなのです。

【補足の補足】
この様に時間が飛び飛びになる事を離散的であると言いますが、現実の時間は連続的です。
つまり、ゲームプログラミングでは現実的ではない事しないとそれっぽく見えないのです。

Re: Dxライブラリ3d 弾丸について

Posted: 2014年2月04日(火) 22:11
by heyman
ありがとうございました!おかげで助かりました