/// <summary> /// Create a selection model for a specific kerbal. /// </summary> /// <param name="eva"></param> private void CreateLine(EvaContainer container) { if (selectionLines.ContainsKey(container.flightID)) { return; } LineRenderer lineRenderer = new GameObject().AddComponent <LineRenderer>(); lineRenderer.useWorldSpace = false; lineRenderer.material = new Material(Shader.Find("Particles/Additive")); lineRenderer.SetWidth(0.05f, 0.05f); lineRenderer.SetColors(Color.green, Color.red); Renderer _renderer = null; lineRenderer.GetComponentCached <Renderer> (ref _renderer); if (_renderer != null) { _renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; _renderer.receiveShadows = false; } int segments = 32; lineRenderer.SetVertexCount(segments); CreateCircle(lineRenderer, segments, 0.25); //set properties SetSelectionLineProperties(container.EVA, lineRenderer); selectionLines.Add(container.flightID, lineRenderer); }
public void SetNewConnection(GameObject neighbour) { // Debug.Log ("SetNewConnection Called! (Neighbour: " + neighbour + ")"); if (neighbour.GetInstanceID() != this.gameObject.GetInstanceID()) { if (HasConnectionsLeft()) { if (neighbour.GetComponent <GridfieldController> ().HasConnectionsLeft()) { if (!connectedElements.Contains(neighbour)) { connectedElements.Add(neighbour); LineRenderer lRenderer = new GameObject("Line to " + neighbour.GetInstanceID()).AddComponent <LineRenderer> (); lRenderer.transform.parent = this.transform; lRenderer.SetWidth(defaultBondWidth, defaultBondWidth); lRenderer.material = new Material(Shader.Find("Sprites/Default")); lRenderer.SetColors(Color.black, Color.black); lRenderer.SetVertexCount(2); lRenderer.SetPosition(0, this.transform.position); lRenderer.SetPosition(1, neighbour.transform.position); lRenderer.sortingOrder = 2; lineRenderers.Add(lRenderer); lineDestinations.Add(lRenderer, neighbour.GetComponent <GridfieldController>().GetElement()); neighbour.GetComponent <GridfieldController> ().AddThisAsNeighbour(this.gameObject); leftConnections--; } else { //Neighbour is at least once connected. Check for possible multiple bond. AddMultipleBondNeighbour(neighbour); } } } } }
/* * -------------------------------------------- KETERANGAN ------------------------------------------------- * NAMA : void initialitation_line_luar() * DESKRIPSI: * Fungsi yang digunakan untuk membuat garis yang menghubungkan antara nama komponen saraf dengan bagian komponen saraf luar * STATUS: * Done * ---------------------------------------------------------------------------------------------------------- */ void initialitation_line_luar() { // Add a Line Renderer to the GameObject cell_body_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer cell_body_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer cell_body_line.SetVertexCount(2); // Add a Line Renderer to the GameObject myelin_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer myelin_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer myelin_line.SetVertexCount(2); // Add a Line Renderer to the GameObject dendrite_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer dendrite_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer dendrite_line.SetVertexCount(2); // Add a Line Renderer to the GameObject sinapsis_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer sinapsis_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer sinapsis_line.SetVertexCount(2); }
void OnCollisionEnter(Collision collision) { //Check for a match with the specified name on any GameObject that collides with your GameObject if (collision.gameObject.name == thumb.name) { if (ann) { count++; col = true; //If the GameObject's name matches the one you suggest, output this message in the console Debug.Log("Do something here"); LineRenderer line = new GameObject().AddComponent <LineRenderer>(); line.transform.parent = transform; line.SetPosition(0, transform.position); line.SetPosition(1, transform.position); string lineName = "_" + count; line.transform.name = lineName; line.sortingLayerName = "OnTop"; line.sortingOrder = 5; line.SetWidth(0.005f, 0.005f); line.useWorldSpace = true; //line.material = lineMaterial; //lines.Add(line); } } }
/// <summary> /// Create a text input field (used for string, int, float) /// </summary> /// <param name="parent">parent transform</param> /// <param name="labelname">Label text</param> /// <param name="description">Description text</param> /// <param name="guid">module GUID</param> /// <param name="section">Section</param> /// <param name="key">Key</param> /// <param name="width">Width</param> /// <returns></returns> private static GameObject CreateTextInputField(Transform parent, string labelname, string description, string guid, string section, string key, float width) { // Create the outer gameobject first var result = new GameObject("TextField", typeof(RectTransform), typeof(LayoutElement)); result.SetWidth(width); result.transform.SetParent(parent, false); // create the label text var label = GUIManager.Instance.CreateText(labelname, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0), GUIManager.Instance.AveriaSerifBold, 16, GUIManager.Instance.ValheimOrange, true, Color.black, width - 150f, 0, false); label.SetUpperLeft().SetToTextHeight(); // create the description text var desc = GUIManager.Instance.CreateText(description, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0), GUIManager.Instance.AveriaSerifBold, 12, Color.white, true, Color.black, width - 150f, 0, false).SetUpperLeft(); desc.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, -(label.GetHeight() + 3f)); desc.SetToTextHeight(); // calculate combined height result.SetHeight(label.GetHeight() + 3f + desc.GetHeight() + 15f); // Add the input field element var field = new GameObject("Input", typeof(RectTransform), typeof(Image), typeof(InputField)).SetUpperRight().SetSize(140f, label.GetHeight() + 6f); field.GetComponent <Image>().sprite = GUIManager.Instance.GetSprite("text_field"); field.GetComponent <Image>().type = Image.Type.Sliced; field.transform.SetParent(result.transform, false); var inputField = field.GetComponent <InputField>(); var text = new GameObject("Text", typeof(RectTransform), typeof(Text), typeof(Outline)).SetMiddleLeft().SetHeight(label.GetHeight() + 6f) .SetWidth(130f); inputField.textComponent = text.GetComponent <Text>(); text.transform.SetParent(field.transform, false); text.GetComponent <RectTransform>().anchoredPosition = new Vector2(5, 0); text.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; text.GetComponent <Text>().font = GUIManager.Instance.AveriaSerifBold; // create the placeholder element var placeholder = new GameObject("Placeholder", typeof(RectTransform), typeof(Text)).SetMiddleLeft().SetHeight(label.GetHeight() + 6f) .SetWidth(130f); inputField.placeholder = placeholder.GetComponent <Text>(); placeholder.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; placeholder.GetComponent <Text>().text = ""; placeholder.GetComponent <Text>().font = GUIManager.Instance.AveriaSerifBold; placeholder.GetComponent <Text>().fontStyle = FontStyle.Italic; placeholder.GetComponent <Text>().color = Color.gray; placeholder.transform.SetParent(field.transform, false); placeholder.GetComponent <RectTransform>().anchoredPosition = new Vector2(5, 0); // set the preferred height on the layout element result.GetComponent <LayoutElement>().preferredHeight = result.GetComponent <RectTransform>().rect.height; return(result); }
void Update() { ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit) && Input.GetMouseButtonDown(0)) { if (!p0 && !p1) { p0 = hit.transform; h0 = hit.point; return; } if (p0 && !p1) { p1 = hit.transform; h1 = hit.point; } if (p0 && p1) { LineRenderer line = new GameObject("Line " + i.ToString()).AddComponent <LineRenderer>(); line.transform.parent = container; line.SetWidth(0.025F, 0.025F); line.SetColors(Color.red, Color.green); line.SetVertexCount(2); line.SetPosition(0, h0); line.SetPosition(1, h1); distance = Vector3.Distance(h0, h1); label = "Distance between hit point 0 of " + p0.name + " and hit point 1 of " + p1.name + " = " + distance.ToString(); p1 = null; p0 = null; } } }
LineRenderer CreteLineRenderer() { LineRenderer temp = new GameObject().AddComponent <LineRenderer>(); temp.SetWidth(0.15f, 0.15f); temp.gameObject.transform.parent = this.transform; // set line GO as child of NODE return(temp); }
// Following method creates new line for MagnifyGlass's border private LineRenderer getLine() { LineRenderer line = new GameObject("Line").AddComponent<LineRenderer>(); line.material = new Material(Shader.Find("Diffuse")); line.SetVertexCount(2); line.SetWidth(0.2f,0.2f); line.SetColors(Color.black, Color.black); line.useWorldSpace = false; return line; }
// Following method creates new line for MagnifyGlass's border private LineRenderer getLine() { LineRenderer line = new GameObject("Line").AddComponent<LineRenderer>(); line.material = new Material(Shader.Find("Diffuse")); line.SetVertexCount(2); line.SetWidth(0.2f, 0.2f); line.SetColors(Color.black, Color.black); line.useWorldSpace = false; return line; }
private void MakeLine(Networkable a, Networkable b) { var dir = -Camera.main.transform.forward; var line = new GameObject("Line").AddComponent<LineRenderer>(); line.transform.parent = transform; line.SetWidth(0.4f, 0.4f); line.SetPosition(0, a.transform.position + dir * 7); line.SetPosition(1, b.transform.position + dir * 7); line.sharedMaterial = NodeMaterial; }
// Following method creates new line for MagnifyGlass's border private LineRenderer getLine() { LineRenderer line = new GameObject("Line").AddComponent <LineRenderer>(); line.material = lineMaterial; line.SetVertexCount(2); line.SetWidth(0.2f, 0.2f); line.SetColors(Color.black, Color.black); line.useWorldSpace = false; return(line); }
private void makeGrid(Vector3 begin, Vector3 end) { LineRenderer line = new GameObject().AddComponent<LineRenderer>(); line.transform.parent = this.transform.parent; line.SetWidth(0.01F, 0.01F); line.SetColors(lightBlue, lightBlue); line.SetPosition(0, begin); line.SetPosition(1, end); line.SetVertexCount(2); line.material = new Material(Shader.Find("Particles/Additive")); }
private void makeGrid(Vector3 begin, Vector3 end) { LineRenderer line = new GameObject().AddComponent <LineRenderer>(); line.transform.parent = this.transform.parent; line.SetWidth(0.01F, 0.01F); line.SetColors(lightBlue, lightBlue); line.SetPosition(0, begin); line.SetPosition(1, end); line.SetVertexCount(2); line.material = new Material(Shader.Find("Particles/Additive")); }
private void MakeLine(Networkable a, Networkable b) { var dir = -Camera.main.transform.forward; var line = new GameObject("Line").AddComponent <LineRenderer>(); line.transform.parent = transform; line.SetWidth(0.4f, 0.4f); line.SetPosition(0, a.transform.position + dir * 7); line.SetPosition(1, b.transform.position + dir * 7); line.sharedMaterial = NodeMaterial; }
private void createLine(string name, Vector3 start, Vector3 end) { LineRenderer line = new GameObject(name).AddComponent <LineRenderer>(); line.material = new Material(Shader.Find("Diffuse")); line.SetVertexCount(2); line.SetPosition(0, start); line.SetPosition(1, end); line.SetWidth(0.5f, 0.5f); line.SetColors(Color.black, Color.black); // line.useWorldSpace = true; }
public Line(Vector3 StartPosition, float Size) { line = new GameObject("Hihi").AddComponent <LineRenderer>(); Vector3[] a = new Vector3[2]; positionStart = StartPosition; a[0] = positionStart; a[1] = positionStart; line.SetPositions(a); line.SetPosition(0, Vector3.zero); line.SetWidth(Size, Size); line.transform.position = StartPosition; }
private void drawLine(Vector3 start, Vector3 end, Color color) { LineRenderer line = new GameObject("Line ").AddComponent <LineRenderer>(); line.SetWidth(0.025F, 0.025F); line.SetColors(color, color); line.SetVertexCount(2); line.SetPosition(0, start); line.SetPosition(1, end); line.material.shader = (Shader.Find("Unlit/Color")); line.material.color = color; lines.Add(line.gameObject); }
private void makeLineGraph(Vector3 begin, Vector3 end) { //makePoint(begin); // makePoint(end); LineRenderer line = new GameObject().AddComponent <LineRenderer>(); line.transform.parent = this.transform.parent; line.SetWidth(0.05F, 0.05F); line.SetColors(Color.green, Color.green); line.SetPosition(0, begin); line.SetPosition(1, end); line.SetVertexCount(2); line.material = new Material(Shader.Find("Particles/Additive")); }
private LineRenderer initLR(Vessel v, VesselBounds vbounds) { LineRenderer Lr; Lr = new GameObject().AddComponent <LineRenderer>(); Lr.material = new Material(Shader.Find("KSP/Emissive/Diffuse")); Lr.material.SetColor("_EmissiveColor", Color.green); Lr.SetWidth(0.15f, 0.15f); Lr.SetVertexCount(2); Lr.SetPosition(0, v.CoM + vbounds.bottomPoint); Lr.SetPosition(1, v.CoM + vbounds.bottomPoint + Vector3.ProjectOnPlane(v.CoM - FlightCamera.fetch.mainCamera.transform.position, vbounds.up).normalized); Lr.enabled = true; return(Lr); }
void addLineVector(Vector3 currentVector, Vector3 newVector) { // create a new line renderer LineRenderer lineRenderer = GetComponent <LineRenderer>(); LineRenderer lRend = new GameObject().AddComponent <LineRenderer>(); lRend.SetPosition(0, transform.position); lRend.SetWidth(.2f, .2f); lRend.SetPosition(1, newVector); listOfVectors.Add(lRend); lRend.SetColors(Color.blue, Color.blue); //lineRenderer.SetPosition(0, transform.position); //lineRenderer.SetWidth(.5f, .5f); //lineRenderer.SetPosition(1, newVector); }
private void CreateCategoryTabs() { // Only touch categories when new ones were added if (!PieceCategories.Any()) { return; } // Get the GUI elements GameObject root = Hud.instance.m_pieceCategoryRoot; if (root.GetComponent <RectMask2D>() == null) { root.AddComponent <RectMask2D>(); root.SetWidth(PieceCategorySize); Transform border = root.transform.Find("TabBorder"); border?.SetParent(root.transform.parent, true); } List <string> newNames = new List <string>(Hud.instance.m_buildCategoryNames); List <GameObject> newTabs = new List <GameObject>(Hud.instance.m_pieceCategoryTabs); // Append tabs and their names to the GUI for every custom category not already added foreach (var category in PieceCategories) { if (!newNames.Contains(category.Key)) { GameObject newTab = Object.Instantiate(Hud.instance.m_pieceCategoryTabs[0], root.transform); newTab.name = category.Key; UIInputHandler handler = newTab.GetOrAddComponent <UIInputHandler>(); handler.m_onLeftDown += Hud.instance.OnLeftClickCategory; char[] forbiddenCharsArray = LocalizationManager.ForbiddenChars.ToCharArray(); string tokenCategory = string.Concat(category.Key.ToLower().Split(forbiddenCharsArray)); string tokenName = $"jotunn_cat_{tokenCategory}"; LocalizationManager.Instance.JotunnLocalization.AddTranslation(tokenName, category.Key); newNames.Add(LocalizationManager.Instance.TryTranslate(tokenName)); newTabs.Add(newTab); } } // Replace the HUD arrays Hud.instance.m_buildCategoryNames = newNames.ToList(); Hud.instance.m_pieceCategoryTabs = newTabs.ToArray(); }
void DrawOnMove() { //Se os valores X ou Y da variavel MouseLastPosition(Posiçao antiga do mouse) forem diferentes dos valores X ou Y da variavel MouseActualPosition(Posiçao atual do mouse), entao o mouse se moveu if(MouseLastPosition.x != MouseActualPosition.x || MouseLastPosition.y != MouseActualPosition.y) { LineRenderer Line = new GameObject("Line").AddComponent<LineRenderer>(); Line.transform.parent = GameObject.Find("LineMother").transform; Line.material = LineColor; Line.SetVertexCount(2); Line.SetWidth(0.1f,0.1f); Line.SetPosition(0,Camera.main.ScreenToWorldPoint(new Vector3(MouseLastPosition.x, MouseLastPosition.y, ZPosition))); Line.SetPosition(1,Camera.main.ScreenToWorldPoint(new Vector3(MouseActualPosition.x, MouseActualPosition.y, ZPosition))); //Igualando a posiçao antiga do mouse com a atual, para caso ele se mova de novo, a comparaçao seja correta MouseLastPosition = Input.mousePosition; } }
void SpawnLines() { lines = new List <LineRenderer>(); for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++) { LineRenderer l = new GameObject().AddComponent <LineRenderer>().GetComponent <LineRenderer>(); lines.Add(l); l.transform.parent = transform; l.transform.position = new Vector3((grid_w / 2) * ((float)i / (float)x), (grid_h / 2) * ((float)j / (float)y), 0); l.SetWidth(lineWidth, lineWidth); l.numCapVertices = 90; } } }
/// <summary> /// Create a toggle element /// </summary> /// <param name="parent">parent transform</param> /// <param name="labelname">label text</param> /// <param name="description">description text</param> /// <param name="modguid">module GUID</param> /// <param name="section">section</param> /// <param name="key">key</param> /// <param name="width">width</param> /// <returns></returns> private static GameObject CreateToggleElement(Transform parent, string labelname, string description, string modguid, string section, string key, float width) { // Create the outer gameobject first var result = new GameObject("Toggler", typeof(RectTransform)); result.transform.SetParent(parent, false); result.SetWidth(width); // and now the toggle itself GUIManager.Instance.CreateToggle(result.transform, new Vector2(0, 0), 28f, 28f).SetUpperRight(); // create the label text element var label = GUIManager.Instance.CreateText(labelname, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0), GUIManager.Instance.AveriaSerifBold, 16, GUIManager.Instance.ValheimOrange, true, Color.black, width - 45f, 0, true).SetUpperLeft() .SetToTextHeight(); label.SetWidth(width - 45f); label.SetToTextHeight(); label.transform.SetParent(result.transform, false); // create the description text element (easy mode, just copy the label element and change some properties) var desc = Object.Instantiate(result.transform.Find("Text").gameObject, result.transform); desc.name = "Description"; desc.GetComponent <Text>().color = Color.white; desc.GetComponent <Text>().fontSize = 12; desc.GetComponent <Text>().text = description; desc.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, -(result.transform.Find("Text").gameObject.GetHeight() + 3f)); desc.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, desc.GetComponent <Text>().preferredHeight); result.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, desc.GetComponent <RectTransform>().anchoredPosition.y + desc.GetComponent <Text>().preferredHeight + 15f); // and add a layout element var layoutElement = result.AddComponent <LayoutElement>(); layoutElement.preferredHeight = Math.Max(38f, desc.GetComponent <RectTransform>().anchoredPosition.y + desc.GetComponent <Text>().preferredHeight) + 15f; result.SetHeight(layoutElement.preferredHeight); // Bind to config entry result.AddComponent <ConfigBoundBoolean>().SetData(modguid, section, key); return(result); }
private void CreateCables() { Transform parachuteCableHookPointsParent = rigidParachute.transform.Find("CableHookPoints"); Transform payloadCableHookPointsParent = payload.transform.Find("CableHookPoints"); LineRenderer cable; parachuteCablesContainer = new GameObject(); parachuteCablesContainer.name = "Cables"; parachuteCablesContainer.transform.parent = transform; parachuteCableHookPoints = new Transform[parachuteCableHookPointsParent.GetChildCount()]; payloadCableHookPoints = new Transform[payloadCableHookPointsParent.GetChildCount()]; for (int t = 0; t < parachuteCableHookPointsParent.GetChildCount(); t++) { parachuteCableHookPoints[t] = parachuteCableHookPointsParent.GetChild(t); } for (int t = 0; t < payloadCableHookPointsParent.GetChildCount(); t++) { payloadCableHookPoints[t] = payloadCableHookPointsParent.GetChild(t); } if (parachuteCableHookPoints.Length != payloadCableHookPoints.Length) { Debug.Log("Cable Hook Points on the Parachute need to match the payload cable hook points"); } cables = new LineRenderer[parachuteCableHookPoints.Length]; prevCableLengthDistance = new float[parachuteCableHookPoints.Length]; for (int t = 0; t < parachuteCableHookPoints.Length; t++) { cable = new GameObject().AddComponent <LineRenderer>(); cable.material = cableMaterial; cable.transform.parent = parachuteCablesContainer.transform; cable.transform.name = parachuteCableHookPoints[t].name + "Cable"; cable.transform.position = parachuteCableHookPoints[t].position; prevCableLengthDistance[t] = 0; cable.SetWidth(.04f, .065f); cables[t] = cable; } }
public static void buildLine(Vector3 start, Vector3 end){ LineRenderer line = new GameObject ("Line").AddComponent<LineRenderer> (); //apparently I should use this as a default material, but it didn't work so I used some arbitrary material //line.material = new Material(Shader.Find("Particles/Additive")); line.material = material; line.gameObject.layer = LayerMask.NameToLayer ("Minimap"); line.material.SetColor ("colour", Color.black); line.castShadows = false; line.receiveShadows = false; line.transform.parent = GameObject.Find("lines").transform; line.SetWidth(1.0f, 1.0f); line.SetVertexCount(2); line.SetPosition(0, start); line.SetPosition (1, end); string positions = start.x.ToString () + "," + start.y.ToString () + "," + start.z.ToString () + "," + end.x.ToString () + "," + end.y.ToString () + "," + end.z.ToString (); if (Network.isServer) { ClientNetwork client = (ClientNetwork) GameObject.FindObjectOfType(typeof(ClientNetwork)); client.startClientLines (positions); } }
/* * -------------------------------------------- KETERANGAN ------------------------------------------------- * NAMA : void initialitation_line_dalam() * DESKRIPSI: * Fungsi yang digunakan untuk membuat garis yang menghubungkan antara nama komponen saraf dengan bagian komponen saraf dalam * STATUS: * Done * ---------------------------------------------------------------------------------------------------------- */ void initialitation_line_dalam() { // Add a Line Renderer to the GameObject sell_schawann_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer sell_schawann_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer sell_schawann_line.SetVertexCount(2); // Add a Line Renderer to the GameObject akson_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer akson_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer akson_line.SetVertexCount(2); // Add a Line Renderer to the GameObject nukleus_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer; // Set the width of the Line Renderer nukleus_line.SetWidth(0.05F, 0.05F); // Set the number of vertex fo the Line Renderer nukleus_line.SetVertexCount(2); }
/// <summary> /// Draw a new line. /// </summary> /// <param name="group">Group name to associate the line with.</param> /// <param name="start">Starting location.</param> /// <param name="end">Ending location.</param> /// <param name="color">Color of the line.</param> /// <param name="size">Width of the line.</param> public static void AddLine(string group, Vector3 start, Vector3 end, Color color, float size) { GameObject groupObject = AddOrGetGroup(group); LineRenderer lineR = new GameObject() { name = "Line", layer = layerIgnoreRaycast }.AddComponent <LineRenderer>(); var matPropBlock = new MaterialPropertyBlock(); matPropBlock.SetColor(ShaderProperty.MainColor, color); lineR.SetVertexCount(2); lineR.SetPosition(0, start); lineR.SetPosition(1, end); lineR.SetWidth(size, size); lineR.material = ResourceList.getInstance().Materials.PlainColor; lineR.SetColors(color, color); lineR.transform.parent = groupObject.transform; SetMatPropBlock(lineR, color); DisableShadows(lineR); }
/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { StartV3 = gameObject.transform.position; StatQua = gameObject.transform.rotation; mat = new Material(Shader.Find("Legacy Shaders/Self-Illumin/Diffuse")); nn = new NeuralNetwork(shape); Py2Unity.Instance.RecFromPython(); nn.LoadWeights(wPath); Vector3 vc = new Vector3(Random.value, Random.value, Random.value); float a = Vector3.Angle(vc, Vector3.one); float d = Mathf.Sin(a / 180 * Mathf.PI) * vc.magnitude; if (d > 0.8f) { mat.color = new Color(vc.x, vc.y, vc.z); } rigidbody.centerOfMass = center; for (int i = 0; i < num; i++) { LineRenderer lr = new GameObject("line" + i).AddComponent <LineRenderer>(); lr.transform.SetParent(transform); lr.transform.localPosition = Vector3.zero; lr.transform.localRotation = Quaternion.identity; lr.SetWidth(0.06f, 0.06f); lr.material = mat; lr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; lr.receiveShadows = false; lineList.Add(lr); } }
public void MakeMeLaser(Color color) { /* foreach(GameObject go in GameObject.FindObjectsOfType(typeof(GameObject))) { if(go.name == "lineUP") { GameObject.Destroy (go); } } // Set LineRenderer InitializationGameObject yourName = new GameObject(); LineRenderer lineRenderer = new GameObject("lineUP").AddComponent<LineRenderer>(); lineRenderer.sharedMaterial = new Material(Shader.Find("Particles/Additive")); lineRenderer.SetColors(Color.red, Color.red); lineRenderer.SetWidth(1f, 1f); lineRenderer.SetVertexCount(2); // We need no Shadows lineRenderer.castShadows = false; lineRenderer.receiveShadows = false; Debug.Log ("Raw posX: " + posX + "Raw posX: " + posY); float worldX = posX * 4; float worldZ = posY * 4; Vector3 pos = new Vector3(worldX + 2, 0, worldZ + 2); lineRenderer.SetPosition(0, pos); pos = new Vector3(worldX + 2, 800, worldZ + 2); lineRenderer.SetPosition(1, pos); */ // Make //GameController.instance.treeGroupController.AddTreeGroup(posX, posY); RaycastHit hit; // Set LineRenderer InitializationGameObject yourName = new GameObject(); LineRenderer lineRenderer = new GameObject("lineUP").AddComponent<LineRenderer>(); lineRenderer.sharedMaterial = new Material(Shader.Find("Particles/Additive")); lineRenderer.SetColors(color, color); lineRenderer.SetWidth(0.2f, 0.2f); lineRenderer.SetVertexCount(5); // We need no Shadows lineRenderer.castShadows = false; lineRenderer.receiveShadows = false; float worldX = posX * 4; float worldZ = posY * 4; Vector3 pos; Ray ray = new Ray(new Vector3(worldX, 10, worldZ), Vector3.up); if (Physics.Raycast (ray, out hit)) { pos = new Vector3(worldX, hit.point.y + 1, worldZ); lineRenderer.SetPosition(0, pos); } ray = new Ray(new Vector3(worldX + 4, 10, worldZ), Vector3.up); if (Physics.Raycast (ray, out hit)) { pos = new Vector3(worldX + 4, hit.point.y + 1, worldZ); lineRenderer.SetPosition(1, pos); } ray = new Ray(new Vector3(worldX + 4, 10, worldZ + 4), Vector3.up); if (Physics.Raycast (ray, out hit)) { pos = new Vector3(worldX + 4, hit.point.y + 1, worldZ + 4); lineRenderer.SetPosition(2, pos); } ray = new Ray(new Vector3(worldX, 10, worldZ + 4), Vector3.up); if (Physics.Raycast (ray, out hit)) { pos = new Vector3(worldX, hit.point.y + 1, worldZ + 4); lineRenderer.SetPosition(3, pos); } ray = new Ray(new Vector3(worldX, 10, worldZ), Vector3.up); if (Physics.Raycast (ray, out hit)) { pos = new Vector3(worldX, hit.point.y + 1, worldZ); lineRenderer.SetPosition(4, pos); } lineRenderer.gameObject.AddComponent<SelectionLine>(); }
// Draw a single line. void DrawLine(int lineMultiplicator, Axis axis) { // Set LineRenderer InitializationGameObject yourName = new GameObject(); LineRenderer lineRenderer = new GameObject("line").AddComponent<LineRenderer>(); lineRenderer.sharedMaterial = lineMaterial; lineRenderer.SetColors(c1, c2); lineRenderer.SetWidth(beginWidth, endWidth); lineRenderer.SetVertexCount(lengthOfLineRenderer / lineSegmentLenght + 1); // We need no Shadows lineRenderer.castShadows = false; lineRenderer.receiveShadows = false; // Create LineVertexes InstantiateLine(lineMultiplicator, lineRenderer, axis); }
IEnumerator SpawnPortal(int portal) { Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); hit = Physics2D.Raycast(_gunNozzle.position, (mousePos - (Vector2)_gunNozzle.position).normalized, Mathf.Infinity, _wallMask); if (hit.collider != null) { if (hit.collider.gameObject.layer == 15 || hit.collider.gameObject.layer == 16) { yield break; } positions[1] = hit.point; _portalSpawnPos = hit.point; } else { yield break; } if (portals[portal] != null) { GameObject.Destroy(portals[portal]); } LineRenderer rend = new GameObject().AddComponent <LineRenderer>(); positions[0] = _gunNozzle.position; rend.SetWidth(0.113f, 0.113f); rend.material = portalFire; rend.alignment = LineAlignment.TransformZ; rend.numCapVertices = 10; rend.SetPositions(positions); portals[portal] = GameObject.Instantiate(_portal, _portalSpawnPos, Quaternion.identity) as GameObject; portals[portal].transform.up = hit.normal; portals[portal].GetComponent <FollowParent>().parent = hit.transform; portals[portal].GetComponent <FollowParent>().localPos = hit.transform.InverseTransformPoint(portals[portal].transform.position); portals[portal].GetComponent <FollowParent>().localRot = Quaternion.Inverse(hit.transform.rotation) * portals[portal].transform.rotation; if (portal == 0) { if (portals[1] != null) { portals[portal].GetComponent <PortalScript>()._otherPortal = portals[1]; portals[1].GetComponent <PortalScript>()._otherPortal = portals[0]; } } else { if (portals[0] != null) { portals[portal].GetComponent <PortalScript>()._otherPortal = portals[0]; portals[0].GetComponent <PortalScript>()._otherPortal = portals[1]; } } switch (portal) { case 0: rend.material.SetColor("_Color", _portal1Col); portals[portal].GetComponent <Renderer>().material.SetColor("_Color", _portal1Col); break; case 1: rend.material.SetColor("_Color", _portal2Col); portals[portal].GetComponent <Renderer>().material.SetColor("_Color", _portal2Col); break; } yield return(new WaitForSeconds(0.094f)); GameObject.Destroy(rend.gameObject); }
private LineRenderer createLine() { LineRenderer line; line = new GameObject("Line").AddComponent<LineRenderer>(); line.SetWidth(0.06f, 0.06f); line.material = this.material; line.material.SetColor("_Color", new Color(0.8824f, 0.1843f, 0.0413f)); line.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; line.SetColors(new Color(0.8824f, 0.1843f, 0.0413f), new Color(0.8824f, 0.1843f, 0.0413f)); line.SetVertexCount(2); return line; }
protected void drawLine(Vector3 start, Vector3 end, Color color) { LineRenderer line = new GameObject("Line ").AddComponent<LineRenderer>(); line.SetWidth(0.025F, 0.025F); line.SetColors(color, color); line.SetVertexCount(2); line.SetPosition(0, start); line.SetPosition(1, end); line.material.shader = (Shader.Find("Unlit/Color")); line.material.color = color; lines.Add(line.gameObject); }
private void makeLineGraph(Vector3 begin, Vector3 end) { //makePoint(begin); // makePoint(end); LineRenderer line = new GameObject().AddComponent<LineRenderer>(); line.transform.parent = this.transform.parent; line.SetWidth(0.05F, 0.05F); line.SetColors(Color.green, Color.green); line.SetPosition(0, begin); line.SetPosition(1, end); line.SetVertexCount(2); line.material = new Material(Shader.Find("Particles/Additive")); }
public void AddMultipleBondNeighbour(GameObject neighbour) { //Get amount of bonds with this neighbour int nrOfBonds = 0; for (int i = 0; i < connectedElements.Count; i++) { if (connectedElements [i].GetInstanceID() == neighbour.GetInstanceID()) { nrOfBonds++; } } //Update info and renderer if additional bond is possible if (nrOfBonds < maxBonds) { Debug.Log("multiple Bond happening! NrOfBonds: " + nrOfBonds + ", MaxBonds: " + maxBonds); connectedElements.Add(neighbour); neighbour.GetComponent <GridfieldController> ().AddThisMultipleBondNeighbour(this.gameObject, nrOfBonds); leftConnections--; //Get the render bool newRenderer = false; LineRenderer lRenderer = new GameObject("Line to " + neighbour.GetInstanceID() + nrOfBonds).AddComponent <LineRenderer> (); for (int i = 0; i < lineRenderers.Count; i++) { if (lineRenderers[i].gameObject.name.Equals("Line to " + neighbour.GetInstanceID())) { lRenderer.transform.parent = lineRenderers[i].transform.parent; lRenderer.material = lineRenderers[i].material; lRenderer.SetVertexCount(2); lRenderer.SetPosition(0, this.transform.position); lRenderer.SetPosition(1, neighbour.transform.position); lRenderer.sortingOrder = 2; //Change the render to display the multiple bond switch (nrOfBonds) { case 1: //double bond lRenderer.SetColors(new Color(174f / 255f, 174f / 255f, 174f / 255f), new Color(174f / 255f, 174f / 255f, 174f / 255f)); lRenderer.sortingOrder++; lRenderer.SetWidth(defaultBondWidth, defaultBondWidth); newRenderer = true; lineRenderers[i].SetWidth(defaultBondWidth * 3, defaultBondWidth * 3); break; case 2: //triple bond lRenderer.SetColors(Color.black, Color.black); lRenderer.sortingOrder += 2; lRenderer.SetWidth(defaultBondWidth / 2, defaultBondWidth / 2); newRenderer = true; lineRenderers[i].SetWidth(defaultBondWidth * 2, defaultBondWidth * 2); break; } } } if (newRenderer) { lineRenderers.Add(lRenderer); lineDestinations.Add(lRenderer, neighbour.GetComponent <GridfieldController>().GetElement()); } } else { Debug.Log(this.gameObject.name + "'s nr of bonds: " + nrOfBonds + "; Max bonds: " + maxBonds); //Max bonds alredy reached, reset all connections neighbour.GetComponent <GridfieldController> ().RemoveThisNeighbour(this.gameObject); RemoveThisNeighbour(neighbour); } }
public Part findCounterpartOnLaunch() { // Raycast upwards, return true if there's a lockable part within proper distance and aligned int rayCastMask = 0xFFFF; RaycastHit[] hits = new RaycastHit[5]; // Say, 5 colliders ought to be enough for anyone Transform tf = part.FindModelTransform(lockTransform); float upperBound = findPartUpperBound(tf); printDebug($"upper bound = {upperBound}"); if (debugLevel > 1) { // Debug visual for raycast LineRenderer lr = new GameObject().AddComponent <LineRenderer> (); lr.material = new Material(Shader.Find("KSP/Emissive/Diffuse")); lr.useWorldSpace = true; lr.material.SetColor("_EmissiveColor", Color.green); #if (KSP_151 || KSP_161 || KSP_171) lr.positionCount = 2; lr.startWidth = 0.05f; lr.endWidth = 0.05f; #else lr.SetVertexCount(2); lr.SetWidth(0.05f, 0.05f); #endif lr.enabled = true; lr.SetPosition(0, tf.position); lr.SetPosition(1, tf.up * upperBound * 1.5f); } int nHits = Physics.RaycastNonAlloc(tf.position, tf.up, hits, upperBound * 1.5f, rayCastMask); printDebug($"Got {nHits} hits"); for (int n = 0; n < nHits; n++) { printDebug($"Got raycast hit {hits[n]}, transform: {hits[n].transform}, GO: {hits[n].transform.gameObject}" + $"; distance: {hits[n].distance}; collider: {hits[n].collider}"); Part hitPart = hits[n].transform.gameObject.GetComponentInParent <Part>(); if (hitPart == null) { printDebug("No part"); continue; } printDebug($"Hit part {hitPart}; id={hitPart.flightID}"); if (hitPart.flightID == part.flightID) { printDebug("Got hit to ourselves"); continue; } // Check if it is a lockable part at all if (!isLockablePart(hitPart)) { printDebug("Part could not be locked to"); continue; } printDebug("Part could be locked to"); // Ok, we can lock to it. Check alignment if (!checkRollAndDot(hitPart, upperBound)) { printDebug("Part not aligned"); return(null); } printDebug($"Parts aligned, returning {hitPart}"); return(hitPart); } return(null); }