enabled=false なスクリプトに対して SendMessage

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

1. 適当なオブジェクトについてるスクリプトをInspectorから無効化します。

2. スクリプト内の Start() とかその他のメソッドが走らないことを確認します。

3. 無効化したスクリプトに向けてSendMessageします

4. SendMessageで指定したメソッドが走ります

5. 楽しい!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌

MMD for UnityのIKスクリプトのパフォーマンス計測もどきをしてたらめっちゃアラート出てきました。
ルートオブジェクトについたMMDEngineからSendMessageしてCCDIKSolver.Solveを呼び出していまるので上記に該当してたわけですね。

無効化したスクリプトに対しても何事もなくSendMessageを呼べてしまうの、んっ!? となったけどいいんでしょうかね

ともかく、髪IKがどうこうみたいな問題もありますので、一旦これでコミットしま(す|した)
(CCDIKSolver.Solveの先頭に if(!this.enabled) return; が増えただけですが)


追記

3.5のときはこの問題(?)はなかったような気がしますけど、多分気のせいですね。
その内確認するかもですが、別にやったからといって、うぅん・・・


この記事はどうでしたか

前後の記事

Next:
Prev: