ホロライブの二次創作ゲーを作りたいat GAMEDEV
ホロライブの二次創作ゲーを作りたい - 暇つぶし2ch353:名前は開発中のものです。
24/01/18 18:32:04.01 TxaV6iHk.net
>>351
星街の一件でだいぶ萎えてたけど、今回のもだいぶ萎えるわ

354:名前は開発中のものです。
24/01/19 01:43:47.06 5Ds9DH3o.net
3Dモデルを大量に動かす夢を諦めきれず GPU ECS Animation Baker $53.90 買った
Humanoidアニメーションが対応してなかった
―完―
そういうときもある

355:名前は開発中のものです。
24/01/19 03:41:29.51 cfZKtqxJ.net
そもそもポリゴン数多いキャラ大人数は無理では?
前に紹介したアイドルゲームの最適化事情
Unity新機能を活用した攻めの開発 次世代グラフィックを目指す『IDOLY PRIDE』 - ログミーTech
URLリンク(logmi.jp)
モバイル向け大量描画テクニック | Unity Learning Materials
URLリンク(learning.unity3d.jp)
2万7千ポリゴンのアイドル4~5人だけでもエフェクトや観客にComputeShader、Burst、DrawProcedural、DrawMeshInstancedProcedural、DrawMeshInstancedIndirectで軽量化してる
無双的なゲームなら雑魚キャラのポリゴン少ないと思う

356:名前は開発中のものです。
24/01/19 03:52:30.33 h5ltcii/.net
UEで悪いんだけど敵AI増やすと直ぐ重くなるわ

357:名前は開発中のものです。
24/01/19 06:43:32.25 cfZKtqxJ.net
似たようなアセットあったわ、IK非対応だけど何か多機能っぽい
URLリンク(www.asset-sale.net)
ただこれって同じモデルをコピーしまくった時の最適化で無双にしか使えないんじゃね?
別のモデル数十体は意味ない気もする、まぁ草とかには使えるけど

358:名前は開発中のものです。
24/01/19 08:41:51.64 5Ds9DH3o.net
>>355 >>357
おーありがとう
ポリゴン数多い複数種類キャラ大人数は不可能ではない(※1)(※2)(※3)(※4)(※5)(※6)(※7)……というのが現状らしい
買ったやつは複数種類キャラ大人数は可能なんだけどHumanoidアニメーション非対応とかいくつか問題があって要対応…対応したところでわいの要件をどこまで満たせるか分からないけど
あとその記事のゲームはスマホアプリだからPC限定にすればもう少し選択肢が増えると思われる
草みたいな単純なモデルの大量描画なら有償アセット無くても実現可能なんだよね・・・
>>356
UEはこの手の最適化が得意なイメージあるけどどうなんだろう

359:名前は開発中のものです。
24/01/19 08:42:52.30 dflbxeb4.net
>>355
スマホだと無理だよ
PCならなんとかなる

360:名前は開発中のものです。
24/01/19 09:00:06.13 dflbxeb4.net
全員が同じ動きをするならVATを使って頂点シェーダーでアニメーションさせるのが一番軽い
Github探したらスキンドメッシュレンダラーをVATにするツールあるからそれでアニメーションクリップをVATにする
URLリンク(github.com)
あとはVAT動かすシェーダーを作ってVATをスクリプトで切替えながらアニメーションさせる

361:名前は開発中のものです。
24/01/19 09:11:37.19 5Ds9DH3o.net
>>360
さんくす
残念ながら全員に違う動きをさせたいという要件もある・・・買ったアセットはそれを満たしてたんだけど別のところで問題があって解決できるか要検証ってところ
今のところ同じ動きをするモデルを大量に用意したいシチュエーションがないけどいつか必要になった時のために保存しとくわ

362:名前は開発中のものです。
24/01/19 09:43:32.97 h5ltcii/.net
>>358
標準機能でLOD作成出来るみたい。どの位効果あるのか試してないけど

363:名前は開発中のものです。
24/01/19 10:03:19.20 5Ds9DH3o.net
Humanoidアニメーション非対応、マテリアルはモデル1体につき1種類のみ、ShaderGraph必須につきHLSLで記述した独自のカスタムシェーダ非対応
マニュアルに書いてない制約多すぎて買ったアセットの検証で心折れそう
こんな大して優先度高くないのに手間かかることやってるからゲーム開発進まないんよな

364:名前は開発中のものです。
24/01/19 10:09:45.11 5Ds9DH3o.net
>>362
UEはなんか英単語6文字の機能(名前忘れた)を使うとカメラとの距離に応じてローポリモデルをリアルタイム高パフォーマンスで生成して切り替えてくれるみたいな変態機能なかったっけ
うらやましいってここでつぶやいた気がするけど忘れた

365:名前は開発中のものです。
24/01/19 10:25:11.23 h5ltcii/.net
>>364
Naniteは現時点ではスケルタルメッシュには対応してないです従来のLODは有るけど

366:名前は開発中のものです。
24/01/19 10:28:24.65 sUYrDz8A.net
大量モブなら影を消して影響ライトも減らしていいかもな

367:名前は開発中のものです。
24/01/19 10:37:57.99 5Ds9DH3o.net
>>365
まじすか・・・この分野はどのエンジンも発展途上ということなのか
>>366
その手のエディタ画面を操作するだけで変更できるかわいい手法は一通り試してダメでした(>>270+α)

368:名前は開発中のものです。
24/01/19 11:15:58.65 5Ds9DH3o.net
買ったアセットが通常のモデルをECS専用のモデルに変換する手続きを踏むんだけど
変換後のモデルがAnimationClipを参照してなくてどうやってアニメーション再生してんだよって見てみたら
専用モデルと一緒にテクスチャを生成して1ピクセル1ピクセルに各フレームごとのボーンの情報を刻み込んで
そのテクスチャから読み取った情報でメッシュを動かすとかいう変態じみたことやってた
一旦忘れようかこのアセット

369:名前は開発中のものです。
24/01/19 11:56:25.49 Exn+M0xc.net
>>368
だからそれがVATなのでは?

370:名前は開発中のものです。
24/01/19 12:08:08.00 9VoXLv/9.net
>>369
あ、ごめんそういうことか!
理解した(多分)

371:名前は開発中のものです。
24/01/19 19:23:22.24 5Ds9DH3o.net
トワ様の配信今見たけどわいが今日やりたかったことホロアースがほぼ実現しとるやん・・・そういえばホロアース全然やってなかった
これに衝突判定も加えれば100点満点

372:名前は開発中のものです。
24/01/19 19:41:37.38 5Ds9DH3o.net
URLリンク(i.imgur.com)
>>357さんのアセット買って試した
本体$66+本体動かすために必要らしいやつ$82.50
今のところ2種類のモデル64体で120fpsくらい
実用化するために乗り越えなければいけない壁
・Transformの制御が一切効かないので髪やスカート等の揺れものが死んでる
・マテリアルの操作が一切効かないのでマテリアルから色を変えたり等の変更ができない
・従来の物理エンジンが使えない
他にも問題色々ありそうだけどとりあえず上3つは1つでも欠けたらこのアセットが没になるので何とか解決したいところ

373:名前は開発中のものです。
24/01/19 19:45:26.73 5Ds9DH3o.net
・実行前にアニメーションとモデルを結び付けて構築する必要があり、今のままだとアセットバンドル化できない
これあったわ、一番重要まである

374:名前は開発中のものです。
24/01/19 20:28:56.36 5Ds9DH3o.net
2種類64体のやつ
従来のSkinnedMeshRendererのパフォーマンスが左
新しく買ったアセットのパフォーマンスが右
URLリンク(i.imgur.com)
おもっくそ慢心してるけど30種類くらいに増やしたらガクッとパフォーマンス落ちるとかありませんように・・・

375:名前は開発中のものです。
24/01/19 20:29:17.86 cfZKtqxJ.net
独自仕様でIK未対応って事は揺れものアセットもまぁ無理だわな
古い無双しか作れない、やっぱ実用例の記事って大事

376:名前は開発中のものです。
24/01/19 20:32:12.07 5Ds9DH3o.net
>>375
Transformが制御できないのは代わりに別のところで制御しているからだと思われるので、そこを特定してソースコードいじれば外部から疑似的にTransformを制御できるようになると考えられる
揺れものシステムはわいの自作なのでTransform制御と同じことができるなら揺れものは可能

377:名前は開発中のものです。
24/01/19 20:36:40.42 cfZKtqxJ.net
>>376
マジか、やるね~

378:名前は開発中のものです。
24/01/19 21:38:01.21 h5ltcii/.net
技術的に面白そうだし主さんのスキルも高いけど自由度が低いのでメタバース的なものには向いてなさそうだよね

379:名前は開発中のものです。
24/01/19 23:42:40.53 5Ds9DH3o.net
>>377
よいアセット紹介してくれてありがとうー
折角買ったし今のところ致命的な欠陥もないので使い倒してみる

>>378
ホロアースっていうメタバース的なゲームが今日わいが四苦八苦してたことをある程度やってのけてるかも、詳しくは知らないけど
わいもメタバース的なことがやりたいわけではないからなあ、、、

380:名前は開発中のものです。
24/01/20 00:09:47.58 pqHEwM1o.net
>>379
アクションゲームか~面白そうなことやってるので応援してます!!

381:名前は開発中のものです。
24/01/20 12:57:34.50 9e9lD738.net
買ったアセット「GPU Instancer - Crowd Animations」>>357 の現時点の問題点、懸念点
・モデルとアニメーションの組み合わせごとにVATを生成する必要がある
→わいの場合30体以上×150種類以上のVATを作ることになりそう
 手間もあるけどストレージの容量を浪費してしまいそう
・メッシュのRead/Writeを有効化する必要がある
→確かこれが有効だとメッシュがCPUメモリにも乗ってしまってメモリ効率が悪いとか・・・要検証
・GPUに高負荷がかかる
→2種類64体の場合、従来のSkinnedMeshRendererだとCPU30%&GPU30%だったのがアセットの場合CPU20%&GPU100%になる(パフォーマンスは>>374の通り)
 前者と後者で要求スペックがどう変わってくるかによってはこのアセットが没になる・・・

382:名前は開発中のものです。
24/01/20 18:44:24.01 9e9lD738.net
URLリンク(i.imgur.com)
2種類64体で120fpsだったのが30種類64体で30fpsまで落ちました
まあ実際にゲームの中で同時に動くのは10体程度だろうから全然いいんだけれども1人生首になってる子おるのなんでよ

383:名前は開発中のものです。
24/01/20 18:54:35.51 9e9lD738.net
URLリンク(i.imgur.com)
マントが破綻してる子もいる
なんで?(殺意)

384:名前は開発中のものです。
24/01/20 18:54:51.81 HGX9gjC/.net
>>382
これってVRMで配布されてんの?

385:名前は開発中のものです。
24/01/20 18:55:16.64 9e9lD738.net
>>384
ホロライブMMDでググると公式の配布ページが出てくる

386:名前は開発中のものです。
24/01/20 18:55:30.59 HGX9gjC/.net
>>385
へー
公式で配ってんだ

387:名前は開発中のものです。
24/01/20 19:00:01.87 z3q9dEhd.net
まぁそんなもんじゃないの
ハイポリ大量って企業でもあんまないと思う、モンハン無双バイオ無双鉄拳無双ダクソ無双

