Unity基础4——LineRenderer

一、参数面板

二、参数介绍

  1. Loop:是否首尾相连

  2. Positions:线段的点

  3. Width:线段宽度曲线的调整

  4. Color:颜色变化

    需要搭配材质才有效果

  5. Corner Vertices:角顶点、圆角

    此属性指,在一条线中绘制角时使用了多少额外的顶点

    增加此值,使线角看起来更圆润

  6. End Cap Vertices:终点顶点、圆角

  7. Alignment:对齐方式

    • View:视点,线段对着摄像机

    • Transform Z:线段面向其 Z 轴

  8. Texture Mode:纹理模式

    • Stretch:拉伸,沿整条线映射纹理一次

    • Tile:瓷砖平铺,不停地重复纹理

    • Distribute Per Segment:分配执行

    • Repeat Per Segment:重复显示

  9. Shadow Bias:阴影偏移

  10. Generate Lighting Data:生成光源数据

    若材质球收到光源影响,则需要勾选此选项

  11. Use World Space:是否使用世界坐标系

  12. Material:材质球

  13. Lighting:光照

    • Cast Shadows:是否开启阴影

    • Receive Shadows:是否接受阴影

  14. Probes:光照探针

    • Light Probes:光探测器模式

      • Off:不使用
      • Blend Probes:使用内插光探针
      • Use Proxy Volume:使用三维网格内插光探针
      • Custom Provided:自定义从材质决定
    • Reflection Probes:反射探测器模式

      • Off:不使用
      • Blend Probes:使用混合反射探针
      • Blend Probes And Skybox:使用混合反射探针并且和天空盒混合
      • Simple:启用普通探针,重叠时不混合
  15. Additional Settings:额外设置

    • Motion Vectors:运动矢量
      • Camera Motion Only:使用相机运动来跟踪运动
      • Per Object Motion:使用特定对象来跟踪运动
      • Force No Motion:不跟踪
    • Dynamic Occlusion:动态遮挡剔除
    • Sorting Layer:排序图层
    • Order In Layer:此线段在排序图层中的顺序

三、新版本参数

(一)无编辑操作

  1. Simplify Preview:简化预览

    勾选后 Scene 窗口中不会显示黄线来高亮显示 Line

  2. Tolerance:宽容度

    偏离值,其值越大,画线偏差越大

(二)编辑点模式

  1. Show Wireframe:显示线框

  2. Subdivide Selected:细分选中的点

    在 Scene 窗口中选中多个相邻的点,再点击此按钮后会在中间插入新的点

(三)添加点模式

  1. Input:输入模式

    • Mouse Position:鼠标位置
    • Physics Raycast:物理射线
      • LayerMask:哪些层检测射线
  2. Min Vertex Distance:最小顶点距离

  3. Offset:偏移量

四、代码控制

private Material m;

// 动态添加一个线段
GameObject   line         = new GameObject { name = "Line" };
LineRenderer lineRenderer = line.AddComponent<LineRenderer>();

// 首尾相连
lineRenderer.loop = true;

// 开始结束宽
lineRenderer.startWidth = 0.02f;
lineRenderer.endWidth   = 0.02f;

// 开始结束颜色
lineRenderer.startColor = Color.white;
lineRenderer.endColor   = Color.red;

// 设置材质
m                     = Resources.Load<Material>("M");
lineRenderer.material = m;

// 设置点
// 一定注意 设置点 要 先设置点的个数
lineRenderer.positionCount = 4;
// 接着就设置 对应每个点的位置
// 设置的点数量小于总数时,后面未设置的点坐标默认为 (0, 0, 0)
lineRenderer.SetPositions(new[] {
    new Vector3(0, 0, 0),
    new Vector3(0, 0, 5),
    new Vector3(5, 0, 5)
});
// 指定设置哪些点
lineRenderer.SetPosition(3, new Vector3(5, 0, 0));

// 是否使用世界坐标系
// 决定了 是否随对象移动而移动
lineRenderer.useWorldSpace = false;

// 让线段受光影响 会接受光数据 进行着色器计算
lineRenderer.generateLightingData = true;

五、应用

​ 实现在 Game 窗口长按鼠标用 LineRenderer 画出鼠标移动的轨迹

private LineRenderer line;
private Vector3 nowPos;

