Unity_脚本与寻路系统的结合使用_013
2017-07-22 10:02
337 查看
什么是AI
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能的发展的领域有哪些?
智能机器人,无人驾驶,Alpha go,小度机器人,智能家居。游戏中加入AI有什么好处
提高游戏的可玩性激发玩家的挑战欲望
增加游戏的友好体验
Unity中的Navigation导航
NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格基础上通过一系列的计算来实现自动寻路。导航时,只需要给导航物体挂载导航组建,导航物体便会自行根据目标点来寻找最直接的路线,并沿着该线路到达目标点。绕过障碍物
在地面上创建一个Plane座位地面,在地面上穿件一个Cube 并将此拉伸作为障碍物。并将此地面和障碍物勾选Navigation Static。在菜单栏window中点击Navigation面板,在Navigation面板中的Bake选项卡中点击Bake按钮。烘焙导航网格。
在Plane上创建游戏对象。游戏对象头上的绿色帽子表示游戏对象的前方。
如图
在游戏对象身上添加NavigationAgent组件。同时在添加新的脚本。脚本的代码如下 :实现的功能是点击哪里,游戏对象就会移动到哪里。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class NavigationTest : MonoBehaviour { private NavMeshAgent agent; private Vector3 targetposition; // Use this for initialization void Start () { agent = GetComponent<NavMeshAgent>(); targetposition = transform.position; } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) { //从摄像机视口出发到鼠标点击的位置产生一条射线 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray,out hit,100)) { //如果点击到的是地面的话 就将点击的点坐作为目标点 if (hit.collider.tag =="Plane") { targetposition = hit.point; } } } //设置目标点 agent.SetDestination(targetposition); } }
跳过障碍物
在这里我们让游戏对象从一个平面跳跃到另外一个平面上,如图右边的地面其实就是从左边复制(Ctrl+D)过去的,选中左边的地面
然后操作如图
再次选中右边的地面进行同样的操作,选择Bake选项卡,点击Bake按钮烘焙地面。代码和上面的代码是一样的。这样就可以实现在两个地面上进行跳跃
分图层寻路
相关文章推荐
- Unity_脚本和材质系统的结合使用_012
- Unity_脚本和光照系统的结合使用_010
- Unity_脚本和物理系统的结合使用_011
- Unity3D_脚本与寻路系统的结合使用
- [UnityShader]使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- Unity3D_脚本和物理系统的结合使用
- 【Unity学习笔记】——使用unity自带寻路系统进行寻路
- unity5之导航网格寻路系统-2使用NavMeshAgent实现类型英雄联盟右键行走功能
- 【Unity Shaders】使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- Unity3D_脚本和光照系统的结合使用
- 脚本和物理系统的结合使用
- 在centos系统shell脚本中cat和重定向符号<<EOF结合使用的注意事项
- Unity3D_脚本和材质系统的结合使用
- 脚本和寻路系统的结合
- 【Unity Shaders】使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- 【Unity Shaders】使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- [EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART1——为什么要使用Unity?
- VNN结合通达OA系统的使用
- [EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(2)
- 网络游戏服务器开发:脚本系统的制作,linux下使用tolua制作Lua脚本系统(不需要PKG文件)