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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
heyman
記事: 99
登録日時: 12年前

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

#1

投稿記事 by heyman » 11年前

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

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

#2

投稿記事 by softya(ソフト屋) » 11年前

モデルの弾の大きさで当たり判定するのではなく、移動距離も含めた大きさの弾が存在するものとして当たり判定カプセルで当たり判定したらどうでしょうか。
「DXライブラリ置き場 3D関係関数リファレンスページ」
http://homepage2.nifty.com/natupaji/DxL ... .html#R9N8
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

heyman
記事: 99
登録日時: 12年前

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

#3

投稿記事 by heyman » 11年前

つまりこういう事でしょうか?
●←弾
周り←当たり判定
       ____
      ( ● )
        ̄ ̄

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

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

#4

投稿記事 by usao » 11年前

[弾] ←弾一個分の当たり判定サイズ(従来)

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

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

heyman
記事: 99
登録日時: 12年前

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

#5

投稿記事 by heyman » 11年前

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

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

#6

投稿記事 by softya(ソフト屋) » 11年前

太さが弾と同じで移動距離長のカプセルで当たり判定するなら、弾自体の当たり判定は不要ですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

heyman
記事: 99
登録日時: 12年前

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

#7

投稿記事 by heyman » 11年前

()←当たり判定カプセル
●←弾のモデル
 
(←弾の移動距離→●)
ということであってますでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

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

#8

投稿記事 by softya(ソフト屋) » 11年前

弾自体は当たり判定しなくて良いんですけどね。
弾の長さ+移動距離をカプセルの長さにするという意味なら合ってます。

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

【補足の補足】
この様に時間が飛び飛びになる事を離散的であると言いますが、現実の時間は連続的です。
つまり、ゲームプログラミングでは現実的ではない事しないとそれっぽく見えないのです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

heyman
記事: 99
登録日時: 12年前

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

#9

投稿記事 by heyman » 11年前

ありがとうございました!おかげで助かりました

閉鎖

“C言語何でも質問掲示板” へ戻る