SDL3とOpenGLを使用したC++ゲーム制作記録71

2025/06/02

・今日の作業内容

 RaycastにHitしたオブジェクト情報を複数持つ関数追加

 オブジェクトの押し出し処理をLerpでゆっくり押し出すやり方に変更

 押し出す処理を法線を使って出来るように処理改造

・RaycastにHitしたオブジェクト情報を複数持つ関数追加

 最初に昨日の記録にも記載していた通り、Raycastにオブジェクトの情報を複数

 持つ関数を追加。これで当たったオブジェクト全ての情報を取得できるようになった

 けど実際作成してもやはり問題は解決しなかった。

・オブジェクトの押し出し処理をLerpでゆっくり押し出すやり方に変更

 次にオブジェクトの物理的な当たり判定の押し出しを瞬時に行うやり方から

 Lerpを使った押し出しに変更。主にLerpを使って軸別に当たった時にオブジェクトを

 ゆっくりと押し出せるようにした。

 その結果RaycastのHitが正しく動作するようになった。

 これで着地判定やそれ以外の判定もRayで出来るようになった。

 ただここでまた新しい問題が出た。

・押し出す処理を法線を使って出来るように処理改造

 問題というのが軸別に押し出せるようにした結果複数の軸による押し出しが

 起こるとだんだんと押し出し方向とは逆方向に押し出されるようになった。

 具体的に地面にめり込み始めるなど。

 なので押し出す処理に法線の情報を元にした補正も追加したが

 これでも治らずRaycast問題は解決したがまた新たな問題に直面した。

以上

・明日の予定

 地面・壁にめり込みの問題の修正

・今日の成果物

youtu.be