SDK 6.0 Beta简介

转发自Decentraland Official公众号

更大的土地

如果您有关注 Discord 讨论和 Agora 投票,就会知道我们对土地大小进行了重大改变。 在这个新版本中 Decentraland 土地大小现在改为 16米 x 16米(以前是 10 x 10 米)。

由社区投票决定增加土地大小,有关投票的详细内容及结果,请在此查看 。投票在 Agora 上进行,您可以在此博文中阅读更多相关信息。

10米 x 10米的土地和右侧 16米 x 16米的土地对比。

如果你有土地,这意味你拥有的面积更大了(面积增加 156%)。如果你已经创建了场景,则意味着你可以使用更大的空间。您并不需要重新设计所有内容的布局,可以添加一些简单的自然风光湖或建筑物等其他东西来填充未使用的空间。

请记住,每块土个地块的场景限制并没有改变。

音频引擎方面的改进

5.0 版本在场景声音处理方面还不够完善,音频方面的功能非常有限,并且需要使用异步事件调用音频。

在 6.0 中我们可以使用我们最初设想的那样来使用声音!现在,您可以在场景中同时发出多个声音,每个声音都可以来自场景中的不同位置。播放声音也容易多了!现在,您只需将一个 SoundSource 组件添加到实体,就可以播放声音。

在此文档中阅读有关此内容的更多信息,或查看使用此功能的示例场景。

更强大的动画处理功能

此版本包括对动画处理方式的一些改进。现在,您可以轻松地重置或停止实体中的动画,这通常是使 3D 模型恢复其原来位置所必需的。

我们还引入了 “Animator” 组件,作为 “GLTFShape” 组件的独立组件。通过将动画功能与 3D 模型本身分开,我们允许您在各种实体上重复使用 3D 模型,同时每个实体的动画保持独立。通过重复使用这样的相同 3D 模型,可以极大地改进性能。

我们还添加了一个动画播放完成时触发的事件。我们意识到选择场景中发生的不同事情的时机有时非常必要。例如,如果您希望 NPC 在播放完“倒地死亡”动画然后从场景中消失,则可以使用此事件确保只有在动画播放完毕后,才删除该实体。

6.0 还增加了对更多动画类型的支持。以前的版本仅支持骨骼动画,这意味着动画依赖于一系列“骨骼”来引导网格的移动。 6.0 还支持非骨骼动画,其网格的顶点可以直接改变位置。这对于简单的动画很有用,例如开门的动画。

更多信息请阅读此文档,或查看使用此功能的示例场景。

纹理处理

6.0 引入了 Texture 组件,可以将图像设置为基本形状的纹理。这种方法比在 Material 组件上设置纹理文件(之前的 SDK 版本)更好用,因为它公开了可以帮助您微调优化纹理的新设置。它还允许您在不同材质上重复使用相同的纹理,在每个材质上设置不同的属性,例如 Alpha 透明度、粗糙度或凹凸纹理。

可以在此文档中阅读更多相关信息。

自定义事件

现在,您可以使用 SDK 提供的简便方法,在场景中发出并捕获自己的自定义事件。更好的解耦代码的各部分,从而编写出模式更为清晰的场景。

例如,如果您希望记分板在每次他在场景中拾取硬币时更新玩家的分数,您可以让每个硬币发出自定义的“addPoint”事件。然后你可以用一个监听器来捕获这个事件,从而更新分数。

在文档中阅读更多相关信息。

共享预览场景更容易了

在不使用 Web3 时,预览场景不再需要 Metamask。这使您的场景预览更容易与其他人分享!现在他们只需要在任何浏览器上打开链接,并且事先不需要安装任何特殊扩展。

该版本包括对 Now 2.0 的支持,以及共享不需要 Metamask 签名的场景的功能,预览场景内容变得更容易了。

其他改进
  • 此版本附带了许多后端运行代码优化。这使得要求较高的场景在浏览器上运行更为顺畅。

  • Billboard 使用更简单了!将实体设置为 Billboard 将使其旋转以始终面向用户。这是早期 3D 游戏的典型特征:大多数敌人和实体是始终面向用户的 2D 平面。 Billboard 组件现在与其他组件分开,用于配置此行为。详情

  • 新的 OnPointerDown 组件类似于 OnClick。 OnClick 处理一个复杂的事件,包括按下按钮然后放开,OnPointerDown 只处理按下按钮。此事件也更加通用,因为事件数据附带了更多信息,包括光线距离,用户位置以及点击的 3D 模型中特定网格的名称。

  • 为了更明确,一些用于添加、删除和检查组件的语法进行了更改。例如,add 改为 addComponentset 改为addComponentOrReplace

  • 检查 3D 模型是否在场景边界内,场景现在会查看模型的边界框,而不是模型中的顶点本身。这样可以显着提高性能,因为需要检查的坐标少了,但要确保您的 3D 模型没有任何空的边界框,而这些边界框超出了模型真正占据的空间。

  • 我们更改了场景中所有 3D 模型的旋转设置,使其它广泛使用的应用一致。所有 3D 模型现在都沿 Y 轴旋转 180度。这样可以更轻松地将外部 3D 模型导入 Decentraland。

分享你的喜悦!