feat: add 'AutoScaling' option for UIParticle

Transform.lossyScale (=world scale) is automatically set to (1, 1, 1).
It prevents the root-Canvas scale from affecting the hierarchy-scaled ParticleSystem.
This option works in reverse of ’IgnoreCanvasScaler’ option in v3.x.
This commit is contained in:
mob-sakai
2023-08-15 21:56:09 +09:00
parent 903f702d7b
commit 35325c8899
3 changed files with 92 additions and 18 deletions

View File

@@ -430,16 +430,7 @@ namespace Coffee.UIExtensions
private Vector3 GetWorldScale()
{
Profiler.BeginSample("[UIParticleRenderer] GetWorldScale");
var scale = _parent.scale3D;
//if (_parent.uiScaling)
{
scale.Scale(_parent.transform.localScale.Inverse());
}
//else if (_parent.scalingMode == UIParticle.ScalingMode.UI && _particleSystem.main.scalingMode != ParticleSystemScalingMode.Hierarchy)
//{
// var gscale = _parent.transform.lossyScale.GetScaled(canvas.transform.lossyScale.Inverse());
// scale.Scale(gscale * canvas.scaleFactor);
//}
var scale = _parent.scale3D.GetScaled(_parent.parentScale);
Profiler.EndSample();
return scale;
}