【unity】NavMesh 运行时动态添加 OffMeshLink 线。

游戏里 有一些场景内的传送阵,  做寻路时, 之前要美术预埋 OffMeshLink线。 但策划会换位置, 两边就不一致了。

想着 OffMeshLink好像可以动态加。  网上没有相关资料,  试了一下是可以的。

编辑器下可以动态加, 程序里也基本可以。

代码如下。

在传送阵的对象上绑一个。


                //需要主动加一个寻路跳跃传送线
                GameObject go = new GameObject();    //目标点位置
                go.name = "tf_end";
                go.transform.SetParent(transform);
                go.transform.position = MathUtil.GetPickedXZPostion(new Vector3(data.tar_pos_x*0.001f, 0, data.tar_pos_y * 0.001f));

                UnityEngine.AI.OffMeshLink omLink = gameObject.GetOrCreate<UnityEngine.AI.OffMeshLink>();
                omLink.startTransform = transform;
                omLink.endTransform = go.transform;
                omLink.biDirectional = false;
                omLink.UpdatePositions();   //这句若不加 运行时不会起作用, 一定要调用一下。
 
 



猜你喜欢

转载自blog.csdn.net/zhenmu/article/details/80636041