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()