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 update
    void 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
    }
}

### 回答1: Unity中使用LineRenderer组件可以在游戏中绘制线条。使用方法如下: 1. 在场景中添加一个空物体 2. 在该空物体上添加LineRenderer组件 3. 设置LineRenderer的属性,如线条颜色、宽度等 4. 通过代码设置LineRenderer的顶点坐标,从而绘制线条 例如: ```c# using UnityEngine; public class LineDrawer : MonoBehaviour { private LineRenderer lineRenderer; private Vector3 startPos; private Vector3 endPos; void Start() { lineRenderer = GetComponent<LineRenderer>(); startPos = new Vector3(-10, 0, 0); endPos = new Vector3(10, 0, 0); lineRenderer.SetPosition(0, startPos); lineRenderer.SetPosition(1, endPos); } } ``` 这样就可以在场景中绘制一条从(-10,0,0)到(10,0,0)的线段了。 ### 回答2: UnityLinerenderer组件是渲染直线的基础组件。通过该组件,我们可以在Unity游戏引擎中绘制直线。该组件用于绘制连续直线,并且可以使用纹理对线进行着色,非常适合在游戏中绘制雷达、轨迹、手绘图等。 使用Linerenderer组件需要以下几个步骤: 1. 在Unity编辑器中创建一个GameObject,右键选择“3D Object” -> “Line” ,然后命名新创建的游戏对象并保存。被创建物体上会自带LineRenderer组件。 2. 选择LineRenderer组件,在Inspector面板中我们可以设置线的属性,比如线的宽度、颜色、材质等。 3. 在这里我们可以为这条直线定义顶点,这些顶点是用来绘制线的。我们可以在代码中编写自定义算法,来决定每个点的坐标位置,也可以手动在Inspector面板中设置每个点的坐标来自定义线。 4. 程序员可以在代码中使用Linerenderer组件来绘制计算出的坐标的直线。例如,根据用户输入的坐标绘制路径路线。这些线将在场景中动态生成。 需要注意的是,LineRenderer实现在镜头非常近的情况下有些问题, 因为线必须放在屏幕空间中。为了避免这个问题,我们将整个场景缩小,用远离相机的高分辨率渲染纹理来渲染画线效果。 总之,利用Linerenderer可以快速绘制相对简单的直线,不需要使用LineRenderer的一堆组件。为了增强游戏的视觉效果,可以使用纹理和双边(bezier)曲线实现更加丰富的线条绘制。 ### 回答3: UnityLineRenderer是一种绘制直线、曲线等图形的组件。使用LineRenderer可以实现游戏中很多效果,例如画轮廓、绘制路径等。在这里,我将介绍UnityLineRenderer的使用。 首先,在Unity中创建LineRenderer组件很简单。只需要将游戏对象上添加一个LineRenderer组件即可。添加完毕后,默认情况下该组件会绘制一条短的直线。我们需要进行一些设置来使其绘制出我们需要的图形。 可以通过LineRenderer组件上的Inspector面板进行设置。这里可以设置LineRenderer的材质、颜色、宽度等参数。其中,关键的是设置Positions属性中的点的坐标,这一步操作即可实现画线功能。例如: ```C# LineRenderer lineRenderer = GetComponent<LineRenderer>(); lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, new Vector3(0, 0, 0)); lineRenderer.SetPosition(1, new Vector3(1, 1, 1)); ``` 上述代码可以在游戏对象上绘制一条从原点(0, 0, 0)到(1, 1, 1)的直线。 LineRenderer还有一些其他的设置,例如通过设置useWorldSpace属性可以使Points使用世界坐标而非局部坐标进行绘制;设置起点和终点颜色,可以实现颜色渐变效果等等。 另外需要注意的是,LineRenderer组件需要确保被绘制的对象有一个渲染器组件,例如MeshRenderer或SpriteRenderer,否则线条将不可见。 总的来说,UnityLineRenderer是一个十分实用的组件,可以很好的实现画线的功能,适用于制作各类游戏效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

(-_-!)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值