Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
在很多物体中 遍历一个离指定物体最近距离的物体的方法
钢铁大侠发起了问答2017-12-12
6
回复
2090
浏览

如题,请问老师有什么效率高的办法吗?

所有回复
  • siki 2017-12-13

    这种好像只能一个一个比较算出最小值

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-12-13

    如果要每帧都计算,可以减少计算的速率,来提高性能

    • 钢铁大侠 2017-12-14

      现在用的是sqrMagnitude用来获取距离,百度查的要比Magnitude的效率高,但如果用类似冒泡排序,在游戏里有多个物体同时运行,性能相对低了点呢,触发计算是,目标销毁后搜索最近的目标,这是排除用射线方式来获取目标的最后方法呢,如果用不断比对,运算量大了怕内存和性能吃不消呢

      (0) 回复
    • 钢铁大侠 2017-12-14

      游戏一般都有搜索最近目标,请问通常是用那种方法来获取比较好呢

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
  • sdhexu 2017-12-14

    这个得用合适的场景管理器吧。。。比如四叉树插件、8叉树插件、bsp树插件。

    BSP树性能很高,比较适合封闭的环境,尤其是室内,FPS游戏。而且BSP天生就带着碰撞检测优势。

    策略游戏比较适合使用四叉树,就是把地图分成左上、左下、右上、右下四个区域,每个区域又要再细分成左上、左下、右上、右下四个区域,如此分下去,直到足够小。。然后里面所有的物体,都放在对应的区域里面,就是一个大树下面的叶子节点中。。检测某个点距离范围内的所有物体时,就可以先判断这个点在哪个区域,然后只要遍历这个区域内的物体即可,其他区域内的不会涉及,所以会提高性能。

    8叉树适合很大型的场景,就是分成8个区域,立体的话的四叉树而已。原理相同。

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!