游戏里 有一些场景内的传送阵, 做寻路时, 之前要美术预埋 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(); //这句若不加 运行时不会起作用, 一定要调用一下。