MAde lines look nicer
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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++;
|
||||
|
||||
Reference in New Issue
Block a user