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();
    }
Exemple #4
0
 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));
        }
Exemple #6
0
    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();
        }