扫码关注《艾兰岛》微信服务号

点击查看《艾兰岛》官方微博

新闻中心

首页 > 新闻中心 > 新闻正文

艾兰岛0.12新功能揭秘——焊接

2019-04-16 21:39:06

你有没有经历过在艾兰岛搭建了巨型建筑,结果在运行时候变成PPT?

有没有遇到过艾兰岛无法选中实体的BUG?

其实这都是因为同一个原因:碰撞体太多了!


由于艾兰岛使用的Unity引擎,支持的碰撞体上限是262143,所以当载入超大型建筑,使得同屏加载的碰撞体数量超过上限时,游戏就会出现卡顿,变得不稳定

为了解决这一问题,我们在0.12版本提供了新功能——焊接(weld


焊接原理:将多个实体焊接成一个实体,以提升运行时的性能。


举个栗子:

例如一面墙,20*40个大理石模块,虽然只是很普通的一面墙,却有800个碰撞体

下面我们使用焊接功能

点击焊接实体,接下来就是鉴证奇迹的时刻

……明明没有变化啊!


先别急,其实变化是有的,而且很大,可以注意到在焊接前已选则的内容叫作“多个对象”,而现在叫作“实体焊接”,这就说明,焊接前的800个实体变成了一个实体

变成了一个实体

变成了一个实体

这个简单的操作使得游戏中的碰撞体减少了800倍啊(四舍五入就是一个亿啊)


所以在0.12以后的版本,当我们再用艾兰岛制作大型建筑时,多用焊接的功能,就能大幅降低场景中的碰撞体数量,从而减少游戏卡顿、避免编辑器奔溃

那么焊接除了减少卡顿,还有什么其他的用法,当然有!

例如:当我们要整体移动房屋时,如果要用批量标签+循环的方式移动,对于大型房屋(超过20000模块)就会触及循环的上限,这时候把房屋烘焙成一个实体,就能只通过一次移动操作,改变整个房屋的位置。


当然,焊接功能也是有局限的:

  • 焊接后由于多个实体变成了一个实体,所以不再能单独被破坏、拾取

  • 焊接后的实体不能设置颜色

  • 焊接后的实体无法在游戏运行时解除焊接


了解了焊接的原理,优势和缺点,诸位建筑师、制作人是不是更加期待即将到来的0.12版本了呢


bohemia interactive