X



ホロライブの二次創作ゲーを作りたい

1名前は開発中のものです。
垢版 |
2023/11/13(月) 21:49:52.79ID:yGEs5LQ+
と、決意してから3か月弱が経過した。
誰かおいらを見守っててくれ

ここに進捗張ってモチベを維持しようと思う
381名前は開発中のものです。
垢版 |
2024/01/20(土) 12:57:34.50ID:9e9lD738
買ったアセット「GPU Instancer - Crowd Animations」>>357 の現時点の問題点、懸念点

・モデルとアニメーションの組み合わせごとにVATを生成する必要がある
→わいの場合30体以上×150種類以上のVATを作ることになりそう
 手間もあるけどストレージの容量を浪費してしまいそう

・メッシュのRead/Writeを有効化する必要がある
→確かこれが有効だとメッシュがCPUメモリにも乗ってしまってメモリ効率が悪いとか・・・要検証

・GPUに高負荷がかかる
→2種類64体の場合、従来のSkinnedMeshRendererだとCPU30%&GPU30%だったのがアセットの場合CPU20%&GPU100%になる(パフォーマンスは>>374の通り)
 前者と後者で要求スペックがどう変わってくるかによってはこのアセットが没になる・・・
382名前は開発中のものです。
垢版 |
2024/01/20(土) 18:44:24.01ID:9e9lD738
https://i.imgur.com/vvXcud4.png
2種類64体で120fpsだったのが30種類64体で30fpsまで落ちました
まあ実際にゲームの中で同時に動くのは10体程度だろうから全然いいんだけれども1人生首になってる子おるのなんでよ
383名前は開発中のものです。
垢版 |
2024/01/20(土) 18:54:35.51ID:9e9lD738
https://i.imgur.com/mQsaViR.gif
マントが破綻してる子もいる
なんで?(殺意)
384名前は開発中のものです。
垢版 |
2024/01/20(土) 18:54:51.81ID:HGX9gjC/
>>382
これってVRMで配布されてんの?
385名前は開発中のものです。
垢版 |
2024/01/20(土) 18:55:16.64ID:9e9lD738
>>384
ホロライブMMDでググると公式の配布ページが出てくる
386名前は開発中のものです。
垢版 |
2024/01/20(土) 18:55:30.59ID:HGX9gjC/
>>385
へー
公式で配ってんだ
387名前は開発中のものです。
垢版 |
2024/01/20(土) 19:00:01.87ID:z3q9dEhd
まぁそんなもんじゃないの
ハイポリ大量って企業でもあんまないと思う、モンハン無双バイオ無双鉄拳無双ダクソ無双
388名前は開発中のものです。
垢版 |
2024/01/20(土) 19:03:42.08ID:aBxLNj5m
1メッシュのポリゴン数なんぼよ?
389名前は開発中のものです。
垢版 |
2024/01/20(土) 20:26:43.84ID:9e9lD738
>>388
少ない子で
 Tris: 436.4k Verts: 334.5k
多い子で
 Tris: 649.1k Verts: 1.1M
全種類あわせて
 Tris: 20.5M Verts: 15.6M

まあ元がMMDモデルだからこんな使い方>>383は想定されてないだろうね・・・
390名前は開発中のものです。
垢版 |
2024/01/20(土) 20:42:30.83ID:HGX9gjC/
>>389
少なくて40万はそりゃ動かんだろ
391名前は開発中のものです。
垢版 |
2024/01/20(土) 21:19:41.59ID:z3q9dEhd
FF16超えてるよ!

FF16→10万~15万ポリゴン(バハムートは30万)
God of War (PS4)→8万ポリゴン
Warlander→67000ポリゴン
バイオ5→15000ポリゴン
392名前は開発中のものです。
垢版 |
2024/01/20(土) 21:35:21.72ID:9e9lD738
>>390 >>391
なんかおかしいと思ったらUnityで確認した>>389がおかしかった

少ない子
https://3d.nicovideo.jp/works/td63649
頂点数: 51,658 ポリゴン数: 83,202

多い子
https://3d.nicovideo.jp/works/td63632
頂点数: 184,046 ポリゴン数: 107,949

ガバガバやんけ
393名前は開発中のものです。
垢版 |
2024/01/20(土) 21:37:01.25ID:9e9lD738
ニコニ立体見るとポリゴン数15万くらいの子もおる
まじで389ガバガバやんけ
394名前は開発中のものです。
垢版 |
2024/01/20(土) 22:52:37.55ID:z3q9dEhd
Unityの統計情報のポリゴン数は影の影響で増えるらしい
確かFPSも正確じゃないからゲーム中にスクリプトで表示しないとダメ

