From 09a01ad69d8cb9a837f299ec085fef3802438f30 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 25 Apr 2021 18:50:19 +0800 Subject: *misc --- Assets/LensFlare/FlareBatch.cs | 19 +++++++++++-------- Assets/LensFlare/FlareSource.cs | 2 +- Assets/LensFlare/LensFlare.unity | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) (limited to 'Assets') diff --git a/Assets/LensFlare/FlareBatch.cs b/Assets/LensFlare/FlareBatch.cs index f25dc0e..889c033 100644 --- a/Assets/LensFlare/FlareBatch.cs +++ b/Assets/LensFlare/FlareBatch.cs @@ -62,6 +62,8 @@ public class FlareBatch : MonoBehaviour private Mesh m_Mesh; + private List m_TempMeshes = new List(); + void Start() { m_MeshRenderer = GetComponentOrCreate(); @@ -82,14 +84,17 @@ public class FlareBatch : MonoBehaviour void LateUpdate() { m_Mesh.Clear(); - for(int i = 0; i < m_SourceList.Count; ++i) + m_TempMeshes.Clear(); + for (int i = 0; i < m_SourceList.Count; ++i) { if(m_SourceList[i].IsVisible) - UpdateGeometry(m_SourceList[i]); + UpdateGeometry(m_SourceList[i], m_TempMeshes); } + Vertexhelper.CombineAndFillMesh(m_TempMeshes, m_Mesh); + m_MeshFilter.sharedMesh = m_Mesh; } - void UpdateGeometry(FlareSource source) + void UpdateGeometry(FlareSource source, List meshes) { Vector3 viewportPos = source.ViewportPosition; if (viewportPos.z < 0) // 光在背后 @@ -99,9 +104,9 @@ public class FlareBatch : MonoBehaviour Vector2 flareVec = flareSpacePos - center; float angle = Mathf.Atan2(flareSpacePos.y, flareSpacePos.x) * Mathf.Rad2Deg; float fac = 1; - if (source.SpreadMaxminum != 0) - fac = Mathf.Clamp(flareVec.magnitude / source.SpreadMaxminum, 0, 1); // 扩散比例 - List meshes = new List(); + if (source.SpreadMaximum != 0) + fac = Mathf.Clamp(flareVec.magnitude / source.SpreadMaximum, 0, 1); // 扩散比例 + //List meshes = new List(); for (int i = 0; i < source.Flares.Count; ++i) { Flare flare = source.Flares[i]; @@ -151,8 +156,6 @@ public class FlareBatch : MonoBehaviour vh.triangles = new int[] { 0, 1, 2, 0, 2, 3 }; meshes.Add(vh); } - Vertexhelper.CombineAndFillMesh(meshes, m_Mesh); - m_MeshFilter.sharedMesh = m_Mesh; } void PopulateMesh() diff --git a/Assets/LensFlare/FlareSource.cs b/Assets/LensFlare/FlareSource.cs index d313080..3e7ebf9 100644 --- a/Assets/LensFlare/FlareSource.cs +++ b/Assets/LensFlare/FlareSource.cs @@ -56,7 +56,7 @@ public class FlareSource : MonoBehaviour public AnimationCurve AlphaCurve; [Range(0.1f, 5)] public float SpreadAmount = 5; // 总长度/光源到光晕中心的长度,用来求得总长度 - public float SpreadMaxminum = 5; // 最大扩散长度,单位Unit + public float SpreadMaximum = 5; // 最大扩散长度,单位Unit public Vector2 Center; diff --git a/Assets/LensFlare/LensFlare.unity b/Assets/LensFlare/LensFlare.unity index f052459..26fdbfb 100644 --- a/Assets/LensFlare/LensFlare.unity +++ b/Assets/LensFlare/LensFlare.unity @@ -517,7 +517,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 SpreadAmount: 5 - SpreadMaxminum: 9 + SpreadMaximum: 9.5 Center: {x: 0, y: 0} Comment: "0-9 \u5149\u6E90\n10-29 \u5C0F\u6591\u70B9\n30-35 \u5927\u6591\u70B9\n30-31\u6700\u8FDC\u5904\u7684\u5149\u8292" Flares: -- cgit v1.1-26-g67d0