diff options
author | chai <chaifix@163.com> | 2021-04-25 18:50:19 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-04-25 18:50:19 +0800 |
commit | 09a01ad69d8cb9a837f299ec085fef3802438f30 (patch) | |
tree | 44a0ac0ea2487977404f3a5bbb4c4d639b3cb34b | |
parent | 0f9d1967ca4358d01a9720ead0c8841d68f6638b (diff) |
*misc
-rw-r--r-- | Assets/LensFlare/FlareBatch.cs | 19 | ||||
-rw-r--r-- | Assets/LensFlare/FlareSource.cs | 2 | ||||
-rw-r--r-- | Assets/LensFlare/LensFlare.unity | 2 |
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: |