unity中,连续路径上的点排序
1 /// <summary> 2 /// 路径点排序 3 /// </summary> 4 /// <param name="start">路径起点</param> 5 /// <param name="input">路径上所有的点</param> 6 /// <param name="output">空的列表,保存排序后的路径</param> 7 public static void SortToPath(Vector3 start, List<Vector3> input, List<Vector3> output) 8 { 9 var currentNearestDistance = float.PositiveInfinity; 10 var nearestIdx = -1; 11 for (int i = 0; i < input.Count; i++) 12 { 13 var dis = Vector3.Distance(start, input[i]); 14 if (dis < currentNearestDistance) 15 { 16 currentNearestDistance = dis; 17 nearestIdx = i; 18 } 19 } 20 if (nearestIdx >= 0) 21 { 22 output.Add(input[nearestIdx]); 23 input.RemoveAt(nearestIdx); 24 SortToPath(output[output.Count - 1], input, output); 25 } 26 }
分类:
Unity
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界