IEnumerator DefaultLineIE() { // Debug.Log ("before Fixed"); yield return(new WaitForEndOfFrame()); // Debug.Log ("after Fixed"); lr.Reset(); lr.JitterMultiplier = 0f; foreach (LaserLine line in laserLines) { if (line.leftEnd && line.rightEnd) { // create a new line in renderer // Debug.Log ("drawing line"); FastLineRendererProperties props = new FastLineRendererProperties(); props.Start = line.leftEnd.position; props.End = line.rightEnd.position; props.Radius = lineRadius * radiusFactor; props.GlowIntensityMultiplier = glowIntensity; props.GlowWidthMultiplier = glowWidthMultiplier; lr.AddLine(props, true, true); } } lr.Apply(); }
private void DoShowEffects() { FastLineRendererProperties props = new FastLineRendererProperties(); FastLineRenderer r = FastLineRenderer.CreateWithParent(null, LineRenderer); r.Material.EnableKeyword("DISABLE_CAPS"); r.SetCapacity(8192 * FastLineRenderer.VerticesPerLine); r.Turbulence = 350.0f; r.BoundsScale = new Vector3(4.0f, 4.0f, 4.0f); //r.JitterMultiplier = UnityEngine.Random.Range(0.25f, 1.5f); const float maxLifeTimeSeconds = 1.5f; for (int i = 0; i < 32; i++) { Vector3 pos = new Vector3(10.0f, Screen.height * 0.5f); Vector3 pos2 = new Vector3(10.0f + (UnityEngine.Random.Range(50.0f, 150.0f)), Screen.height * 0.5f + (UnityEngine.Random.Range(-15.0f, 15.0f))); props.Start = pos; props.End = pos2; props.Radius = UnityEngine.Random.Range(8.0f, 16.0f); float s = UnityEngine.Random.Range(1.0f, maxLifeTimeSeconds); props.SetLifeTime(s, s * UnityEngine.Random.Range(0.1f, 0.2f)); props.Color = new Color32(RandomByte(), RandomByte(), RandomByte(), RandomByte()); props.Velocity = RandomVelocity(20.0f); props.Velocity.z = 0.0f; props.AngularVelocity = UnityEngine.Random.Range(-0.1f, 0.1f); r.AddLine(props); } r.Apply(); // send the script back into the cache, freeing up resources after max lifetime seconds. r.SendToCacheAfter(TimeSpan.FromSeconds(maxLifeTimeSeconds)); }
void ElevationViz(GameObject go) { FastLineRendererProperties elevationRendererProps = new FastLineRendererProperties { Start = go.transform.position, End = new Vector3(go.transform.position.x, 0, go.transform.position.z), Radius = 0.0075f, Color = new Color(0.165f, 0.173f, 0.2f) }; elevationRenderer.AddLine(elevationRendererProps); elevationRenderer.Apply(); }
void DrawTriangleOutline(Triangle t) { Vector2[][] edges = t.GetEdgesInWorldSpace(); foreach (Vector2[] edge in edges) { FastLineRendererProperties props = new FastLineRendererProperties(); props.Start = edge[0] + (Vector2)transform.position; props.End = edge[1] + (Vector2)transform.position; props.Radius = 0.02f; lineRenderer.AddLine(props); } lineRenderer.Apply(); }
private void UpdateDynamicLines() { if (!Input.GetKeyDown(KeyCode.Space) || LineRenderer == null) { return; } else if (ShowEffects) { DoShowEffects(); return; } const float maxLifeTimeSeconds = 5.0f; FastLineRendererProperties props = new FastLineRendererProperties(); FastLineRenderer r = FastLineRenderer.CreateWithParent(null, LineRenderer); r.Material.EnableKeyword("DISABLE_CAPS"); r.SetCapacity(8192 * FastLineRenderer.VerticesPerLine); r.Turbulence = 150.0f; r.BoundsScale = new Vector3(4.0f, 4.0f, 4.0f); props.GlowIntensityMultiplier = 0.1f; props.GlowWidthMultiplier = 4.0f; for (int i = 0; i < 8192; i++) { Vector3 pos; if (Camera.main.orthographic) { pos = UnityEngine.Random.insideUnitCircle; pos.x *= Screen.width * UnityEngine.Random.Range(0.1f, 0.4f); pos.y *= Screen.height * UnityEngine.Random.Range(0.1f, 0.4f); } else { pos = UnityEngine.Random.insideUnitSphere; pos.x *= Screen.width * UnityEngine.Random.Range(0.5f, 2.0f); pos.y *= Screen.height * UnityEngine.Random.Range(0.5f, 2.0f); pos.z *= UnityEngine.Random.Range(-200.0f, 200.0f); } props.End = pos; props.Radius = UnityEngine.Random.Range(1.0f, 4.0f); float s = UnityEngine.Random.Range(1.0f, maxLifeTimeSeconds); props.SetLifeTime(s, s * 0.15f); props.Color = new Color32(RandomByte(), RandomByte(), RandomByte(), RandomByte()); props.Velocity = RandomVelocity(100.0f); props.AngularVelocity = UnityEngine.Random.Range(-6.0f, 6.0f); r.AddLine(props); } r.Apply(); r.SendToCacheAfter(TimeSpan.FromSeconds(maxLifeTimeSeconds)); }
private void drawStreamLines() { List <Vector3> points = generateOneStreamLine(new Vector3(200 * DataBase.SpaceFactor, 100 * DataBase.SpaceFactor, 30 * DataBase.SpaceFactor)); /* * VectorLine line = new VectorLine("Grid", points, 3f, LineType.Continuous); * //line.SetColors(GenerateColorsFromPositions(positions_TEST)); * line.Draw3DAuto(); */ FastLineRenderer LineRenderer = FastLineRenderer.CreateWithParent(gameObject, FastLineRendererTemplate); FastLineRendererProperties props = new FastLineRendererProperties(); props.Radius = 0.01f; props.LineJoin = FastLineRendererLineJoin.AdjustPosition; LineRenderer.AddLine(props, points, null, false, false); LineRenderer.Apply(); }
public void RenderPlanetOrbits() { for (int i = 0; i < orbitsMatrixPlanets.GetLength(0); i++) { FastLinePlanetline.Reset(); GameObject go = new GameObject("Orbit"); go.transform.SetParent(planetIDGameObjectMap[i].transform); go.transform.localPosition = new Vector3(0f, 0f, 0f); FastLineRenderer lr = FastLineRenderer.CreateWithParent(go, FastLinePlanetline); FastLineRendererProperties props = new FastLineRendererProperties(); props.Radius = orbitLineRadius; props.LineJoin = FastLineRendererLineJoin.AttachToPrevious; lr.UseWorldSpace = true; // props.Color = new Color(0.67f, 0.66f, 0.50f, 0.25f); lr.AddLine(props, orbitsMatrixPlanets[i], null); lr.ScreenRadiusMultiplier = orbitLineScale; lr.Apply(); } //for (int i = 0; i < orbitsMatrixPlanets.GetLength(0); i++) //{ // GameObject go = new GameObject("Orbit"); // go.transform.SetParent(planetIDGameObjectMap[i].transform); // go.transform.localPosition = new Vector3(0f, 0f, 0f); // LineRenderer lr = Instantiate<LineRenderer>(LineOrbits, go.transform); // lr.enabled = true; // lr.name = "Orbit-" + solarsystem.Planets[i].OrbitalID; // orbitsPlanets.Add(lr); // lr.startWidth = 1f; // lr.endWidth = 1f; // lr.positionCount = segments; // lr.SetPositions(orbitsMatrixPlanets[i]); //} }
public void RenderMoonOrbits() { //for (int i = 0; i < orbitsMatrixMoons.GetLength(0); i++) //{ // LineRenderer lr = Instantiate<LineRenderer>( // LineOrbits, planetIDGameObjectMap[solarsystem.Moons[i].Parent.OrbitalID].transform); // lr.enabled = enable; // lr.useWorldSpace = false; // lr.name = "Orbit-" + solarsystem.Moons[i].Parent.OrbitalID.ToString() + // "-" + solarsystem.Moons[i].OrbitalID.ToString(); // orbitsMoons.Add(lr); // lr.startWidth = 60f; // lr.endWidth = 60f; // lr.startColor = moonsOrbitColour; // lr.endColor = moonsOrbitColour; // lr.positionCount = segmentsMoons; // lr.SetPositions(orbitsMatrixMoons[i]); //} for (int i = 0; i < orbitsMatrixMoons.GetLength(0); i++) { FastLineMoonline.Reset(); GameObject go = new GameObject("Orbit-Moon"); go.transform.SetParent(planetIDGameObjectMap[solarsystem.Moons[i].Parent.OrbitalID].transform); go.transform.localPosition = new Vector3(0f, 0f, 0f); FastLineRenderer lr = FastLineRenderer.CreateWithParent(go, FastLineMoonline); FastLineRendererProperties props = new FastLineRendererProperties(); props.Radius = orbitLineRadius; props.LineJoin = FastLineRendererLineJoin.AttachToPrevious; lr.UseWorldSpace = false; // props.Color = new Color(0.51f, 0.67f, 0.50f, 0.25f); lr.AddLine(props, orbitsMatrixMoons[i], null); lr.ScreenRadiusMultiplier = orbitLineScale; lr.Apply(); } }
private void CreateContinuousLineFromList() { // reset the line renderer - if you are appending to an existing line, don't call reset, as you would lost all the previous points LineRenderer.Reset(); // generate zig zag List <Vector3> points = new List <Vector3>(); for (int i = 0; i < 50; i++) { points.Add(new Vector3(-200 + (i * 10.0f), 100 + (150.0f * -(i % 2)), 0.0f)); } // animation time per segment - set to 0 to have the whole thing appear at once const float animationTime = 0.1f; // create properties - do this once, before your loop FastLineRendererProperties props = new FastLineRendererProperties(); props.Radius = 0.1f; props.LineJoin = FastLineRendererLineJoin.Round; // add the list of line points LineRenderer.AddLine(props, points, (FastLineRendererProperties _props) => { // random color props.Color = new Color32((byte)Random.Range(0, 256), (byte)Random.Range(0, 256), (byte)Random.Range(0, 256), byte.MaxValue); // animate this line segment in later props.AddCreationTimeSeconds(animationTime); // increase the radius props.Radius += 0.05f; }, true, true); // must call apply to make changes permanent LineRenderer.Apply(); }