unity的lineRenderer
来源:互联网 发布:seo工程师考证 编辑:程序博客网 时间:2024/06/16 18:20
本文转载自http://blog.csdn.net/zuoyamin/article/details/8997729
LineRenderer线渲染器主要是用于在3D中渲染线段,虽然我们也可以使用GL图像库来渲染线段,但是使用LineRenderer我们可以对线段进行更多的操作,例如:设置颜色,宽度等。在这里要注意LineRenderer渲染出的线段的两个端点是3D世界中的点,即他是属于世界坐标(World Point)中的。LineRenderer是以组件形成存在的,首先我们新建一个空的Game Object,然后我们选择“Component→Effects→Line Renderer”,即可为其添加LineRenderer组件了。
其实我们也可以通过脚本来为其添加LineRenderer组件:
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>();
获取LineRenderer组件:
lineRenderer = GetComponent<LineRenderer>();
【案例】根据鼠标左击的位置,来持续绘制线段
首先我们在场景中新建一个空的GameObject,并Reset一下。然后将Script1脚本添加给他。
using UnityEngine;using System.Collections;public class Script1 : MonoBehaviour { //LineRenderer private LineRenderer lineRenderer; //定义一个Vector3,用来存储鼠标点击的位置 private Vector3 position; //用来索引端点 private int index = 0; //端点数 private int LengthOfLineRenderer=0; void Start() { //添加LineRenderer组件 lineRenderer = gameObject.AddComponent<LineRenderer>(); //设置材质 lineRenderer.material = new Material(Shader.Find("Particles/Additive")); //设置颜色 lineRenderer.SetColors(Color.red, Color.yellow); //设置宽度 lineRenderer.SetWidth(0.02f, 0.02f); } void Update() { //获取LineRenderer组件 lineRenderer = GetComponent<LineRenderer>(); //鼠标左击 if (Input.GetMouseButtonDown(0)) { //将鼠标点击的屏幕坐标转换为世界坐标,然后存储到position中 position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,1.0f)); //端点数+1 LengthOfLineRenderer++; //设置线段的端点数 lineRenderer.SetVertexCount(LengthOfLineRenderer); } //连续绘制线段 while (index < LengthOfLineRenderer) { //两点确定一条直线,所以我们依次绘制点就可以形成线段了 lineRenderer.SetPosition(index, position); index++; } } void OnGUI() { GUILayout.Label("当前鼠标X轴位置:" + Input.mousePosition.x); GUILayout.Label("当前鼠标Y轴位置:" + Input.mousePosition.y); }}
效果图:
在这里我提一下,如果我们将Input.GetMouseButtonDown(0)改为Input.GetMouseButton(0)会产生什么样的效果呢?那就是我们拖动鼠标就可以持续的渲染线段了。
阅读全文
0 0
- unity的lineRenderer
- 【Unity】LineRenderer
- unity之Linerenderer组件
- Unity动态生成带碰撞体的LineRenderer
- 我的Unity(12) 利用LineRenderer实现画板效果
- Unity 通过LineRenderer绘制两点之间的直线
- unity给LineRenderer添加collider
- Unity 使用LineRenderer 画箭头
- Unity 3d 后代生成LineRenderer线
- Unity LineRenderer绘制物体行走路线
- Unity3D中LineRenderer的使用
- Unity中使用脚本LineRenderer(现行渲染器)画圆
- 初识Unity 3D——TrialRenderer、LineRenderer、AduioClip
- 【Unity Shader】如何修改LineRenderer与TrailRenderer 中的颜色
- <Unity3D>Unity3D中LineRenderer的使用
- <Unity3D>Unity3D中LineRenderer的使用
- unity3d 画线(LineRenderer方式)
- Unity3d LineRenderer画线
- struts的DevMode模式
- iOS 如何让view指定圆角
- selenium(三)之webDriver与浏览器版本问题
- GTID切换至传统复制 异常处理
- 高级算法日记12:图(5)
- unity的lineRenderer
- Cobbler部署指南之配置管理篇[下文]
- 抽奖规则分享
- php判断设备和微信
- 也想用git?命令太多眼花缭乱?四步带您快速上手开启装B之旅
- ubuntu16.04apt-get错误解决
- spring <bean>的自动装配
- 委托设计模式(即代理模式)
- Java 日期工具类