Unity使用LineRender實現繪畫功能
更新時間:2020年07月12日 14:15:36 作者:Maddie_Mo
這篇文章主要為大家詳細介紹了Unity使用LineRender實現繪畫功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity LineRender實現繪畫功能的具體代碼,供大家參考,具體內容如下
老規(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預制體")]
public GameObject _Target;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
//實例化對象
_Clone = Instantiate(_Target, _Target.transform.position, Quaternion.identity);
//獲得該物體上的LineRender組件
_Line = _Clone.GetComponent<LineRenderer>();
//設置起始和結束的顏色
//_Line.SetColors(Color.red, Color.blue);
_Line.startColor = Color.red;
_Line.endColor = Color.blue;
//設置起始和結束的寬度
// _Line.SetWidth(0.2f, 0.1f);
_Line.startWidth = 0.2f; ;
_Line.endWidth = 0.1f;
//計數
_Number = 0;
}
if (Input.GetMouseButton(0))
{
//每一幀檢測,按下鼠標的時間越長,計數越多
_Number++;
//設置頂點數
//_Line.SetVertexCount(_Number);
_Line.positionCount = _Number;
//設置頂點位置(頂點的索引,將鼠標點擊的屏幕坐標轉換為世界坐標)
_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]);
}
}
}
}
注意添加 預制體 和 材質球:
腳本要搭載:

預制體(可自定義):

預制體材質(可自定義):

最終效果:

暫時先這樣吧
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#?Windows?Forms中實現控件之間的連接線的方法詳解
這篇文章主要為大家詳細介紹了如何在C#?Windows?Forms應用程序中實現繪圖工具中多個控件之間的連接線功能,文中的示例代碼講解詳細,需要的可以參考下2024-02-02
DevExpress實現為TextEdit設置水印文字的方法
這篇文章主要介紹了DevExpress實現為TextEdit設置水印文字的方法,對C#程序設計人員來說是一個很實用的技巧,需要的朋友可以參考下2014-08-08

