From 321dc1f149aa61e88f389e2becfd537c427f735b Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 18 Nov 2025 15:34:28 +0000 Subject: [PATCH] MAde lines look nicer --- Assets/Prefabs/Ring.prefab | 4 ++-- Assets/Scripts/OrbitalPosition.cs | 28 ++++++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Assets/Prefabs/Ring.prefab b/Assets/Prefabs/Ring.prefab index 8977dd2..62a0f3b 100644 --- a/Assets/Prefabs/Ring.prefab +++ b/Assets/Prefabs/Ring.prefab @@ -97,7 +97,7 @@ LineRenderer: m_RotationOrder: 4 colorGradient: 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} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} @@ -122,7 +122,7 @@ LineRenderer: atime6: 0 atime7: 0 m_Mode: 0 - m_ColorSpace: -1 + m_ColorSpace: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 numCornerVertices: 0 diff --git a/Assets/Scripts/OrbitalPosition.cs b/Assets/Scripts/OrbitalPosition.cs index 1e8dbfc..b78e136 100644 --- a/Assets/Scripts/OrbitalPosition.cs +++ b/Assets/Scripts/OrbitalPosition.cs @@ -41,6 +41,7 @@ public class GlobalOrbitalPositionManager : MonoBehaviour public static Int64 LastRingID => s_Instance.m_LastGeneratedRing; public static float GetDistanceOf(Int64 rowID) => s_Instance.m_Distances[rowID]; + private const int CIRCLE_POINTS = 360; Vector3[] m_PrecalculatedPositions; @@ -50,9 +51,9 @@ public class GlobalOrbitalPositionManager : MonoBehaviour DontDestroyOnLoad(manager); s_Instance = manager.AddComponent(); - 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 ( @@ -61,6 +62,8 @@ public class GlobalOrbitalPositionManager : MonoBehaviour z: 0 ); } + + s_Instance.m_PrecalculatedPositions[CIRCLE_POINTS] = s_Instance.m_PrecalculatedPositions[0]; } public void Update() @@ -75,17 +78,12 @@ public class GlobalOrbitalPositionManager : MonoBehaviour m_Rings.Add(ring); LineRenderer renderer = newRing.GetComponentInChildren(); - renderer.positionCount = 365; + renderer.positionCount = CIRCLE_POINTS + 1; renderer.startWidth = 0.1f; renderer.endWidth = 0.1f; - renderer.material = new(Shader.Find("Sprites/Default")); - renderer.startColor = Color.white; - renderer.endColor = Color.white; - m_LastGeneratedRing = ring.ID; - m_TimeOfLastRingSpawn = Time.time; } @@ -99,15 +97,21 @@ public class GlobalOrbitalPositionManager : MonoBehaviour ring.transform.localScale -= new Vector3(diff, diff, 0f); LineRenderer renderer = ring.GetComponentInChildren(); - 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); } - 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); - } + + Color c = Color.white; + c.a = opacity; + + renderer.startColor = c; + renderer.endColor = c; m_Distances[ring.ID] = ring.transform.localScale.x; index++;