【Decentraland 元宇宙节】10月21-24日 - 多位艺人带来精彩表演
2021-10-14文章 Decentraland元宇宙节将于10月21-24日举办。 Deadmau5、Paris Hilton+特别嘉宾、Nina Nesbitt、3LAU、Alison Wonderland、Aluna(来自AlunaGeorge)以及即将公布更多艺人名单! 10月21日,Decentraland 将在虚拟世界中举办首个为期四天的文化及音会。 Metaverse Festival(元宇宙节)将看到多位音乐明星在由社区开发团队为活动特别创建的五个舞台上带来多元化表演。 以Evolution“进化”为中心主题的庆典将在四天内转变,从第一天的Water(水)开始,然后是Earth(地球)、Space(太空)和Metaverse(元宇宙)。这种变化将在由 Kraken 呈现的主要进化舞台和周围可见。 除了音乐,元宇宙节还设有游乐园和游戏、商品摊位、Metakey VIP 区和迷幻雕塑花园。更多艺术家、功能即将推出请继续关注元宇宙节,更多细节将在未来几天和几周内公布。请查看全新的Metaverse Festival 主页以获取最新消息。它包含完整的阵容、演出时间表、商...
【可穿戴设备计划:与获奖者会面 #2】介绍新的可穿戴设备许可证的获得者
2020-9-11文章 经过一段高压的创作期,以及随后的社区投票,Decentraland 自豪地宣布了传奇可穿戴设备许可证的 10 名获奖者。第一篇文章中介绍了在结果表中排名第 7 至 5 名的作品。Sugar Fashion Yumi 系列Kay,Sugar Club(Decentraland 的原始 OG 俱乐部,自 2019 年起举办活动和派对)的创造者和艺术总监,为虚拟世界带来了亚洲动漫风味。 她的 Yumi 系列是与 Decentralander、区块链爱好者和数字艺术家 Jess 合作创建的,强调女性时尚。它概括了一个年轻女性的风格,她热爱电子音乐、派对、丰富的社交生活,而且总是穿着要杀人。 Yumi Sugar Girl 是 Sugar Club 的吉祥物,并为他们的系列建模,其中包括: • 耳机 • 面具 • 头发 • 两条短裙 • 舞鞋 凭借其标志性的风格和品牌意识,这个系列肯定会引起更大的兴趣,不仅是在以动漫为中心的时尚,而且是元宇宙专有品牌的发展。 查看 Sugar Fashion Team 提交的作品!Sammich Gamer Fashion如果大多数...
【在Decentraland制作视频:提示和技巧】编辑视频的快速提示、技巧及策略
2021-1-14文章 1月8日,Decentraland视频比赛开始了!距离提交作品还有不到一个月的时间,是时候做好准备,使这些卷轴像素完美。 为了帮助加快进度并改善您的拍摄体验,我们希望分享一些制作内置视频时每天都会遇到的技术技巧和窍门。灯光、摄像头、行动!优化图形设置在拍摄任何新视频之前,强烈建议您调整图形设置,以在硬件有限的情况下获得最高的分辨率和渲染质量。 只需单击资源管理器右下角的设置图标,即可拉出您的图形设置,然后开始增加每个设置,直到您看到帧率大幅下降为止。使用全屏模式调整完图形设置后,请不要忘记在全屏模式下拍摄!这样可以节省花费在裁剪浏览器标签或其它可能会使最终视频混乱的其它UI元素上的时间。只需按F11键即可进入全屏模式。隐藏用户界面与仅以全屏模式拍摄一样,隐藏Decentraland的UI(或用户界面)是使您始终专注于主题而不是屏幕周围按钮的好方法。按U切换您的UI显示。使用不同的虚拟化身从不同的角度拍摄这是一种有趣且富有创意的方式,可以拍摄同一场景或虚拟化身的多个视角。使用新的访客虚拟化身在第二个选项卡中打开Decentraland的新实例。导航到与主题相...
Decentraland是一个由区块链驱动的元宇宙,也是第一个完全去中心化、由用户所拥有的虚拟世界。
【Decentraland 元宇宙节】10月21-24日 - 多位艺人带来精彩表演
2021-10-14文章 Decentraland元宇宙节将于10月21-24日举办。 Deadmau5、Paris Hilton+特别嘉宾、Nina Nesbitt、3LAU、Alison Wonderland、Aluna(来自AlunaGeorge)以及即将公布更多艺人名单! 10月21日,Decentraland 将在虚拟世界中举办首个为期四天的文化及音会。 Metaverse Festival(元宇宙节)将看到多位音乐明星在由社区开发团队为活动特别创建的五个舞台上带来多元化表演。 以Evolution“进化”为中心主题的庆典将在四天内转变,从第一天的Water(水)开始,然后是Earth(地球)、Space(太空)和Metaverse(元宇宙)。这种变化将在由 Kraken 呈现的主要进化舞台和周围可见。 除了音乐,元宇宙节还设有游乐园和游戏、商品摊位、Metakey VIP 区和迷幻雕塑花园。更多艺术家、功能即将推出请继续关注元宇宙节,更多细节将在未来几天和几周内公布。请查看全新的Metaverse Festival 主页以获取最新消息。它包含完整的阵容、演出时间表、商...
【可穿戴设备计划:与获奖者会面 #2】介绍新的可穿戴设备许可证的获得者
2020-9-11文章 经过一段高压的创作期,以及随后的社区投票,Decentraland 自豪地宣布了传奇可穿戴设备许可证的 10 名获奖者。第一篇文章中介绍了在结果表中排名第 7 至 5 名的作品。Sugar Fashion Yumi 系列Kay,Sugar Club(Decentraland 的原始 OG 俱乐部,自 2019 年起举办活动和派对)的创造者和艺术总监,为虚拟世界带来了亚洲动漫风味。 她的 Yumi 系列是与 Decentralander、区块链爱好者和数字艺术家 Jess 合作创建的,强调女性时尚。它概括了一个年轻女性的风格,她热爱电子音乐、派对、丰富的社交生活,而且总是穿着要杀人。 Yumi Sugar Girl 是 Sugar Club 的吉祥物,并为他们的系列建模,其中包括: • 耳机 • 面具 • 头发 • 两条短裙 • 舞鞋 凭借其标志性的风格和品牌意识,这个系列肯定会引起更大的兴趣,不仅是在以动漫为中心的时尚,而且是元宇宙专有品牌的发展。 查看 Sugar Fashion Team 提交的作品!Sammich Gamer Fashion如果大多数...
【在Decentraland制作视频:提示和技巧】编辑视频的快速提示、技巧及策略
2021-1-14文章 1月8日,Decentraland视频比赛开始了!距离提交作品还有不到一个月的时间,是时候做好准备,使这些卷轴像素完美。 为了帮助加快进度并改善您的拍摄体验,我们希望分享一些制作内置视频时每天都会遇到的技术技巧和窍门。灯光、摄像头、行动!优化图形设置在拍摄任何新视频之前,强烈建议您调整图形设置,以在硬件有限的情况下获得最高的分辨率和渲染质量。 只需单击资源管理器右下角的设置图标,即可拉出您的图形设置,然后开始增加每个设置,直到您看到帧率大幅下降为止。使用全屏模式调整完图形设置后,请不要忘记在全屏模式下拍摄!这样可以节省花费在裁剪浏览器标签或其它可能会使最终视频混乱的其它UI元素上的时间。只需按F11键即可进入全屏模式。隐藏用户界面与仅以全屏模式拍摄一样,隐藏Decentraland的UI(或用户界面)是使您始终专注于主题而不是屏幕周围按钮的好方法。按U切换您的UI显示。使用不同的虚拟化身从不同的角度拍摄这是一种有趣且富有创意的方式,可以拍摄同一场景或虚拟化身的多个视角。使用新的访客虚拟化身在第二个选项卡中打开Decentraland的新实例。导航到与主题相...
Decentraland是一个由区块链驱动的元宇宙,也是第一个完全去中心化、由用户所拥有的虚拟世界。

