unity3d NavMeshAgent 寻路画线/画路径
今天在群里看见有个小伙在问Game视图寻路时怎么画线
正好前几天写了个寻路,而且自己也不知道具体怎么在寻路时画线,所以决定帮帮他,自己也好学习一下
在百度查了一下资料,直接搜寻路画路径、寻路画线......
我可不是伸手党,我只是想看看别人是怎么实现的
结果什么都没有搜到!!那就直接搜unity3d 画线吧..... 果然很多资料!!
Debug.DrawLine;使用这个函数只能在 screen 中看见画的线,在 game 中看不见
那我们要怎么在game中画线呢
百度给我答案:LineRenderer(线渲染器)
然后查圣典:http://game.ceeger.com/Script/LineRenderer/LineRenderer.html
怎么用的自己看,我在这里就不多说了
ok,开始敲代码咯
首先我们创建一个空gameobject,然后添加 Line Renderer 组件
属性设置如下图:
材质我是随便拖的,无关紧要
这个时候我们双击刚才创建的 gameobject 以在 scene 视图中查看
我们可以看见有一条线出现了,因为我材质的问题,我这里显示的是椭圆形!!脑补一下线的样子吧
我们在组件中设置的两个坐标其实就是两个点,两点一线,就这样生成了线。。。好像是废话
好了,我们开始敲代码吧,组件设置没啥好说的
设置两个变量
public Transform line;//就是我们刚才添加的 gameobject
private LineRenderer _lineRenderer;//储存 gameobject 的 LineRenderer 组件
在 Start 方法中初始化 _lineRenderer
void Start ()
{
_lineRenderer = line.GetComponent<LineRenderer>();
}
最后我们在寻路后画线
Vector3[] _path = Nav.path.corners;//储存路径
_lineRenderer.SetVertexCount(_path.Length);//设置线段数
for (int i = ; i < _path.Length; i++)
{
_lineRenderer.SetPosition(i, _path[i]);//设置线段顶点坐标
}
就这么简单,看看代码,看不懂先去看我上文提到的手册
由于我的项目中有很多无关寻路画线的代码,而且以上代码比较简单,我就不贴出完整代码了
下面是测试结果:
本文链接:http://www.cnblogs.com/shenggege/p/4129405.html
unity3d NavMeshAgent 寻路画线/画路径的更多相关文章
- 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
[液晶模块系列基础视频]4.1.X-GUI图形界面库-画线画圆等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地 ...
- Unity3d NavMeshAgent 寻路问题(1)
navMeshAgent调用setDestination 后,会有一个计算路径的时间,计算过程中pathPending为true. 在这个过程中remainingDistance一直为0.
- Unity3d LineRenderer画线
原地址:http://www.cnblogs.com/88999660/archive/2013/01/21/2869498.html 1. 画多条线 画多条线需要在场景中放置多个GameObjec ...
- Unity3D 画线插件 Vectrosity_Simple2DLine
Vectrosity是一个很方便的画线插件,用它我们可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案. :链接: http://pan.baidu.com/s/1pJjTFjt 密码: uesn 首 ...
- unity3d之在屏幕上画线
如何在屏幕上画线,简单的代码如下: using UnityEngine; public class Test : MonoBehaviour { void OnGUI() { GL.LoadOrtho ...
- unity3d 使用GL 方式画线
这个是画线部分 private Vector3[] linePoints; public int m_LineCount; public int m_PointUsed; public void Re ...
- CGContextRef 画线简单用法
CGContextRef CGContextMoveToPoint(context,150,50);//圆弧的起始点 CGContextAddArcToPoint(context,100,80,130 ...
- iOS小画板画线总结
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5 ...
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
// Only override drawRect: if you perform custom drawing. // An empty implementation adversely affec ...
随机推荐
- hdu 6243,6247
题意:n只狗,n个笼子,每个笼子只能有一只,求不在自己笼子的狗的数量的期望. 分析:概率是相等的,可以直接用方案数代替,k 不在自己的笼子的方案数是 n!- (n-1)!,这样的k有n个,总的方案数n ...
- POJ Treasure Exploration 【DAG交叉最小路径覆盖】
传送门:http://poj.org/problem?id=2594 Treasure Exploration Time Limit: 6000MS Memory Limit: 65536K To ...
- Android学习笔记_35_PopupWindow泡泡窗口的实现及GridView应用
1.PopupWindow是一个可以显示在当前Activity之上的浮动容器,PopupWindow弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有便宜两种:按照参照对象的不同又可以分为两种 ...
- linux上安装Python3和django流程详解
1.安装python3 1.1 安装相关依赖库(工具包) --->很重要 yum install gcc patch libffi-devel python-devel zlib-devel ...
- 使用补丁破解IntelliJ IDEA 2017收费版本(转)
1. 首先去官网http://www.jetbrains.com/idea/download/#section=windows下载Ultimate版(注意不是community版)下载并安装.一定要记 ...
- 菜鸟笔记 -- Chapter 6.2.3 成员变量
6.2.3 成员变量 在Java中对象的属性也称为成员变量[也叫字段].成员变量的类型可以设置为Java中合法的数据类型,其实成员变量就是普通的变量,可以为它设置初始值,也可以不设置初始值,如果不设 ...
- 简析--Java中常见的一些关键字的解析
在Java开发中我们经常会用到一些关键字,关键字的定义很有意思"Java事先定义好的,具有特殊含义的单词",那么我们怎么来用好关键字呢?下面我们对一些常见的关键字进行分析和比较; ...
- Python基础—13-面向对象及异常处理
面向对象及异常处理 内置函数 总结:__init__.__del__.__str__.attr系列.item系列.__call__ __str__与__repr__ 使用print/str方法时会自动 ...
- 表单转换为JSON
$.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function ( ...
- C / C ++ 基于梯度下降法的线性回归法(适用于机器学习)
写在前面的话: 在第一学期做项目的时候用到过相应的知识,觉得挺有趣的,就记录整理了下来,基于C/C++语言 原贴地址:https://helloacm.com/cc-linear-regression ...