Unity使用LineRender實現(xiàn)繪畫功能
本文實例為大家分享了Unity LineRender實現(xiàn)繪畫功能的具體代碼,供大家參考,具體內(nèi)容如下
老規(guī)矩,直接上代碼:
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class DrawLine_ZH : MonoBehaviour { private GameObject _Clone; private LineRenderer _Line; int _Number; //帶有LineRender物體 [Header("LineRender預(yù)制體")] public GameObject _Target; void Update() { if (Input.GetMouseButtonDown(0)) { //實例化對象 _Clone = Instantiate(_Target, _Target.transform.position, Quaternion.identity); //獲得該物體上的LineRender組件 _Line = _Clone.GetComponent<LineRenderer>(); //設(shè)置起始和結(jié)束的顏色 //_Line.SetColors(Color.red, Color.blue); _Line.startColor = Color.red; _Line.endColor = Color.blue; //設(shè)置起始和結(jié)束的寬度 // _Line.SetWidth(0.2f, 0.1f); _Line.startWidth = 0.2f; ; _Line.endWidth = 0.1f; //計數(shù) _Number = 0; } if (Input.GetMouseButton(0)) { //每一幀檢測,按下鼠標(biāo)的時間越長,計數(shù)越多 _Number++; //設(shè)置頂點數(shù) //_Line.SetVertexCount(_Number); _Line.positionCount = _Number; //設(shè)置頂點位置(頂點的索引,將鼠標(biāo)點擊的屏幕坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)) _Line.SetPosition(_Number - 1, Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 15))); } //清除繪畫 if (Input.GetMouseButtonDown(1)) { GameObject[] _Draw = GameObject.FindGameObjectsWithTag("DarwLine"); for (int i = 0; i < _Draw.Length; i++) { Destroy(_Draw[i]); } } } }
注意添加 預(yù)制體 和 材質(zhì)球:
腳本要搭載:
預(yù)制體(可自定義):
預(yù)制體材質(zhì)(可自定義):
最終效果:
暫時先這樣吧
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#?Windows?Forms中實現(xiàn)控件之間的連接線的方法詳解
這篇文章主要為大家詳細介紹了如何在C#?Windows?Forms應(yīng)用程序中實現(xiàn)繪圖工具中多個控件之間的連接線功能,文中的示例代碼講解詳細,需要的可以參考下2024-02-02DevExpress實現(xiàn)為TextEdit設(shè)置水印文字的方法
這篇文章主要介紹了DevExpress實現(xiàn)為TextEdit設(shè)置水印文字的方法,對C#程序設(shè)計人員來說是一個很實用的技巧,需要的朋友可以參考下2014-08-08C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因
這篇文章主要介紹C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來寫服務(wù)器的過程中,這是一個非??焖俚拈_發(fā)方式,也非常好用。不過學(xué)習(xí)的曲線有點高,在使用的過程中經(jīng)常會遇到各種各樣的問題。下面來看看學(xué)習(xí)舉例說明吧2021-10-10C#中結(jié)構(gòu)體定義并轉(zhuǎn)換字節(jié)數(shù)組詳解
在寫C#TCP通信程序時,發(fā)送數(shù)據(jù)時,只能發(fā)送byte數(shù)組,處理起來比較麻煩不說,如果是和VC6.0等寫的程序通信的話,很多的都是傳送結(jié)構(gòu)體,在VC6.0中可以很方便的把一個char[]數(shù)組轉(zhuǎn)換為一個結(jié)構(gòu)體,而在C#卻不能直接把byte數(shù)組轉(zhuǎn)換為結(jié)構(gòu)體,要在C#中發(fā)送結(jié)構(gòu)體,應(yīng)該怎么做呢?2017-11-11