Unity實現(xiàn)畫線條功能
廢話不多說,今天實現(xiàn)一個用LineRender組件實現(xiàn)畫圖的功能。網(wǎng)上已有相關(guān)博文,感覺步驟有些模糊,今天就整理出來供大家學(xué)習(xí)
第一步、創(chuàng)建一個空對象,為其添加LineRender組件。
注意:將材質(zhì)的Shader改為Particles/Additive,否則在代碼里面控制顏色不起效。
二、再創(chuàng)建一個新的對象,來掛載腳本。腳本如下:
using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { private GameObject clone; private LineRenderer line; int i; //帶有LineRender物體 public GameObject target; void Start () { } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown (0)) { //實例化對象 clone=(GameObject)Instantiate(target,target.transform.position,Quaternion.identity); //獲得該物體上的LineRender組件 line=clone.GetComponent<LineRenderer>(); //設(shè)置起始和結(jié)束的顏色 line.SetColors(Color.red,Color.blue); //設(shè)置起始和結(jié)束的寬度 line.SetWidth(0.2f,0.1f); //計數(shù) i=0; } if(Input.GetMouseButton(0)) { //每一幀檢測,按下鼠標(biāo)的時間越長,計數(shù)越多 i++; //設(shè)置頂點數(shù) line.SetVertexCount(i); //設(shè)置頂點位置(頂點的索引,將鼠標(biāo)點擊的屏幕坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)) line.SetPosition(i-1,Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,15))); } } }
三、將第一步建的空對象,拖入Inspector面板
四、運行效果如下:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決C# winForm自定義鼠標(biāo)樣式的兩種實現(xiàn)方法詳解
本篇文章是對在C#中winForm自定義鼠標(biāo)樣式的兩種實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C# 使用PictureBox實現(xiàn)圖片按鈕控件的示例步驟
這篇文章主要介紹了C# 使用PictureBox實現(xiàn)圖片按鈕控件的示例步驟,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-02-02C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法
本文主要介紹了C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法:利用反射,讀取一個類型的所有屬性,然后再把屬性轉(zhuǎn)換成XML元素的屬性或者子元素。下面注釋比較完整,需要的朋友可以看下2016-12-12