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 ...
随机推荐
- luogu P2124 奶牛美容
嘟嘟嘟 首先数据范围那么小,那么算法也是相当暴力的. 对于一个点(x, y)所属的联通块,预处理出从这个点出发到这个块外的所有点的曼哈顿距离.复杂度O(n4). 然后求答案:最少答案不一定是三个联通块 ...
- on-session问题
.D:\0kecheng\bos\bosv2.0_chapter03.无条件查询. 方法1.@JSON(serialize=false)是注解排除不需要加载的实体类上,找到它的get方法,解决no-s ...
- Win7安装MinGW
MinGW官网:http://www.mingw.org/ 点击下载,稍后就会跳转到下载页面 下载文件后是一个在线安装包,下载过程有点长 Basic Setup里的包都需要安装,点击Installat ...
- mui的事件实现(持续更新)
长按事件: mui('.mui-scroll').on('longtap', '.index-tab-item', function(e) { alert("长按生效") }); ...
- 涉及JSP、Servlet的页面编码问题
1. JSP页面中,二处的字符编码有何区别 1.<%@ page contentType="text/html;charset=UTF-8" %> 是服务器端java程 ...
- 使用xlsx把json对象导出excel
1,首先使用npm下载xlsx.执行命令 npm install xlsx --save import { Component, OnInit } from '@angular/core'; //im ...
- SpringBoot学习16:springboot整合junit单元测试
1.创建maven项目,修改pom.xml文件 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springfram ...
- dual表详解
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情,如下: 1.查看当前用户 SQL> select user from ...
- UICollectionViewCell「居左显示」
UICollectionViewCell「居左显示」 准备: 1.UICollectionView Left Aligned Layout 一款UICollectionView居左显示的约束点击下载_ ...
- 如何在match中使用正则表达式
这是在实现搜索功能的时候遇到的一个问题,在搜索的场景中,会根据搜索框中输入的内容,匹配出包含搜索内容的部分.简单模拟还原使用场景: 首先定义一个遍历 value 用来接收输入的内容 var value ...