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

2025/04/28

・今日の作業内容

 インクルード整理

 ゲーム時間にスケールの値を追加(UnityのtimeScale)

 当たり判定処理の修正と変更

 ゲーム背景カラー変更

・インクルード整理

まず最初はインクルード整理を行った。結局hファイルに継承関係のファイルをインクルードした時に出るエラーの原因は分からなかったのでまず整理することに専念した。

 

・ゲーム時間にスケールの値を追加(UnityのtimeScale)

次にゲームの時間処理にスケールの値を追加した。UnityでいうTime.timeScaleを追加した。追加理由としてはゲームの時間を止めたり、遅くするのに使えるので追加。後は簡単に追加できるのでした。

 

・当たり判定処理の修正と変更

次に当たり判定の処理を修正と変更を行った。

修正内容は今までスイープアンドプレーンのX軸を基準に判定をしたことで判定し忘れるものが出たためX軸だけ当たっているものを判定配列を決定、そこからY軸、Z軸で判定を進めるようにした。これで現在確認したところキューブと球の当たり判定はAABBではちゃんと当たっていた。

次に変更点としては当たり判定をColliderのすべてでするようにしたこと。

今までプレイヤーの処理の中でしていたため当たり判定がプレーンに限定されていた。

それをUnityのようにColliderクラスにTriggerかそうじゃないかを決め、今度は動くオブジェクトか動かないオブジェクトかを決めて判定するようにした。

動くか動かないかを決めた理由はUnityなどではCollider同士の当たり判定にはどちらもRigidbodyをセットしてお互いに重ならないようにしていた。でもこのプロジェクトにはまだRigidbodyのような物理システムはないので当たってColliderどちらかが動くオブジェクトならそれが重ならないようにした。ちなみに現在はプレイヤーにそのフラグを適用している。

 

・ゲーム背景カラー変更

最後にゲームの背景カラーを変更した。理由としてはまず前までの黒だと見にくいこともあったのとゲームとして背景っぽくしたいと考えたため変更。本当はSkyBoxを作成したかったが時間がないので後回しにした。

 

以上

・明日の予定

 当たり判定処理の改善

 コンポーネントクラスの改造

 現状のままの整理

今日の成果物

youtu.be