Subscribe to Decentraland 中文社区

Subscribe to Decentraland 中文社区
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers

2020-7-14文章
本系列文章将专注于为您提供能够在场景中的玩家之间创建更丰富的共享体验的工具。 Decentraland 是一个社交空间,作为玩家,您可以做的许多最有价值的事情都要求您的行为对其他人可见并且是永久性的。
例如,在之前关于创世纪广场的文章中,我们介绍了如何使用消息总线在同时处于场景中的玩家之间发送 P2P 消息。这是一个非常有用的工具,但它的局限性在于,玩家之间传递的任何信息都会在玩家离开场景后立即消失。 (如果一棵树倒在只使用消息总线的场景中并且周围没有人听到它,它会发出声音吗?)。如果您希望保留此对话以便稍后进入场景的其他玩家可以看到它怎么办?
我们将介绍此类问题和功能,以及您在此过程中会遇到的许多工具。我们感谢从开发的角度来看有更多经验丰富的观众,所以我们将以相对较慢的速度进行 - 在我们认为重要的地方解释概念。
让我们从一个简单的任务开始:从 RESTful API 访问信息。
API 代表应用程序编程接口,REST 代表具象状态传输。 API 是应用程序通过代码与应用程序通信的一种方式,而 RESTful API 是通过遵循 REST 标准来实现的——但你现在真正需要了解的是 HTTP 用于发送信息。
您会惊讶于有多少网页和应用程序拥有自己的 API 来公开 Stuff As A Service,您只需向正确的地址发送 HTTP 请求即可访问这些 API。其中一些服务需要注册密钥,有些甚至需要付费,但其中很多都是免费开放的,只是在等待有人来玩。
查看 Programmable Web 以获取有关现有内容的精彩目录。例如,您可以调用一个问答 API,并免费将问答游戏的整个后端逻辑和内容放在盘子上。您还可以从 Twitter 获取图像以显示在您的场景中,显示来自帐户的最新消息或使用特定主题标签的最新消息。您还可以从 Binance 查询硬币价格、体育赛事的实时数据,以及大量其他可以让 Decentraland 了解“真实”世界事件的信息。
例如,在创世纪广场(东南角)的贸易中心大楼中,我们查询了许多 API 来显示来自加密市场的数据,包括 Binance API、OpenSea API 和我们自己的 Marketplace 中的 API。我们还查询我们的 Marketplace API 以从可穿戴设备大楼上出售的可穿戴设备中获取数据。我们还查询我们的事件 API 以显示当前在中央大楼附近的横幅上直播的任何事件。
让我们看一个返回时间的简单 API。 Decentraland 场景无法访问您计算机的时钟,因为它在自己的沙箱环境中运行,但如果您调用 API,您仍然可以从互联网获取此信息。
这是一个简单的示例场景,它使用来自 API 的数据来告知时间并在特定时间开始派对:github.com/decentraland-scenes/Party-Time
在这个场景中,我们使用 URL https://worldtimeapi.org/api/timezone/etc/gmt+3 向 API 发送请求。由于这是一个简单的 GET 请求,没有标头或任何特殊内容,如果我们只是将 URL 粘贴到浏览器的另一个选项卡中,我们实际上可以看到我们从 API 返回的响应。如果您尝试这样做,您将得到与此类似的回应:
{
"abbreviation": "-03",
"client_ip": "181.167.208.158",
"datetime": "2020-06-03T16:34:28.699908-03:00",
"day_of_week": 3,
"day_of_year": 155,
"dst": false,
"dst_from": null,
"dst_offset": 0,
"dst_until": null,
"raw_offset": -10800,
"timezone": "Etc/GMT+3",
"unixtime": 1591212868,
"utc_datetime": "2020-06-03T19:34:28.699908+00:00",
"utc_offset": "-03:00",
"week_number": 23
}
其它一些 API 需要具有更多花哨元素的请求,例如标头或正文,或者可能使用 POST 或 PUT 方法而不是 GET。发送和测试这些请求的一个很好的工具是 Postman。在开始编写代码作为场景的一部分之前,首先测试要发送的请求始终是一个好习惯。这样您就可以确定您将处理哪些输入和输出。
以下片段取自同一示例场景,浓缩了本文中最重要的内容。如果您有 Web 开发背景,那么您可能对这一切已经很熟悉了,但我们将为那些没有的人详细解释。如果您熟悉这些概念,请随意略过这部分。
async function checkTime() {
let url = 'https://worldtimeapi.org/api/timezone/etc/gmt+3'
try {
let response = await fetch(url)
let json = await response.json()
log(json)
} catch {
log('error getting time data')
}
}
fetch() 函数是 JavaScript 和 TypeScript 中的常用函数,用于向 URL 发送 HTTP 请求。正如您在上面看到的,在其最简单的形式中,您只需向其传递一个 URL 并产生一个 GET 请求——就像您将 URL 写入 Web 浏览器一样。您还可以传递此方法的 HTTP 标头、HTTP 正文、不同的 HTTP 方法等。
在此处阅读有关 fetch 功能的更多信息:developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
大多数 API 将其响应作为 .json 文件返回,该文件可能包含多个字段,其中包含您可能想要访问的数据。挑战在于,您真正收到的响应是包含所有这些信息的字符串,而您的场景不知道将其解释为字段和值的集合。如果您希望能够调用 JSON 结构中的各个值,您首先需要解析它,您可以通过在响应上运行 .json() 函数轻松完成。
一旦我们从 API 获得解析的响应,我们就可以从响应 JSON 中访问不同的元素。例如我们可以得到 json.datetime 或 json.timezone。如果对响应 JSON 的内容有疑问,请使用 Postman 发送模拟请求!
此任务的执行依赖于某处服务器中远处发生的事情。由于我们无法控制它,因此最好始终将调用服务器的代码封装在 Try 语句中。 Catch 语句然后确定在 Try 语句中的某些内容失败的情况下会发生什么。因此,如果我们调用的服务器出现故障,或者他们更改了端点——或者他们只是阻止我们的请求,因为他们出于某种原因对我们不利——我们的代码不会发生灾难性的失败。我们的场景只会耸耸肩,说“随便”,然后继续执行 Catch 语句中的内容,毫不动摇。在上面的示例中,我们的 Catch 语句只是记录一条消息,但它可以做我们需要它做的任何事情来保持节目运行。
如前所述,我们依赖于远程执行的东西,在这种情况下,我们还需要使用 Async 和 Await 语句。我们不知道我们的请求需要多长时间才能到达服务器,得到处理,然后返回给我们。我们不能在等待时让整个执行线程冻结。Async 函数在其自己的线程上异步运行,它做自己的事情,并在场景的其余部分继续前进时花费尽可能多的时间。请注意,我们示例中定义的函数被标记为 async。 Await 语句强制执行在移动到下一行代码之前等待响应。 Await 语句只能在async 代码块中使用,否则你会冻结主线程,这绝不是一个好主意。在上面的示例中,我们需要在 fetch() 函数中添加一个 await,以便我们在处理它之前等待它的响应。如果没有第一次await,那么 fetch() 函数将在其自己的单独线程中等待响应,同时我们会尝试在获得响应之前读取它的响应。 response.json() 上的 await 也是如此,因为消息的解析也是通常在其自己的线程中发生的事情,并且可能需要一些时间。否则我们会在解析之前尝试记录一些东西。
这是另一个简单的例子,取自你可以在 Genesis Plaza 找到的东西。该场景查看 Decentraland 活动 API 并显示当前在布告板上的所有活动,显示它们的标题、位置和图像。如果有多个现场活动,则布告板将循环通过它们。也可以单击板直接传送到活动的坐标。
github.com/decentraland-scenes/Events-API
选择您常用的频道加入与我们联系,关注Decentraland(MANA)的最新动态
DCL基金会全球社区: 【Official Website】 【Telegram】 【Blog】 【Twitter】 【Discord】
DCL中文社区: 【电报群】 【推特】 【微博】 【微信群】请加微信ID ChinWaan 【微信公众号】manalandcn

