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)); }
public void UseUnityLineRendererToggled() { FastLineRenderer.ResetAll(); UnityLineRendererPositions.Clear(); UnityLineRenderer.positionCount = 0; LineCountLabel.text = string.Empty; lineCount = 0; }
public void Init(FastLineRenderer parent, float radius) { Assert.IsNotNull(parent); lineRenderer = FastLineRenderer.CreateWithParent(null, parent); lineRenderer.Material.EnableKeyword("DISABLE_CAPS"); lineRenderer.SetCapacity(FastLineRenderer.MaxLinesPerMesh * FastLineRenderer.VerticesPerLine); props = new FastLineRendererProperties(); props.Radius = radius; }
protected void ResetLineMeshAngles(FastLineRenderer line) { var meshes = line.transform.GetComponentsInChildren <MeshRenderer>(); foreach (var m in meshes) { m.transform.localEulerAngles = Vector3.zero; } }
void Start() { FLR = FLR_Object.GetComponent <FastLineRenderer>(); crnt_pos = prev_pos = GetComponent <Transform>().position; FLR.UseWorldSpace = true; FLRP = new FastLineRendererProperties(); FLRP.Start = FLRP.End = crnt_pos; FLRP.Radius = 0.5f; FLRP.Color = new Color32(255, 0, 0, 255); FLRP.LineJoin = FastLineRendererLineJoin.AttachToPrevious; FLRP.SetLifeTime(1f, 999f, 0f); EC_points = new List <List <Vector2> >(); }
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)); }
public void GenerateLotsOfLines() { for (int i = 0; i < 10; i++) { if (UseUnityLineRendererToggle != null && UseUnityLineRendererToggle.isOn && UnityLineRenderer != null) { for (int j = 0; j < FastLineRenderer.MaxLinesPerMesh; j++) { Vector3 pos = new Vector3(UnityEngine.Random.Range(0.0f, Screen.width), UnityEngine.Random.Range(0.0f, Screen.height), UnityEngine.Random.Range(-400.0f, 400.0f)); UnityLineRendererPositions.Add(pos); } UnityLineRenderer.positionCount = UnityLineRendererPositions.Count; UnityLineRenderer.SetPositions(UnityLineRendererPositions.ToArray()); } else if (lotsOfLinesRenderer != null) { // fast clone, just re-use the mesh! const float range = 1000.0f; FastLineRenderer r = FastLineRenderer.CreateWithParent(null, LineRenderer); r.Material.EnableKeyword("DISABLE_CAPS"); r.Mesh = lotsOfLinesRenderer.Mesh; r.transform.Translate(UnityEngine.Random.Range(-range, range), UnityEngine.Random.Range(-range, range), UnityEngine.Random.Range(-range, range)); } else { FastLineRenderer r = FastLineRenderer.CreateWithParent(null, LineRenderer); r.Material.EnableKeyword("DISABLE_CAPS"); r.SetCapacity(FastLineRenderer.MaxLinesPerMesh * FastLineRenderer.VerticesPerLine); FastLineRendererProperties props = new FastLineRendererProperties(); for (int j = 0; j < FastLineRenderer.MaxLinesPerMesh; j++) { Color32 randColor = new Color32(RandomByte(), RandomByte(), RandomByte(), RandomByte()); // Vector3 pos = new Vector3(UnityEngine.Random.Range(0.0f, Screen.width), UnityEngine.Random.Range(0.0f, Screen.height), UnityEngine.Random.Range(-400.0f, 400.0f)); Vector3 pos = new Vector3(UnityEngine.Random.Range(0.0f, Screen.width), UnityEngine.Random.Range(0.0f, Screen.height), 0); props.Start = pos; props.End = Vector3.zero; props.Color = randColor; props.Radius = UnityEngine.Random.Range(1.0f, 4.0f); props.SetLifeTime(float.MaxValue); // props.AngularVelocity = UnityEngine.Random.Range(-6.0f, 6.0f); // props.Velocity = RandomVelocity(50.0f); r.AppendLine(props); } r.Apply(); lotsOfLinesRenderer = r; } LineCountLabel.text = "Lines: " + (lineCount += FastLineRenderer.MaxLinesPerMesh); } }
public void Init(FastLineRenderer defaultRenderer, FastLineRenderer selectionRenderer) { Ogr.RegisterAll(); model = new GisModel(); viewer = new GisViewer(); viewer.Init(); fastrenderer = new GisRenderer(); fastrenderer.Init(defaultRenderer, 0.02f); ss = new GisSelectionSet(); ss.Init(selectionRenderer, 0.2f); GisOperatingToolSet.SetHost(this); optool = new GisOperatingToolSet(); optool.Init(viewer); }
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(); }
//static readonly float jitterRadiusFactor = 0.25f; // Use this for initialization void Start() { if (laserLines == null) { laserLines = new List <LaserLine> (); } lr = GetComponent <FastLineRenderer> (); ec = transform.gameObject.AddComponent <EdgeCollider2D> (); ec.enabled = false; //yield return new WaitForSeconds (0.1f); DrawDefaultLine(transform); InitEdgeCollider(); // if(interfaceTransform){ // cs = interfaceTransform.GetComponent<ControlStatus> (); // } }
private void OnEnable() { inspectorTarget = target as FastLineRenderer; //Get the layer names string[] layerNames = GetSortingLayerNames(); //Put them in a GUIContent variable, so that we can display a tooltip later sortingLayerNames = new GUIContent[layerNames.Length]; string currentSortLayerName = (inspectorTarget.SortLayerName ?? string.Empty); for (int i = 0; i < sortingLayerNames.Length; i++) { sortingLayerNames[i] = new GUIContent(layerNames[i] ?? string.Empty); if (currentSortLayerName == layerNames[i]) { chosenIndex = i; } } }
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(); } }