基于Unity2019最新ECS架构开发MMO游戏笔记22
- 准备工作
- 高地与阶梯连接
- 桥面倾斜连接
- 阶梯状的桥连接
- 阶梯合理化
- 制作三角补丁
- ECS专题目录
- ECS更新计划
- 作者的话
如果大佬对ECS版的海克斯无限地图感兴趣,不妨参与进来,欢迎Star/Folk源码 0下载Unity编辑器(2019.1.12f1 or 更新的版本),if(已经下载了)continue; 1克隆:git clone https://github.com/cloudhu/HexMapMadeInUnity2019ECS.git --recurse
或下载Zip压缩包 2如果下载的是压缩包,需要先将压缩包解压。然后将HexMapMadeInUnity2019ECS添加到Unity Hub项目中; 3用Unity Hub打开的开源项目:HexMapMadeInUnity2019ECS,等待Unity进行编译工作; 4打开项目后,启动场景在Scenes目录下,打开AdvancedHexMap场景(优化重构的版本)。
今天的计算非常复杂,不过还是尽量表述清楚,要创建高地就需要新增数据字段来保存高地的海拔参数。打开Data脚本:
+++在UpdateData中新增
///
/// 海拔
///
public int Elevation;
+++++在Cell中新增
///
/// 当前单元的海拔
///
public int Elevation;
//六个方向相邻单元的海拔
public int NEElevation;
public int EElevation;
public int SEElevation;
public int SWElevation;
public int WElevation;
public int NWElevation;
这样我们需要使用的海拔数据字段都有了,我们可以先随机生成一些海拔数据给六边形单元,看看效果。打开CellSpawnSystem脚本,添加一个数组来保存随机生成的海拔,然后把这些数据交给每一个单元,这是在Job中完成的,非常高效:
//保存单元颜色的原生数组
NativeArray Colors=new NativeArray(Height * Width, Allocator.Temp);
//保存单元海拔的原生数组
NativeArray Elevations = new NativeArray(Height * Width, Allocator.Temp);
//后面将从服务器获取这些数据,现在暂时随机生成
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?