2020-7-14文章
本系列文章将专注于为您提供能够在场景中的玩家之间创建更丰富的共享体验的工具。 Decentraland 是一个社交空间,作为玩家,您可以做的许多最有价值的事情都要求您的行为对其他人可见并且是永久性的。
例如,在之前关于创世纪广场的文章中,我们介绍了如何使用消息总线在同时处于场景中的玩家之间发送 P2P 消息。这是一个非常有用的工具,但它的局限性在于,玩家之间传递的任何信息都会在玩家离开场景后立即消失。 (如果一棵树倒在只使用消息总线的场景中并且周围没有人听到它,它会发出声音吗?)。如果您希望保留此对话以便稍后进入场景的其他玩家可以看到它怎么办?
我们将介绍此类问题和功能,以及您在此过程中会遇到的许多工具。我们感谢从开发的角度来看有更多经验丰富的观众,所以我们将以相对较慢的速度进行 - 在我们认为重要的地方解释概念。
让我们从一个简单的任务开始:从 RESTful API 访问信息。
API 代表应用程序编程接口,REST 代表具象状态传输。 API 是应用程序通过代码与应用程序通信的一种方式,而 RESTful API 是通过遵循 REST 标准来实现的——但你现在真正需要了解的是 HTTP 用于发送信息。
您会惊讶于有多少网页和应用程序拥有自己的 API 来公开 Stuff As A Service,您只需向正确的地址发送 HTTP 请求即可访问这些 API。其中一些服务需要注册密钥,有些甚至需要付费,但其中很多都是免费开放的,只是在等待有人来玩。
查看 Programmable Web 以获取有关现有内容的精彩目录。例如,您可以调用一个问答 API,并免费将问答游戏的整个后端逻辑和内容放在盘子上。您还可以从 Twitter 获取图像以显示在您的场景中,显示来自帐户的最新消息或使用特定主题标签的最新消息。您还可以从 Binance 查询硬币价格、体育赛事的实时数据,以及大量其他可以让 Decentraland 了解“真实”世界事件的信息。
例如,在创世纪广场(东南角)的贸易中心大楼中,我们查询了许多 API 来显示来自加密市场的数据,包括 Binance API、OpenSea API 和我们自己的 Marketplace 中的 API。我们还查询我们的 Marketplace API 以从可穿戴设备大楼上出售的可穿戴设备中获取数据。我们还查询我们的事件 API 以显示当前在中央大楼附近的横幅上直播的任何事件。
让我们看一个返回时间的简单 API。 Decentraland 场景无法访问您计算机的时钟,因为它在自己的沙箱环境中运行,但如果您调用 API,您仍然可以从互联网获取此信息。
这是一个简单的示例场景,它使用来自 API 的数据来告知时间并在特定时间开始派对:github.com/decentraland-scenes/Party-Time
在这个场景中,我们使用 URL https://worldtimeapi.org/api/timezone/etc/gmt+3 向 API 发送请求。由于这是一个简单的 GET 请求,没有标头或任何特殊内容,如果我们只是将 URL 粘贴到浏览器的另一个选项卡中,我们实际上可以看到我们从 API 返回的响应。如果您尝试这样做,您将得到与此类似的回应:
{
"abbreviation": "-03",
"client_ip": "181.167.208.158",
"datetime": "2020-06-03T16:34:28.699908-03:00",
"day_of_week": 3,
"day_of_year": 155,
"dst": false,
"dst_from": null,
"dst_offset": 0,
"dst_until": null,
"raw_offset": -10800,
"timezone": "Etc/GMT+3",
"unixtime": 1591212868,
"utc_datetime": "2020-06-03T19:34:28.699908+00:00",
"utc_offset": "-03:00",
"week_number": 23
}
其它一些 API 需要具有更多花哨元素的请求,例如标头或正文,或者可能使用 POST 或 PUT 方法而不是 GET。发送和测试这些请求的一个很好的工具是 Postman。在开始编写代码作为场景的一部分之前,首先测试要发送的请求始终是一个好习惯。这样您就可以确定您将处理哪些输入和输出。
以下片段取自同一示例场景,浓缩了本文中最重要的内容。如果您有 Web 开发背景,那么您可能对这一切已经很熟悉了,但我们将为那些没有的人详细解释。如果您熟悉这些概念,请随意略过这部分。
async function checkTime() {
let url = 'https://worldtimeapi.org/api/timezone/etc/gmt+3'
try {
let response = await fetch(url)
let json = await response.json()
log(json)
} catch {
log('error getting time data')
}
}
fetch() 函数是 JavaScript 和 TypeScript 中的常用函数,用于向 URL 发送 HTTP 请求。正如您在上面看到的,在其最简单的形式中,您只需向其传递一个 URL 并产生一个 GET 请求——就像您将 URL 写入 Web 浏览器一样。您还可以传递此方法的 HTTP 标头、HTTP 正文、不同的 HTTP 方法等。
在此处阅读有关 fetch 功能的更多信息:developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
大多数 API 将其响应作为 .json 文件返回,该文件可能包含多个字段,其中包含您可能想要访问的数据。挑战在于,您真正收到的响应是包含所有这些信息的字符串,而您的场景不知道将其解释为字段和值的集合。如果您希望能够调用 JSON 结构中的各个值,您首先需要解析它,您可以通过在响应上运行 .json() 函数轻松完成。
一旦我们从 API 获得解析的响应,我们就可以从响应 JSON 中访问不同的元素。例如我们可以得到 json.datetime 或 json.timezone。如果对响应 JSON 的内容有疑问,请使用 Postman 发送模拟请求!
此任务的执行依赖于某处服务器中远处发生的事情。由于我们无法控制它,因此最好始终将调用服务器的代码封装在 Try 语句中。 Catch 语句然后确定在 Try 语句中的某些内容失败的情况下会发生什么。因此,如果我们调用的服务器出现故障,或者他们更改了端点——或者他们只是阻止我们的请求,因为他们出于某种原因对我们不利——我们的代码不会发生灾难性的失败。我们的场景只会耸耸肩,说“随便”,然后继续执行 Catch 语句中的内容,毫不动摇。在上面的示例中,我们的 Catch 语句只是记录一条消息,但它可以做我们需要它做的任何事情来保持节目运行。
如前所述,我们依赖于远程执行的东西,在这种情况下,我们还需要使用 Async 和 Await 语句。我们不知道我们的请求需要多长时间才能到达服务器,得到处理,然后返回给我们。我们不能在等待时让整个执行线程冻结。Async 函数在其自己的线程上异步运行,它做自己的事情,并在场景的其余部分继续前进时花费尽可能多的时间。请注意,我们示例中定义的函数被标记为 async。 Await 语句强制执行在移动到下一行代码之前等待响应。 Await 语句只能在async 代码块中使用,否则你会冻结主线程,这绝不是一个好主意。在上面的示例中,我们需要在 fetch() 函数中添加一个 await,以便我们在处理它之前等待它的响应。如果没有第一次await,那么 fetch() 函数将在其自己的单独线程中等待响应,同时我们会尝试在获得响应之前读取它的响应。 response.json() 上的 await 也是如此,因为消息的解析也是通常在其自己的线程中发生的事情,并且可能需要一些时间。否则我们会在解析之前尝试记录一些东西。
这是另一个简单的例子,取自你可以在 Genesis Plaza 找到的东西。该场景查看 Decentraland 活动 API 并显示当前在布告板上的所有活动,显示它们的标题、位置和图像。如果有多个现场活动,则布告板将循环通过它们。也可以单击板直接传送到活动的坐标。
github.com/decentraland-scenes/Events-API
选择您常用的频道加入与我们联系,关注Decentraland(MANA)的最新动态
DCL基金会全球社区: 【Official Website】 【Telegram】 【Blog】 【Twitter】 【Discord】
DCL中文社区: 【电报群】 【推特】 【微博】 【微信群】请加微信ID ChinWaan 【微信公众号】manalandcn
No activity yet