https://booth.pm/ja/items/2291888
395名前は開発中のものです。
垢版 |
2024/01/20(土) 22:56:30.77ID:aBxLNj5m
>>392
多分この表記は4角ポリゴンの数だろうからUnityでは少ない方で15万triくらいか
396名前は開発中のものです。
垢版 |
2024/01/20(土) 22:57:31.73ID:aBxLNj5m
inportsettingのメッシュで確認してるんだよね?
397名前は開発中のものです。
垢版 |
2024/01/21(日) 10:08:23.20ID:FNRdfgES
正確ではなくともおおよその値は分かると思って、389はGameタブのStatistics(統計情報ってやつ?)で確認してました・・・

>>394のアセットで確認してみたら>>392の少ない子は
 Verts: 56980 Tris: 83106
多い子
 Verts: 184909 Tris: 107949
大体ニコニ立体の情報と同じだった

>>395の少ない方が約15万triってのが何で確認できるのか分からないけど、一般的にポリゴン数と言われるやつは83106ってことかな?
398名前は開発中のものです。
垢版 |
2024/01/21(日) 10:25:36.61ID:FNRdfgES
3Dモデルは専門外すぎて、ポリゴン数云々もよくわからんけど>>382 >>383のモデルが破綻してる子2人の治し方もわからない・・・
ダメもとでアセット販売者のメアドに問い合わせて確認してみるか・・・
399名前は開発中のものです。
垢版 |
2024/01/21(日) 10:31:20.53ID:On0hd98j
mmd→Unityの時点でちゃんと変換出来てるかチェックしてみたら?
400名前は開発中のものです。
垢版 |
2024/01/21(日) 10:36:18.47ID:FNRdfgES
>>399
従来のSkinnedMeshRendererでの描画は問題ない
変換の作業手順は全員同じだからピンポイントにこの2人だけバグってる理由がまじで分からない
401名前は開発中のものです。
垢版 |
2024/01/21(日) 10:54:09.65ID:ZPNczpKU
Unityど素人だけどマントってクロスとか物理系の機能使ってない?そういうの全部オフにても駄目?
402名前は開発中のものです。
垢版 |
2024/01/21(日) 11:02:52.40ID:On0hd98j
Unityと言うかMMDでも剛体のタイプ・物理演算の機能はあるので

MMD4Mecanimの中の
Mecanim(Humanoid)での VMD 再生は、まだ不完全な部分が多く全てのモーションで正常に再生できるとは限りません。
その場合は、Animation Type を Humanoid ではなく Generic を選択してください。
Unityで動作する リアルタイムの Bullet Physics プラグイン / C# DLL も同封しています。

ここで物理エンジン使ってる
403名前は開発中のものです。
垢版 |
2024/01/21(日) 11:11:32.81ID:On0hd98j
あとIKの機能も使えないらしいからそこが引っかかってる可能性もある
404名前は開発中のものです。
垢版 |
2024/01/21(日) 11:20:49.59ID:FNRdfgES
>>401 >>402
物理系の機能は全部殺してあるというかUnityにインポートした時点で意味を持たなくなってるはず
仮にそれが悪さしてたとしても、この2人以外にもボロが出てるはずなので謎

>>403
IKは従来のSkinnedMeshRendererでも用が無いので使ってないから関係ないと思う
405名前は開発中のものです。
垢版 |
2024/01/21(日) 11:29:22.04ID:FNRdfgES
https://docs.unity3d.com/2021.3/Documentation/Manual/GPUInstancing.html
> GPU instancing isn’t compatible with the SRP Batcher. (GPU インスタンス化はSRP Batcherと互換性がありません)

従来のSkinnedMeshRendererと同じくSRP Batcherは効いてるものだと勝手に思い込んでたけど効いてないのか…>>382の時点で気づきたかった

色々検証してきて皆からアドバイスもたくさんもらってきたところ申し訳ないけど
このアセット(というかGraphics.DrawMeshInstancedIndirect)を使ってる時点で
異なるメッシュ異なるマテリアルの大量描画には向いてないとなるとこのアセットは没かもしれない…
でもまあ「このアセットは従来のSkinnedMeshRendererの代わりにDrawMeshInstancedIndirectを使って描画していて、DrawMeshInstancedIndirectはSRP Batcherが効かないので異なるメッシュ異なるマテリアルの大量描画には向いていない」という情報は実際に使って検証しないと分からなかったと思うので無意味ではなかったということで

