简单来说我们有两名TA加入了我们的团队,这两位小伙伴解决了性能和表现力的问题
TA全称为:Technical Artist ,也就是技术美术,在游戏开发过程中充当着程序员和美术的纽带,他们懂程序也懂美术。这个职位负责原型开发和优化游戏,这也是游戏开发近几年来新晋的热门岗位。
根据之前所述,既然制作固定的预制格子拼接的方式在理论上无法实现,那么正确的方法就是不拼接。
把两个相邻的地形元素过渡融合是否就可以达到理想的效果呢?我们的TA小伙伴在项目早期着重验证了这一设计。
地形元素融合的方式显然使用纹理贴图比直接对模型网格来的方便。所以一开始的地形就朝着融合纹理表现+使用曲面细分来细化模型这个路径去设计。
事实上纹理贴图对于我们这种需要大量处理不同地形和支持玩家自由编辑地形的游戏,确实取得了较好的效果,但格子的交接处还是不免造成了很多裂缝问题。
毕竟大多数的地形细节表现都处在格子边缘上,因为地形主体其实是斜坡和悬崖这种高差表现,山脉也需要通过格子边缘连接其他格子。
那格子相连难以操作,那我们直接以格子边缘为绘制实例(Draw Instance)主体,把缺乏细节变化的格子中心放到单元边缘不就行了?
绘制实例,可以理解为一次绘制一组数据上几乎相同的模型模板,让显卡来处理每个模板上的不同元素,并生成实时的画面。
最终我们决定将绘制实例主体放在六边形的顶点上,即以三个格子的中心点的连线构成一个三角形的绘制实例。即整个星球一共3,200,000个绘制实例。