slg系列(地图篇)3d透视无限地图完成......其他补充中..

本文参与征文活动

世界地图的实现

1.制作地图

2.魔改源码实现无线地图

3.透视视角的实现

制作地图
使用tilemap

1.学会使用笔刷

关于这个大家可以自己去找课程
我们这里说下 笔刷主要的是找4个角
这里有个笔刷算法后期会用到
需要整理下后期添加:slightly_smiling:(待补充…)

设计好了笔刷 就可以这样绘制了
另外 后期还需要添加属性来实现阻挡, 砍树

2.魔改源码实现无限地图

部分主要是针对2.2 其实都类似这个也要整理下,下次放出
:slightly_smiling:(待补充…)


引擎魔改,首先要了解引擎,先找到这个目录里面 就是tilemap需要修改的东西,这里的版本是2.2.2其他版本也类似,tilemap文件到2.4为止没什么太大的改动,后期版本也就是加些支持,但是那些支持其实没什么用

源码分析部分

位置转化

这里有几个算法你先要了解下


这三个位置转化算法
具体 你可以去搜tilemap 相关内容,我们这用的是 斜45度 所以是 iso这个,其他的就不说了,其实也没什么区别
_positionForIsoAt(x, y) {
return cc.v2(
this._mapTileSize.width / 2 * (this._layerSize.width + x - y - 1),
this._mapTileSize.height / 2 * ((this._layerSize.height * 2 - x - y) - 2)
);
},
这里的算法主要是为了后面的位置计算做处理,

mesh

这里就看这个老哥的好了,讲得挺清楚的了:slightly_smiling:主要其实是我懒得写…)
mesh教学
要你了解这个的原因是,tilemap的是以这个为基础的…
你要是无法理解前面的基础,后面就只能全退了…
(ps另外 这里其实还有个乱世王者的地块优化)


类似这种地块如何使用的问题, 本身源码是不支持的,为什么 搞成这样:slightly_smiling:(省内存…)
今天的东西主要 介绍tilemap,所以还没建项目

源码魔改1来改一张无限 3d透视地图

先说明
1.2.2的 3d透视是有问题的 不支持tilemap(坐标转化有问题)
2.这里用的是自己的剪裁,方便后期魔改使用(具体怎么实现的原理反正就是各种坐标转化,如果感兴趣的人多,就专门出个帖子讲解下好了.其实这个 用处很多,你做过实际项目就知道了)
3.3d透视基本用的原生的,不过这个版本没有billboard的支持,所以我进行了一些简单的转换,肯定有更优质的方法,只是我懒得复杂处理(大家可以自由发挥)

开个坑:后面还有 1.原生的合批 2. 不规则地图 3. 战争迷雾 等等等等 一点点加在这个demo里吧
每个其实都可以单独开个帖子详细说,大部分都涉及源码修改

重要本demo涉及源码修改 engine文件下的cocos2d文件夹覆盖到自己的引擎下再自己指向下就好,额不懂怎么改引擎就自己文档看看吧,

无限地图 详解 分支

c++分层渲染分支

项目地址l

返回总贴

更新日期
2020/07/01
2020/07/02
2020/07/06
2020/07/10

13赞

:grin: 得慢慢看琢磨了

先马克了再说

大佬,喝阔乐!

mark~~~~~

研究研究。
markmark

markmark

mark大佬666

mark一下

mark it

mark!