みなさんこんにちは
花粉でくしゃみが止まらないStudio√です
開発報告2021年2月号です
前回の記事で少しだけ次回作のお話をしているので
そちらも見ているといいかもしれません
今回は次回作を作るための技術的な実験が多いので
興味がない人には少しつまらない内容になってしまっているかもしれません
次回作キャラクター
次回作のメインキャラです
髪型と髪色は今後変更するかもしれません
服はまだ製作中です!
キャラテーマとしては、
どんどんHなことに抵抗がなくなっていく過程と
ビッチ化系のバットステータスを活かしたいので
真面目・おとなしめ系で進めています
布シミュレーションの実験
スカートの布っぽさの表現ってゲームだと結構難しい
(自分の技術力不足の面もありますが)
かといってリアルタイムシミュレーションだとCPUコストが高すぎる
Magica Clothでリアルタイムシミュレーション
というわけで今回実験したやつMagica Clothというアセット
JobSystem + BurstコンパイラでCPUのパフォーマンスをどれだけ抑えられているか
ONになったあとのスカート(?)みたいな布部分に注目
かなり良さげです
髪のボーンにも使えてかなりいい感じ
CPU処理時間が大体0.8ms~1.0msぐらい増加
FPSは60~80ぐらいの低下
メインキャラクターにのみ使用なら問題なさそう
最近のIPC高いCPUならもっとパフォーマンスの低下が少ないのかな?
液体シミュレートの実験
液体の表現ってゲームだと(以下略
Obi Fluidでリアルタイムシミュレーション
いつの間にかJob System + Burstコンパイラに対応していたので使ってみました
CPU処理時間は5.0ms~8.0msぐらい増加
FPSは150~200低下
普段使いはちょっと難しい(流体シミュ自体がゲーム向けじゃないけれども)
イベントシーンのみで使用とかならいい感じかも
これでぶっかけとか顔射の表現ができたらいい感じかな?
次回作の課題と解決策
非同期処理の強化
UniTaskの導入(学習コストちょっと高め)
ロード画面のフリーズとかの修正が必要
Update関数のコスト削減とUIの値監視の最適化
UniRxの導入(学習コストちょっと高め)
UnityのUpdateは重いということを知ったので導入
(GPU処理時間よりCPU処理時間が長くなっていってパフォーマンスが落ちる)
キャラクター操作とかのStateパターン採用している所はUpdateマネージャー作って解決
マテリアル数とライト数増加によるパフォーマンス悪化軽減
UnityのURPを導入(互換性の問題がどうなるか)
バッチ処理でドローコール減るみたいだけど、どうなんだろう
街のシーンとかマテリアルもライトも増えるから軽くなってくれれば
問題は対応していないシェーダーが使えなくなること
CPUオーバーヘッドの軽減
DirextX12もしくはVulcanを使用
UnityだとDirectX12が未だに実験的のままだけど大丈夫かな?
Vulcanだと互換性がどうなるか