Unity使用LineRender實(shí)現(xiàn)繪畫功能
本文實(shí)例為大家分享了Unity LineRender實(shí)現(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)) { //實(shí)例化對(duì)象 _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; //計(jì)數(shù) _Number = 0; } if (Input.GetMouseButton(0)) { //每一幀檢測,按下鼠標(biāo)的時(shí)間越長,計(jì)數(shù)越多 _Number++; //設(shè)置頂點(diǎn)數(shù) //_Line.SetVertexCount(_Number); _Line.positionCount = _Number; //設(shè)置頂點(diǎn)位置(頂點(diǎn)的索引,將鼠標(biāo)點(diǎn)擊的屏幕坐標(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ì)(可自定義):
最終效果:
暫時(shí)先這樣吧
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用react render props實(shí)現(xiàn)倒計(jì)時(shí)的示例代碼
- 談?wù)凴eact中的Render Props模式
- 何時(shí)/使用 Vue3 render 函數(shù)的教程詳解
- Vue Render函數(shù)創(chuàng)建DOM節(jié)點(diǎn)代碼實(shí)例
- Vue自定義render統(tǒng)一項(xiàng)目組彈框功能
- vue渲染方式render和template的區(qū)別
- vue+render+jsx實(shí)現(xiàn)可編輯動(dòng)態(tài)多級(jí)表頭table的實(shí)例代碼
- 通過實(shí)例了解Render Props回調(diào)地獄解決方案
相關(guān)文章
C#?Windows?Forms中實(shí)現(xiàn)控件之間的連接線的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何在C#?Windows?Forms應(yīng)用程序中實(shí)現(xiàn)繪圖工具中多個(gè)控件之間的連接線功能,文中的示例代碼講解詳細(xì),需要的可以參考下2024-02-02DevExpress實(shí)現(xiàn)為TextEdit設(shè)置水印文字的方法
這篇文章主要介紹了DevExpress實(shí)現(xiàn)為TextEdit設(shè)置水印文字的方法,對(duì)C#程序設(shè)計(jì)人員來說是一個(gè)很實(shí)用的技巧,需要的朋友可以參考下2014-08-08C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因
這篇文章主要介紹C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來寫服務(wù)器的過程中,這是一個(gè)非??焖俚拈_發(fā)方式,也非常好用。不過學(xué)習(xí)的曲線有點(diǎn)高,在使用的過程中經(jīng)常會(huì)遇到各種各樣的問題。下面來看看學(xué)習(xí)舉例說明吧2021-10-10C#實(shí)現(xiàn)漢字轉(zhuǎn)漢語拼音的示例代碼
這篇文章主要介紹了如何利用C#實(shí)現(xiàn)漢字轉(zhuǎn)漢語拼音,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定幫助,感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-03-03C#中結(jié)構(gòu)體定義并轉(zhuǎn)換字節(jié)數(shù)組詳解
在寫C#TCP通信程序時(shí),發(fā)送數(shù)據(jù)時(shí),只能發(fā)送byte數(shù)組,處理起來比較麻煩不說,如果是和VC6.0等寫的程序通信的話,很多的都是傳送結(jié)構(gòu)體,在VC6.0中可以很方便的把一個(gè)char[]數(shù)組轉(zhuǎn)換為一個(gè)結(jié)構(gòu)體,而在C#卻不能直接把byte數(shù)組轉(zhuǎn)換為結(jié)構(gòu)體,要在C#中發(fā)送結(jié)構(gòu)體,應(yīng)該怎么做呢?2017-11-11