艾兰岛0.12新功能揭秘——焊接
2019-04-16 21:39:06
你有没有经历过在艾兰岛搭建了巨型建筑,结果在运行时候变成PPT?
有没有遇到过艾兰岛无法选中实体的BUG?
其实这都是因为同一个原因:碰撞体太多了!
由于艾兰岛使用的Unity引擎,支持的碰撞体上限是262143,所以当载入超大型建筑,使得同屏加载的碰撞体数量超过上限时,游戏就会出现卡顿,变得不稳定
为了解决这一问题,我们在0.12版本提供了新功能——焊接( )
焊接原理:将多个实体焊接成 实体,以提升运行时的性能。
举个栗子:
例如一面墙,20*40个大理石模块,虽然只是很普通的一面墙,却有800个碰撞体
下面我们使用焊接功能
点击焊接实体,接下来就是鉴证奇迹的时刻
……明明没有变化啊!
先别急,其实变化是有的,而且很大,可以注意到在焊接前已选则的内容叫作“多个对象”,而现在叫作“实体焊接”,这就说明,焊接前的800个实体变成了一个实体
变成了一个实体
变成了一个实体
所以在0.12以后的版本,当我们再用艾兰岛制作大型建筑时,多用焊接的功能,就能大幅降低场景中的碰撞体数量,从而减少游戏卡顿、避免编辑器奔溃
那么焊接除了减少卡顿,还有什么其他的用法,当然有!
例如:当我们要整体移动房屋时,如果要用批量标签+循环的方式移动,对于大型房屋(超过20000模块)就会触及循环的上限,这时候把房屋烘焙成一个实体,就能只通过一次移动操作,改变整个房屋的位置。
当然,焊接功能也是有局限的:
焊接后由于多个实体变成了一个实体,所以不再能单独被破坏、拾取
焊接后的实体不能设置颜色
焊接后的实体无法在游戏运行时解除焊接
了解了焊接的原理,优势和缺点,诸位建筑师、制作人是不是更加期待即将到来的0.12版本了呢