是的,我同意 Decentraland Builder。我用它为 Decentraland Builder Hackathon 构建了几个场景,发现它既简单又有趣,而且非常吸引人。对于艺术家来说,能够创作 3D 作品并在虚拟世界中参观它们是一个绝佳的新机会。
有几种方法可以为 Decentraland 制作场景 - Decentraland Builder、Decentraland SDK 和一些 3rd 方工具。我将在下面为您和其他读者总结它们。我会说它们按从最简单到最高级的顺序排列。
您可以使用这些方法来构建场景并在您的 PC 上本地“访问”它们,而无需将它们上传到陆地。而且,当场景看起来不错时,您可以使用 Builder 或 SDK 将场景上传到您在 Decentraland 中拥有的土地。您可以在https://market.decentraland.com获得土地。
您可以成为其他土地所有者的艺术家或建筑商。Decentraland Discord 服务器上有一个“招聘”频道,网址为https://discordapp.com/invite/9EcuFgC
1. 使用 Decentraland Builder
构建场景要构建场景,请访问https://builder.decentraland.org,选择要构建的场景大小,以地块形式,然后构建场景。从项目目录中选择要放入场景的东西。找到您想尝试的项目,然后将其拖放到您的场景中要访问您的新本地场景并查看它在 Decentraland 中的样子,请单击眼睛按钮(预览)。单击 X 返回到 Builder。场景保存在您的浏览器内存中,但这不是备份它的好方法。但更安全的存储方法是使用下载场景将其导出到本地 zip 文件。您可以稍后通过使用主构建器页面上的“上传场景”功能上传此 zip 文件再次上传场景。
接下来,您可以使用下载的 zip 中的文件集合来创建与 SDK 兼容的场景版本,以便根据需要进行进一步的自定义,并可选择将其上传到您在 Decentraland 中的土地。为此,请继续方法 2。
直接从 Builder 上传场景的功能已在路线图中,并且在您阅读本文时可能已经存在。
您还可以在构建器中选择将其“发布”到场景池,供地主或地区用于填充其土地。
2. 使用 Decentraland SDK 构建和部署场景
Decentraland SDK 允许您向场景添加自定义内容以及可选的脚本化动态行为。
可以在https://docs.decentraland.org找到好的 Decentraland 文档。请确保您的场景足够简单,以保持在此处发布的场景限制范围内。尤其是您可能必须专注于限制“三角形计数”,这是场景表现良好所必需的,尤其是当生活在“世界”的许多其他场景中时。
您需要先按照此处提供的说明安装 SDK。
您可以找到越来越多的由 Decentraland 构建者创建的脚本模块。查看 Decentraland Discord 中的构建器频道或 MetaVRS.io 等网站,或者您可以使用和学习 Decentraland 示例中的示例代码,您可以在https://docs.decentraland.org/examples/sample-找到Scenes /
Decentraland 中的脚本是使用 Typescript 完成的,它是 JavaScript 的一个很好的扩展。场景的主要起始文件是 src 子目录中的 games.ts 文件。
安装 SDK 后,您可以通过创建一个新的工作场景目录来启动一个全新的场景,并在其中运行dcl init
;或者您可以创建一个工作目录并将 zip 文件的内容提取到其中,并在该目录类型中npm i
当您准备好在 SDK 中预览场景时,键入dcl start
一个优秀且免费的SDK场景脚本编辑开发环境是“Microsoft Visual Studio Code”,您可以下载。它将对您的代码进行语法高亮显示,并向您显示语法错误的位置。当您处理 game.ts 或其他附属代码模块时,代码编辑器会知道 SDK 的类和功能,以及您“导入”到场景代码中的任何附加代码模块,因此它可以帮助您获得拼写和参数正确。
如果您已经使用 Decentraland Builder 创建了您的场景,并且还没有进一步自定义它的愿望或技能,您仍然可以像上面一样预览它,当您准备好将 SDK 场景部署到您的土地时,使用dcl deploy
. 您将需要使用您的 MetaMask 或类似的加密钱包“签署”部署,以便它可以验证您拥有土地。要指定您尝试将其上传到哪个宗地,您需要编辑“scene.json”文件,并编辑“宗地”列表和“基础宗地”,使其成为您的宗地坐标。
3. 使用 JanusVR 构建场景并将其转换为 SDK
JanusVR 是一个很好的工具,很多人都知道如何使用它来制作 3D/VR 场景。您可以从http://janusvr.com免费下载。JanusVR 场景代码编辑器中的“”代码(“JML 标记”)可以复制到您在 JanusVR 托管环境中创建的场景中的相同标记上,https: //vesta.janusvr.com/,然后您可以从那里升级到 Vesta UV Pro,并具有将 Vesta 场景导出到 Decentraland SDK 兼容文件集(转换为 DCL)的功能 JanusVR 和/或 Vesta 客户端都可以指向 Vesta URL或更多人,使协作设计团队能够一起工作。在 JanusVR 中构建时,请确保仅使用低多边形 gltf 或 glb 模型文件。JanusVR 支持多种模型文件类型,但只有 gltf 或 glb 格式在 Decentraland SDK 中有效。
4. 在 Unity 中构建场景并将它们导出到 SDK
我自己没有尝试过,但请查看:
https ://github.com/decentraland/DecentralandUnityPlugin
再次,坚持使用低多边形模型,并且知道你会必须让它们采用 gltf 或 glb 格式才能在 SDK 中工作。
5. 在 A-Frame 中构建场景并将它们移植到 SDK
如果您对 A-Frame 标记脚本和 SDK typescript 脚本都感到满意,并且您已经在 A-Frame 中构建了想要迁移到 Decentraland 的场景,那么您可以发现将模型和原语的 A-Frame 标记转换为 SDK games.ts 语法的模式。这有点工作,但我已经完成了一些场景。同样,您必须使用模型的 glb 或 gltf 版本,并牢记三角形和其他限制。
我希望这可以帮助您和其他人在构建和部署场景到 Decentraland 方面有一个良好的开端。