【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

效果展示:

Unity 3D 项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

项目包和源码获取方式
1、****下载 :添加链接描述
2、关注公众号:杂七杂八的技术号,回复work1

导航系统

一、烘培网格

1、选中人物所能走的所有物体,属性选为static,点击windows->ai->Navigation->baked

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
蓝色区域即为物体可移动到的地方。

1、agent radius:人物的半径

2、agent height:人物的高度

3、max slope:人物爬坡的最大坡度

4、step height:人物爬台阶高度

通过调整上述属性,可以改变人物可到达的地方。

二、连接分离的路径网格

1、创建两个物体作为虚拟的传送点

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

2、给其中一个物体添加off mesh link组件,两个物体分别赋值给start,end,顺序无要求。

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
3、禁用两个物体的mesh render组件,使物体隐藏。

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
三、控制人物移动

1、添加mesh agent组件

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
Speed:人物移动速度

Angular speed:旋转速度

Acceleration:加速度

Stopping distences:距离目标点多远停止

2、添加脚本代码

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

四、摄像机跟随

给摄像机添加脚本:

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
Lookat函数是官方提供的使摄像机永远看向某一物体。

第二行是设置摄像机相对物体的位置偏移。

五、添加鼠标点击地面时的特效

1、效果

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随
2、声明特效物体

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

3、在场景中找到合适的特效给effect赋值

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随

4、控制特效的产生和消失

effectobj = Instantiate(effect, hitinfo.point,
effect.transform.rotation); //生成特效

【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随【Unity 3D】项目实践--导航--鼠标点击控制人物移动&&摄像机跟随