首批拥有虚拟化身,即可以早期访问 Decentraland。
X
你好,请选择
语言
关闭

9 月 16 日的 Game Jam 游戏开发活动开始前,我们邀请了六月份黑客马拉松的一些参与者在博客中公开他们的的场景设计开发秘密。本周的嘉宾是社区成员,@ holodot。


大家好,我是 @holodot,我在很早期就加入了 Decentraland 社区。作为加密粉丝,技术爱好者和生活在阿根廷的人,真的很难不成为这个项目的贡献者。

我在硅谷做产品设计工作多年。 Decentraland 让我学会了更好的编程,学习了更多与游戏相关的 3D 工作流程,还遇到一些非常牛逼的人物。Decentraland 虚拟仙境的挑战—需要优秀的开发人员和优秀的设计师的创造。

Decentraland 博物馆小区

我的团队最喜欢的项目是博物馆(Museum 小区),一个优秀的艺术展品、艺术家和画廊可以跟他们的观众及 NFT 市场互动的灵活空间。

我们决定设立展位,用于邀请需要一个特殊的地方来展示他们的作品的艺术家或品牌,在一个更加品牌化和专业的环境中。

我们目前有互动作品,动画模型和其他“数字事件”(如偷艺术品的机器人)。

目前我们正致力于创建 NFT 浏览体验,并将整合MakersPlace以及其他艺术品市场。

我们已经在场景中放置了建筑物。大部分使用 Cinema4D 构建,但是也有大量可以免费使用的“预制”建筑物和画廊。

将 NFT 艺术品放入场景中

您可以使用 Builder 轻松地将 2D NFT 图像作为相框拖放到场景中。目前,可选的通证仅限于CryptokittiesAxie Infinity 等。

Decentraland 团队最近增加了一些更为有趣的与艺术相关的通证的支持,例如 * MakersPlace* 和 Editional。目前仅通过 SDK 支持,仍然无法在 Builder 上直接使用,因此我们不得不卷起袖子来撸代码。

SDK 允许我们进行更多自定义,例如将我们的图片缩放到我们想要的任何尺寸,或者为具有透明度的图像添加自定义背景颜色。

我将向您介绍我自己如何添加其中的一个 NFT,更多细节,请查看此链接

这是我们想要嵌入到场景中的 NFT: https://makersplace.com/store/museumdistrict/blue-psyco-rabbit-1-of-3-10337/

这个通证是我的,但你可以自己试一下。使用跟其他通证相同的步骤,只要它在 Decentraland 通证白名单中(此处查看完整列表)。

如果您在资产的 MakersPlace 配置文件页面上单击查看真品证明,您可以在以太坊区块链中查看记录的详细信息(https://makersplace.com/authenticity/0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756/7224/)。我们将需要此页面中的一些信息来引用我们的 NFT。

我们需要从此页面获取两个数字:

  1. 合约ID 这里是指 Makersplace 合约。
  2. ID 字段,是对此特定艺术品的唯一引用。

注意:对于Open Sea中的 NFT,您只需从资源的 URL 中获取合约 ID 和 ID。例如,如果您浏览到 opensea.io/assets/0x05f02507c7134dbae420ab8c0ef56e999b59da03/47335,则可以提取:

  • the Contract ID: 80x05f02507c7134dbae420ab8c0ef56e999b59da03

  • the artwork ID: 47335

我们现在将使用这两个数字构建一个 Decentraland 可用于获取的艺术品数据的 URL。在前面添加 ethereum://,然后粘贴 合同ID,斜杠,最后是艺术品 ID

ethereum://0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756/7224/

我们将在场景代码中使用 URL,如下所示:

const makersNFT = new Entity()
const shapeComponent = new NFTShape('ethereum://0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756/7224/')
makersNFT.addComponent(shapeComponent)
engine.addEntity(makersNFT)

在上面的代码片段中,我们创建了一个实体,并为其提供了一个 NFTShape组件,该组件使用我们刚刚构建的 URL 获取艺术品数据。

默认情况下,我们的 NFT 将出现在场景的 0,0,0 位置。如果我们想要更改此位置,旋转它或更改其比例,我们只需要向实体添加 Transform 组件并提供一些信息。

makersNFT.addComponent(
 new Transform({
   position: new Vector3(184, 4, 89),
   scale: new Vector3(1,1,1),
   rotation: Quaternion.Euler(0, 120, 0)
})

好了!这就是完整的代码:

const makersNFT = new Entity()
const shapeComponent = new NFTShape('ethereum://0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756/7224/')
makersNFT.addComponent(shapeComponent)
makersNFT.addComponent(
 new Transform({
   position: new Vector3(184, 4, 89),
   scale: new Vector3(1,1,1),
   rotation: Quaternion.Euler(0, 120, 0)
 })
)
engine.addEntity(makersNFT)

这样就在场景中嵌入了 NFT 资源。

将文化带入 Decentraland Game Jam 游戏开发活动

距离 Decentraland 这个重要活动已经很近了。为什么不使用上面的步骤将一些艺术作品添加 Game Jam 创建的内容中呢。

如果您尚未注册参加,请在这里登记!

在虚拟世界中展示您的特色
首批拥有虚拟化身,即可先期进入 Decentraland 世界。
了解更多