388:名前は開発中のものです。
24/01/20 19:03:42.08 aBxLNj5m.net
1メッシュのポリゴン数なんぼよ?

389:名前は開発中のものです。
24/01/20 20:26:43.84 9e9lD738.net
>>388
少ない子で
 Tris: 436.4k Verts: 334.5k
多い子で
 Tris: 649.1k Verts: 1.1M
全種類あわせて
 Tris: 20.5M Verts: 15.6M

まあ元がMMDモデルだからこんな使い方>>383は想定されてないだろうね・・・

390:名前は開発中のものです。
24/01/20 20:42:30.83 HGX9gjC/.net
>>389
少なくて40万はそりゃ動かんだろ

391:名前は開発中のものです。
24/01/20 21:19:41.59 z3q9dEhd.net
FF16超えてるよ!
FF16→10万~15万ポリゴン(バハムートは30万)
God of War (PS4)→8万ポリゴン
Warlander→67000ポリゴン
バイオ5→15000ポリゴン

392:名前は開発中のものです。
24/01/20 21:35:21.72 9e9lD738.net
>>390 >>391
なんかおかしいと思ったらUnityで確認した>>389がおかしかった
少ない子
URLリンク(3d.nicovideo.jp)
頂点数: 51,658 ポリゴン数: 83,202
多い子
URLリンク(3d.nicovideo.jp)
頂点数: 184,046 ポリゴン数: 107,949
ガバガバやんけ

393:名前は開発中のものです。
24/01/20 21:37:01.25 9e9lD738.net
ニコニ立体見るとポリゴン数15万くらいの子もおる
まじで389ガバガバやんけ

394:名前は開発中のものです。
24/01/20 22:52:37.55 z3q9dEhd.net
Unityの統計情報のポリゴン数は影の影響で増えるらしい
確かFPSも正確じゃないからゲーム中にスクリプトで表示しないとダメ
URLリンク(booth.pm)

395:名前は開発中のものです。
24/01/20 22:56:30.77 aBxLNj5m.net
>>392
多分この表記は4角ポリゴンの数だろうからUnityでは少ない方で15万triくらいか

396:名前は開発中のものです。
24/01/20 22:57:31.73 aBxLNj5m.net
inportsettingのメッシュで確認してるんだよね?

397:名前は開発中のものです。
24/01/21 10:08:23.20 FNRdfgES.net
正確ではなくともおおよその値は分かると思って、389はGameタブのStatistics(統計情報ってやつ?)で確認してました・・・
>>394のアセットで確認してみたら>>392の少ない子は
 Verts: 56980 Tris: 83106
多い子
 Verts: 184909 Tris: 107949
大体ニコニ立体の情報と同じだった
>>395の少ない方が約15万triってのが何で確認できるのか分からないけど、一般的にポリゴン数と言われるやつは83106ってことかな?

398:名前は開発中のものです。
24/01/21 10:25:36.61 FNRdfgES.net
3Dモデルは専門外すぎて、ポリゴン数云々もよくわからんけど>>382 >>383のモデルが破綻してる子2人の治し方もわからない・・・
ダメもとでアセット販売者のメアドに問い合わせて確認してみるか・・・

399:名前は開発中のものです。
24/01/21 10:31:20.53 On0hd98j.net
mmd→Unityの時点でちゃんと変換出来てるかチェックしてみたら?

400:名前は開発中のものです。
24/01/21 10:36:18.47 FNRdfgES.net
>>399
従来のSkinnedMeshRendererでの描画は問題ない
変換の作業手順は全員同じだからピンポイントにこの2人だけバグってる理由がまじで分からない

401:名前は開発中のものです。
24/01/21 10:54:09.65 ZPNczpKU.net
Unityど素人だけどマントってクロスとか物理系の機能使ってない?そういうの全部オフにても駄目?

402:名前は開発中のものです。
24/01/21 11:02:52.40 On0hd98j.net
Unityと言うかMMDでも剛体のタイプ・物理演算の機能はあるので
MMD4Mecanimの中の
Mecanim(Humanoid)での VMD 再生は、まだ不完全な部分が多く全てのモーションで正常に再生できるとは限りません。
その場合は、Animation Type を Humanoid ではなく Generic を選択してください。
Unityで動作する リアルタイムの Bullet Physics プラグイン / C# DLL も同封しています。
ここで物理エンジン使ってる

403:名前は開発中のものです。
24/01/21 11:11:32.81 On0hd98j.net
あとIKの機能も使えないらしいからそこが引っかかってる可能性もある

404:名前は開発中のものです。
24/01/21 11:20:49.59 FNRdfgES.net
>>401 >>402
物理系の機能は全部殺してあるというかUnityにインポートした時点で意味を持たなくなってるはず
仮にそれが悪さしてたとしても、この2人以外にもボロが出てるはずなので謎
>>403
IKは従来のSkinnedMeshRendererでも用が無いので使ってないから関係ないと思う

405:名前は開発中のものです。
24/01/21 11:29:22.04 FNRdfgES.net
URLリンク(docs.unity3d.com)
> GPU instancing isn’t compatible with the SRP Batcher. (GPU インスタンス化はSRP Batcherと互換性がありません)
従来のSkinnedMeshRendererと同じくSRP Batcherは効いてるものだと勝手に思い込んでたけど効いてないのか…>>382の時点で気づきたかった
色々検証してきて皆からアドバイスもたくさんもらってきたところ申し訳ないけど
このアセット(というかGraphics.DrawMeshInstancedIndirect)を使ってる時点で
異なるメッシュ異なるマテリアルの大量描画には向いてないとなるとこのアセットは没かもしれない…
でもまあ「このアセットは従来のSkinnedMeshRendererの代わりにDrawMeshInstancedIndirectを使って描画していて、DrawMeshInstancedIndirectはSRP Batcherが効かないので異なるメッシュ異なるマテリアルの大量描画には向いていない」という情報は実際に使って検証しないと分からなかったと思うので無意味ではなかったということで
今後この制約の中でも使い道が生まれるかもしれないので検証はもう少し続ける

406:名前は開発中のものです。
24/01/21 11:34:36.30 G6sF08L6.net
>>397
ポリゴンには4角ポリゴンと3角ポリゴンがあって基本的にモデリングは4角ポリゴンで行うので4角ポリゴン表記だと思った
4角ポリゴンの2倍が3角ポリゴンの総数だからUnity上でレンダリングされる時は4角ポリゴンの2倍

407:名前は開発中のものです。
24/01/21 11:39:33.59 On0hd98j.net
まぁDrawMeshだからまぁ同じ物が大量にある場合の最適化って所は変わらんね

408:名前は開発中のものです。
24/01/21 11:43:54.81 FNRdfgES.net
ここで度々取り上げられてたIDOLY PRIDEってスマホゲームの技術記事を見返してみたら、明言されてるわけではないけど
 異なるメッシュ異なるマテリアルの複数描画→SRP Batcher
 同一のメッシュ同一のマテリアルの大量描画→DrawMeshInstancedIndirect
って使い分けられてるね
異なるメッシュ異なるマテリアルの大量描画はダメか・・・

409:名前は開発中のものです。
24/01/21 11:56:14.10 FNRdfgES.net
参考までにポリゴン数0のメッシュで30種類64体を描画したら30fpsだった
>>382と変わって無くて草も生えない
>>406
勉強になる、ありがとうー

410:名前は開発中のものです。
24/01/21 11:59:43.90 On0hd98j.net
FPSもスクリプトで表示しないと正確な値出ないよ
Unity公式でも言ってる適当仕様

411:名前は開発中のものです。
24/01/21 12:08:59.76 FNRdfgES.net
>>410
URLリンク(i.imgur.com)
←30種類64体をGPU Instancerで普通に描画
→30種類64体をGPU Instancerでポリゴン数0のメッシュに差し替えて描画
スクリプトでfps見てるんだけどあんま変わらなかった(右下)

412:名前は開発中のものです。
24/01/21 12:34:14.29 FNRdfgES.net
よし1人が10人くらいに分身して暴れる必殺技を用意してこのアセットを活かそう(やけくそ)

413:名前は開発中のものです。
24/01/21 12:56:59.26 ZPNczpKU.net
>>383
マントを非表示にしてる子がいるみたいですけどそれは無しなんでしょうか?

414:名前は開発中のものです。
24/01/21 12:58:56.33 FNRdfgES.net
この機能を実装していて異なるアニメーションの再生に対応したアセットの実例が、問題点まみれで一度挫折した>>354
この時よりも多少知識が増えた今だから問題点を潰して使えるかもしれない、もう1回にらめっこしてみる

>>413
マントが破綻してる子はマントありモデルとマントなしモデルがある子なのでそれは問題ないです

415:名前は開発中のものです。
24/01/21 12:59:42.77 FNRdfgES.net
DOTS Instancingという機能がSRP BatcherとGPU Instancingを併用できるとの情報を入手
URLリンク(logicalbeat.jp)

