diff --git a/Editor/Internal.meta b/Editor/Internal.meta deleted file mode 100644 index e729356..0000000 --- a/Editor/Internal.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3e440931f761e4e888510a4e6045287a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/README.md b/README.md index d40fa9d..5bb3300 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,8 @@ _This package requires **Unity 2018.3 or later**._ - The default value of `UIParticle.scale` has been changed from `10` to `1`. - `UIParticle` no longer inherits from `MaskableGraphic`. -- +- Add project settings for UIParticle + - enableLinearToGamma: Enables LinearToGamma during mesh baking

diff --git a/Runtime/UIParticle.cs b/Runtime/UIParticle.cs index ce59d7c..dadea31 100644 --- a/Runtime/UIParticle.cs +++ b/Runtime/UIParticle.cs @@ -522,6 +522,7 @@ namespace Coffee.UIExtensions var go = transform.GetChild(i).gameObject; if (go.TryGetComponent(out var cam) && cam == _bakeCamera) continue; if (go.TryGetComponent(out var _)) continue; + go.SetActive(false); if (destroyOldParticles) { diff --git a/Runtime/UIParticleRenderer.cs b/Runtime/UIParticleRenderer.cs index f28f6d0..e289bee 100644 --- a/Runtime/UIParticleRenderer.cs +++ b/Runtime/UIParticleRenderer.cs @@ -25,7 +25,6 @@ namespace Coffee.UIExtensions private static readonly CombineInstance[] s_CombineInstances = { new CombineInstance() }; private static readonly List s_Materials = new List(2); private static MaterialPropertyBlock s_Mpb; - private static readonly List s_Renderers = new List(8); private static readonly Vector3[] s_Corners = new Vector3[4]; private bool _delay; private int _index; @@ -445,22 +444,25 @@ namespace Coffee.UIExtensions // Get grouped renderers. Profiler.BeginSample("[UIParticleRenderer] Set Mesh"); - s_Renderers.Clear(); + var renderers = ListPool.Rent(); if (_parent.useMeshSharing) { - UIParticleUpdater.GetGroupedRenderers(_parent.groupId, _index, s_Renderers); + UIParticleUpdater.GetGroupedRenderers(_parent.groupId, _index, renderers); } - for (var i = 0; i < s_Renderers.Count; i++) + for (var i = 0; i < renderers.Count; i++) { - if (s_Renderers[i] == this) continue; + var r = renderers[i]; + if (r == this) continue; - s_Renderers[i].canvasRenderer.SetMesh(workerMesh); - s_Renderers[i]._lastBounds = _lastBounds; - s_Renderers[i].canvasRenderer.materialCount = 1; - s_Renderers[i].canvasRenderer.SetMaterial(materialForRendering, 0); + r.canvasRenderer.SetMesh(workerMesh); + r._lastBounds = _lastBounds; + r.canvasRenderer.materialCount = 1; + r.canvasRenderer.SetMaterial(materialForRendering, 0); } + ListPool.Return(ref renderers); + if (_parent.canRender) { canvasRenderer.SetMesh(workerMesh); @@ -471,8 +473,6 @@ namespace Coffee.UIExtensions } Profiler.EndSample(); - - s_Renderers.Clear(); } public override void SetMaterialDirty()