さてさて。今回は色々とプチアップデートが多いので、ちょっとリストアップして
紹介していきたいと思います。
・モーションにSEを親子付け
モーションを行うと関連したサウンドが再生できるようにしました。
・モデルにモデルを親子付け
キャラクターに剣を持たせたりできるようになりました。
・丸影描画をデカール描画に変更
これはピクセルシェーダ負荷を抑える必要があったので急遽作成しました。実は
丸影描画シェーダはシェーダ命令数ギリギリまで使っていてとっても重かったという…;
・モーションのストックバッファを復活
今まで動作が不安定だったストックバッファを復活させてみました。理由は単なる
メモリリークでした。ただ、現在は頂点シェーダ負荷がボトルネックになっている
訳でもないのでどれくらい高速化したのかは不明です。
・SSAOシェーダ
ピクセルシェーダ負荷を軽くしなければならなかった理由がこれをやりたかったからです。
ちょっと!SSAOですよ奥さん!笑
ざっとこんなもんです。一つ一つは今までの実装を少し改良したりといった程度の
ものなので、それほどでも無いのですが。唯一新しい機能といえるのがSSAOシェーダ
です。これはスクリーンスペースで遮蔽している部分を計算して陰影を描画するといった
シェーダで、動画では負荷軽減のためにモデルに対してのみしか適応させていないので
分かりにくいですが薄っすらと紫がかっている部分がそうです。本当ならば全体に対して
適応したいところですが、現時点で60FPSから20FPSにまで下がってしまったので
この辺で一旦ドクターストップをかけることにしました。
理想を言えば、もっと肌理細やかな陰影を期待していたんですが。レイの計算で使用する
レイ半径を小さくしすぎると全体の陰影が弱くなってしまい、逆にレイ半径を大きくしすぎる
と細かい陰影がでなくなってしまうのです。市販のゲームでは大きいSSAOシェーダと小さ
いSSAOシェーダの2段階を使用したりするものもあるそうですが。自分の環境でそこまで
リッチな使い方はできないので、チューニングでなんとか誤魔化すのが精一杯でした。
それと今現在は球面調和ライティングも勉強しているのですが、こちらはほとんど
頂点シェーダの計算だけでお手軽にGI計算が出来るのでSSAOを中止して球面調和
ライティングを実装しようかなと考えています。うまく出来るといいなぁ。
追加:
以前の動画だとSSAOの効果が分かりにくかったので、新しく分かりやすい色に変更して
再投稿してみました。