今後この制約の中でも使い道が生まれるかもしれないので検証はもう少し続ける
406名前は開発中のものです。
垢版 |
2024/01/21(日) 11:34:36.30ID:G6sF08L6
>>397
ポリゴンには4角ポリゴンと3角ポリゴンがあって基本的にモデリングは4角ポリゴンで行うので4角ポリゴン表記だと思った
4角ポリゴンの2倍が3角ポリゴンの総数だからUnity上でレンダリングされる時は4角ポリゴンの2倍
407名前は開発中のものです。
垢版 |
2024/01/21(日) 11:39:33.59ID:On0hd98j
まぁDrawMeshだからまぁ同じ物が大量にある場合の最適化って所は変わらんね
408名前は開発中のものです。
垢版 |
2024/01/21(日) 11:43:54.81ID:FNRdfgES
ここで度々取り上げられてたIDOLY PRIDEってスマホゲームの技術記事を見返してみたら、明言されてるわけではないけど
 異なるメッシュ異なるマテリアルの複数描画→SRP Batcher
 同一のメッシュ同一のマテリアルの大量描画→DrawMeshInstancedIndirect
って使い分けられてるね

異なるメッシュ異なるマテリアルの大量描画はダメか・・・
409名前は開発中のものです。
垢版 |
2024/01/21(日) 11:56:14.10ID:FNRdfgES
参考までにポリゴン数0のメッシュで30種類64体を描画したら30fpsだった
>>382と変わって無くて草も生えない

>>406
勉強になる、ありがとうー
410名前は開発中のものです。
垢版 |
2024/01/21(日) 11:59:43.90ID:On0hd98j
FPSもスクリプトで表示しないと正確な値出ないよ
Unity公式でも言ってる適当仕様
411名前は開発中のものです。
垢版 |
2024/01/21(日) 12:08:59.76ID:FNRdfgES
>>410
https://i.imgur.com/EJzunTo.png
←30種類64体をGPU Instancerで普通に描画
→30種類64体をGPU Instancerでポリゴン数0のメッシュに差し替えて描画
スクリプトでfps見てるんだけどあんま変わらなかった(右下)
412名前は開発中のものです。
垢版 |
2024/01/21(日) 12:34:14.29ID:FNRdfgES
よし1人が10人くらいに分身して暴れる必殺技を用意してこのアセットを活かそう(やけくそ)
413名前は開発中のものです。
垢版 |
2024/01/21(日) 12:56:59.26ID:ZPNczpKU
>>383
マントを非表示にしてる子がいるみたいですけどそれは無しなんでしょうか?
414名前は開発中のものです。
垢版 |
2024/01/21(日) 12:58:56.33ID:FNRdfgES
この機能を実装していて異なるアニメーションの再生に対応したアセットの実例が、問題点まみれで一度挫折した>>354
この時よりも多少知識が増えた今だから問題点を潰して使えるかもしれない、もう1回にらめっこしてみる

>>413
マントが破綻してる子はマントありモデルとマントなしモデルがある子なのでそれは問題ないです
415名前は開発中のものです。
垢版 |
2024/01/21(日) 12:59:42.77ID:FNRdfgES
DOTS Instancingという機能がSRP BatcherとGPU Instancingを併用できるとの情報を入手
https://logicalbeat.jp/blog/15417/

