summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-04-25 18:50:19 +0800
committerchai <chaifix@163.com>2021-04-25 18:50:19 +0800
commit09a01ad69d8cb9a837f299ec085fef3802438f30 (patch)
tree44a0ac0ea2487977404f3a5bbb4c4d639b3cb34b
parent0f9d1967ca4358d01a9720ead0c8841d68f6638b (diff)
*misc
-rw-r--r--Assets/LensFlare/FlareBatch.cs19
-rw-r--r--Assets/LensFlare/FlareSource.cs2
-rw-r--r--Assets/LensFlare/LensFlare.unity2
3 files changed, 13 insertions, 10 deletions
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<Vertexhelper> m_TempMeshes = new List<Vertexhelper>();
+
void Start()
{
m_MeshRenderer = GetComponentOrCreate<MeshRenderer>();
@@ -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<Vertexhelper> 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<Vertexhelper> meshes = new List<Vertexhelper>();
+ if (source.SpreadMaximum != 0)
+ fac = Mathf.Clamp(flareVec.magnitude / source.SpreadMaximum, 0, 1); // 扩散比例
+ //List<Vertexhelper> meshes = new List<Vertexhelper>();
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: