-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SkinnedMeshRendererのenableを切り替えるアニメーションのみがあり、初期で無効な場合、Trace & Optimizeの「スキンメッシュレンダラーを統合する」が統合したメッシュが削除される #1377
Comments
|
|
再現した例の、 Animator Parser Debug Window V2で取得した Detailed なパース結果と、切り替えるアニメーションの名前を教えていただけませんか? |
レイヤーはこんな感じです(Avatar Menu Creatorで作られるものです。idleステートおよびAnyStateからRaincoatSize変数が0, 1, 2の時に各ステートに遷移するものです) 「スキンメッシュレンダラーを統合する」OFF 「スキンメッシュレンダラーを統合する」ON |
アニメーション自体は認知されていて、原因がわからなくなりましたね... 発生条件が
となってますが、メッシュアセットを差し替えるなどしてポリゴン数を変化させても発生しますか? |
はい、上記では同じポリゴン数のメッシュとしていましたが、同一FBX内の別メッシュを持ってきても発生しました。 |
別FBXだとbonesの再割り当てが必要になると思われるため(最初から表示されないため)テストしませんでした。 |
ありがとうございます。そして何度もすみません。とりあえずメッシュのポリ数自体によるものではなさそうですかね。 もう2つ確認させてください。 Trace and OptimizeのDebug OptionsのSkip Merge Animating Skinned MeshとSkip Merge Static Skinned Meshを有効にしてマージされないかどうかの確認を、それぞれ一つづつ有効にして確認していただきたいです。 確認用にAAOを拡張したのでこれを使用して確認をお願いします。 2.1. なお、このツールはAssembly Reloadの耐性がないため、2.2以降でUnityの再起動やツールの更新などを行った際には2.2からやり直すようにお願いします。 |
@anatawa12 |
ごめんなさい。ベースとするブランチを間違ってたようです。あとで修正版を送信します。 |
こちらでお願いします。 |
|
あまりどうすれば良いか自明でなかったので一旦こんな感じで |
ありがとうございます。 うーん _mid _small _big の間の2つにおいて are same と表示されると期待してたのですがないですね... |
こちらのバージョンに |
@anatawa12 |
Manual Bake、Playモード、Uploadいずれでも問題ないですが、Manual Bakeでお願いします |
@anatawa12 |
UnityEditorの標準のログに出力されます。分かりづらくてすみません。 |
なんか切り出す便利なツールとかあるんでしょうか |
@anatawa12 |
ありがとうございます。(課題やってて一旦見てなかったです) https://github.com/anatawa12/ConsoleLogSaver とかが一応使えたと思います。 |
ログを見る限りですと Raincoat_small と RCB_bikini_small のように同じタイミングでオン・オフされているオブジェクト同士のみ結合されている用に見えますが、このログを取得した際にはバグは再現しましたでしょうか。 |
6つのメッシュが表示状態で重なってしまうものだと認識してました。そうではなくbigのメッシュのみ表示されていたということですね。 そして enabled を無効にした状態で Play モードに入るとマージされた _mid _small のメッシュが削除されることを再現しました。 |
多分 #1381 で治ったのでCloseします。 上の確認が取れ次第リリースしようと思います。 |
AAO 1.8.2, 1.8.3
胸サイズ変更に連動して衣装の大小対応を動的に切り替えるために、SkinnedMeshRendererのenableを切り替える手法を使用しました。
といった設定がある状態で
「スキンメッシュレンダラーを統合する」をONにすると、enableが違う状態のアニメーションがあるにもかかわらずSkinnedMeshRendererが統合・削除されてしまい、OFF時と挙動が異なります(アニメーションによってenableになるSkinnedMeshRendererが削除されてしまう状態です)。
上記のスクショは簡単のためAvatar Menu Creatorのコンポーネントですが、ビルド時生成でなく事前生成してMAでくっつけても同様でした。(いちおうprefab添付)
aaoissue.zip
一般にはGameObjectで表示制御を行うものとは思いますが、「服のON/OFF」と「体型によるメッシュスイッチ」を同時に行う場合、「服のON/OFF」をGameObjectのactiveで、「体型によるメッシュスイッチ」をenableで行うと簡易的に共存出来るためこの方針が発生します。
今回この事例において「服のON/OFF」を実装する前にテストしたことで発生しました(「服のON/OFF」、つまり同メッシュに対するGameObjectのactive制御が含まれると正常に動作しました)。
The text was updated successfully, but these errors were encountered: