Unity

【Dynamic Batchingルール】The object has odd negative scaling

transform.scaleの値に負の値が入っているとDynamic Batchingされないみたいです。

全く同じパラメタのマテリアルの丸影を出しているのに、どういうわけかバッチングされない。
描画順も連続している
なんで??

FrameDebuggerみると、
”The object has odd negative scaling.”
って怒られてました。

で、調べると、

Odd Negative Scaling — the object has odd negative scaling (e.g. (1, -1, 1)).

試しにscaleを正の値になるように調整したらバッチングされました。
どうやら、transform.scaleの値に負の値が入っているとDynamicBatchingされないみたいです。(詳しい方いたら教えてください)

localScaleはプラスでもscaleが負になっていたらだめでした。

丸影×14でSetPass 14 => 1 になりましたw
気を付けてください。

参考

良さげなやつみっけたので、こちらどうぞ。
DrawCallのバッチングルールの記載があります。
https://blogs.unity3d.com/jp/2017/04/03/how-to-see-why-your-draw-calls-are-not-batched-in-5-6/