Unity Navigation自动寻路

NavMesh(导航网格) 是3D游戏世界中主动寻路的一种技术,如果你想让游戏人物能自动绕开障碍物到达目的地.那你就来学习下

Navigation导航技术吧O(∩_∩)O~

首先你需要把地形烘焙成导航网格: (蓝色区域说明可走的)

1.选中物体设置成static静态的

2.菜单栏Window->Navigation打开网格烘焙窗口,在Hierarchy视图中选中你需要烘焙的网格点击Bake即可

我们需要创建一个游戏物体来控制他在地图上根据鼠标点击来回走动,创建一个球体并且添加NavMeshAgent组件

再写一个MyMove的脚本挂到球物体身上:

using UnityEngine;
using System.Collections;

public class MyMove : MonoBehaviour {

    private NavMeshAgent aget;

    void Awake()
    {
        aget = GetComponent<NavMeshAgent>()
    }

    public void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 1000))
            {
                aget.destination = hit.point;
            }
        }
    }
}

效果图如下:

时间: 2024-10-05 23:29:53

Unity Navigation自动寻路的相关文章

Unity. Navigation和寻路

Navigation Static:不会移动.可以用于计算可行走区域.例如:地板.墙.静态障碍物. 将一个物体选为Navigation Static:Navigation窗口-> 勾选项 Unity. Navigation和寻路,布布扣,bubuko.com

Unity Navigation面板了解

上次讲解了下Navigation的简单使用, 这次来看看Navigation面板的一些参数 NavigationStatic 勾选后表示该对象参与导航网格的烘培. OffMeshLink Generation 勾选后可跳跃(Jump)导航网格和下落(Drop). NavigationArea 物体烘焙网格属于那个图层,可通过代码让游戏人物走不同的路 ==================================================================== 来看看烘焙

用iTween在Unity实现自动寻路的功能

using unityEngine; using System.Collections; public class "定义的脚本名字": MonoBehaviour { public Transform[] paths; //设置路径 void  Start() { Hashtable args=new  Hashtable(): args.Add("path",paths) //设置所有的点 args.Add("easeType",iTween

unity的自动寻路之 ------ wayPoint寻路的实现方式

孙广东 2015.6.28 看了看  Unity的官方案例,就顺便看了 wayPoint相关. 效果: WaypointProgressTracker.cs  [固定] WaypointCircuit.cs  [固定] using System; using System.Collections; using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif namespace UnityStandardAssets.Utility

Unity里面的自动寻路(二)

接着我的 上一篇自动寻路文章,这一次我们就来学习一下与自动寻路有关的组件吧.Unity中与自动寻路相关的组件主要有两个:NavMeshAgent (  又称导航网格代理 ),Off Mesh Link( 分离网格链接 ).这两个组件的作用与使用范围是不同的,我们唯一可以确定的是我们必须烘焙地形,产生NavMesh(导航网格).因为导航网格决定我们的角色(带有导航网格代理的角色)活动的范围.NavMeshAgent组件需要附着寻路的角色身上,比如怪物,而OffMeshLink这个组件主要是用来构造

Unity Manual —— Navigation and Pathfinding

一.两个问题 在Unity中,想要完成自动寻路,需要以下解决两个问题. 1.如何根据当前的level,找到目的地(how to reason about the level to find the destination) 2.如何到达该目的地(how to move there) 第一个问题是全局(globally),静态的,需要计算整个Scene: 第二个问题是局部(locally),动态的,需要实时考虑当前agent的移动方向与如何避免和其他agents发生碰撞,从而从出发点到达目的地 二

Unity手游之路&lt;九&gt;自动寻路Navmesh之高级主题

http://blog.csdn.net/janeky/article/details/17492531 之前我们一起学习了如何使用Navmesh组件来实现最基本的角色自动寻路.今天我们再继续深入探索Navigation组件的高级功能.在本文中,你将了解到如何在两个隔离层自动生成寻路网格?如何手动指定寻路网格的路线?以及寻路网格层的应用.(本文所用到的模型皆来自Unity3d官网). (转载请注明原文地址http://blog.csdn.net/janeky/article/details/17

Unity手游之路&lt;八&gt;自动寻路Navmesh之入门

http://blog.csdn.net/janeky/article/details/17457533 在的大部分mmo游戏都有了自动寻路功能.点击场景上的一个位置,角色就会自动寻路过去.中间可能会有很多的障碍物,角色会自动绕过障碍物,最终达到终点.使用Unity来开发手游,自动寻路可以有很多种实现方式.第一种比较传统的是使用A星寻路,它是一种比较传统的人工智能算法,在游戏开发中比较常用到.大部分的页游和端游都用到这种技术.在Unity游戏也可以用这种技术,Asset Store上面已经有相关

unity自动寻路相关注意事项

首先选择角色所在的地形,点击window->Navigation打开Navigation窗口,在Navigation下的object选项卡中选"Navigation  Static"其他保持默认即可,然后点击右下角"Bake"就可以了: 如果有障碍物,且障碍物不属于地形物体,需要对障碍物进行烘焙,方法是选择障碍物,在Navigation下的Object选项卡中勾选"Navigation Static","Navigation La