ホロライブの二次創作ゲーを作りたい (955レス)
上下前次1-新
451: 2024/01/24(水)08:06 ID:VfW00VT7(2/5) AAS
だいぶ前にスマホ版ビルドしてみたけどメモリ不足で無理だったってのがあったけど
URPの設定のRenderScaleを2倍にしてて5000×2500とかいうとんでもない解像度で描画しようとしてたのが原因だった
RenderScaleを等倍にしたらメモリ使用量も0.6GBくらいに収まって普通にスマホ版で動かせました
452: 2024/01/24(水)09:11 ID:fVi59P06(1) AAS
解像度下げるのも最適化やね
453: 2024/01/24(水)09:23 ID:VfW00VT7(3/5) AAS
今回はスマホで2倍ってのが意図してなかったものだからよかったけど
PCだと2倍と等倍でもかなり差が分かるし(一応画質設定で下げられるようにする)
おそらくスマホも等倍未満にすると目に見えて画質が下がってしまうのでできればこのラインを維持したいところ・・・
454: 2024/01/24(水)09:30 ID:AYEYQDPa(1/3) AAS
最近のスマホは馬鹿みたいに解像度高いからな
455(1): 2024/01/24(水)09:32 ID:AYEYQDPa(2/3) AAS
昔Unity公式がAMDのアップスケーリング技術使えば2Kでレンダリングしたやつを4Kで描画できるからいいよって言ってた
動画リンク[YouTube]
456: 2024/01/24(水)10:03 ID:VfW00VT7(4/5) AAS
>>455
ありがとう
Bilinearと教えてくれたFSRで比較してみたけど、fps、CPU使用率、GPU使用率のいずれも大して変わらなかった
今のわいの環境だとGPUは余力が余りまくってるから、そっちを最適化する技術だとしたらCPUバウンドのわいの環境には響かないかも
457: 2024/01/24(水)10:06 ID:VfW00VT7(5/5) AAS
でもそうかスマホ版だと影響が如実に現れてるかもしれないのか
本命はPC版でスマホ版は公開する予定がないけどついでに検証してみる
458: 2024/01/24(水)14:52 ID:AYEYQDPa(3/3) AAS
まぁ動画見る限りいろんなゲームでFSR使われてるって事は4Kで全部レンダリングしてるところは少ないからFSRのほうがバイリニアより性能いいならFSRでアップスケーリングしたらいいんじゃね?
459: 2024/01/25(木)02:00 ID:MpbjV3ld(1) AAS
そりゃそうか、問題なさそうだしそうします
今日(昨日)も性能検証の続きみたいなことやってたけど、シェーダ販売元がパフォーマンスについて詳しく見てくれることになりました
買い切りなのに申し訳ないと思いつつ甘えるしかない
460(1): 2024/01/26(金)09:25 ID:zZVqnd62(1) AAS
敵AIを200体くらい表示して重くてローポリモデルにしたり解像度下げたりしたけど効果なくて
20体~50体くらいに下げたら軽くなった事があります。CPUがボトルネックになってた(UE勢)
461(1): 2024/01/26(金)12:51 ID:FIRNyUEg(1/2) AAS
>>460
そのモデルたちが同じ種類のキャラクターだとUnityではかなり最適化できて無双系のゲームも現実的なんですが
種類が異なるキャラクターを大量に表示するとCPUがボトルネックになってどうしようもなくなるのが現状ですね
UEも似た感じなんじゃないでしょうか
462(1): 2024/01/26(金)13:23 ID:FIRNyUEg(2/2) AAS
Bilinear レンダリングスケール1倍
画像リンク
FSR レンダリングスケール1倍
画像リンク
レンダリングスケール2倍
画像リンク
PC版でも1920x1080の等倍と2倍ならメモリ使用量が1GB変わるくらいなのでまあ現実的(?)
463(1): 2024/01/27(土)06:32 ID:JDuT7AmC(1) AAS
>>461
UEでキャラクターをGPUインスタンスするアセット探したら6万くらいして驚いたわ~
464(1): 2024/01/27(土)07:06 ID:5rs1sE7D(1/4) AAS
>>463
なんでだ・・・そんな高価な技術じゃないと思うんだけど
Naniteだっけ?あんな変態機能はロハで使えるんだから、GPUインスタンスと同等以上の効果が得られる別の機能が何かしらありそうではあるけど
465: 2024/01/27(土)09:51 ID:vBHCc7ny(1) AAS
UnityはGPUインスタンシングは無料だからな
最近はDOTsインスタンシングだし
466: 2024/01/27(土)10:20 ID:5rs1sE7D(2/4) AAS
DOTSインスタンシングは静的なオブジェクトの大量描画に関してはGPUインスタンシングの上をいくんだろうけど
スキニングが有償アセットでしか対応してない上にパフォーマンスも従来より落ちるのが悲しい
静的なオブジェクトは今のSRP Batcher依存の最適化で十分だからDOTS対応は後回しでいいかな
467: 2024/01/27(土)13:21 ID:5rs1sE7D(3/4) AAS
3か月くらい前までメモリ32GBでちょっと足りないかもなあ程度だったのに
今日64GBメモリでメモリ不足になった
ゲーム開発以外にも裏でChrome開きまくってたのもあるかもしれないけど、こりゃ半年後には128GBコースか?
468: 2024/01/27(土)14:33 ID:5rs1sE7D(4/4) AAS
1.わいが使ってるカスタムシェーダを普通に使って(>>462)、物理演算などのグラフィック関係以外を全て切ると
約70fps 1フレームあたり約14ms
2.この状態からマテリアルのプロパティを未指定(Texture、色などの指定を初期値)にすると
約75fps 1フレームあたり約13.3ms
3.ここからさらに、シェーダをUniversal Render Pipeline/Litに変更すると
約150fms 1フレームあたり約6.7ms
4.なお1.の状態からシェーダをUniversal Render Pipeline/Litに変更しただけの場合
約120fps 1フレームあたり約8.3ms
わいが使ってるカスタムシェーダがもうちょい最適化されてくれると嬉しす・・・!
469(1): 2024/01/28(日)05:05 ID:vZodVcfs(1) AAS
>>464
6万のアセットってこれね。静的メッシュをインスタンスするのはUE4の時からあります
動画リンク[YouTube]
470: 2024/01/28(日)05:19 ID:I69l8S6B(1/3) AAS
>>469
あれ?複数種類のモデルやアニメーションに対しても強いなら6万でも普通にほしい
Unityで欲しかったな・・・
471: 2024/01/28(日)16:00 ID:I69l8S6B(2/3) AAS
今シェーダ開発者さんにパフォーマンスの調査を依頼してるのもそうだけど、専門家に丸投げしたほうが時間効率が良いことは頭では分かってるのに
パフォーマンス最適化への未練を断ち切れずにせっかくの日曜日を地味な性能検証で潰す人生
472: 2024/01/28(日)20:22 ID:I69l8S6B(3/3) AAS
今日の性能検証延長戦の成果
外部リンク:qiita.com
色々な記事を巡り巡って辿り着いたこの記事で、SkinnedMeshRendererをComputeShaderでミラーリングする方法を覚えました!!!!
SkinnedMeshRendererなしでボーンを制御したかったはずなのに結局SkinnedMeshRendererありき。ドウシテ・・・
473: 2024/01/29(月)11:09 ID:J/zXr0Lj(1/4) AAS
> Batch cause
> This material has custom buffer override
マテリアルのプロパティにComputeBufferを指定するとSRP Batcherが無効化する問題と喧嘩中
この喧嘩に勝てばパフォーマンスが爆上がりする可能性があってちょっとワクワク
474(2): 2024/01/29(月)15:55 ID:J/zXr0Lj(2/4) AAS
従来のSkinnedMeshRendererを殺してBatchRendererGroupベースでモデルを描画することに成功しました
ボーンのTransformを操作することでモデルも変形するので、アニメーションも従来のAnimatorで再生できる
ただし肝心の本命のパフォーマンスが従来のSkinnedMeshRendererより低い
従来のSkinnedMeshRendererでアニメーション再生中 ≒ BatchRendererGroup描画でアニメーション停止中
画像の左が従来のSkinnedMeshRendererでアニメーション再生
真ん中の山がBatchRendererGroup描画でアニメーション再生
右がBatchRendererGroup描画でアニメーション停止
画像リンク
まだJobSystem+Burstとかで改善できる余地はあるので、まだ希望を捨てずに検証を続けます
475(1): 2024/01/29(月)17:11 ID:ibDcrJvt(1) AAS
>>474
そういうのはBurst、JobSystemだね
476(1): 2024/01/29(月)19:25 ID:J/zXr0Lj(3/4) AAS
>>475
ぶっちゃけネットの海に落ちてるソースコードをいい感じに結合しただけなんだけど
元々のコードが結構最適化されてて詰める余地がなくて割とピンチ
そもそも従来のSkinnedMeshRendererはモデルのメッシュに対するRead/Writeが無効でもスキニングできるのに
BatchRendererGroupでスキニングするためにはメッシュのvertices/normals/tangentsの取得が避けて通れなくてRead/Writeを有効にせざるを得ない時点で勝てない気がしてきた
でもなんか勝ってる人(企業?)もいるっぽいんだよなあ・・・
外部リンク:www.infiniteloop.co.jp
477: 2024/01/29(月)20:07 ID:J/zXr0Lj(4/4) AAS
やべ、今の実装だとBlendShape対応してなかった
既にパフォーマンス負けてるのにここから更に落ちるのか・・・
478: 2024/01/29(月)21:23 ID:24olBCr9(1) AAS
>>476
なるほど
すごいことやってる人多いね
479(2): 2024/01/30(火)00:56 ID:sbR3UD9S(1/3) AAS
このDOMOTIONってどうなんだろうか?
外部リンク:github.com
現在の機能(v0.3.4)
完全にバーストされたランタイム
ステートマシンビジュアルエディタ
遷移: Boolean、Int、Enum、End Time
コードでクリップを再生するためのシンプルな API (サンプルを参照)
1D ブレンド ツリー
アニメーション イベント
ルートモーション(デフォルトの動作をオーバーライドする必要がある場合、WriteGroupのサポートあり)
オブジェクトアタッチメント
最適化されたスケルトンと最適化されていないスケルトンのサポート
ステートマシンのビジュアルデバッグ
計画されている機能
2D ブレンド ツリー (デカルト/フリーフォーム)
ステートマシンオーバーライド(別名:アニメーターオーバーライドコントローラー)
サブステート
IK サポート
複数レイヤー
スケルトンマスク
480: 2024/01/30(火)05:39 ID:DCr4w4dC(1/9) AAS
>>479
あざます!
使ってみた所感
・URP、Unity.Entities、Unity.Entities.Graphics等の依存してるパッケージの必要なバージョンが良くわからない
特定のパッケージが新しすぎるとそんなクラス無いと怒られるし、それを直すために特定のパッケージのバージョンを落とすと別のクラスが無いと怒られたりする
一部のエラーを握りつぶしてごり押したので不完全な状態
・ホロライブのMMDモデルだとボーンの数が多すぎて怒られた
原文:Skeleton entity Unity.Entities.Entity has 376 bones. Skinned mesh entity Latios.EntityWith`1<Latios.Kinemation.SkeletonDependent> has 371 bone references. The sum of these exceed the max shader capacity of 682.
・DMotion Proがアセットストアでリリース予定らしいので期待
そしてやはりShaderGraph限定の機能を使っている(Linear Blend Skinning)
サンプルに含まれてるシェーダだと結構いいパフォーマンス出たけど、わいのカスタムシェーダに置き換えてどこまで落ちるか・・・
そもそもLinear Blend Skinningをカスタムシェーダに移植できるのか試すぞ!というところで超朗報
上下前次1-新書関写板覧索設栞歴
あと 475 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s