3.5 没有带来新的GUI,真的让俺有些伤心、郁闷,不过内置的寻路系统还真是蛮爽的,打了包上传上来,
TestNavMesh.unitypackage
简要说明:
导入包后,
1,打开场景Game_TestNavMesh ,Window->Navigation 打开Navigation窗口,可以看到舞台上面我已经Bake的图
2,
对于障碍物,设置他为Navigation Static
3,脚本附在 Main Camera 上,
下面对一段脚本进行说明
NavMesh.CalculatePath(startPosition.position,endPosition.position,255,path);
points=path.corners;
iTween.MoveTo(mover,iTween.Hash("path",points,"time",5,"orienttopath",false, "looktime",.6,"easetype","easeInOutSine","loopType","pingPong"));
对于取到的points,可以进一步处理,如 当points里的任意两个Vector3向量,距离小于某值时,删除其中一个,来让路线节点最优化。
注:void Update () 里的代码,是结合 void OnDrawGizmos() (移动那两个球可以看到效果),供测试用的,部分童鞋不要被我误导呀!正确的做法可以把重新计算路径给某个事件去激发。
TestNavMesh.unitypackage
简要说明:
导入包后,
1,打开场景Game_TestNavMesh ,Window->Navigation 打开Navigation窗口,可以看到舞台上面我已经Bake的图
2,
对于障碍物,设置他为Navigation Static
3,脚本附在 Main Camera 上,
下面对一段脚本进行说明
NavMesh.CalculatePath(startPosition.position,endPosition.position,255,path);
points=path.corners;
iTween.MoveTo(mover,iTween.Hash("path",points,"time",5,"orienttopath",false, "looktime",.6,"easetype","easeInOutSine","loopType","pingPong"));
对于取到的points,可以进一步处理,如 当points里的任意两个Vector3向量,距离小于某值时,删除其中一个,来让路线节点最优化。
注:void Update () 里的代码,是结合 void OnDrawGizmos() (移动那两个球可以看到效果),供测试用的,部分童鞋不要被我误导呀!正确的做法可以把重新计算路径给某个事件去激发。