位置: 编程技术 - 正文

Unity学习之自动寻径(unity自动生成)

编辑:rootadmin

推荐整理分享Unity学习之自动寻径(unity自动生成),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity自由移动,unity自动攻击,unity如何自动跳转页面,unity如何自动跳转页面,unity自动生成,unity自动攻击,unity 自动化,unity自动生成,内容如对您有帮助,希望把文章链接给更多的朋友!

unity学习,希望我的博客能给喜欢unity的朋友带来帮助

自动寻径指的就是点击场景上的一个位置,角色就会自动寻路过去。中间可能会有很多的障碍物,角色会自动绕过障碍物,最终达到终点。

Navigation:定位,导航

首先先来实现巨魔自动寻径的功能,先在视图中创建地形和障碍物(障碍物可以用cube来代替),然后倒入巨魔。然后点击window---Navigation,这样在属性栏的旁边就会出现Navigation栏。然后设置各个物体的属性:

地面和障碍物:

然后烘培寻路网&#;:

巨魔:

最后给巨魔添加脚本,代码如下:

NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { RaycastHit hit; if (Input.GetMouseButtonDown(0)) { Ray ray =Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)){ agent.SetDestination(hit.point); } } }

还可以实现巨魔的走和跑,在代码中添加:

Animator anim;void Start() { anim = GetComponent<Animator>(); }void Update() { if (agent.remainingDistance == 0) { AnimationToIdle(); } else { AnimationToWalk(); } }public void AnimationToIdle(){ anim.SetFloat("idle", 1F); anim.SetFloat("walk", 0.0F); anim.SetFloat("run", 0F); }public void AnimationToWalk(){ anim.SetFloat("run", 0.0F); anim.SetFloat("idle", 0F); anim.SetFloat("walk", 1.0F); }}

最后把脚本拖放到巨魔上。

宠物跟随

在游戏中,主角的身边总是跟着自己的魔宠,我们也来实验一下,下面我用球来代替魔宠。

代码如下:

public Transform target; private NavMeshAgent agent; void Start () { agent = GetComponent<NavMeshAgent>(); } void Update () { if (target!= null) { agent.destination=target.position; } }

把脚本拖放到魔宠上,并且给魔宠添加NavMeshAgent

设置障碍物

如图,在添加一个cube充当障碍物

Unity学习之自动寻径(unity自动生成)

设置cube的属性:

这样在巨魔到达障碍物时就走不过去。

高空下落

游戏中经常有从山上或者是墙上跳下的人物,我也来实验一下这功能。

选中要跳落的地点,点击障碍物,在右侧栏中进行设置:

设置完成后出现如下场景:

寻路网&#;层

把Navigation里面Bake的Drop Height的&#;设为0,取消勾选Navigation里面Object的OffMeshLink Generatic,点击Bake;

在Navigation里面Layers创建两个Layers(LayersUp,LayersDown)-->Bake

设置巨魔属性:

一定要注意,创建了两个Layers,选中两条路径,所选的路径的Navigation里面的Navigation Layer也要改变:

这样才能实现巨魔有选择性的寻路。

NavMeshAgent属性解释:

更多精彩请点击

数据库列的基本操作 1.添加一列altertable表名add列名类型(长度)nullaltertablestudentaddageintnull2.更改一列类型altertable表名altercolumn列名数据类型(长度)column:列altertablestudentaltercolumnag

子弹追踪和协程应用 unity学习,希望我的博客能给喜欢unity的朋友带来帮助今天我们就这几天根据飞机大战个人重做的小项目进行了面试,面试中我遇到了好多技术上的问题

Unity WWW网络动态加载和储存在本地 原文地址:

本文链接地址:https://www.jiuchutong.com/biancheng/377340.html 转载请保留说明!

上一篇:Unity3D 自动寻径(unity自动寻路)

下一篇:数据库列的基本操作(数据库的列名是什么)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络