sj4ryk





Twitterより








ゲームで
「壁をすり抜けるバグどうなってんだ!?」
みたいに言われがちですけども、プログラミングやると
「すり抜けない衝突判定、どうやってんだ!?」
ってなりますからね





デフォが素通し状態で、一生懸命に「ぶつかる」を作るんですよ。
ぶつかるの難しい。




















衝突判定(しょうとつはんてい、Collision Detection)とは、「2つ以上のオブジェクトの交差を検出する」という計算機科学上の問題であり、具体的には「ある物体が別の物体に当たったか(衝突したか)どうか」を判定するプログラム処理のことを指す。

ロボット工学、計算物理学、コンピュータゲーム、コンピュータシミュレーション、計算幾何学など、さまざまなコンピューティング分野で応用されている。

衝突判定のアルゴリズムは、2Dオブジェクト同士の衝突判定と3Dオブジェクト同士の衝突判定に分けることができる。




この記事への反応



それ自分で授業で作って痛感した

DirectXの3Dゲームで当たり判定1から作ったときに壁ずりを作るのにクソ苦労した 大体隅が通り抜けるんよね

壁1枚でも普通に難しくない?

これはマジ。特に表現がリッチになればなる程、違和感のない衝突判定の構築は難しくなっていく。

これゲーム作ったこと無い人にはまず理解してもらえない難しさなんだよなあ…😅
プレイヤーには「バグ」って一言で片付けられちゃうけど、壁に当たる処理だけでもそれなりに色々な事を考えて実装しないと別のバグ引くし、本当ゲーム開発ってめちゃめちゃ数学使うしめっちゃ大変なんですよね…😇


これ、結局は処理能力やリソース生成コストの問題に帰着するんですよね。
判定方法自体はいくらでもやり様あるけれど「実用範囲な負荷」の見極めが難しく、真正直に数学的な交差判定だけでやると最適化をしても未だ厳しくて、FPS稼げない場合が非常に多い。
つまり「フィジクス糞重い」


わかります

僕の課題研究ではすり抜けると一歩戻るようにしました
正解は知らん


衝突判定ガチムズい

泣けてくるほどの、それな







簡単なゲームでいいから自分で作ってみると、市販のゲームの凄さを感じられるよな




B09Y9JMPBN
任天堂(2022-09-09T00:00:01Z)
レビューはありません