美文网首页
DCL 开发人员教程:部署实时场景预览共享

DCL 开发人员教程:部署实时场景预览共享

作者: 永远游泳的鱼 | 来源:发表于2018-09-29 16:23 被阅读55次

学习如何在Now 上分享您的Decentraland 场景的可播放预览

Decentraland的场景预览是与Now 兼容的,这是一项非常方便的服务,可以让您将内容上传到服务器,只要您愿意,就可以一直免费运行。 您可以非常轻松地将Decentraland 场景上传到其中的服务器中,这样每个访问者可以自动启动该场景的预览。

这是与他人分享您的内容的绝佳方式! 小区建设领导者可以使用它来展示小区建设的进展,开发人员可以从他人那里获得反馈,或者您可以简单地与社区分享您创建的内容,以获得其它人的认可并激励他人。

上传到Now 后,只需点击链接就可以让人们看到你的场景。不需要安装CLI,Node,NPM 或在本地计算机上运行预览所需的任何其他工具。

例如,这里有一些当前正在Now 中运行的场景:

黑毛狗

蜂鸟教程

请记住,每个打开链接的人在运行场景时都是独立于其他用户的。 即使场景在同一服务器上运行,场景状态也只会存储在用户的浏览器中,因此您无法与其他用户进行交互。

另一方面,如果部署了远程场景,则可以与打开链接的其他人进行交互。 关于如何将远程场景部署到Now 请继续阅读。

准备好您的场景

要在Now 中运行场景,请确保使用的是最新版本的SDK(4.1.0)。 记住,SDK 版本是在场景中指定的,在您首次使用CLI 创建场景时确定。 因此,如果您使用较旧版本的CLI 创建了场景,然后更新了CLI,则需要手动更新场景,以便它引用最新版本的SDK。

要手动更新场景,请按照《将场景迁移到4.1.0》一节中的说明操作。

将场景更新到4.1.0 后,修改package.json 文件以包含名为 now-start的新脚本。 这个脚本会运行dcl start --ci。

您的package.json 文件应包含以下内容:

{

 "name": "dcl-project",

 "version": "1.0.0",

 "description": "My new Decentraland project",

 "scripts": {

   "start": "dcl start",

   "now-start": "dcl start --ci",

   "build": "decentraland-compiler build.json",

   "watch": "decentraland-compiler build.json --watch"

 },

 "author": "",

 "license": "MIT",

 "devDependencies": {

   "decentraland-api": "latest",

   "decentraland": "latest"

 },

 "dependencies": {

   "ajv": "^6.5.3",

 }

}

只要部署场景,Now 就会自动运行 now-start中的脚本。 我们在dcl start 命令中使用--ci 标志使预览以稍微不同的方式运行,这与Now 和其他托管和测试服务完全兼容。

下载使用Now 桌面客户端

  1. zeit.co网页下载 Now Desktop Client.

  2. 安装并打开桌面客户端后,您应该会在其他正在运行的程序旁边看到三角形的Now 图标。
  3. 将整个场景文件夹拖放到工具栏上的Now 图标上。 这会将文件夹的内容上传到服务器。

  4. 您的Web 浏览器会自动打开一个新选项卡,向您显示服务器的控制台,因为它会安装必要的依赖项以运行场景。 这需要几分钟,最终安装完成后,场景预览会自动打开。

  5. 与其它人分享此链接!Now 会继续在该链接上托管您的场景。

请记住,Now 的免费版本限制总的文件大小为50 MB。 如果场景超出此限制,请尝试删除node_modules 文件夹以及场景文件夹中不需要上载的任何其他文件,以及服务器可以基于package.json自动安装的文件。

上传远程场景到 Now

如果使用CLI 中的“远程场景”选项创建了场景,则需要对Now进行两次单独部署,一次针对服务器,另一次针对场景客户端。

首先将/server 文件夹拖放到工具栏上的Now 图标进行部署。这将打开一个浏览器窗口,会显示一个安装所有依赖项的控制台。 完成此操作后会启动预览,从浏览器选项卡复制链接。

在/scene 文件夹中,打开scene.json 并修改“main” 字段,使其指向您部署到Now 的服务器的链接(刚刚复制的URL)。 您必须手动修改URL 地址,以便以wss(web socket secure)而不是https 开头。

例如,如果服务器的地址是https://dcl-project-fsutefbepd.now.sh/,则您的scene.json 文件应如下所示:

{

 "display": {

   "title": "scene-example",

   "favicon": "favicon_asset"

 },

 "owner": "",

 "contact": {

   "name": "",

   "email": ""

 },

 "main": "wss://dcl-project-fsutefbepd.now.sh/",

 "tags": [],

 "scene": {

   "parcels": ["0,0"],

   "base": "0,0"

 },

 "communications": {

   "type": "webrtc",

   "signalling": "https://rendezvous.decentraland.org"

 },

 "policy": {

   "contentRating": "E",

   "fly": true,

   "voiceEnabled": true,

   "blacklist": [],

   "teleportPosition": "0,0,0"

 }

}

编辑scene.json 后,您可以将/scene 文件夹拖到工具栏中的Now 图标上进行部署。

后记

如果您正在使用SDK 构建内容,我们建议您与社区分享! 交互式预览是最佳方式,因为任何人都可以访问它并完整地展示您的工作。 我们还鼓励您在Discord 中发布您的链接,在那里我们拥有一个充满活力的开发人员和艺术家社区,他们会很高兴看到您的作品!

祝开发快乐!

翻译自 decentraland 官方博客 https://decentraland.org/blog/tutorials/developer-tutorial-deploy-and-share-live-scene-previews

相关文章

网友评论

      本文标题:DCL 开发人员教程:部署实时场景预览共享

      本文链接:https://www.haomeiwen.com/subject/ozkboftx.html