この機能を実装していて、(以下>>414
416名前は開発中のものです。
垢版 |
2024/01/21(日) 18:35:15.54ID:FNRdfgES
>>354は一旦置いといて

https://assetstore.unity.com/packages/tools/animation/rukhanka-ecs-animation-system-241472?locale=ja-JP
Rukhanka - ECS Animation System $66 買った

結局ShaderGraph縛りかと思ったけどShaderGraphを従来のHLSL記述のシェーダに変換できたので
あとはこれを今使ってるカスタムシェーダ用に書き換えられれば動くところまでは持っていける

セットアップはコンポーネントを1つアタッチするだけという手軽さ
これで30種類のモデルのパフォーマンスが良ければ・・・
417名前は開発中のものです。
垢版 |
2024/01/21(日) 18:44:03.47ID:FNRdfgES
ゴリゴリDOTSを使ってるはずで大量のモデルを動かすサンプルもあるのに
Transformの制御が普通にできたりVATを使わず従来のAnimatorで動いてるっぽいのが却って不気味
今までのアセットとの違いというとLinear Blend SkinningというShaderGraphの機能を使ってるっぽいところ(結局HLSLシェーダに変換しても機能してるので今のところ問題なっしんぐ)
https://docs.unity3d.com/ja/Packages/com.unity.shadergraph@10.0/manual/Linear-Blend-Skinning-Node.html
418名前は開発中のものです。
垢版 |
2024/01/21(日) 23:57:51.04ID:On0hd98j
ECSはまだ新しいからそんなに情報出てないね
企業もこれから使い出すのかと思うと未来ありそうな気はする
419名前は開発中のものです。
垢版 |
2024/01/22(月) 08:10:20.97ID:oef3vWvB
>>418
DOTSはJobSystem+Burstの上に成り立ってる機能だけど
そのJobSystemとBurstが値型しか使えないとか制約が強すぎて嫌われてるから今のままだと使い勝手悪すぎて普及しづらそう
わいが自作した揺れものシステムもJobSystem+Burstで最適化したけどマジで面倒くさかった
420名前は開発中のものです。
垢版 |
2024/01/22(月) 17:40:26.02ID:oef3vWvB
このアセットが使っていた機能は正確には「Mesh Deformation」という機能で、そもそも「Mesh Deformation」はDOTSとか関係ないというオチだった
このアセットは、DOTSでも「Mesh Deformation」が使えるよというのが売りのアセットで
従来のSkinnedMeshRendererに「Mesh Deformation」を適用するよりもDOTSで「Mesh Deformation」を使うほうがパフォーマンスは低く、わいが求めてるものとは全然関係ないアセットでした

なので今わいが使ってるカスタムシェーダに「Mesh Deformation」は使えるのか?使えば本当にパフォーマンスが上がるのか?が争点となっているけど
「Mesh Deformation」の適用前と適用したつもりのシェーダで比較してもパフォーマンスは変わらず40FPS前後
GPUは全然余裕あるから、ありえるとしたら「Mesh Deformation」が適用できていないかCPUバウンドで頭打ちになってるかのどちらか
421名前は開発中のものです。
垢版 |
2024/01/22(月) 18:17:35.31ID:oef3vWvB
イッチ~😭
422名前は開発中のものです。
垢版 |
2024/01/22(月) 19:27:33.28ID:8OZUJi12
ワイは失踪するしか……!もう道が……!
423名前は開発中のものです。
垢版 |
2024/01/22(月) 19:28:24.25ID:oef3vWvB
何が問題になってるんだ
今なら見ての通り余裕があるから助け船出せるで
424名前は開発中のものです。
垢版 |
2024/01/22(月) 19:31:04.09ID:8OZUJi12
モチベがない上にもはや時間を割こうとすら思えなくなってる
425名前は開発中のものです。
垢版 |
2024/01/22(月) 19:36:31.53ID:8OZUJi12
Xのアカウント凍結してるんだが
426名前は開発中のものです。
垢版 |
2024/01/22(月) 19:36:55.49ID:oef3vWvB
そりゃ重症だわな・・・
メルさんの件が効いてるのか他に何かあったのか分からんけど、モチベ低下は時間に身を委ねるしか回復手段なさそうだもんなあ
時間に身を委ねた結果回復するか完全に燃え尽きるかはコントロールしきれない、ぶっちゃけガチャ
427名前は開発中のものです。
垢版 |
2024/01/22(月) 19:38:21.62ID:oef3vWvB
>>425
普通に見れたよ、なんだろう
とりあえずイッチの骨を拾ってこのスレはわいが使いつぶすから回復したら戻っておいで
428名前は開発中のものです。
垢版 |
2024/01/22(月) 19:38:49.89ID:8OZUJi12
ゲーム制作中断した代わりにワイの読み上げあくたんの精度が上がった
429名前は開発中のものです。
垢版 |
2024/01/22(月) 19:40:32.55ID:oef3vWvB
そういえばいたなそんなん
AIこよりみたいなやつだっけ
ゲームで使ったら怒られそうか・・・
430名前は開発中のものです。
垢版 |
2024/01/22(月) 19:43:25.81ID:8OZUJi12
そらもうアウトラインから立ち幅跳びしてるようなもんやろ
431名前は開発中のものです。
垢版 |
2024/01/22(月) 19:57:51.79ID:oef3vWvB
別クチでアドバイス頂けたりもして、結論が出ました

1.GPU Instancingを有効化して、少ない種類のキャラクターを大量描画
→GPUが100%に振り切れても120fpsくらいの高パフォーマンスを出せる

2.GPU Instancingを有効化して、多い種類のキャラクターを大量描画
→セットパスコールが多くてCPU使用率30%あたりで即CPUバウンドになるため、30fps程度しか出せない

3.従来のSkinnedMeshRenderer(SRP Batcherが有効)で、多い種類のキャラクターを大量描画
→セットパスコールはSRP Batcherにより大幅に削減できるが、それでもやはりCPUバウンドにより40fps前後しか出ない

3.の時点でセットパスコール数を減らさない限りCPU側のパフォーマンスが頭打ちなので、「Mesh Deformation」の力を借りても無意味とのこと
キャラクターの数や質を維持したままセットパスコール数によるCPUバウンドを解決することは現状不可能とのことで、アキラメロンという結論になりました

アドバイスくれた皆様方ありがとうございました
70レスくらい使い潰した性能検証は一旦終えて、わいは少し前までやってたいつものゲーム開発に戻ります
432名前は開発中のものです。
垢版 |
2024/01/22(月) 20:37:43.32ID:oef3vWvB
なんかQiitaの記事1本書けそうなくらいのボリュームあったなこの検証
書かないけど
433名前は開発中のものです。
垢版 |
2024/01/22(月) 21:53:26.61ID:hx/ZQSsZ
まぁ難しい事せず普通に作ろう

後ろの群衆なんかもImpostorsで作った方が早いとかね
https://youtu.be/8iKWEYvozws?t=1013
434名前は開発中のものです。
垢版 |
2024/01/22(月) 22:05:55.90ID:hx/ZQSsZ
今流行りのパルワールドも最初はオールアセットゲーから始まっていた
https://news.denfaminicogamer.jp/interview/190906a

インディーゲームは細かいクオリティより新しい面白さに一点集中しよう
https://youtu.be/u1C4EahF4mA
435名前は開発中のものです。
垢版 |
2024/01/23(火) 08:25:55.04ID:1/XcE8eH
性能検証>>431について補足

> 3.従来のSkinnedMeshRenderer(SRP Batcherが有効)で、多い種類のキャラクターを大量描画
> →セットパスコールはSRP Batcherにより大幅に削減できるが、それでもやはりCPUバウンドにより40fps前後しか出ない

→PostProcessを無効化する:40fps
→+揺れものシステム&物理演算を無効化する:50fps
→+とあるコンポーネントを無効化する:70fps

という感じで色々無効化したらパフォーマンスが上がった
最後のとあるコンポーネントというのは、キャラクターの眉毛を髪の上から描画させるためのコンポーネントのことで
毎フレームSkinnedMeshRenderer.BakeMesh()が走っていたために微妙な負荷になっていたみたい
こいつを切り捨てるのは割と現実的なのでこれでパフォーマンスが上がるなら消すか
436名前は開発中のものです。
垢版 |
2024/01/23(火) 08:27:20.42ID:1/XcE8eH
>>434
新しい面白さなあ・・・前例がほぼない的な意味でなら新しさはあると思うんだけど万人受けは期待してない
わいにとっては絶対面白いけどそれがどこまで受けるかは実際に公開してみないとわからないかも
437名前は開発中のものです。
垢版 |
2024/01/23(火) 09:06:59.25ID:A5/zzmn2
あとパルワールドで思い出したけどこれエンジンがUEになってるから
Unityでもある程度重いソフトはMOD切ってIL2CPPでテストも毎回ビルドってのもありうるね
438名前は開発中のものです。
垢版 |
2024/01/23(火) 09:52:23.62ID:1/XcE8eH
>>437
IL2CPPでもMonoでも「キャラクターの種類が増えるほどフレームレートが目に見えて低下する」という課題があったのでそれを解決したかったのが今回の検証なんだけど
まあ結局ダメだったのでIL2CPPビルドに頼ったりキャラの数を減らしたりCPUバウンドの要因を地道に削っていくって方向で・・・
439名前は開発中のものです。
垢版 |
2024/01/23(火) 09:59:55.78ID:1/XcE8eH
わいが使ってるシェーダが超有能すぎる(実は今回の性能検証でもこっそり一役買ってる)

Qiitaで紹介記事書きたいくらいなんだけど、顧客を絞って1人1人に対するサポートを手厚くやっていきたいという先方のご意向で書けないもどかしさ
440名前は開発中のものです。
垢版 |
2024/01/23(火) 10:03:04.39ID:1/XcE8eH
https://i.imgur.com/xwoB9zP.jpeg
441名前は開発中のものです。
垢版 |
2024/01/23(火) 10:08:04.96ID:1/XcE8eH
https://i.imgur.com/TfVzuM3.jpeg
こっちにしとこ
442名前は開発中のものです。
垢版 |
2024/01/23(火) 10:38:26.22ID:A5/zzmn2
まぁ後は正攻法やね
マップならPerfect Cullingとか言う謎のアセットもあるけど

https://gamemakers.jp/article/2023_12_11_57024/
https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible
443名前は開発中のものです。
垢版 |
2024/01/23(火) 12:04:21.03ID:1/XcE8eH
>>442
複数種類のキャラクターが画面内を暴れまわる感じのゲーム作りたいから
カメラに映ってない間という条件のあるカリング系は大体没なんだ・・・
444名前は開発中のものです。
垢版 |
2024/01/23(火) 12:05:10.00ID:1/XcE8eH
あとそのあたりのドキュメントは3,4回くらい読み返してる
英語のほうはあんま理解できてる気しないけど
445名前は開発中のものです。
垢版 |
2024/01/23(火) 12:09:45.80ID:U3m3M0NO
>>443
閃乱カグラ?
446名前は開発中のものです。
垢版 |
2024/01/23(火) 12:14:07.10ID:1/XcE8eH
>>445
閃乱カグラは全然知らない
スマブラとかスーパーポケモンスクランブルが近いかも
447名前は開発中のものです。
垢版 |
2024/01/23(火) 13:36:49.37ID:U3m3M0NO
>>446
カグラは無双系ですね。キャラクター重視のゆるいアクションって作ってる途中で
面白くないかもって思っちゃうかもしれないのが難しいところです…
448名前は開発中のものです。
垢版 |
2024/01/23(火) 15:01:44.73ID:1/XcE8eH
>>447
スマブラXに百人組み手っていうモードがあったけどSPにもあるんだろうか、無双系って言われてるのって大体あれのことだよね
あれほど雑魚敵がポンポン死んで目まぐるしく入れ替わる感じでもなく
かといってスマブラほど1人1人とのプロレスを重くしたいわけでもなく
その中間くらいにしたい・・・って文章にしてみたけど自分でもよくわからん、思うが儘に作ってみてどうなるかのお楽しみ
449名前は開発中のものです。
垢版 |
2024/01/24(水) 00:54:47.29ID:DwvPG79i
主さんにはシェーダーとか開発者を唸らす方向で頑張って欲しい
450名前は開発中のものです。
垢版 |
2024/01/24(水) 04:50:44.63ID:VfW00VT7
なんじゃそりゃ
まあ作りたいゲームの方向性も決まってるし 万人受けは狙わず数人が大草原生やしてくれれば御の字なのでやりたいようにやってみます
451名前は開発中のものです。
垢版 |
2024/01/24(水) 08:06:32.59ID:VfW00VT7
だいぶ前にスマホ版ビルドしてみたけどメモリ不足で無理だったってのがあったけど
URPの設定のRenderScaleを2倍にしてて5000×2500とかいうとんでもない解像度で描画しようとしてたのが原因だった
RenderScaleを等倍にしたらメモリ使用量も0.6GBくらいに収まって普通にスマホ版で動かせました
452名前は開発中のものです。
垢版 |
2024/01/24(水) 09:11:13.67ID:fVi59P06
解像度下げるのも最適化やね
453名前は開発中のものです。
垢版 |
2024/01/24(水) 09:23:31.06ID:VfW00VT7
今回はスマホで2倍ってのが意図してなかったものだからよかったけど
PCだと2倍と等倍でもかなり差が分かるし(一応画質設定で下げられるようにする)
おそらくスマホも等倍未満にすると目に見えて画質が下がってしまうのでできればこのラインを維持したいところ・・・
454名前は開発中のものです。
垢版 |
2024/01/24(水) 09:30:53.00ID:AYEYQDPa
最近のスマホは馬鹿みたいに解像度高いからな
455名前は開発中のものです。
垢版 |
2024/01/24(水) 09:32:51.19ID:AYEYQDPa
昔Unity公式がAMDのアップスケーリング技術使えば2Kでレンダリングしたやつを4Kで描画できるからいいよって言ってた
https://youtu.be/_cKixSjjTjI?si=11QTNBjo9xm3vhAi
456名前は開発中のものです。
垢版 |
2024/01/24(水) 10:03:24.49ID:VfW00VT7
>>455
ありがとう
Bilinearと教えてくれたFSRで比較してみたけど、fps、CPU使用率、GPU使用率のいずれも大して変わらなかった
今のわいの環境だとGPUは余力が余りまくってるから、そっちを最適化する技術だとしたらCPUバウンドのわいの環境には響かないかも
457名前は開発中のものです。
垢版 |
2024/01/24(水) 10:06:59.85ID:VfW00VT7
でもそうかスマホ版だと影響が如実に現れてるかもしれないのか
本命はPC版でスマホ版は公開する予定がないけどついでに検証してみる
458名前は開発中のものです。
垢版 |
2024/01/24(水) 14:52:46.31ID:AYEYQDPa
まぁ動画見る限りいろんなゲームでFSR使われてるって事は4Kで全部レンダリングしてるところは少ないからFSRのほうがバイリニアより性能いいならFSRでアップスケーリングしたらいいんじゃね?
459名前は開発中のものです。
垢版 |
2024/01/25(木) 02:00:18.31ID:MpbjV3ld
そりゃそうか、問題なさそうだしそうします

今日(昨日)も性能検証の続きみたいなことやってたけど、シェーダ販売元がパフォーマンスについて詳しく見てくれることになりました
買い切りなのに申し訳ないと思いつつ甘えるしかない
460名前は開発中のものです。
垢版 |
2024/01/26(金) 09:25:09.60ID:zZVqnd62
敵AIを200体くらい表示して重くてローポリモデルにしたり解像度下げたりしたけど効果なくて
20体~50体くらいに下げたら軽くなった事があります。CPUがボトルネックになってた(UE勢)
461名前は開発中のものです。
垢版 |
2024/01/26(金) 12:51:19.42ID:FIRNyUEg
>>460
そのモデルたちが同じ種類のキャラクターだとUnityではかなり最適化できて無双系のゲームも現実的なんですが
種類が異なるキャラクターを大量に表示するとCPUがボトルネックになってどうしようもなくなるのが現状ですね
UEも似た感じなんじゃないでしょうか
462名前は開発中のものです。
垢版 |
2024/01/26(金) 13:23:45.19ID:FIRNyUEg
Bilinear レンダリングスケール1倍
https://tadaup.jp/615974d6f.jpg

FSR レンダリングスケール1倍
https://tadaup.jp/6159760f0.jpg

レンダリングスケール2倍
https://tadaup.jp/615977099.jpg

PC版でも1920x1080の等倍と2倍ならメモリ使用量が1GB変わるくらいなのでまあ現実的(?)
463名前は開発中のものです。
垢版 |
2024/01/27(土) 06:32:03.87ID:JDuT7AmC
>>461
UEでキャラクターをGPUインスタンスするアセット探したら6万くらいして驚いたわ~
464名前は開発中のものです。
垢版 |
2024/01/27(土) 07:06:33.46ID:5rs1sE7D
>>463
なんでだ・・・そんな高価な技術じゃないと思うんだけど
Naniteだっけ?あんな変態機能はロハで使えるんだから、GPUインスタンスと同等以上の効果が得られる別の機能が何かしらありそうではあるけど
465名前は開発中のものです。
垢版 |
2024/01/27(土) 09:51:46.96ID:vBHCc7ny
UnityはGPUインスタンシングは無料だからな
最近はDOTsインスタンシングだし
466名前は開発中のものです。
垢版 |
2024/01/27(土) 10:20:40.60ID:5rs1sE7D
DOTSインスタンシングは静的なオブジェクトの大量描画に関してはGPUインスタンシングの上をいくんだろうけど
スキニングが有償アセットでしか対応してない上にパフォーマンスも従来より落ちるのが悲しい
静的なオブジェクトは今のSRP Batcher依存の最適化で十分だからDOTS対応は後回しでいいかな
467名前は開発中のものです。
垢版 |
2024/01/27(土) 13:21:21.90ID:5rs1sE7D
3か月くらい前までメモリ32GBでちょっと足りないかもなあ程度だったのに
今日64GBメモリでメモリ不足になった
ゲーム開発以外にも裏でChrome開きまくってたのもあるかもしれないけど、こりゃ半年後には128GBコースか?
468名前は開発中のものです。
垢版 |
2024/01/27(土) 14:33:26.94ID:5rs1sE7D
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名前は開発中のものです。
垢版 |
2024/01/28(日) 05:05:06.59ID:vZodVcfs
>>464
6万のアセットってこれね。静的メッシュをインスタンスするのはUE4の時からあります
https://youtu.be/LJDpybYgWtA
470名前は開発中のものです。
垢版 |
2024/01/28(日) 05:19:36.46ID:I69l8S6B
>>469
あれ?複数種類のモデルやアニメーションに対しても強いなら6万でも普通にほしい
Unityで欲しかったな・・・
471名前は開発中のものです。
垢版 |
2024/01/28(日) 16:00:44.34ID:I69l8S6B
今シェーダ開発者さんにパフォーマンスの調査を依頼してるのもそうだけど、専門家に丸投げしたほうが時間効率が良いことは頭では分かってるのに
パフォーマンス最適化への未練を断ち切れずにせっかくの日曜日を地味な性能検証で潰す人生
472名前は開発中のものです。
垢版 |
2024/01/28(日) 20:22:21.54ID:I69l8S6B
今日の性能検証延長戦の成果

https://qiita.com/UnagiHuman/items/7db6c75adea0d5862acf
色々な記事を巡り巡って辿り着いたこの記事で、SkinnedMeshRendererをComputeShaderでミラーリングする方法を覚えました!!!!
SkinnedMeshRendererなしでボーンを制御したかったはずなのに結局SkinnedMeshRendererありき。ドウシテ・・・
473名前は開発中のものです。
垢版 |
2024/01/29(月) 11:09:41.21ID:J/zXr0Lj
> Batch cause
> This material has custom buffer override

マテリアルのプロパティにComputeBufferを指定するとSRP Batcherが無効化する問題と喧嘩中
この喧嘩に勝てばパフォーマンスが爆上がりする可能性があってちょっとワクワク
474名前は開発中のものです。
垢版 |
2024/01/29(月) 15:55:59.16ID:J/zXr0Lj
従来のSkinnedMeshRendererを殺してBatchRendererGroupベースでモデルを描画することに成功しました
ボーンのTransformを操作することでモデルも変形するので、アニメーションも従来のAnimatorで再生できる

ただし肝心の本命のパフォーマンスが従来のSkinnedMeshRendererより低い
従来のSkinnedMeshRendererでアニメーション再生中 ≒ BatchRendererGroup描画でアニメーション停止中

画像の左が従来のSkinnedMeshRendererでアニメーション再生
真ん中の山がBatchRendererGroup描画でアニメーション再生
右がBatchRendererGroup描画でアニメーション停止
https://i.imgur.com/lzm2gop.png

まだJobSystem+Burstとかで改善できる余地はあるので、まだ希望を捨てずに検証を続けます
475名前は開発中のものです。
垢版 |
2024/01/29(月) 17:11:25.49ID:ibDcrJvt
>>474
そういうのはBurst、JobSystemだね
476名前は開発中のものです。
垢版 |
2024/01/29(月) 19:25:41.44ID:J/zXr0Lj
>>475
ぶっちゃけネットの海に落ちてるソースコードをいい感じに結合しただけなんだけど
元々のコードが結構最適化されてて詰める余地がなくて割とピンチ

そもそも従来のSkinnedMeshRendererはモデルのメッシュに対するRead/Writeが無効でもスキニングできるのに
BatchRendererGroupでスキニングするためにはメッシュのvertices/normals/tangentsの取得が避けて通れなくてRead/Writeを有効にせざるを得ない時点で勝てない気がしてきた

でもなんか勝ってる人(企業?)もいるっぽいんだよなあ・・・
https://www.infiniteloop.co.jp/tech-blog/2023/07/animatorreplacepart1/
477名前は開発中のものです。
垢版 |
2024/01/29(月) 20:07:32.48ID:J/zXr0Lj
やべ、今の実装だとBlendShape対応してなかった
既にパフォーマンス負けてるのにここから更に落ちるのか・・・
478名前は開発中のものです。
垢版 |
2024/01/29(月) 21:23:04.00ID:24olBCr9
>>476
なるほど
すごいことやってる人多いね
479名前は開発中のものです。
垢版 |
2024/01/30(火) 00:56:34.80ID:sbR3UD9S
このDOMOTIONってどうなんだろうか?
https://github.com/gamedev-pro/dmotion?tab=readme-ov-file

現在の機能(v0.3.4)
完全にバーストされたランタイム
ステートマシンビジュアルエディタ
遷移: Boolean、Int、Enum、End Time
コードでクリップを再生するためのシンプルな API (サンプルを参照)
1D ブレンド ツリー
アニメーション イベント
ルートモーション(デフォルトの動作をオーバーライドする必要がある場合、WriteGroupのサポートあり)
オブジェクトアタッチメント
最適化されたスケルトンと最適化されていないスケルトンのサポート
ステートマシンのビジュアルデバッグ
計画されている機能
2D ブレンド ツリー (デカルト/フリーフォーム)
ステートマシンオーバーライド(別名:アニメーターオーバーライドコントローラー)
サブステート
IK サポート
複数レイヤー
スケルトンマスク
480名前は開発中のものです。
垢版 |
2024/01/30(火) 05:39:07.92ID:DCr4w4dC
>>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をカスタムシェーダに移植できるのか試すぞ!というところで超朗報
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況