private void Update() {
    if (Input.GetMouseButtonDown(0)) {
        GameObject obj = new GameObject();
        line            = obj.AddComponent<LineRenderer>();
        line.loop       = false;
        line.startWidth = 0.05f;
        line.endWidth   = 0.05f;

        line.positionCount = 0;
    }

    if (Input.GetMouseButton(0)) {
        line.positionCount += 1;
        
        // 如何得到鼠标转世界坐标的 对应点 
        // 知识点
        // 1.如何得到鼠标位置
        // Input.mousePosition
        // 2.怎么把鼠标 转世界坐标
        // Camera.main.ScreenToWorldPoint(Input.mousePosition);
        nowPos   = Input.mousePosition;
        nowPos.z = 10;
        line.SetPosition(line.positionCount - 1, Camera.main.ScreenToWorldPoint(nowPos));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/28885.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂功率信号源(信号发生器)

功率信号源是一种用于产生高功率信号的电子设备&#xff0c;它广泛应用于各个领域&#xff0c;在生产、测试和调试中起着重要的作用。下面就让安泰将介绍功率信号源的基本概念、工作原理、分类以及应用。 功率信号源是一种能够产生稳定输出功率的设备。它通常由一个稳压电源和一…

红帽认证常见答疑(二):电脑配置、实验环境和考试环境、可以自学吗

学习红帽需要配置什么样的电脑&#xff1f; RHCE推荐学员自己的电脑内存在16G左右&#xff0c;RHCA推荐学员电脑内存在32-64G&#xff0c;且最好配置128G以上的固态硬盘&#xff0c;如果自己没有该配置的电脑&#xff0c;誉天可以提供远程学习环境&#xff0c;可以随时随地连接…

Java实现的五子棋游戏 ~java.awtjava.swing

文章目录 Java实现的五子棋游戏1.实现效果2.实现源码2.1运行主函数main.java2.2 棋盘布局Chessboard.java3.Algorithm算法 点击下载链接&#xff1a;Java实现的五子棋游戏源码下载 Java实现的五子棋游戏 作业要求&#xff1a; &#xff08;1&#xff09;课题代号&#xff1a; …

【裸机开发】使用汇编清除 .bss 段

目录 1、为什么要清除 .bss 段 2、使用汇编清除 .bss 段 1、为什么要清除 .bss 段 .bss 段保存的是 未被初始化 或者 初始化为0 的全局/静态变量。在编译器看来&#xff0c;这些东西是多余的&#xff0c;实际并不会给他们分配空间。因此&#xff0c;编译生成目标文件的时候&…

提升安全性与合规性的关键工具ADAudit Plus

在当今数字化时代&#xff0c;企业对于安全性和合规性的要求越来越高。特别是在Active Directory&#xff08;AD&#xff09;域中&#xff0c;作为组织的核心身份验证和访问管理系统&#xff0c;审计活动的重要性变得前所未有。为了满足这一需求&#xff0c;ADAudit Plus成为了…

A Survey of Large Language Models

本文是LLM系列的第一篇文章&#xff0c;针对《A Survey of Large Language Models》的翻译。 大语言模型综述 摘要1 引言2 概述2.1 LLM的背景2.2 GPT系列模型 的技术演化 3 LLMs的资源3.1 公开可用的模型检查点或APIs3.2 常用的语料库3.3 库资源 4 预训练4.1 数据收集4.1.1 数…

深入剖析 Python 函数参数传递机制及高级应用

前言 在本篇文章中&#xff0c;笔者将带你深入探讨 Python 函数传参的进阶主题。 通过阅读本篇文章&#xff0c;你可以深入了解 Python 函数传参的进阶主题&#xff0c;掌握更多高级的函数技巧&#xff0c;提升你的 Python 编程能力。 前面分享了Python 函数传参基础篇&#xf…

嵌入式Linux应用开发笔记:串口

文章目录 目的基础说明开发准备设备树应用程序 应用程序与演示代码演示 总结设备树文件 目的 串口&#xff08;UART&#xff09;是嵌入式设备中比较常用的功能。这篇文章将记录下应用程序中串口操作相关内容。 这篇文章中内容均在下面的开发板上进行测试&#xff1a; 《新唐N…

中介者模式(二十一)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了观察者模式(二十), 如果没有看过, 请观看上一章 一. 中介者模式 引用 菜鸟教程里面中介者模式介绍: https://www.runoob.com/design-pattern/mediator-pattern.html 中介者模式&#xff08;Mediator Pattern&#xff…

Django-带参数的路由编写(一)【不用正则表达式匹配的简单带参数路由】

在某urls.py文件有如下的路由配置语句&#xff1a; urlpatterns [path(app2/show/<int:id>/,views.show_id), ]语句&#xff1a; path(app2/show/<int:id>/,views.show_id),中的<int:id>就是带参数的URL中的参数部分&#xff0c;其语法格式如下&#xff1a…

Vue中如何进行图片识别与物体检测

Vue中如何进行图片识别与物体检测 随着人工智能技术的发展&#xff0c;图像识别和物体检测已经成为了很多应用场景的必备功能。在Vue中如何使用百度AI或腾讯AI等云服务实现图片识别和物体检测呢&#xff1f;本文将为您介绍一些基本概念和示例代码&#xff0c;帮助您快速入门。…

【数据库】Mysql索引、事务与存储引擎

文章目录 一、索引介绍1. 索引的概念2. 索引的作用与副作用2.1 索引的作用2.2 索引的副作用2.3 如何实现索引 3. 创建索引的原则依据4. 索引的分类和创建4.1 普通索引直接创建索引修改表方式创建创建表的时指定索引 4.2 唯一索引直接创建唯一索引修改表方式创建创建表的时候指定…

两个HC-05蓝牙之间的配对

两个HC-05蓝牙之间的配对 文章目录 两个HC-05蓝牙之间的配对1.进入AT指令模式后&#xff0c;先确定是否为AT模式&#xff1a;2.获取模块A,B的地址3.将蓝牙A配置为主模式&#xff0c;将蓝牙B配置为从模式&#xff1a;4.设置模块通信波特率,蓝牙模块A和B的配置需要相同6.验证 买了…

间接采购管理中常见的五大挑战

间接采购&#xff0c;有时也被称为间接费用或尾部支出&#xff0c;这些商品或服务不是制造产品直接必需的&#xff0c;而是日常运营所需的。 ● 办公室和行政用品 ● 商店地点的消耗品&#xff08;例如&#xff0c;清洁用品&#xff09; ● 设施管理费用 ● 专业服务 ● 旅行…

flutter创建、安装扩展包、打包apk

1、创建APK项目 要在VSCode中创建一个Flutter应用程序&#xff0c;请按照以下步骤进行操作&#xff1a; 安装Flutter SDK&#xff1a;请确保你已经安装了Flutter SDK&#xff0c;并配置了Flutter的环境。你可以在Flutter的官方网站上找到安装和设置Flutter的详细说明。 安装V…

将深度学习与传统计算机视觉进行比较

原创 | 文 BFT机器人 深度学习 (DL) 在数字图像处理中用于解决难题&#xff08;例如&#xff0c;图像着色、分类、分割和检测&#xff09;。卷积神经网络 (CNN) 等深度学习方法通过使用大数据和丰富的计算资源提高预测性能&#xff0c;突破了可能性的界限。 深度学习是机器学习…

Fiddler中 AutoResponder 使用

Fiddler的 AutoResponder &#xff0c;即URL重定向功能非常强大。不管我们做URL重定向&#xff0c;还是做mock测试等&#xff0c;都可以通过该功能进行实践。 下面&#xff0c;小酋就来具体讲下该功能的用法。 如果你想学习Fiddler抓包工具&#xff0c;我这边给你推荐一套视频…

SublimeText汉化

第一步&#xff1a;快捷键CTRLshiftp&#xff0c;弹出查找栏—找到install Package&#xff0c;并点击选择。 在这里插入图片描述 第二步&#xff1a;再次弹出的框中&#xff0c;选择ChineseLocalizations或者Chinese&#xff0c;等待安装完毕即可&#xff08;页面窗口会有提示…

Python学习48:简易英汉字典

类型&#xff1a;字典‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 描述‪‬‪‬…

【Mybatis】

1、Mybatis标签中resultType和resultMap的区别 在查询进行映射的时候&#xff0c;返回类型可以用resultType&#xff0c;也可以用resultMap&#xff0c;但是resultMap的功能更强大&#xff01; 1. resultType是直接表示返回类型的(对应着我们的model对象中的实体); 武断一点来…