using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Painting : MonoBehaviour
{
private LineRenderer lineRenderer;
// 记录点
private Vector3 nowPos;
// 线条宽度
public float lineWidth = 0.5f;
// 设置材质
public Material material;
private void Update()
{
// 鼠标按下时起点位置切换
if (Input.GetMouseButtonDown(0))
{
// 创建空物体并且添加组件
GameObject obj = new GameObject();
lineRenderer = obj.AddComponent<LineRenderer>();
//关闭自动缝合
lineRenderer.loop = false;
// 设置线条宽度
lineRenderer.startWidth = lineWidth;
lineRenderer.endWidth = lineWidth;
// 设置点数量为0
lineRenderer.positionCount = 0;
// 设置线条材质
lineRenderer.material = material;
// 设置材质收到光线影响
lineRenderer.generateLightingData = true;
}
// 画的时候鼠标是一直按下的状态
if (Input.GetMouseButton(0))
{
lineRenderer.positionCount += 1;
// 记录鼠标位置
nowPos = Input.mousePosition;
// 设置横切面为10
nowPos.z = 10;
// 设置点
// 鼠标位置视口坐标转成世界坐标
lineRenderer.SetPosition(lineRenderer.positionCount
- 1, Camera.main.ScreenToWorldPoint(nowPos));
}
}
}
【Unity技术积累】实现鼠标画线功能 & LineRenderer
最新推荐文章于 2023-05-23 21:47:54 发布