在unity3d中实现点击目标点,然后出现引路线段,动态更新线段等功能
主要用到组件: navmeshagent
参数就不全部说明了,就说几个重要的吧
steering->speed
这个是设置自动寻路的速度的,可以把这个值设置成0,然后就会光显示路线,而不自动寻路了。
也可以随便设置一个值,然后就会显示路线,而且还会自动寻路
steering->stopping distance
这个的话就是寻路到目标点之后,距离目标点还有多少的距离,也就是停止距离
如果目标点有碰撞体的话最后把这个值调大一点,不然会一直寻路,往这个方向挤
path finding->area mask
可以行走的区域,这个再配合
这2个使用。先添加areas层,然后在object->navgation area->设置areas层
这个可以运用到dota游戏中,小兵自动3路寻路
linerenderer组件
这个的话主要是用来在game视图中画线段
首先要设置一下
linerenderer->materials
材质要设置一下,不然会显示材质丢失,就是那个紫色的一团
linerenderer->parameters->startwidth
linerenderer->parameters->endwidth
这两个是设置开始宽度和结束宽度。如果先要让线段粗一点可以设置值大一些
然后上代码
using unityengine;
using system.collections;
public class nav : monobehaviour
{
private navmeshagent agent;
public transform target;
private linerenderer linerenderer;
// use this for initialization
void start()
{
agent = getcomponent();
linerenderer = gameobject.getcomponent();
}
// update is called once per frame
void update()
{
agent.setdestination(target.position);
vector3[] path = agent.path.corners;
for (int i = 0; i < path.length; i++)
{
path[i] = path[i] + new vector3(0, 1, 0);
}
linerenderer.setvertexcount(_path.length);
for (int i = 0; i < path.length; i++)
{
linerenderer.setposition(i, path[i]);
}
}
}
M1芯片Mac用户报告SSD固态硬盘存在过度损耗问题
不同数据接口,一样芯片安全
控制系统需要信号隔离器的原因分析
消防应急灯的充电方式是什么?
ESD二极管PESD2CAN,CAN总线浪涌静电(ESD)保护器件
Unity3d自动寻路以及在Game视图中显示线段
国际半导体产业协会发布了今年1月北美半导体设备市场数据
VR的发展面临着困境,那么该怎样做才能真正走入大众的视野
LT9611 mipi DSI/CSI至HDMI2.0转换器
振动光纤探测器在周界防范系统的应用
贴片元件封装说明
中大尺寸产品销售收入增加 莱宝高科去年净利同比增长25.30%
高通5G商用前行,首批5G手机明年Q1来袭
点火线圈的功用是什么_点火线圈对温度有什么要求_汽车点火线圈多久换一次
吊扇电机磁转子哪一家做的比较好?卡瑞奇磁钢
我国第一个中外合资海上风电项目落地
MAX3301E USB OTG收发器应用电路
微波固态高功放在FY-2E气象卫星中的设计和关键技术
孙正义辞去软银公司董事长,CEO 宫内谦继任
差分信号PCB布局布线时的几个常见误区