1
moyaka 2017-11-27 17:40:13 +08:00 via Android 1
最近尝试了一下 Mapbox Unity。cocos 就不知道了。
|
2
noli 2017-11-27 18:04:20 +08:00 1
放弃格子, 不使用静态切分地图的数据结构,使用例如 R 树 之类的空间数据结构。
寻路也不使用格子,而是每个地图制作拓扑点。 |
3
linus3389 2017-11-27 18:15:29 +08:00 1
|
6
noli 2017-11-27 18:51:32 +08:00
@LucasW
哪里没听懂? 提供几个关键字,你自己搜集一下资料做对比吧。 R 树,KD 树,四叉(八叉)树。 我倒是好奇,你的寻路怎么做,格子有多大,9000 像素 500+ 单位寻路居然性能不成问题? |
8
cinextio 2017-11-27 19:02:59 +08:00 via Android
Tiled Map?
|
9
afpro 2017-11-27 22:54:33 +08:00 1
大型地图寻路还是 navmesh 吧 动态物体可以考虑用 local avoidance 会快很多
|
14
koalli 2017-11-28 15:37:12 +08:00 1
@LucasW 有几点比较常见的优化点你可以参考一下:
1、看看 DrawCalls,DrawCalls 过高的话你得降低同时渲染的节点数,Unity 可以用 Camera 来剔除 GameObject ( creator 好像也支持了),我用 cocos2dx 的时候是把屏幕外的节点尽可能的设置成不可见,如果剔除后 DrawCalls 还是很高,可能得减少同时显示的节点了 2、批量渲染,我记得 cocos2dx 从 3.3 开始应该是自动批量渲染了,但是好像是有个什么限制 3、上面也有哥们吐槽了性能居然不成问题,那应该数据结构有做过优化了,那么你可以优化一下节点的使用,比如类似 Unity 对象池(Object Pool)之类的方法来管理节点 |
15
cinextio 2017-11-28 17:42:46 +08:00 via Android
Tiled map 你可以通过代码改变某个方格的贴图,自动寻路就是一套算法。你自己查查,我以前(两三年,3.x 的版本)用时,cocos2dx 对 tiled map 大小支持有限制,现在应该好一些了吧。
|