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 ...
随机推荐
- 2017.9.11 初入HTML学习
第二章 静态网页开发技术 静态网页是指可以由浏览器解释执行而生成的网页,HTML是一组标签,负责网页的基本表现形式: JavaScript是在客户端浏览器运行的语言,负责在客户端与用户的互 ...
- Northwind数据库不能在SQL Server 2012上创建
附加mdf文件不出意料会提示数据库格式无法兼容,试着通过脚本来创建,会有以下错误提示: Could not find stored procedure 'sp_dboption'. 原因是SQL Se ...
- EJB3 调用的存储过程
要调用存储过程,我们可以通过 EntityManager 对象的 createNativeQuery()方法执行 SQL 语句 (注意:这里说的是SQL 语句,不是 EJB3 QL), 调用存储过程的 ...
- sql server 语句获取表的描述,主键等等
sql语句添加表,字段的描述 --添加表的描述 --格式如右:execute sp_addextendedproperty 'MS_Description','字段备注信息','user','dbo' ...
- 简述 private、 protected、 public、 internal 修饰符的访问权限
简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在该类的内部才可以访问. protected : 保护成员,该类内部 ...
- Git相关内容
先聊一点关于gitlab的内容和github的内容 Gitlab和GitHub,都是我们可以存放代码库的地方.不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想 ...
- Windows远程桌面连接命令mstsc
常用的:1. mstsc /v: 192.168.0.1 连接数满了之后使用的:2. mstsc /v: 192.168.0.1 /console -admin Mstsc 命令参考Updated: ...
- 前端关于SEO
提高页面加载速度. 能用css解决的不用背景图片,背景图片也尽量压缩大小,可以几个icons放在一个图片上,使用background-position找到需要的图片位置.可以减少HTTP请求数,提高网 ...
- 20181009noip HZ EZ 两校联考trade(优先队列,贪心)
题面戳这里 思路: 裸的,贪心... 考场上写了一个数据分治(70ptsDP,30pts线段树优化贪心,GG了后30分) 这道题其实很简单的 我们看图: 我们在A时刻买一个东西,在B时刻卖出去,我们可 ...
- 【PTA 天梯赛】L2-1 分而治之(结构体存边)
分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若干打击方案.本题就请你编写程序,判断每个方案的可行性 ...