ホロライブの二次創作ゲーを作りたい (938レス)
上下前次1-新
492: 2024/01/30(火)16:32 ID:AjZdEr3a(2/2) AAS
基本的にボーン数はパフォーマンスに影響あるからできるならいらないボーンは削除したほうがいいと思う
493: 2024/01/30(火)16:59 ID:HWvPLj+X(1) AAS
あくたんと天月(´;ω;`)
494: 2024/01/30(火)17:21 ID:DCr4w4dC(7/9) AAS
なんかもう>>481で満足しちゃったので(他力本願)
BatchRendererGroupは異なるメッシュやマテリアルの大量描画には向かない可能性があるということで一旦置いておく
300以上のボーンを持つキャラクター30体の不要なボーンを精査するのは時間帯効果が低そうなので優先度低めのタスクとして頭の片隅においておきます・・・
495(1): 2024/01/30(火)17:22 ID:DCr4w4dC(8/9) AAS
ちなみに>>481のパフォーマンスが上がった理由は「マテリアルに対してSetVectorしたフレームではConstantBufferの更新が走るので、SetVectorしたマテリアルの数に比例してパフォーマンスが低下する」とのこと
外部リンク:note.com
> UnityのSRP Batcherとは何なのか
> 一言でいえば、Draw Call毎にConstant Bufferを更新するという非効率な仕組みをやめたということです。これによりレンダリングに関連するCPUコストが削減されます。
毎フレームSetVectorするとSRP Batcherの強みを殺すことになる
勉強になりました
496: 2024/01/30(火)20:09 ID:8GAA7lp1(1) AAS
>>495
なるほどサンクス
497(1): 2024/01/30(火)20:21 ID:DCr4w4dC(9/9) AAS
ん?SetVectorがダメならfloatに分割してSetFloatを3、4回走らせればいいだけの気がする・・・
それで許されるのならなんかガバガバだな
もしかして今回の犯人がSetVectorだったというだけで、Set系は全部アウトなのかも
要検証
498(1): 2024/01/30(火)22:43 ID:ZUYV+zXn(2/2) AAS
シェーダー最適化してもまともなAI組んだらCPUバウンドで動かなくなるから
単調なアニメーションさせることしか出来ないけどそれは大丈夫なのかな
499(1): 2024/01/31(水)03:53 ID:vVhRDcrl(1/6) AAS
>>498
AIって他の雑多な処理と同じくC#でコーディングしたもの?
毎フレーム走るC#の処理が多すぎるとCPUバウンドになるってこと?
どうなんだろう・・・IL2CPPやJobSystem+Burstとかで処理時間を詰めていけば乗り切れたりするのかな
500(1): 2024/01/31(水)04:43 ID:vVhRDcrl(2/6) AAS
>>497
やっぱり
SetFloatで試したけど、毎フレームSetFloatしたら70fpsまで落ちた
このカスタムシェーダ、マテリアルの値を毎フレーム更新しなきゃいけない機能を搭載してるから、その機能を一時的に殺すことで130fpsくらいまで上昇した
今のところわい個人はその機能に用がないからいいけど先方はそういうわけにもいかないだろうから、お礼がてら対策できないか検証してみるか
501: 2024/01/31(水)10:33 ID:T8K+yJgS(1/3) AAS
>>499
Job Burstでかなり早く処理できるよ
502(1): 2024/01/31(水)10:35 ID:T8K+yJgS(2/3) AAS
>>500
Set系が難ありって感じかな
C#スクリプトからその時の状況の変化でイベント発行してシェーダーはその値を使う
状況の変化がない場合はその値をずっと使い続けるみたいなことができればいいと思う
503(1): 2024/01/31(水)11:09 ID:vVhRDcrl(3/6) AAS
>>502
パフォーマンスはかなり最適化されてて、値をキャッシュできるものは元からキャッシュが実装されてた
このシェーダにはPerspectiveRemovalっていう機能があって、カメラとキャラクターの向きや位置関係をリアルタイムでシェーダに教えてあげる必要があるのでキャッシュが使えない
PerspectiveRemovalが何者か正確に理解できてないけど違いはこんな感じ↓
PerspectiveRemovalオフ(そこら辺のシェーダでも通常はこっち)
画像リンク[png]:tadaup.jp
PerspectiveRemovalオン
画像リンク[png]:tadaup.jp
504: 2024/01/31(水)11:25 ID:3RPE9L0m(1/2) AAS
>>503
顔がこっち向く的な?
505: 2024/01/31(水)11:26 ID:3RPE9L0m(2/2) AAS
その機能削除して普通にIKとかでよくね?
AnimationRiggingはデフォルトでBurst対応してたと思う
506(1): 2024/01/31(水)11:35 ID:vVhRDcrl(4/6) AAS
削除っていうか、このシェーダは購入したもので不定期的にあるアプデの恩恵を受けたい
&いつか自分がこの機能を使いたい時が出てくるかもしれないから、正式に修正してもらったほうが嬉しい
先方もわいが出したパフォーマンス最適化の提案を度々取り入れてくれてるので今回も直したソースコード送り付けてお願いしてみる
507: 2024/01/31(水)11:55 ID:T8K+yJgS(3/3) AAS
>>506
なるほどね
508: 2024/01/31(水)13:45 ID:vVhRDcrl(5/6) AAS
修正できたからウッキウキでお願いの連絡しようとしたら、とっくに修正終わってるからリリース待っててちょと一蹴された、さすがプロ
509(1): 2024/01/31(水)20:48 ID:YUKGGu/H(1/2) AAS
素朴な質問だけどシェーダー何使ってるの?
MMDはどうやってUnityにインポートしてる?MMD4Mecanim?
510: 2024/01/31(水)20:48 ID:YUKGGu/H(2/2) AAS
素朴な質問だけどシェーダー何使ってるの?
MMDはどうやってUnityにインポートしてる?MMD4Mecanim?
511(2): 2024/01/31(水)23:21 ID:vVhRDcrl(6/6) AAS
>>509
シェーダ公式ページ 画像多いので通信量とか注意
外部リンク:github.com
MMD4Mecanimでインポートしてる
正確には同梱されてるpmx2fbx.exeでfbxに変換するだけで、それ以降はMMD4Mecanimの機能は全く使ってない
上下前次1-新書関写板覧索設栞歴
あと 427 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s