この機能を実装していて、(以下>>414

416:名前は開発中のものです。
24/01/21 18:35:15.54 FNRdfgES.net
>>354は一旦置いといて
URLリンク(assetstore.unity.com)
Rukhanka - ECS Animation System $66 買った
結局ShaderGraph縛りかと思ったけどShaderGraphを従来のHLSL記述のシェーダに変換できたので
あとはこれを今使ってるカスタムシェーダ用に書き換えられれば動くところまでは持っていける
セットアップはコンポーネントを1つアタッチするだけという手軽さ
これで30種類のモデルのパフォーマンスが良ければ・・・

417:名前は開発中のものです。
24/01/21 18:44:03.47 FNRdfgES.net
ゴリゴリDOTSを使ってるはずで大量のモデルを動かすサンプルもあるのに
Transformの制御が普通にできたりVATを使わず従来のAnimatorで動いてるっぽいのが却って不気味
今までのアセットとの違いというとLinear Blend SkinningというShaderGraphの機能を使ってるっぽいところ(結局HLSLシェーダに変換しても機能してるので今のところ問題なっしんぐ)
URLリンク(docs.unity3d.com)

418:名前は開発中のものです。
24/01/21 23:57:51.04 On0hd98j.net
ECSはまだ新しいからそんなに情報出てないね
企業もこれから使い出すのかと思うと未来ありそうな気はする

419:名前は開発中のものです。
24/01/22 08:10:20.97 oef3vWvB.net
>>418
DOTSはJobSystem+Burstの上に成り立ってる機能だけど
そのJobSystemとBurstが値型しか使えないとか制約が強すぎて嫌われてるから今のままだと使い勝手悪すぎて普及しづらそう
わいが自作した揺れものシステムもJobSystem+Burstで最適化したけどマジで面倒くさかった

420:名前は開発中のものです。
24/01/22 17:40:26.02 oef3vWvB.net
このアセットが使っていた機能は正確には「Mesh Deformation」という機能で、そもそも「Mesh Deformation」はDOTSとか関係ないというオチだった
このアセットは、DOTSでも「Mesh Deformation」が使えるよというのが売りのアセットで
従来のSkinnedMeshRendererに「Mesh Deformation」を適用するよりもDOTSで「Mesh Deformation」を使うほうがパフォーマンスは低く、わいが求めてるものとは全然関係ないアセットでした
なので今わいが使ってるカスタムシェーダに「Mesh Deformation」は使えるのか?使えば本当にパフォーマンスが上がるのか?が争点となっているけど
「Mesh Deformation」の適用前と適用したつもりのシェーダで比較してもパフォーマンスは変わらず40FPS前後
GPUは全然余裕あるから、ありえるとしたら「Mesh Deformation」が適用できていないかCPUバウンドで頭打ちになってるかのどちらか

421:名前は開発中のものです。
24/01/22 18:17:35.31 oef3vWvB.net
イッチ~😭

422:名前は開発中のものです。
24/01/22 19:27:33.28 8OZUJi12.net
ワイは失踪するしか……!もう道が……!

423:名前は開発中のものです。
24/01/22 19:28:24.25 oef3vWvB.net
何が問題になってるんだ
今なら見ての通り余裕があるから助け船出せるで

424:名前は開発中のものです。
24/01/22 19:31:04.09 8OZUJi12.net
モチベがない上にもはや時間を割こうとすら思えなくなってる

425:名前は開発中のものです。
24/01/22 19:36:31.53 8OZUJi12.net
Xのアカウント凍結してるんだが

426:名前は開発中のものです。
24/01/22 19:36:55.49 oef3vWvB.net
そりゃ重症だわな・・・
メルさんの件が効いてるのか他に何かあったのか分からんけど、モチベ低下は時間に身を委ねるしか回復手段なさそうだもんなあ
時間に身を委ねた結果回復するか完全に燃え尽きるかはコントロールしきれない、ぶっちゃけガチャ

427:名前は開発中のものです。
24/01/22 19:38:21.62 oef3vWvB.net
>>425
普通に見れたよ、なんだろう
とりあえずイッチの骨を拾ってこのスレはわいが使いつぶすから回復したら戻っておいで

428:名前は開発中のものです。
24/01/22 19:38:49.89 8OZUJi12.net
ゲーム制作中断した代わりにワイの読み上げあくたんの精度が上がった

429:名前は開発中のものです。
24/01/22 19:40:32.55 oef3vWvB.net
そういえばいたなそんなん
AIこよりみたいなやつだっけ
ゲームで使ったら怒られそうか・・・

430:名前は開発中のものです。
24/01/22 19:43:25.81 8OZUJi12.net
そらもうアウトラインから立ち幅跳びしてるようなもんやろ

431:名前は開発中のものです。
24/01/22 19:57:51.79 oef3vWvB.net
別クチでアドバイス頂けたりもして、結論が出ました
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:名前は開発中のものです。
24/01/22 20:37:43.32 oef3vWvB.net
なんかQiitaの記事1本書けそうなくらいのボリュームあったなこの検証
書かないけど

433:名前は開発中のものです。
24/01/22 21:53:26.61 hx/ZQSsZ.net
まぁ難しい事せず普通に作ろう
後ろの群衆なんかもImpostorsで作った方が早いとかね
URLリンク(youtu.be)

434:名前は開発中のものです。
24/01/22 22:05:55.90 hx/ZQSsZ.net
今流行りのパルワールドも最初はオールアセットゲーから始まっていた
URLリンク(news.denfaminicogamer.jp)
インディーゲームは細かいクオリティより新しい面白さに一点集中しよう
URLリンク(youtu.be)

435:名前は開発中のものです。
24/01/23 08:25:55.04 1/XcE8eH.net
性能検証>>431について補足

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

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

という感じで色々無効化したらパフォーマンスが上がった
最後のとあるコンポーネントというのは、キャラクターの眉毛を髪の上から描画させるためのコンポーネントのことで
毎フレームSkinnedMeshRenderer.BakeMesh()が走っていたために微妙な負荷になっていたみたい
こいつを切り捨てるのは割と現実的なのでこれでパフォーマンスが上がるなら消すか

436:名前は開発中のものです。
24/01/23 08:27:20.42 1/XcE8eH.net
>>434
新しい面白さなあ・・・前例がほぼない的な意味でなら新しさはあると思うんだけど万人受けは期待してない
わいにとっては絶対面白いけどそれがどこまで受けるかは実際に公開してみないとわからないかも

437:名前は開発中のものです。
24/01/23 09:06:59.25 A5/zzmn2.net
あとパルワールドで思い出したけどこれエンジンがUEになってるから
Unityでもある程度重いソフトはMOD切ってIL2CPPでテストも毎回ビルドってのもありうるね

438:名前は開発中のものです。
24/01/23 09:52:23.62 1/XcE8eH.net
>>437
IL2CPPでもMonoでも「キャラクターの種類が増えるほどフレームレートが目に見えて低下する」という課題があったのでそれを解決したかったのが今回の検証なんだけど
まあ結局ダメだったのでIL2CPPビルドに頼ったりキャラの数を減らしたりCPUバウンドの要因を地道に削っていくって方向で・・・

439:名前は開発中のものです。
24/01/23 09:59:55.78 1/XcE8eH.net
わいが使ってるシェーダが超有能すぎる(実は今回の性能検証でもこっそり一役買ってる)

Qiitaで紹介記事書きたいくらいなんだけど、顧客を絞って1人1人に対するサポートを手厚くやっていきたいという先方のご意向で書けないもどかしさ

440:名前は開発中のものです。
24/01/23 10:03:04.39 1/XcE8eH.net
URLリンク(i.imgur.com)


441:名前は開発中のものです。
24/01/23 10:08:04.96 1/XcE8eH.net
URLリンク(i.imgur.com)
こっちにしとこ

442:名前は開発中のものです。
24/01/23 10:38:26.22 A5/zzmn2.net
まぁ後は正攻法やね
マップならPerfect Cullingとか言う謎のアセットもあるけど

URLリンク(gamemakers.jp)
URLリンク(github.com)

443:名前は開発中のものです。
24/01/23 12:04:21.03 1/XcE8eH.net
>>442
複数種類のキャラクターが画面内を暴れまわる感じのゲーム作りたいから
カメラに映ってない間という条件のあるカリング系は大体没なんだ・・・

444:名前は開発中のものです。
24/01/23 12:05:10.00 1/XcE8eH.net
あとそのあたりのドキュメントは3,4回くらい読み返してる
英語のほうはあんま理解できてる気しないけど

445:名前は開発中のものです。
24/01/23 12:09:45.80 U3m3M0NO.net
>>443
閃乱カグラ?

446:名前は開発中のものです。
24/01/23 12:14:07.10 1/XcE8eH.net
>>445
閃乱カグラは全然知らない
スマブラとかスーパーポケモンスクランブルが近いかも

447:名前は開発中のものです。
24/01/23 13:36:49.37 U3m3M0NO.net
>>446
カグラは無双系ですね。キャラクター重視のゆるいアクションって作ってる途中で
面白くないかもって思っちゃうかもしれないのが難しいところです…

448:名前は開発中のものです。
24/01/23 15:01:44.73 1/XcE8eH.net
>>447
スマブラXに百人組み手っていうモードがあったけどSPにもあるんだろうか、無双系って言われてるのって大体あれのことだよね
あれほど雑魚敵がポンポン死んで目まぐるしく入れ替わる感じでもなく
かといってスマブラほど1人1人とのプロレスを重くしたいわけでもなく
その中間くらいにしたい・・・って文章にしてみたけど自分でもよくわからん、思うが儘に作ってみてどうなるかのお楽しみ

449:名前は開発中のものです。
24/01/24 00:54:47.29 DwvPG79i.net
主さんにはシェーダーとか開発者を唸らす方向で頑張って欲しい

450:名前は開発中のものです。
24/01/24 04:50:44.63 VfW00VT7.net
なんじゃそりゃ
まあ作りたいゲームの方向性も決まってるし 万人受けは狙わず数人が大草原生やしてくれれば御の字なのでやりたいようにやってみます

451:名前は開発中のものです。
24/01/24 08:06:32.59 VfW00VT7.net
だいぶ前にスマホ版ビルドしてみたけどメモリ不足で無理だったってのがあったけど
URPの設定のRenderScaleを2倍にしてて5000×2500とかいうとんでもない解像度で描画しようとしてたのが原因だった
RenderScaleを等倍にしたらメモリ使用量も0.6GBくらいに収まって普通にスマホ版で動かせました

452:名前は開発中のものです。
24/01/24 09:11:13.67 fVi59P06.net
解像度下げるのも最適化やね

453:名前は開発中のものです。
24/01/24 09:23:31.06 VfW00VT7.net
今回はスマホで2倍ってのが意図してなかったものだからよかったけど
PCだと2倍と等倍でもかなり差が分かるし(一応画質設定で下げられるようにする)
おそらくスマホも等倍未満にすると目に見えて画質が下がってしまうのでできればこのラインを維持したいところ・・・

454:名前は開発中のものです。
24/01/24 09:30:53.00 AYEYQDPa.net
最近のスマホは馬鹿みたいに解像度高いからな

455:名前は開発中のものです。
24/01/24 09:32:51.19 AYEYQDPa.net
昔Unity公式がAMDのアップスケーリング技術使えば2Kでレンダリングしたやつを4Kで描画できるからいいよって言ってた
URLリンク(youtu.be)

456:名前は開発中のものです。
24/01/24 10:03:24.49 VfW00VT7.net
>>455
ありがとう
Bilinearと教えてくれたFSRで比較してみたけど、fps、CPU使用率、GPU使用率のいずれも大して変わらなかった
今のわいの環境だとGPUは余力が余りまくってるから、そっちを最適化する技術だとしたらCPUバウンドのわいの環境には響かないかも

457:名前は開発中のものです。
24/01/24 10:06:59.85 VfW00VT7.net
でもそうかスマホ版だと影響が如実に現れてるかもしれないのか
本命はPC版でスマホ版は公開する予定がないけどついでに検証してみる

458:名前は開発中のものです。
24/01/24 14:52:46.31 AYEYQDPa.net
まぁ動画見る限りいろんなゲームでFSR使われてるって事は4Kで全部レンダリングしてるところは少ないからFSRのほうがバイリニアより性能いいならFSRでアップスケーリングしたらいいんじゃね?

459:名前は開発中のものです。
24/01/25 02:00:18.31 MpbjV3ld.net
そりゃそうか、問題なさそうだしそうします
今日(昨日)も性能検証の続きみたいなことやってたけど、シェーダ販売元がパフォーマンスについて詳しく見てくれることになりました
買い切りなのに申し訳ないと思いつつ甘えるしかない

460:名前は開発中のものです。
24/01/26 09:25:09.60 zZVqnd62.net
敵AIを200体くらい表示して重くてローポリモデルにしたり解像度下げたりしたけど効果なくて
20体~50体くらいに下げたら軽くなった事があります。CPUがボトルネックになってた(UE勢)

461:名前は開発中のものです。
24/01/26 12:51:19.42 FIRNyUEg.net
>>460
そのモデルたちが同じ種類のキャラクターだとUnityではかなり最適化できて無双系のゲームも現実的なんですが
種類が異なるキャラクターを大量に表示するとCPUがボトルネックになってどうしようもなくなるのが現状ですね
UEも似た感じなんじゃないでしょうか

462:名前は開発中のものです。
24/01/26 13:23:45.19 FIRNyUEg.net
Bilinear レンダリングスケール1倍
URLリンク(tadaup.jp)
FSR レンダリングスケール1倍
URLリンク(tadaup.jp)
レンダリングスケール2倍
URLリンク(tadaup.jp)
PC版でも1920x1080の等倍と2倍ならメモリ使用量が1GB変わるくらいなのでまあ現実的(?)

463:名前は開発中のものです。
24/01/27 06:32:03.87 JDuT7AmC.net
>>461
UEでキャラクターをGPUインスタンスするアセット探したら6万くらいして驚いたわ~

464:名前は開発中のものです。
24/01/27 07:06:33.46 5rs1sE7D.net
>>463
なんでだ・・・そんな高価な技術じゃないと思うんだけど
Naniteだっけ?あんな変態機能はロハで使えるんだから、GPUインスタンスと同等以上の効果が得られる別の機能が何かしらありそうではあるけど

465:名前は開発中のものです。
24/01/27 09:51:46.96 vBHCc7ny.net
UnityはGPUインスタンシングは無料だからな
最近はDOTsインスタンシングだし

466:名前は開発中のものです。
24/01/27 10:20:40.60 5rs1sE7D.net
DOTSインスタンシングは静的なオブジェクトの大量描画に関してはGPUインスタンシングの上をいくんだろうけど
スキニングが有償アセットでしか対応してない上にパフォーマンスも従来より落ちるのが悲しい
静的なオブジェクトは今のSRP Batcher依存の最適化で十分だからDOTS対応は後回しでいいかな

467:名前は開発中のものです。
24/01/27 13:21:21.90 5rs1sE7D.net
3か月くらい前までメモリ32GBでちょっと足りないかもなあ程度だったのに
今日64GBメモリでメモリ不足になった
ゲーム開発以外にも裏でChrome開きまくってたのもあるかもしれないけど、こりゃ半年後には128GBコースか?

468:名前は開発中のものです。
24/01/27 14:33:26.94 5rs1sE7D.net
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:名前は開発中のものです。
24/01/28 05:05:06.59 vZodVcfs.net
>>464
6万のアセットってこれね。静的メッシュをインスタンスするのはUE4の時からあります
URLリンク(youtu.be)

470:名前は開発中のものです。
24/01/28 05:19:36.46 I69l8S6B.net
>>469
あれ?複数種類のモデルやアニメーションに対しても強いなら6万でも普通にほしい
Unityで欲しかったな・・・

471:名前は開発中のものです。
24/01/28 16:00:44.34 I69l8S6B.net
今シェーダ開発者さんにパフォーマンスの調査を依頼してるのもそうだけど、専門家に丸投げしたほうが時間効率が良いことは頭では分かってるのに
パフォーマンス最適化への未練を断ち切れずにせっかくの日曜日を地味な性能検証で潰す人生

472:名前は開発中のものです。
24/01/28 20:22:21.54 I69l8S6B.net
今日の性能検証延長戦の成果

URLリンク(qiita.com)
色々な記事を巡り巡って辿り着いたこの記事で、SkinnedMeshRendererをComputeShaderでミラーリングする方法を覚えました!!!!
SkinnedMeshRendererなしでボーンを制御したかったはずなのに結局SkinnedMeshRendererありき。ドウシテ・・・

473:名前は開発中のものです。
24/01/29 11:09:41.21 J/zXr0Lj.net
> Batch cause
> This material has custom buffer override
マテリアルのプロパティにComputeBufferを指定するとSRP Batcherが無効化する問題と喧嘩中
この喧嘩に勝てばパフォーマンスが爆上がりする可能性があってちょっとワクワク

474:名前は開発中のものです。
24/01/29 15:55:59.16 J/zXr0Lj.net
従来のSkinnedMeshRendererを殺してBatchRendererGroupベースでモデルを描画することに成功しました
ボーンのTransformを操作することでモデルも変形するので、アニメーションも従来のAnimatorで再生できる

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

画像の左が従来のSkinnedMeshRendererでアニメーション再生
真ん中の山がBatchRendererGroup描画でアニメーション再生
右がBatchRendererGroup描画でアニメーション停止
URLリンク(i.imgur.com)

まだJobSystem+Burstとかで改善できる余地はあるので、まだ希望を捨てずに検証を続けます

475:名前は開発中のものです。
24/01/29 17:11:25.49 ibDcrJvt.net
>>474
そういうのはBurst、JobSystemだね

476:名前は開発中のものです。
24/01/29 19:25:41.44 J/zXr0Lj.net
>>475
ぶっちゃけネットの海に落ちてるソースコードをいい感じに結合しただけなんだけど
元々のコードが結構最適化されてて詰める余地がなくて割とピンチ

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

でもなんか勝ってる人(企業?)もいるっぽいんだよなあ・・・
URLリンク(www.infiniteloop.co.jp)

477:名前は開発中のものです。
24/01/29 20:07:32.48 J/zXr0Lj.net
やべ、今の実装だとBlendShape対応してなかった
既にパフォーマンス負けてるのにここから更に落ちるのか・・・

478:名前は開発中のものです。
24/01/29 21:23:04.00 24olBCr9.net
>>476
なるほど
すごいことやってる人多いね

479:名前は開発中のものです。
24/01/30 00:56:34.80 sbR3UD9S.net
このDOMOTIONってどうなんだろうか?
URLリンク(github.com)
現在の機能(v0.3.4)
完全にバーストされたランタイム
ステートマシンビジュアルエディタ
遷移: Boolean、Int、Enum、End Time
コードでクリップを再生するためのシンプルな API (サンプルを参照)
1D ブレンド ツリー
アニメーション イベント
ルートモーション(デフォルトの動作をオーバーライドする必要がある場合、WriteGroupのサポートあり)
オブジェクトアタッチメント
最適化されたスケルトンと最適化されていないスケルトンのサポート
ステートマシンのビジュアルデバッグ
計画されている機能
2D ブレンド ツリー (デカルト/フリーフォーム)
ステートマシンオーバーライド(別名:アニメーターオーバーライドコントローラー)
サブステート
IK サポート
複数レイヤー
スケルトンマスク

480:名前は開発中のものです。
24/01/30 05:39:07.92 DCr4w4dC.net
>>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をカスタムシェーダに移植できるのか試すぞ!というところで超朗報

481:名前は開発中のものです。
24/01/30 05:58:14.77 DCr4w4dC.net
長老法!!!!
わいのカスタムシェーダの開発者さんがシェーダ起因のCPUバウンドの原因を特定してくれてパフォーマンスがどちゃくそ改善されました!!!
ビフォー
URLリンク(i.imgur.com)
アフター
URLリンク(i.imgur.com)
パフォーマンスが低かった理由も教えてくれたけどわいだったら絶対気づけなかった、流石プロ
確かUniversal Render Pipeline/Litだと150fpsとかだったから、ここまでくればもう十分まである
でも折角なのでウィニングラン(?)として>>474>>479の検証だけはやりきりたい

482:名前は開発中のものです。
24/01/30 06:15:32.02 25oO7Vfp.net
結局シェーダーの違いやったんか
トゥーンシェーダ色々あるけど結構違いありそうやな

483:名前は開発中のものです。
24/01/30 08:16:39.24 sbR3UD9S.net
>>481
やったじゃん

484:名前は開発中のものです。
24/01/30 08:19:48.69 sbR3UD9S.net
てかBone376あるとか書いてあるけどこれって全部でってこと?
1つのモデルで376ってありすぎじゃね?

485:名前は開発中のものです。
24/01/30 10:02:36.71 DCr4w4dC.net
1つのモデルで371だった それをDOTS用に変換すると376になる?
スカートとか髪のボーン1つ1つにモデルを変形させるための本物のボーンとは別で
用途が分からないダミーのボーンがあったりするせいか頭数が多い
そしてこのボーンの上限超過エラーをコメントアウトして握りつぶしてみたけど表示が破綻してダメだった
このライブラリに同梱されてるシェーダでも表示が崩れるので、上限には意味があるらしい
Proがリリースされたら上限が上がることを祈りつつこのライブラリは一旦保留・・・

486:名前は開発中のものです。
24/01/30 11:08:42.21 ZUYV+zXn.net
Unityって何々と何々は共存出来ないって多すぎじゃないですか

487:名前は開発中のものです。
24/01/30 11:16:32.01 DCr4w4dC.net
わかる JobSystem+Burstみたいな値型限定で高速化とかするくらいならいっそC++でコーディングさせてくれとは思う
仮にC++で書けたとして本当に速くなるのかは分らんけど

488:名前は開発中のものです。
24/01/30 11:21:52.49 25oO7Vfp.net
UEの最適化も結構大変そうだよ
スクエニとか自社の描画システムに切り替えて標準機能ガン無視とかしてる
URLリンク(www.docswell.com)

489:名前は開発中のものです。
24/01/30 12:30:46.72 DCr4w4dC.net
やっぱどこのゲームエンジンも低レベルなAPIを酷使して自前で全部実装するのが最強なのか

490:名前は開発中のものです。
24/01/30 15:36:01.77 DCr4w4dC.net
BatchRendererGroupでモデルを描画するためには
1. BatchRendererGroupにメッシュとマテリアルを登録する
2. 実際に描画するために他にも色々登録する
必要があるんだけど、2をやらずにメッシュとマテリアルを登録するだけで登録数に比例した負荷が発生してしまう

描画しなくともこの負荷だけで従来のSkinnedMeshRendererにパフォーマンスで負ける
メッシュとマテリアルを登録せず描画処理だけ走らせると150fpsくらい出る
登録することで発生する負荷を追求したいのにProfiler君さあ・・・
URLリンク(i.imgur.com)

491:名前は開発中のものです。
24/01/30 16:30:46.65 AjZdEr3a.net
>>487
結局IRにするなら普通にC#使ったほうがいいと思うわ
C++だとしても変わらんし多分Burstのほうが早いまである

492:名前は開発中のものです。
24/01/30 16:32:12.53 AjZdEr3a.net
基本的にボーン数はパフォーマンスに影響あるからできるならいらないボーンは削除したほうがいいと思う

493:名前は開発中のものです。
24/01/30 16:59:29.90 HWvPLj+X.net
あくたんと天月(´;ω;`)

494:名前は開発中のものです。
24/01/30 17:21:10.35 DCr4w4dC.net
なんかもう>>481で満足しちゃったので(他力本願)
BatchRendererGroupは異なるメッシュやマテリアルの大量描画には向かない可能性があるということで一旦置いておく
300以上のボーンを持つキャラクター30体の不要なボーンを精査するのは時間帯効果が低そうなので優先度低めのタスクとして頭の片隅においておきます・・・

495:名前は開発中のものです。
24/01/30 17:22:01.84 DCr4w4dC.net
ちなみに>>481のパフォーマンスが上がった理由は「マテリアルに対してSetVectorしたフレームではConstantBufferの更新が走るので、SetVectorしたマテリアルの数に比例してパフォーマンスが低下する」とのこと
URLリンク(note.com)
> UnityのSRP Batcherとは何なのか
> 一言でいえば、Draw Call毎にConstant Bufferを更新するという非効率な仕組みをやめたということです。これによりレンダリングに関連するCPUコストが削減されます。
毎フレームSetVectorするとSRP Batcherの強みを殺すことになる
勉強になりました

496:名前は開発中のものです。
24/01/30 20:09:55.73 8GAA7lp1.net
>>495
なるほどサンクス

497:名前は開発中のものです。
24/01/30 20:21:29.65 DCr4w4dC.net
ん?SetVectorがダメならfloatに分割してSetFloatを3、4回走らせればいいだけの気がする・・・
それで許されるのならなんかガバガバだな
もしかして今回の犯人がSetVectorだったというだけで、Set系は全部アウトなのかも
要検証

498:名前は開発中のものです。
24/01/30 22:43:19.95 ZUYV+zXn.net
シェーダー最適化してもまともなAI組んだらCPUバウンドで動かなくなるから
単調なアニメーションさせることしか出来ないけどそれは大丈夫なのかな

499:名前は開発中のものです。
24/01/31 03:53:20.43 vVhRDcrl.net
>>498
AIって他の雑多な処理と同じくC#でコーディングしたもの?
毎フレーム走るC#の処理が多すぎるとCPUバウンドになるってこと?
どうなんだろう・・・IL2CPPやJobSystem+Burstとかで処理時間を詰めていけば乗り切れたりするのかな

500:名前は開発中のものです。
24/01/31 04:43:02.64 vVhRDcrl.net
>>497
やっぱり
SetFloatで試したけど、毎フレームSetFloatしたら70fpsまで落ちた
このカスタムシェーダ、マテリアルの値を毎フレーム更新しなきゃいけない機能を搭載してるから、その機能を一時的に殺すことで130fpsくらいまで上昇した
今のところわい個人はその機能に用がないからいいけど先方はそういうわけにもいかないだろうから、お礼がてら対策できないか検証してみるか

501:名前は開発中のものです。
24/01/31 10:33:27.78 T8K+yJgS.net
>>499
Job Burstでかなり早く処理できるよ

502:名前は開発中のものです。
24/01/31 10:35:59.05 T8K+yJgS.net
>>500
Set系が難ありって感じかな
C#スクリプトからその時の状況の変化でイベント発行してシェーダーはその値を使う
状況の変化がない場合はその値をずっと使い続けるみたいなことができればいいと思う

503:名前は開発中のものです。
24/01/31 11:09:28.53 vVhRDcrl.net
>>502
パフォーマンスはかなり最適化されてて、値をキャッシュできるものは元からキャッシュが実装されてた
このシェーダにはPerspectiveRemovalっていう機能があって、カメラとキャラクターの向きや位置関係をリアルタイムでシェーダに教えてあげる必要があるのでキャッシュが使えない
PerspectiveRemovalが何者か正確に理解できてないけど違いはこんな感じ↓

PerspectiveRemovalオフ(そこら辺のシェーダでも通常はこっち)
URLリンク(tadaup.jp)

PerspectiveRemovalオン
URLリンク(tadaup.jp)

504:名前は開発中のものです。
24/01/31 11:25:56.94 3RPE9L0m.net
>>503
顔がこっち向く的な?

505:名前は開発中のものです。
24/01/31 11:26:47.66 3RPE9L0m.net
その機能削除して普通にIKとかでよくね?
AnimationRiggingはデフォルトでBurst対応してたと思う

506:名前は開発中のものです。
24/01/31 11:35:08.35 vVhRDcrl.net
削除っていうか、このシェーダは購入したもので不定期的にあるアプデの恩恵を受けたい
&いつか自分がこの機能を使いたい時が出てくるかもしれないから、正式に修正してもらったほうが嬉しい
先方もわいが出したパフォーマンス最適化の提案を度々取り入れてくれてるので今回も直したソースコード送り付けてお願いしてみる

507:名前は開発中のものです。
24/01/31 11:55:33.80 T8K+yJgS.net
>>506
なるほどね

508:名前は開発中のものです。
24/01/31 13:45:40.82 vVhRDcrl.net
修正できたからウッキウキでお願いの連絡しようとしたら、とっくに修正終わってるからリリース待っててちょと一蹴された、さすがプロ

509:名前は開発中のものです。
24/01/31 20:48:03.16 YUKGGu/H.net
素朴な質問だけどシェーダー何使ってるの?
MMDはどうやってUnityにインポートしてる?MMD4Mecanim?

510:名前は開発中のものです。
24/01/31 20:48:05.51 YUKGGu/H.net
素朴な質問だけどシェーダー何使ってるの?
MMDはどうやってUnityにインポートしてる?MMD4Mecanim?

511:名前は開発中のものです。
24/01/31 23:21:39.42 vVhRDcrl.net
>>509
シェーダ公式ページ 画像多いので通信量とか注意
URLリンク(github.com)
MMD4Mecanimでインポートしてる
正確には同梱されてるpmx2fbx.exeでfbxに変換するだけで、それ以降はMMD4Mecanimの機能は全く使ってない

512:名前は開発中のものです。
24/02/01 01:07:18.15 950QpuXW.net
>>511
あーこれ気になってた
売ってるのかこのシェーダー

513:名前は開発中のものです。
24/02/01 18:34:04.15 7MENY3uE.net
今日も今日とて、みみっちぃ最適化をする人生

・(Skinned)MeshRendererにはBoundsというプロパティがある
・Boundsとはモデルを覆う箱の大きさを設定するプロパティで、この箱がカメラの描画範囲にあるかどうかでカリング処理が施される
・Boundsの初期値はモデルの初期ポーズを覆う最低限の大きさしかない
 →アニメーションでポーズが変わると初期値の箱から手足がはみ出ることがある
 →結果として、本来カメラに映るはずの手足がカリングで非表示にされる

・これの簡単な対策はBoundsをクソでかくすることだが、でかすぎるとカメラにモデルが映ってないのにカリングされなくなる確率が高まる
 →そこでわいはボーンの位置を全部読み取ってBoundsのサイズを毎フレーム更新する実装を施していた
 →ボーンは1キャラあたり300以上、つまりTransform.positionのアクセスが300以上×キャラクターの数発生する

これをBurstで最適化する
見込みとしては2msしか短縮されないけど、今のわいは1msでも最適化したい

514:名前は開発中のものです。
24/02/01 18:37:10.31 7MENY3uE.net
UIの実装を進めてる時よりみみっちぃ最適化に熱を上げてる時のほうがイキイキしてるわいって・・・

515:名前は開発中のものです。
24/02/01 19:00:27.95 V9fYybJx.net
>>511
さんくす

これって超高価なシェーダーだよね。
デモが重かったのもあって、自分は買わなかった

>>513
手足がはみ出ない程度の大きさにすれば十分だと思うが・・・

516:名前は開発中のものです。
24/02/01 19:10:05.01 7MENY3uE.net
>>515
本来は企業向けのシェーダだから普通は個人で買わないわな
確かにここまでBoundsの大きさを緻密に制御する必要ないかも・・・まずはそこから見直してみる

517:名前は開発中のものです。
24/02/01 20:18:11.43 Rt8Mi+6/.net
トゥーンシェーダー色々あるけど機能が微妙に違っておもろいね

518:名前は開発中のものです。
24/02/02 01:41:06.97 QAswQ9a3.net
トゥーンシェーダはlilToonとか無料で高機能よね

>>434のレスを見返してわいが今最適化の沼にハマっていることに気づいた

_人人人人人人人人人人人人人人人人人人人人人_
> インディーゲームは細かいクオリティより <
> 新しい面白さに一点集中しよう      <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

時々過去を振り返るの大事
さぁUIの実装に戻ろうか

519:名前は開発中のものです。
24/02/02 04:20:55.46 4QkoN+Q0.net
そんなメチャクチャは拘らないけどアセットとか色んな機能とかは飽きないように程度に吟味する

520:名前は開発中のものです。
24/02/02 04:32:49.64 QAswQ9a3.net
わいはどのアセットも直感で手出してる感あるなあ
流石にこのシェーダは超高価だったので、直感に加えてホロライブのモデルに対して使われてる導入実績も買いの理由だった

521:名前は開発中のものです。
24/02/02 13:10:44.63 QAswQ9a3.net
シンボリックリンクというショートカットの亜種について学んだ
通常のショートカットはプログラムがショートカット自体を1ファイルとして認識してしまうけど、シンボリックリンクならプログラムがパスとして認識してくれるから
フォルダA/ファイルB.txtがある時にシンボリックリンクCを作成してシンボリックリンクC/ファイルB.txtにアクセスすると
フォルダAのファイルB.txtにアクセスしてくれる
開発環境では結構需要ある機能かも
と思ったけどないかも・・・

522:名前は開発中のものです。
24/02/02 15:39:46.15 dj/qkXQZ.net
>>521
WindowsのシンボリックリンクはUnityエディタで動作しないぞ。俺はジャンクションを使ってる。
URLリンク(note.com)

523:名前は開発中のものです。
24/02/02 15:45:32.21 dj/qkXQZ.net
>>518
UIって面白さと無関係だと思うが
2Dゲームならまだしも、ホロライブの3Dゲームなんだよな?

524:名前は開発中のものです。
24/02/02 16:03:37.78 4QkoN+Q0.net
でも飽きないように適度に拘ったオサレなUIを作って欲しい

525:名前は開発中のものです。
24/02/02 16:07:05.12 QAswQ9a3.net
>>523
今のわいは細部に囚われすぎてるから
ゲームとして成立させるために必要な部分を進めるべきってことが言いたかった

526:名前は開発中のものです。
24/02/02 16:09:22.58 QAswQ9a3.net
>>522
まじすか、あれでもジャンクションって相対パスが使えないとかあったような・・・
でも開発環境なら別にいっか

527:名前は開発中のものです。
24/02/02 16:27:10.81 QAswQ9a3.net
今使ってるモニターが一応165Hzのはずなんだけど
60fpsと165fpsの滑らかさの違いがまるで分からん・・・
URLリンク(electro-disco.com)
ちなみにこのページだと、キャラクターの速度をメッチャ速くすれば60と120の差が若干分かる程度
そういうもんなんだろうか

528:名前は開発中のものです。
24/02/03 06:33:25.47 FhUQ5OGM.net
リリンク手書き風ってテクスチャに書き込んでるのかそういうシェーダーがあるのかな

529:名前は開発中のものです。
24/02/03 07:34:39.61 6KL4YSaI.net
>>527
普通に60FPSでぬるぬるを感じるって事は30FPSだと足りてなかったってだけだから
それ以上の速さじゃないと分からないので当たり
昔でも音ゲーのハイスピードくらいしか60FPS以上いらないと言われてたね
>>528
手書き風フォント?揺らぎエフェクト?モーショングラフィック?UIの話かな?

530:名前は開発中のものです。
24/02/03 07:55:03.94 FhUQ5OGM.net
>>529
キャラのシェーダーね。雑魚にも適用されてるっぽいし手間考えたらそういうシェーダーかなあ

531:名前は開発中のものです。
24/02/03 08:02:06.78 6KL4YSaI.net
>>530
手書きって鉛筆の光と影の奴かな?
今まさにトゥーンシェーダーでこれ使ってるわ、前無料で配ってたんだよね
URLリンク(assetstore.unity.com)

532:名前は開発中のものです。
24/02/03 08:40:16.53 6KL4YSaI.net
似たようなのだとRealToonの方も多機能でDOTS対応とかもしてたり
Toony Colorsは自作で細かくいじれるとかあるね

533:名前は開発中のものです。
24/02/03 08:49:33.30 FhUQ5OGM.net
>>531
この手のシェーダー使ってるのは間違い無いんだけど、イラストレーターの原画みたいに
ゲーム中ムービー中でもえらく細かく丁寧に書き込まれてるんですよね

URLリンク(relink.granbluefantasy.jp)

534:名前は開発中のものです。
24/02/03 08:56:09.68 6KL4YSaI.net
>>533
動画サムネで左側に出るのは原画でその右がコミックシェーダーかな?

535:名前は開発中のものです。
24/02/03 09:21:48.17 FhUQ5OGM.net
>>534
ムービー中はほぼ原画みたいですね

536:名前は開発中のものです。
24/02/03 09:25:29.63 FhUQ5OGM.net
Vtuberのモデルって100万くらいかかるらしいですね

537:名前は開発中のものです。
24/02/03 09:27:32.13 b1z9n3Ql.net
わいが使ってるモデルは公式サイトで配布されてる無料のMMDモデルよ
でも実際のところ1人あたり複数種類の衣装のバリエーションがある中で初期衣装しかMMDモデルが配布されてないので
2,3世代遅れてる感がある悲しみ

538:名前は開発中のものです。
24/02/03 10:04:31.69 L0jPLy0n.net
>>528
テクスチャにスペキュラとか書き込んでると思うよ

539:名前は開発中のものです。
24/02/03 10:12:32.02 b1z9n3Ql.net
ここ最近、本筋のゲーム開発進めるより寄り道してるほうが楽しい
他にも実際にゲームで使うかはともかく試してみたいことが色々ある

・マルチプレイモードを実装できるか?
・VR機能とか実装してみたい
・WebGLビルドはexeビルドと比べてどこまで太刀打ちできるのか?

はよ本筋進めろ

540:名前は開発中のものです。
24/02/03 10:46:20.81 FhUQ5OGM.net
>>538
アルベドじゃなくスペキュラに書き込んでるのか

541:名前は開発中のものです。
24/02/03 10:52:01.58 6KL4YSaI.net
桜井のYoutubeでも絵とか利便性はディレクターならまぁまぁ拘って良いと思う
本筋って個人制作だとやれる範囲少なくてバズるなら配信向けゲー
確実に売れるならパズルや脱出ゲーネタ考えれないとキツイ

542:名前は開発中のものです。
24/02/03 11:31:50.89 FhUQ5OGM.net
>>541
脱出ゲームってホラーゲームの事?
ホラーゲームならホラー専門の配信者が配信してくれるよね

543:名前は開発中のものです。
24/02/03 11:39:37.81 6KL4YSaI.net
>>542
脱出ゲーはスマホかな、最近は脱出と言うより失敗しなければクリア的なカジュアルクリックゲー
と言うかこれは2Dだからあんま3D化されてないね
ホラーとか操作激ムズゲー、なんか笑える奴が配信向けPCゲー

544:名前は開発中のものです。
24/02/03 12:01:34.49 FhUQ5OGM.net
>>543
脱出ゲームってストアに大量にあるけど売れてるんだ

545:名前は開発中のものです。
24/02/03 12:04:40.61 b1z9n3Ql.net
バズったり配信してもらえたら勿論嬉しいけどそれを目標に掲げてしまうと鬱になりそうな気がするから
自分の作りたいように作ってみる
Xで数人が大草原生やしてたら御の字

546:名前は開発中のものです。
24/02/03 12:20:09.18 6KL4YSaI.net
自分でもクソおもんないみたいな投げやりじゃなかったら何でも良いと思うよ
たけしの挑戦状みたいな意味不明なアドベンチャーでも何でもOK

547:名前は開発中のものです。
24/02/03 12:51:13.37 FhUQ5OGM.net
思いがけず注目されても昇進鬱みたいになる事もある

548:名前は開発中のものです。
24/02/03 13:38:15.10 FhUQ5OGM.net
>>545
自分はバズったりメディアに取り上げらたりしてフォロワーも増えたけど
古参やボスに悪い意味で目を付けられて敵も増えて疲れてSNSやめちゃった

549:名前は開発中のものです。
24/02/03 13:52:01.50 b1z9n3Ql.net
>>548
そういうのはどうしようもないので、メンタルを鍛えるとかエゴサしないとか自衛手段を確立させておくしか

550:名前は開発中のものです。
24/02/05 05:37:53.34 EMA1eHIP.net
粛々とUIの実装中
ゲームの中身は全部完成した後でババーンと晒したいから開発中は画像とか出せないので、このスレ的には盛り上げられないな・・・
時々本筋とは関係ない技術検証とか混ぜたほうが盛り上げられるけど、マルチタスクできないからそれやると本筋が完全にストップしてしまうもどかしさ

551:名前は開発中のものです。
24/02/05 08:05:37.51 Mat5R6oI.net
UIも綺麗じゃないとダサって思われてしまうのである程度のクオリティは必要だ
本筋は人によって作りたい物が違うのでそもそも盛り上がらないかもね
ゲームに必要なのは色んなシステムと素材なのでそこで盛り上がるのは健全なので全然OK

552:名前は開発中のものです。
24/02/05 08:15:01.21 Mat5R6oI.net
アセットも全部良いアセットの方が良いというもんでもない
ここは自作の方がいいな、ここは自作するのは厳しい、自分でしっかりとした理由で見極めないといけない

553:名前は開発中のものです。
24/02/05 08:23:19.40 Mat5R6oI.net
そもそもで言うとスクリプトも常にその選択を迫られる
全部細かくメソッドを分けるべきなのか?いやここは分けないようにしようとか
ここは追加編集多いからスクリプトだけでなくステートマシンやビヘイビアツリーにしようとか

554:名前は開発中のものです。
24/02/05 08:56:23.00 EMA1eHIP.net
わいの場合ホロライブの二次創作ゲームだから、アセットに関しては
 ホロライブっぽさを出したい→自作
 それ以外→既存アセット
になりそう
スクリプトは上みたいにパフォーマンスとかで問題が表面化したときの検証をここで話題にできるかな
あとはCyberAgentのPerformanceTuningBibleとか参考書の内容を守りながら地道に

555:名前は開発中のものです。
24/02/05 09:08:37.19 EMA1eHIP.net
わいの使ってる超高価シェーダの機能自慢でもするか
lilToonシェーダとか実際に使ったことはないから使い勝手とかクオリティがどんなもんか知らんのよな

556:名前は開発中のものです。
24/02/05 09:36:53.82 Mat5R6oI.net
そこはクオリティで比べるのは難しいね、適当に機能とかで選んで良いかも

557:名前は開発中のものです。
24/02/05 10:09:26.14 poWEMvtO.net
コードが公開されてるシェーダーは組み合わせたりカスタムして使ってるわ

558:名前は開発中のものです。
24/02/05 10:19:02.01 poWEMvtO.net
アセットに自作シェーダーが使われてる場合は他のシェーダーに変えたりカスタムしなおして使うことが多いです

559:名前は開発中のものです。
24/02/05 10:22:47.56 Mat5R6oI.net
シェーダーに強いの普通に凄いと思うで!
シェーダーグラフ同梱でも組み合わせるの難しいと思うし

560:名前は開発中のものです。
24/02/05 10:26:57.76 EMA1eHIP.net
シェーダ単体で紹介するよりも他のシェーダと比較したほうがいいよなあと思ったけど
よく知らないシェーダを比較用にセットアップしてもそのシェーダの良さを引き出しきれなさそうであまり意味がない気がした
シェーダ自分で組めるのうらやましい

561:名前は開発中のものです。
24/02/05 10:36:31.56 Mat5R6oI.net
シェーダー繋がりで更にパーティクルエフェクトとかもどこまで作るのか?となってくるね
これもサイバーエージェントのパーティクル用NovaShaderとかあったり選択肢が多い

562:名前は開発中のものです。
24/02/06 18:07:38.21 NS4G87y3.net
Nか月前のわい
「プログラムは基本自作するぞ!」
「BGM・SEは自作するぞ!」
「3Dモデルとかボイスとかキャラクター関係は全部既存だぞ!」
「シェーダは一部既存アセットで簡単なのは自作したいぞ!」
「UI用の画像は全部自作するぞ!」
「VFXは流石に全部自作は無理だから既存アセットを参考資料として買って後は自作するぞ!」
現在のわい
「プログラムは基本自作するぞ!」
「BGMは自作するぞ!でもSEは既存アセットでよくね?」
「3Dモデルとかボイスとかキャラクター関係は全部既存だぞ!」
「シェーダとか既存アセットでよくね?」
「UI用の画像とか既存アセットでよくね?」
「VFXとか既存アセットでよくね?」
決して逃避ではない、決して

563:名前は開発中のものです。
24/02/06 20:34:08.46 Log9R3DV.net
作れれば何でもいいのだ
詰まるのが1番ダメ

564:名前は開発中のものです。
24/02/06 22:13:06.63 /JBE453e.net
正しい、一旦無理やり完成してから気になるところ治す方が良い

565:名前は開発中のものです。
24/02/07 11:03:17.47 ON4SZfXL.net
今思い描いてる構想をそのまま形にできるなら
3Dモデルとボイスさえ本家に忠実なら他はオリジナリティ皆無でもゲームとして成立する

566:名前は開発中のものです。
24/02/07 11:53:12.18 r0qPhnLA.net
>>565
ボイスとかどうなってるの?

567:名前は開発中のものです。
24/02/07 12:34:24.54 ON4SZfXL.net
>>566
本人たちの切り抜きボイスを使う
既存のホロライブ二次創作ゲーと同じ

568:名前は開発中のものです。
24/02/07 12:35:38.17 ON4SZfXL.net
677: 名前は開発中のものです。 sage 2024/02/07(水) 09:00:19.81
個人制作のSteamゲーのコメント見てたらモデル、モーション、プログラムなど90%はアセットって書かれていた。
組み合わせやバランス調整で個性だすとかそういう注力の作り方あるんだなぁ
なるほど?

569:名前は開発中のものです。
24/02/07 13:16:17.14 WJhyQ+4K.net
これもほぼアセット
URLリンク(news.denfaminicogamer.jp)
音楽ならAudiostockとかで買える
あとアセットじゃなくお仕事依頼でもフリーなら安いっぽい、クラウドワークス、ランサーズに
声優ならiikoeやSKIMAとかもある

570:名前は開発中のものです。
24/02/07 13:21:25.41 WJhyQ+4K.net
イラストはココナラかな?
何にせよ金で解決できるのだ

571:名前は開発中のものです。
24/02/07 14:05:10.46 WJhyQ+4K.net
最近のゲームの作り方はハイパーカジュアルなんかも参考になる
ハイパーカジュアルもアセット7割とか使うから似たようなもん
URLリンク(youtu.be)

572:名前は開発中のものです。
24/02/07 14:41:12.83 ON4SZfXL.net
>>569-571
助かります
音楽はホロライブの子たちが出してるオリ曲のアレンジ曲を作りたい
作曲の経験が無いから失敗してアセットで妥協する可能性もあるけどまずはチャレンジ
声は本人たちの切り抜きボイスが有り余ってるので大丈夫
イラストは本人たちの3Dモデルにポーズをとらせて撮った画像が使えそう

573:名前は開発中のものです。
24/02/07 14:58:04.75 WJhyQ+4K.net
>>572
ええね!とにかくアセットオンリーでも完成させればディレクターの一歩が始まるんや
ゲームはやる気と情報だけで作れるんや

574:名前は開発中のものです。
24/02/07 16:20:21.86 ON4SZfXL.net
ある子の衣装にマントが着いてるんだけど
揺らすと髪がマントにめり込んで表示が崩れるのでマントは非表示にしました
URLリンク(tadaup.jp)
自作した揺れ物システムでは揺れ物同士の衝突判定は実現不可能
今からMagicaClothに乗り換える手間も惜しい(そもそもMagicaClothは激しい動きの時に好ましくない挙動をするので没にした)
わためのマントに思い入れのあるわためいと許して・・・
URLリンク(tadaup.jp)

URLリンク(tadaup.jp)

575:名前は開発中のものです。
24/02/07 17:11:04.77 WJhyQ+4K.net
MagicaClothの1持ってるわ
メッシュクロスだと重くてボーンクロスが軽い
重さ次第でムービーとかはメッシュクロスにするとか色々考えられる
またマントの角度自体を変えるとかモーション自体を変えてしまうとかも

576:名前は開発中のものです。
24/02/07 17:20:02.46 ON4SZfXL.net
1キャラ100種類以上のモーション×30キャラ以上を想定してるから
衣装のパーツやモーションに手を加える対処法は難しい

持ってるのがMagicaCloth2だからメッシュクロス×同時に10人以上でパフォーマンスと揺れ物の挙動をもう一度見てみるか・・・
検証の時間だー!

577:名前は開発中のものです。
24/02/07 17:24:40.67 ON4SZfXL.net
>>576
モーション100種類×30キャラっていうのはモーションが合計3000ってことではなく
同じモーションを30キャラ全員に流用するって意味

キャラ毎に技を固定して優劣を発生させるのはよろしくないと判断したので
技を好きなように付け外しできるようにする想定

578:名前は開発中のものです。
24/02/07 17:24:45.03 WJhyQ+4K.net
確かモンハンは衣装切り替え用に微調整スクリプト使って全部調整してるとか記事あったかな

579:名前は開発中のものです。
24/02/07 17:41:37.98 WJhyQ+4K.net
Mixamoのモーションだと服や体格差の調整用に腕の広がりとか調整した後でモーションDL出来る
Unity Recorderでも確かアニメーションレコード出来る
揺れものやIKの物理演算やオブジェクトの物理エンジン飛び散りなんかを録画して軽量化する奴

580:名前は開発中のものです。
24/02/07 17:57:56.20 WJhyQ+4K.net
あと技って事は別にモーションの調整関係なく当たり判定があって判定の大きさいじらなければ全部公平になるよ

581:名前は開発中のものです。
24/02/07 18:34:28.12 WJhyQ+4K.net
メッシュ変形をVATで録画するのは多分Unityでは無理でMayaやHoudiniらしい
URLリンク(youtu.be)
URLリンク(creator.game.cyberagent.co.jp)

流石にそこまではせんか

582:名前は開発中のものです。
24/02/07 18:55:30.60 ON4SZfXL.net
UnityでVATに変換するノウハウは過去に行った実験の副産物で確保してあるけど
バトルは基本的にスマブラみたいに入り乱れる感じだから揺れ物の録画も厳しいかも・・・
自作揺れ物システムかMagicaCloth2のどちらかを主力武器にしていくしかなさそう

583:名前は開発中のものです。
24/02/08 09:47:32.96 X6FQSTW9.net
MagicaClothのソースコード眺めてみたけど、やはりそう上手い話があるわけがなく・・・

MagicaClothのメッシュクロスは単純にプロキシメッシュの頂点の数に比例して重くなるのは当然のことながら
Meshのverticesに対しても毎フレーム読み書きを行うのでボーンクロスに比べて相当重いと思われる

なのでパフォーマンスの観点から全員のすべての揺れ物をメッシュクロスにするのは現実的ではない
なら基本はボーンクロスを使えば良いかというと、ボーンクロスはモデルが激しく動いたときに好ましくない挙動をするのでその点では自作揺れ物システムに軍配が上がる

自作揺れ物システムとMagicaCloth(メッシュクロス)の併用は論外

ということでMagicaClothは保留にして、しばらく自作揺れ物システムで戦ってみる
>>574みたいなケースも今のところこの1件だけで他の子は大丈夫そう

584:名前は開発中のものです。
24/02/08 10:09:01.90 EIZJZMgk.net
>>574
貫通対策ってさせたくない部分にコリジョン仕込むって見るけどどうなんだろ

585:名前は開発中のものです。
24/02/08 10:51:19.12 X6FQSTW9.net
>>584
揺れ物(マント)と揺れ物(髪)の間にコリジョンを仕込んだらそのコリジョンの扱いをどうするって問題が生じる
胴体を基準としてコリジョンの相対位置を固定すると、この場合マントが一定以上後方に揺れなくなって走った時に不自然に見える
マントと髪どちらかを基準とした相対位置の固定は、それはもう実質的に相互衝突なので自作揺れ物システムに手を加えるか(相当難しい)、MagicaClothに乗り換えるか(上の理由で難しい)の2択になる

586:名前は開発中のものです。
24/02/08 11:08:33.78 SrKNBYB5.net
ほほー
もしかして長髪マントは3Dだと表現が難しいクリエイターが避ける表現なのかもね
大体サンプルって長髪スカートまでだし

587:名前は開発中のものです。
24/02/08 11:15:06.56 X6FQSTW9.net
ホロライブ本家はMagicaClothを使ってるけど同時に動くのが2,3人程度なので574みたいな子でもパフォーマンス的に問題ない
わしの場合10人以上同時に動かそうとしてるのでMagicaClothが没ってるというだけ

588:名前は開発中のものです。
24/02/08 14:45:28.64 EIZJZMgk.net
リリンクのカタリナは長髪マントだけど戦闘中でも破綻してるようには見えないですね。
激しく動いていたら破綻していても分からないってのはあるけど

589:名前は開発中のものです。
24/02/08 14:57:29.48 SrKNBYB5.net
>>588
見たら早いから分かりにくいけど基本は全部モーション固定だね
実は企業の方が軽い手法を使ってたあるある

590:名前は開発中のものです。
24/02/10 21:27:20.67 pP1D56t5.net
ここ数日AIイラストについて検証してた
ある程度高品質なイラストを思うように作れるようになってしまいイラストを作ること自体を楽しんでしまったけど
やりたかったのはアイテムのアイコンとかUIの背景みたいな”時間をかけずにオリジナリティを出せたら嬉しい部分”をAIイラストで賄えないかの調査
AIイラスト自体は面白いと思うけどこの目的としては没になりそう

591:名前は開発中のものです。
24/02/10 21:56:53.69 2K4zs5NL.net
AIイラストを3Dモデルにするの断念したことあるけど今どの位出来るようになってるんだろうな

592:名前は開発中のものです。
24/02/10 22:04:22.30 wWIEILfP.net
アイコンもUIもそんなにアセットが高くないからどっちでもいいかな
ドット絵素材を少し取るとかは出来るようだけど
URLリンク(qiita.com)

593:名前は開発中のものです。
24/02/10 22:19:11.27 2K4zs5NL.net
静的なオブジェクトのテクスチャをAIイラストにするのは出来そうだったけど
リギングするのにBlender操作が必要で諦めた思い出

594:名前は開発中のものです。
24/02/10 23:05:07.85 wWIEILfP.net
イラストを活かして作るならノベルなりTCGって方法もある
ただゲームってそんなに一枚イラストだけあっても作れないね

595:名前は開発中のものです。
24/02/11 02:11:41.53 dNo3Wft6.net
Stable diffusionガチで凄いね

596:名前は開発中のものです。
24/02/11 08:04:45.20 LpdAFgPF.net
やっぱり使ってる人もいるか
技術的な面では問題ないんだけど、没にしようと思ってる理由は倫理的な問題のほう
学習元のイラストに無断使用イラストが無いことを証明するのが悪魔の証明になりそうなうえに、証明できるできない以前に「画像生成AIを使っている」というだけで反感を改装

597:名前は開発中のものです。
24/02/14 12:51:47.11 Rm/LeLlf.net
AIイラストの次はAI音声合成に手を出している
これはもうゲームで使う気は一切なく完全に遊び
流石にゲームでは使い道ないやろ(と言いつつ思いもしない妙案が飛び出してくるかもしれないので呟いておく)

598:名前は開発中のものです。
24/02/14 13:06:28.09 uZ2TmilU.net
AI音声は感情の起伏がまだ実用レベルじゃないと思う
動画も結局ずんだもん解説しかしっくり来ないのもそういう事
URLリンク(www.youtube.com)

599:名前は開発中のものです。
24/02/14 13:24:38.73 uZ2TmilU.net
素材の可能性もイラストだとほぼTCGだし、AI離れた方がいいよ
VRoidとかローポリキャラのドット変換にアセット組み合わせるとかの方が現実的
逆にUnityやUEのマニュアルとかクッソ分かりづらい時にAIに聞くとほぼ完璧に解釈したのを教えてくれる神AIだよ

600:名前は開発中のものです。
24/02/14 14:30:21.43 WVdns2yR.net
ボイスは六条ゆかりがお買い得だったあれとユニティちゃんがあれば掛け声系は足りる感じ

601:名前は開発中のものです。
24/02/15 03:04:02.25 S0dkWGae.net
前話題にあったマントモーションの作り方あったわ
Unity内でやるならUMotionとかVery Animationで

URLリンク(youtu.be)

602:名前は開発中のものです。
24/02/15 15:48:37.31 1F/mdo9e.net
>>601
マントのはためき方もアニメーションに覚えさせてるのか・・・結構根気がいりそう
今のところ揺れ物システムで妥協できるから現状維持で、どうしようもないときの奥の手として覚えておくサンガツ

603:名前は開発中のものです。
24/02/15 17:16:32.66 S0dkWGae.net
まぁちょっとしたモーションやエフェクトの改造はハイパーカジュアルでもやるので
シェーダーやエフェクト完全自作に比べたら実用範囲の簡単さだと思うよ
URLリンク(youtu.be)

604:名前は開発中のものです。
24/02/17 10:50:49.09 lJpqdAoA.net
AI使いたいマンの人向け
UModeler XでStable Diffusionを使ったAIテクスチャが可能
URLリンク(docs.umodeler.com)

605:名前は開発中のものです。
24/02/18 07:52:42.00 06LqUHNx.net
>>604
面白そうサンガツ

606:名前は開発中のものです。
24/02/20 07:02:19.94 Iglo8Luu.net
色々いじってて思ったんだけど
MMD4Mecanim→更新されてないのもあって微妙
Blender Addon MMD Tools→モーフ等の仕様の違いさえ理解すればスマート
UniVRM→関係ないけどVRMもほぼ完璧

最適化を考えるとマテリアルモーフの頂点や服で見えない部分はUnityだと使わない時は消して軽量化した方がベストだろう

607:名前は開発中のものです。
24/02/20 07:09:38.49 lJVJdMTR.net
>>606
MMD4Mecanim使ってるけどIK専用っぽい名前が付いてて実際は動かしてもメッシュに影響しないボーンとかあるね
そういうのを消してGameObjectの頭数を減らしたほうがいいってこと?

608:名前は開発中のものです。
24/02/20 07:22:59.95 Iglo8Luu.net
>>607
どこまでちゃんと対応出来てるかは分かんないけど不完全なのは分かる
そもそもURP対応も出来なくなってるし、無駄に項目多いモーフ関連のスクリプトも殆ど使えないかも
MMDToolsは最近でも更新あってデータはほぼ完璧に読み込める
ただBlender形式のデータやFBXにすると特殊なモーフデータは消えるので確認した上で自分でUnityで実装するのが良い

609:名前は開発中のものです。
24/02/20 07:30:13.87 lJVJdMTR.net
>>608
シェーダは全く別のURPシェーダ使ってる
MMD4MecanimのオプションでFBX変換時にアタッチしてくれるコンポーネント(モーフ関連)は付けないようにしてる
だからUnityエディタ上で見えない隠れオブジェクトとかでもなければMMD4Mecanim関連の機能を一切持たない静的なfbxのはず
揺れ物システムとか必要な機能は別途用意してある

610:名前は開発中のものです。
24/02/20 07:43:07.79 Iglo8Luu.net
>>609
まぁMMDで見ると普通なのにテクスチャがバグって見えたりとか何かあったらMMD4Mecanimの可能性はある
モーフ関連が正常に変換できてないって事は消えるはずのモーフの頂点が常に描画されたりとか可能性あるある

611:名前は開発中のものです。
24/02/20 07:51:20.23 Iglo8Luu.net
MMDのマテリアルモーフでアルファ値で消す着せ替え方法は当たり前だけど頂点を常に読み込んでるので重い
動画撮影ならまだしもゲームだとこういう仕様はキツイね

612:名前は開発中のものです。
24/02/20 09:24:15.84 lJVJdMTR.net
テクスチャの表示がおかしいとかはなかったかな
Inspectorに表示されないものが内部的に存在するみたいなことあるんか・・・?なければ問題ないはず
その着せ替え方法は自作の実装でも使ってるけど内部的に頂点が稼働し続けてる問題は妥協してる

613:名前は開発中のものです。
24/02/20 09:34:00.80 Iglo8Luu.net
ゲームでMMDみたいな頂点ずっと読み込み方式は普通はないので
最適化したいならまずそこらへん気にするといいよ
映像分野の3Dモデルは最適化しないからそういうのが普通みたい
じゃあモデルも最適化してないのでは?って考えも結構当たりで服で見えない部分が消されてなかったりとかも高確率である
Unity内でやるならMeshDeleterWithTextureとかMeshSplitterとかVRC関連のツールでもいける

614:名前は開発中のものです。
24/02/20 12:15:24.54 lJVJdMTR.net
>>613
使ってみるわありがと

615:名前は開発中のものです。
24/02/20 12:26:23.37 bLusv/Me.net
VRC関連のメッシュ加工するツールにはお世話になってるわー

616:名前は開発中のものです。
24/02/20 12:49:31.06 Iglo8Luu.net
あと前にもちょっと書いたUmodelerXも無料でUnityのメッシュをUModelerizeして編集可能に出来る
ただブレンドシェイプは未対応なのでBlenderも組み合わせて選択肢にいれたい

617:名前は開発中のものです。
24/02/22 04:18:49.18 Sgxr52gy.net
3DCG・アニメーションYoutuber紹介
URLリンク(youtu.be)

最近ちょっとしたモデル編集してて思ったのが
多分有料モデル買ってる人はモデル改造とモーション付け程度でも同人で販売できる

618:名前は開発中のものです。
24/02/22 19:08:19.89 HwSz1+nU.net
目新しさより面白さのほうが重要だから
たとえアセットフリップでも面白ければゲームとしては成立すると信じたい

619:名前は開発中のものです。
24/02/22 19:24:31.04 Sgxr52gy.net
>>618
オーバーダンジョンもそうだけどまずはアセットでも楽しめるジャンルで売れてから売上金で絵師雇うの順番で良いと思う
おまけ(オンラインでモーションキャプチャ)
【AIの進化!】映像から3Dキャラクターへ!自動で生成できます!【Wonder Studio】+【Blender】
URLリンク(youtu.be)

620:名前は開発中のものです。
24/02/23 03:14:26.95 UeWdTXKA.net
DLSiteにAI生成コーナー出来る
URLリンク(www.dlsite.com)

621:名前は開発中のものです。
24/02/24 14:55:32.49 FgtzOohk.net
最近新しいネタがないのでだいぶ前に気づいた話を投げておく
アセットバンドルを読み込む際に「AssetBundle.LoadFromFile」「AssetBundle.LoadFromStream」よりも「AssetBundle.LoadFromMemory」はメモリ効率が悪いという話について
前者2つが「Unityのネイティブ領域(アンマネージドメモリ)」にだけ生データを保持するのに対して後者は「C#の領域(マネージドメモリ)」にも生データを保持するのでLoadFromMemoryはメモリ効率が悪いとされる
勘違いしてたのはLoadFromMemoryした後であればマネージドメモリ側の生データは破棄可能だと思い込んでたこと
アセットバンドルがアセットバンドルとして生き続ける限りLoadFromMemoryの引数に渡したbyte配列を殺すことができない
なのでアセットバンドルを使い続けている間はLoadFromMemoryは他2つの2倍のメモリ消費をし続けることになる
LoadFromStreamに使える暗号化ロジック組むのが地味に時間かかった思い出

622:名前は開発中のものです。
24/02/25 04:28:51.42 oa+gZoWb.net
メモリ関連はよく分からんの多いね
完全にメモリ解放するにはシーン切り替えるか再読み込みするしかないとか
あと>>1もいないからMMDモデル以外で機能の話ももうないかも

623:名前は開発中のものです。
24/02/25 08:04:31.21 G4/u6ibP.net
わしはまだゲーム作ってるで
今は淡々とゲーム作ってるだけだけど性能検証みたいなネタが湧いてきたらまたここで発散する

624:名前は開発中のものです。
24/03/03 09:13:21.27 jGprvO2f.net
URLリンク(automaton-media.com)
中国版のUnity「Tuanjie」にUEのNanite(動的LOD)に相当する機能が実装されてるというトンデモ情報を入手したので試したかった
グローバル版の2022.3から移植できるか試したけどやっぱりエラーのオンパレードでダメだった・・・
グローバル版にこの機能が来てくれることを期待(望み薄らしい)

625:名前は開発中のものです。
24/03/04 02:12:56.13 sqbx2Icl.net
LODが楽になる機能かな?
まぁしょうがないのでコツコツ最適化しよう

626:名前は開発中のものです。
24/03/04 12:22:15.78 TWo1cbNP.net
>>624
エラーを解消してビルドが通ったので
この動的LOD相当の機能「仮想ジオメトリ(Virtual Geometry)」を使いたかった
Project Settings > Graphicsより仮想ジオメトリを有効化する必要があるとのことだったけど
まずその項目が出てこなかった・・・
もしかするとURPには対応してないのかも
あと仮に有効化できたとしてもやはりMeshRendererのみ対応とのことでSkinnedMeshRendererには使えない
わしのゲームはMeshRendererで済むオブジェクトは元々簡素なので恩恵が薄い
検証終了(中止)

627:名前は開発中のものです。
24/03/04 13:57:44.82 sqbx2Icl.net
自動化しても劇的に軽くなると言うよりは楽になる機能じゃないかな
どっちかと言うとUnity6の方が機能多そう
URLリンク(youtu.be)

GPUオクルージョンカリングやライティングのベイク、ライトプローブ、NavMeshの強化
待ってたら仮想ジオメトリも来そうな勢い

628:名前は開発中のものです。
24/03/04 14:54:42.64 TWo1cbNP.net
>>627
まあグローバル版使っておいたほうがネットの情報も多いし無難ちゃ無難よね
個人的には2023LTSだっけ?でスプラッシュスクリーンが消せるようになるのが嬉しい

629:名前は開発中のものです。
24/03/05 04:38:35.19 TrpUkTn3.net
Twitch同接世界記録3年連続更新中
LOL, CS2, VALORANTゲーミングチーム
『Mad Lions』『Movi Star』『KOI』オーナー
スペイン7人制サッカー「キングスリーグ」
『Porcinos』オーナー
Ibai Lianos(スペイン) Twitch
ストリーマー・インフルエンサー
ボクシングイベント「4年目の夜」
公式プレゼンテーション
URLリンク(iplogger.info)

630:名前は開発中のものです。
24/03/06 07:43:53.36 yoTS463Y.net
UmodelerとBlenderどっちが便利か試してたけど一応結果報告しとくとBlender一択になったわ
独特なキーコンフィグの壁と機能多すぎ説明しろの壁を乗り越えたらやっぱ便利だわ

631:名前は開発中のものです。
24/03/06 12:22:38.22 yoTS463Y.net
新作の方じゃないけど39人同時アニメするゲームは1キャラ1万ポリゴンまでゴリゴリに最適化されているらしい
URLリンク(twitter.com)
(deleted an unsolicited ad)

632:名前は開発中のものです。
24/03/06 12:43:39.82 njUww2f3.net
やっぱユーザーの頭数が多いほうが集合知の結晶たるツール本体の品質が上がるってことかね
ポリゴン数の数よりメッシュやマテリアルの種類の数のほうがパフォーマンスへの影響度の比重が大きい気がするのはわしの環境が高すぎる(4070Tiデスクトップ)か低すぎる(グラボなしノート)せいでまともに比較できてないってことだろうか

633:名前は開発中のものです。
24/03/06 13:16:51.86 yoTS463Y.net
グラボなしはちょっとキツイかな
Ryzenなら一応モバイル並の内蔵グラボあるけど
あとは単純に39人同時は企業もゴリゴリ最適化してるってだけ、揺れ物の演算も切ってパターンアニメにしてそう

634:名前は開発中のものです。
24/03/09 01:14:36.00 CjZBZZx/.net
CySharpのUnitGenerator使えそうね
というかCySharpのユーティリティはどれも最適化厨のわしのためにあるようなのばかりや
単純に使い道無かったり使い方分かんなくてほぼ見てなかったけどこの際だからリポジトリ一通り目を通してみるか

635:名前は開発中のものです。
24/03/12 19:23:46.94 Ls2Kx9X6.net
CySharpのライブラリを調査中
【NativeMemoryArray】
使えそう・・・で使い道がない・・・?
【MasterMemory】
使おう(決意)
【StructureOfArraysGenerator】
コイツGithubの評価がそこまで高くない割に最適化の攻撃力が高くない?
【MemoryPack】
既に超お世話になってます
でも開発環境ではJSONを扱いたいのでJSONデータ→JsonFx⇔MemoryPackみたいな面倒な事やってる
もちろん本番向けのビルドはMemoryPackで完結させてる

636:名前は開発中のものです。
24/03/12 19:24:00.09 Ls2Kx9X6.net
【ZString】
2020で検証した時は自作の文字列操作ライブラリのほうが速かった(ほぼFastStringとStringBuilderTemporaryの流用だけどめっちゃ拘って最適化した)
機能はZStringより少ないけど今のところ事足りてるからヨシ!
【MagicOnion】
今のところ自作ゲームにオンライン要素を取り入れる予定が皆無なのに
好奇心12割で使ってみたさ
【UniTask】
現状だとIEnumeraorのコルーチンを酷使してるけど
正直なところUniTaskに置き換えるメリットを余り認識できてない
今度時間ができたら検証のうえ使ってみたい気持ち
SourceGeneratorというものを初めて知ったけど
これがCySharpのパフォーマンス最適化系ライブラリに大きく寄与しているということなので
自作のライブラリも見直しかな・・・


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch