最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

unity3D自动寻路

来源:动视网 责编:小OO 时间:2025-10-02 08:12:14
文档

unity3D自动寻路

Unity3D的寻路功能今天研究了下Unity3D的寻路功能,忽然发现Unity3D自带的寻路功能只支持付费版,内心不禁感到一阵失落。后来在宣雨松的博客上看到一篇关于ITween的文章,我发现这简直就是我等使用Unity免费版的福音啊,因为这个插件可以解决我们今天的寻路问题。压抑不住内心的激动,博主到ITween官网下载了这个插件,结合官方的例子,产生了ITween实现寻路功能的想法。具体说来,寻路功能就是为玩家或者游戏中的角色添加的一种AI,目的是在给定起点和终点后,程序可以帮助玩家或者游戏
推荐度:
导读Unity3D的寻路功能今天研究了下Unity3D的寻路功能,忽然发现Unity3D自带的寻路功能只支持付费版,内心不禁感到一阵失落。后来在宣雨松的博客上看到一篇关于ITween的文章,我发现这简直就是我等使用Unity免费版的福音啊,因为这个插件可以解决我们今天的寻路问题。压抑不住内心的激动,博主到ITween官网下载了这个插件,结合官方的例子,产生了ITween实现寻路功能的想法。具体说来,寻路功能就是为玩家或者游戏中的角色添加的一种AI,目的是在给定起点和终点后,程序可以帮助玩家或者游戏
Unity3D的寻路功能

今天研究了下Unity3D的寻路功能,忽然发现Unity3D自带的寻路功能只支持付费版,内心不禁感到一阵失落。后来在宣雨松的博客上看到一篇关于ITween的文章,我发现这简直就是我等使用Unity免费版的福音啊,因为这个插件可以解决我们今天的寻路问题。压抑不住内心的激动,博主到ITween官网下载了这个插件,结合官方的例子,产生了ITween实现寻路功能的想法。具体说来,寻路功能就是为玩家或者游戏中的角色添加的一种AI,目的是在给定起点和终点后,程序可以帮助玩家或者游戏角色快速地找到最优的一条线路,复杂点的寻路系统可能还要考虑如何避开障碍物,那么好,现在我们开始一起走进寻路之旅!

      首先创建如图所示的游戏场景,在这里我们创建8个Cube来表示地面上的8个节点,我们按照一定的顺序排列这些节点,就能得到一条路线。这条路线就是我们为游戏体设计的路线。接下来,我们再创建一个Cube,赋予其黑色的材质,以示区别。

    

       接下来我们导入ITween 资源包文件,导入完成后,创建下面的脚本文件:

 

∙using UnityEngine; 

∙using System.Collections; 

∙public class ScriptControl : MonoBehaviour { 

∙    //节点数组 

∙    public Transform[] paths; 

∙    void Start () 

∙    { 

∙        Hashtable args = new Hashtable(); 

∙        //设置路径的点 

∙        args.Add("path",paths); 

∙        //设置类型为线性,线性效果会好一些。 

∙        args.Add("easeType", iTween.EaseType.linear); 

∙        //设置寻路的速度 

∙        args.Add("speed",8f); 

∙        //移动的整体时间。如果与speed共存那么优先speed 

∙        args.Add("time",5f); 

∙        //是否先从原始位置走到路径中第一个点的位置 

∙        args.Add("movetopath",true); 

∙        //延迟执行时间 

∙        args.Add("delay", 0.1f); 

∙        //移动的过程中面朝一个点 

∙        args.Add("looktarget",Vector3.zero); 

∙        //三个循环类型 none loop pingPong (一般 循环 来回) 

∙        args.Add("loopType", "loop"); 

∙        //是否让模型始终面朝当面目标的方向 

∙        //如果你发现你的模型在寻路的时候时钟都是一个方向那么一定要打开这个 

∙        args.Add("orienttopath",true); 

∙        //让模型开始寻路 

∙        iTween.MoveTo(gameObject,args); 

∙    } 

∙    void OnDrawGizmos() 

∙    { 

∙        //在scene视图中绘制出路径与线 

∙        iTween.DrawLine(paths,Color.yellow); 

∙        iTween.DrawPath(paths,Color.red); 

∙    } 

∙    void Update () 

∙    { 

∙    } 

∙}

       我们将该脚本绑定到我们的游戏体——黑色的Cube上,打开属性面板,编辑Paths属性,这时我们按照事先设计的路径节点顺序,将各节点拖放到下面的属性框中,这样就完成了对于路径节点的添加。文章来自【狗刨学习网

     这时我们运行游戏,将看到黑色的Cube沿着我们预先设计的路线进行运动:

        同时,我们能够注意到在游戏场景视图中,游戏体运动的路径被两种颜色的线标示了出来,这就是今天的内容啦,谢谢大家!

文档

unity3D自动寻路

Unity3D的寻路功能今天研究了下Unity3D的寻路功能,忽然发现Unity3D自带的寻路功能只支持付费版,内心不禁感到一阵失落。后来在宣雨松的博客上看到一篇关于ITween的文章,我发现这简直就是我等使用Unity免费版的福音啊,因为这个插件可以解决我们今天的寻路问题。压抑不住内心的激动,博主到ITween官网下载了这个插件,结合官方的例子,产生了ITween实现寻路功能的想法。具体说来,寻路功能就是为玩家或者游戏中的角色添加的一种AI,目的是在给定起点和终点后,程序可以帮助玩家或者游戏
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top