MAde lines look nicer

This commit is contained in:
Pasha Bibko
2025-11-18 15:34:28 +00:00
parent 5811cb20b1
commit 321dc1f149
2 changed files with 18 additions and 14 deletions

View File

@@ -97,7 +97,7 @@ LineRenderer:
m_RotationOrder: 4 m_RotationOrder: 4
colorGradient: colorGradient:
serializedVersion: 2 serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1} key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0} key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0}
@@ -122,7 +122,7 @@ LineRenderer:
atime6: 0 atime6: 0
atime7: 0 atime7: 0
m_Mode: 0 m_Mode: 0
m_ColorSpace: -1 m_ColorSpace: 0
m_NumColorKeys: 2 m_NumColorKeys: 2
m_NumAlphaKeys: 2 m_NumAlphaKeys: 2
numCornerVertices: 0 numCornerVertices: 0

View File

@@ -41,6 +41,7 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
public static Int64 LastRingID => s_Instance.m_LastGeneratedRing; public static Int64 LastRingID => s_Instance.m_LastGeneratedRing;
public static float GetDistanceOf(Int64 rowID) => s_Instance.m_Distances[rowID]; public static float GetDistanceOf(Int64 rowID) => s_Instance.m_Distances[rowID];
private const int CIRCLE_POINTS = 360;
Vector3[] m_PrecalculatedPositions; Vector3[] m_PrecalculatedPositions;
@@ -50,9 +51,9 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
DontDestroyOnLoad(manager); DontDestroyOnLoad(manager);
s_Instance = manager.AddComponent<GlobalOrbitalPositionManager>(); s_Instance = manager.AddComponent<GlobalOrbitalPositionManager>();
s_Instance.m_PrecalculatedPositions = new Vector3[365]; s_Instance.m_PrecalculatedPositions = new Vector3[CIRCLE_POINTS + 1];
for (int i = 0; i < 365; i++) for (int i = 0; i < CIRCLE_POINTS; i++)
{ {
s_Instance.m_PrecalculatedPositions[i] = new Vector3 s_Instance.m_PrecalculatedPositions[i] = new Vector3
( (
@@ -61,6 +62,8 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
z: 0 z: 0
); );
} }
s_Instance.m_PrecalculatedPositions[CIRCLE_POINTS] = s_Instance.m_PrecalculatedPositions[0];
} }
public void Update() public void Update()
@@ -75,17 +78,12 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
m_Rings.Add(ring); m_Rings.Add(ring);
LineRenderer renderer = newRing.GetComponentInChildren<LineRenderer>(); LineRenderer renderer = newRing.GetComponentInChildren<LineRenderer>();
renderer.positionCount = 365; renderer.positionCount = CIRCLE_POINTS + 1;
renderer.startWidth = 0.1f; renderer.startWidth = 0.1f;
renderer.endWidth = 0.1f; renderer.endWidth = 0.1f;
renderer.material = new(Shader.Find("Sprites/Default")); renderer.material = new(Shader.Find("Sprites/Default"));
renderer.startColor = Color.white;
renderer.endColor = Color.white;
m_LastGeneratedRing = ring.ID; m_LastGeneratedRing = ring.ID;
m_TimeOfLastRingSpawn = Time.time; m_TimeOfLastRingSpawn = Time.time;
} }
@@ -99,15 +97,21 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
ring.transform.localScale -= new Vector3(diff, diff, 0f); ring.transform.localScale -= new Vector3(diff, diff, 0f);
LineRenderer renderer = ring.GetComponentInChildren<LineRenderer>(); LineRenderer renderer = ring.GetComponentInChildren<LineRenderer>();
for (int vert = 0; vert < 365; vert++) for (int vert = 0; vert < CIRCLE_POINTS + 1; vert++)
{ {
renderer.SetPosition(vert, m_PrecalculatedPositions[vert] * ring.transform.localScale.x); renderer.SetPosition(vert, m_PrecalculatedPositions[vert] * ring.transform.localScale.x);
} }
if (ring.transform.localScale.x < 0) float opacity = (ring.transform.localScale.x - 0.5f) / 4f;
{ opacity = Mathf.Clamp(opacity, 0, 0.5f);
if (ring.transform.localScale.x < 0.5f)
toRemove.Add(ring); toRemove.Add(ring);
}
Color c = Color.white;
c.a = opacity;
renderer.startColor = c;
renderer.endColor = c;
m_Distances[ring.ID] = ring.transform.localScale.x; m_Distances[ring.ID] = ring.transform.localScale.x;
index++; index++;