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
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

View File

@@ -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<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
(
@@ -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<LineRenderer>();
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<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);
}
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++;