当前位置: 首页 > news >正文

Unity LineRenderer 画线及代码控制--Unity小记

Unity LineRenderer 画线及代码控制

目录

Unity LineRenderer 画线及代码控制

一、添加LineRenderer 组件

二、LineRenderer设置起始坐标

三、设置LinRenderer

四、代码片段,找代码直接点我(找代码直接点我)


一、添加LineRenderer 组件

  1. 创建一个物体,这里创建的是一个Cube
  2. 向Cube物体添加LineRenderer组件

二、LineRenderer设置起始坐标

  1. 找到Cube物体上的Linerenderer组件,再组件中找到Positions

  2. 展开Positions 我们可看到Size属性,Size可以修改LineRenderer 画线的转点
  3. Size中Index代表第几个点的坐标(x,y,z),该坐标指的是世界坐标,如果不需要使用世界坐标的话,我们需要找到Use World Space 属性将其取消勾选。取消勾选后我们的Size里的坐标就是相对于Cube物体的相对坐标了。(坐标点大于等于2才有效)

   4.Loop属性,勾选Loop属性后线的起始点和中点将自动连接在一起

三、设置LinRenderer

1.1Width 界面是调整线的粗细,可以通过拖动界面线的点修改划线的宽度

1.2Width还可以通过双击红线,来添加节点控制LineRenderer在不同位置的宽度

2.1LineRenderer添加材质球

首先我们找到Materials 属性并展开,我们可以发现他的材质为None(Material)

2.2这时我们需要新建一个Material 材质球

在Project面板右键然后找到Create->Material,点击Material 就可以新建一个Material材质球,我们可以根据需要给材质球起个名字.

2.3然后点击材质球在Inspector 属性面板中找到Shader 然后点击展开选择Sprites->Default。注意:材质球必须选择Sprites->Default,否则LinRenderer 的Color属性无法修改颜色,只能使用材质球颜色修改。

2.4设置完成后要保持材质的Tint的颜色为白色,如果设置颜色容易和Color属性的颜色叠加。

2.5然后将我们新建的材质球拖到LineRenderer -Materials 属性后我们的线段颜色就正常了。

3.Color修改线的颜色

3.1找到Color属性并点击,打开颜色设置面板

3.2打开的颜色面板(Gradient Editor)可以设置线的首尾的颜色和透明度,上面的选中色带上面的箭头可以修改透明度,下面的按钮则可以设置颜色

四、代码片段,找代码直接点我(找代码直接点我)

着急请先直接拿代码,学习可细看。

using System.Collections.Generic;
using UnityEngine;public class AddPostions : MonoBehaviour
{private LineRenderer lineRenderer;public Transform[] transforms;//需要添加到Size的物体位置public List<Vector3> vector3;//接收坐标信息 // Start is called before the first frame updatevoid Start(){SetLineRenderer();}void SetLineRenderer(){lineRenderer = GetComponent<LineRenderer>();//获取LineRenderer组件lineRenderer.startWidth = 0.5f;//设置线头宽度lineRenderer.endWidth = 0.5f;//设置线尾宽度lineRenderer.numCapVertices = 2;//设置线头圆滑度-将线头分为不同段数foreach (Transform trans in transforms)//循环赋值注意数组长度需要和LinreRenderer的Size的长度一致{vector3.Add(trans.position);}lineRenderer.positionCount = vector3.Count;//设置LineRenderer点的个数lineRenderer.SetPositions(vector3.ToArray());//将坐标信息设置给LineRenderer-Positions}
}

http://www.lryc.cn/news/533114.html

相关文章:

  • llama.cpp GGML Quantization Type
  • k8s部署go-fastdfs
  • Python----Python高级(并发编程:协程Coroutines,事件循环,Task对象,协程间通信,协程同步,将协程分布到线程池/进程池中)
  • 什么是可观测性?
  • 3. 【.NET Aspire 从入门到实战】--理论入门与环境搭建--环境搭建
  • kubeadm构建k8s源码阅读环境
  • 【Flink快速入门-1.Flink 简介与环境配置】
  • 硬盘修复后,文件隐身之谜
  • 如何处理网络连接错误导致的fetch失败?
  • Qt之设置QToolBar上的按钮样式
  • 责任链模式(Chain Responsibility)
  • docker安装 mongodb
  • RabbitMQ 从入门到精通:从工作模式到集群部署实战(五)
  • salesforce SF CLI 数据运维经验分享
  • 5.2Internet及其作用
  • 【蓝桥杯—单片机】第十一届省赛真题代码题解题笔记 | 省赛 | 真题 | 代码题 | 刷题 | 笔记
  • 数据分析:企业数字化转型的金钥匙
  • 网络工程师 (23)OSI模型层次结构
  • DeepSeek添加知识库
  • 2、k8s的cni网络插件和基本操作命令
  • Next.js简介:现代 Web 开发的强大框架(ChatGPT-4o回答)
  • 【DeepSeek:国产大模型的崛起与ChatGPT的全面对比】
  • input 超出maxlength限制后,输入框变红
  • Docker 构建镜像并搭建私人镜像仓库教程
  • doris:MySQL Dump
  • OpenBMC:通过qemu-system-arm运行编译好的image
  • STM32的HAL库开发---通用定时器(TIMER)---定时器脉冲计数
  • 动态规划LeetCode-121.买卖股票的最佳时机1
  • 网安三剑客:DNS、CDN、VPN
  • Linux在x86环境下制作ARM镜像包