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

2025/04/25

・今日の作業内容

 オブジェクト周りの処理を整理

 アニメーション再生処理をスケルタルメッシュ処理内からAnimator内に変更

 Scene切り替え処理作成(未完成)

・オブジェクト周りの処理を整理

まずActorObject周りで使用していない関数など整理出来ていないっ部分を整理した。

同時にActorObjectはローカル座標しか取得できなかったのでワールド座標も取得出来るように処理を修正。

・アニメーション再生処理をスケルタルメッシュ処理内からAnimator内に変更

次にこの変更は以前から気になっていた点でAnimatorは複数のアニメーションを読み込み、保存するだけのクラスだった。それでアニメーションの再生はスケルタルメッシュを読み込む処理内で行っており、スケルタルメッシュに詰め込みすぎではないかと考えていた。

なのでアニメーションの再生はAnimatorの中で処理するようにした。

処理としてはスケルタルメッシュの中でやってたアニメーション再生をまるまるAnimator内に処理を移しスケルタルメッシュ内で処理をするようにした。理由としては

スケルタルメッシュの中ではスケルタルメッシュの描画の処理を行っており、ボーンの行列のパレットの情報が必要だった。なので結果的にスケルタルメッシュの中でAnimatorを動かすようにした。でもこのブログを書いている間に描画もAnimatorでやればよかったんじゃないかと思えてきた。

もしやるならそれはまた明日行う。

・Scene切り替え処理作成(未完成)

最後にScene切り替え処理を作成し始めた。途中Sceneを切り替えるためにSceneのクラス継承して使えるようにしていたら基底クラスで「○○:オーバーライド指定子 'override'を伴うメソッドは、基底クラス メソッドをオーバーライドしませんでした」など基底クラスでvirtual宣言して継承先でもoverrideしたのにも関わらず500エラーが出て解決方法も分からず一度Gitでやり直して再度同じようにコードを打ったら問題なく動いたことにかなり時間を使ってしまい作業が完了しなかったので明日完成させます。

以上

今日の成果物

時間を食ってしまいだせるものはなし