【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第40课-实时订阅后端数据

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第40课-实时订阅后端数据

使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!并且支持使用内置的poplang智体编程语言实现3D组件的智能化编程——语法超简单,一句话语法,人人轻松上手!

下面分为几步介绍,如何基于dtns.network智体世界引擎如何实现乔布斯3D纪念馆的碟状总部的实时订阅后端数据并通过精灵3D组件显示出来(显示为文字纹理)。从而首次实现了前后端的实时联动功能。这个可以结合后端的强大的多用户互动功能,实现强大的多用户联机互动能力。或者类游戏的实时场景更新能力。并且运用在诸多的3D展厅、3D纪念馆中,实现节假日的实时活动更新、3D场景内容更新等的联机更新功能等。

我们先使用了订阅后端数据的api接口/rtchannel/focus?channel=rtcode-channel,ib3.event.bus.on实现了实时数据的前端事件总线的频道订阅(以便在poplang代码中接收到后端实时传递过来的实时订阅数据)。

期间,我们通过 . g 3 d o b j e c t t e x t u r e i m a g e s e t 实现了 3 D 组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用 .g_3d_object_texture_image_set实现了3D组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用 .g3dobjecttextureimageset实现了3D组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用.g_3d_create_text_image实现将文字转为图片(base64编码),以便在纹理设置指令中使用它。最后使用了3d_stop监听xverse-3D轻应用的关闭或退出,并使用/rtchannel/unfocus?channel=rtcode-channel解绑后端实时数据的订阅。并使用ib3.event.bus.remove来解绑前端的事件总线。

第一步:打开头榜页面,找到3D纪念馆xverse轻应用

1.png

注:找到标题为“3D纪念馆-时间通知-按秒刷新”的xverse轻应用。

第二步:点击右上角…进入头榜编辑器

2.png

第三步:点击正面的“编辑xverse轻应用源码”,进入3D场馆编辑器

3.png

注:点击顶部菜单“文件”导入3D精灵组件(已带有on文字图片的贴图)——通过该功能,我们能体验到xverse轻应用支持poplang智体3D组件以*.json文件的方式进行用户间的共享。可以将各种各样的3D智体组件,以组件市场或插件市场的方式提供社区用户。并且通过开源开放的形式,帮助更多的社区用户构建自己的3D场景应用或3D纪念馆。并实现复杂且多变的能力和功能,满足各种各样的场景互动需求。

第四步:成功导入3D精灵组件

4.png

注:通过左上角的组件控制器,可以实现该精灵3D组件与左侧的3D精灵组件实现等高(或者在右侧的属性面板的位置中直接复制Y轴高度亦可)。

第五步:点击属性面板右下角的“脚本”-编辑,编辑poplang代码

5.png

注:使用了订阅后端数据的api接口/rtchannel/focus?channel=rtcode-channel,ib3.event.bus.on实现了实时数据的前端事件总线的频道订阅(以便在poplang代码中接收到后端实时传递过来的实时订阅数据)。

期间,我们通过 . g 3 d o b j e c t t e x t u r e i m a g e s e t 实现了 3 D 组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用 .g_3d_object_texture_image_set实现了3D组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用 .g3dobjecttextureimageset实现了3D组件的纹理贴图设置功能(可设置图片或文字贴图图片),并可使用.g_3d_create_text_image实现将文字转为图片(base64编码),以便在纹理设置指令中使用它。最后使用了3d_stop监听xverse-3D轻应用的关闭或退出,并使用/rtchannel/unfocus?channel=rtcode-channel解绑后端实时数据的订阅。并使用ib3.event.bus.remove来解绑前端的事件总线。

第六步:顶部菜单“启动(自由视角)”进行xverse轻应用的预览

6.png

注:在启动(自由视角)——玩家预览模式后,我们看到了实时更新的rtcode_*的数据ID在新增的3D精灵组件上显示了(文字贴图)。该文字贴图每3秒会随后端推送的实时数据变化一次。

第七步:点击顶部菜单“文件”推送头榜(作品),将此3D纪念馆以xverse轻应用方式分享给其他用户

7.png

第八步:将新的头榜标题设置为“3D纪念馆-订阅后端实时返回的数据”,点击右上角确认完成头榜发布

8.png

第九步:找到刚发布的xverse轻应用头榜,点击进入3D场景游览器

9.png

注:轻轻一点击,即可进入体验刚发布好的xverse-3D轻应用(智体应用),我们相当于可以无限地分享和裂变这个开源的3D轻应用(智体应用)。这样大家便可以按自己的需求,轻松的修改和定制这些动画的源码模板了。可以形成自己的故事、自己的动画、自己的3D场馆、自己的3D互动剧情等等。随心所欲地发挥,所以智体世界、智体OS也相当于【元宇宙】【开放世界】!

第十步:进入3D轻应用后,我们控制底中部的滚动玩控制玩家移动,使得正对着刚才的3D精灵组件,可看到实时刷新的后端rtcode-id

10.png

每经过3秒,会自动刷新rtcode-id(如下图所示)

11.png

注:这个rtcode-id事实上是插件“看得准”游戏插件返回的验证码ID(通过输入验证码来消除验证码图片,获得积分奖励)

通过上述10步,我们成功完成了《乔布斯3D纪念馆》的飞碟形态的3D纪念馆的实时订阅后端返回的数据,并通过精灵3D组件显示文字图片纹理(以显示出来,并3秒完成一次后端返回数据的实时同步更新)。通过前后端的联机互动,可以帮助3D场馆实现更复杂的多人联机互动功能。并有助于动态更新3D纪念馆或3D场馆的实时场景。以更强大并且丰富的poplang智体组件编程能力,为多种应用场景提供强化的互动能力。

我们也看到了poplang智体编程语言的强大能量,一两行简单的指令,即可完成复杂的3D互动的交互效果、音效效果的开发。并且通过xverse-json源文件(3D轻应用)的方式进行社区分享,使得开源开放、公开透明的3D场馆的设计,能被大家更多的学习和继承,达到互动学习、互动成长的目的。这也是智体OS、智体互动式教育-学习的目标。

注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/708347.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

程序员要学会偷懒--excel转建表语句

如下需求:一个复杂的统战系统,用户信息字段总共有26个sheet,54张小表,没有什么复杂的业务逻辑,纯增删改查。字段目测在1000个以上。建表54张。领导交待了一句这周末完成,我??&#x…

【数组】【快慢双指针】删除有序数组中的重复项+移除元素+删除有序数组中的重复项II

今天趁热打铁&#xff0c;接着刷了几道标签是【数组】的题&#xff0c;基本都是双指针就能解决。 1、删除有序数组中的重复项 该题对应力扣网址 class Solution { public:int removeDuplicates(vector<int>& nums) {int i,j;int count 0;int n nums.size();nums.…

vue3+ Element-Plus 点击勾选框往input中动态添加多个tag

实现效果&#xff1a; template&#xff1a; <!--产品白名单--><div class"con-item" v-if"current 0"><el-form-item label"平台名称"><div class"contaion" click"onclick"><!-- 生成的标签 …

下载NVIDIA官网的培训视频,生成中文字幕和PPT

下载NVIDIA官网的培训视频,生成中文字幕和PPT 一.[视频网站](https://www.nvidia.cn/on-demand/session/gtc24-s62129/)二.如何获取视频的原始链接三.下载视频的脚本【生成output.mp4】四.安装whisper环境【语音识别生成英文字幕】五.下载whisper模型六.生成英文字幕【输出merg…

解决微调后的模型导入ollama后出现”胡言乱语“情况

解决微调后的模型导入ollama后出现”胡言乱语“情况 先说结论&#xff0c;出现该问题的原因主要是因为Modelfile文件没有配置好。 这个是ModelFile文件的配置&#xff0c;第一行的from为要用的模型地址。 # sets the temperature to 1 [higher is more creative, lower is mo…

陪诊小程序开发,陪诊师在线接单

近几年&#xff0c;陪诊师成为了一个新兴行业&#xff0c;在科技时代中&#xff0c;陪诊小程序作为互联网下的产物&#xff0c;为陪诊市场带来了更多的便利。 当下生活压力大&#xff0c;老龄化逐渐严重&#xff0c;年轻人很难做到陪同家属看病。此外&#xff0c;就诊中出现了…

Vue3项目中Pinia使用详解

开篇 本文的目的是创建一个使用typescript的vue3项目&#xff0c;并使用pinia来管理状态。 详细步骤 创建项目 创建vue3项目&#xff0c;并使用vite作为打包工具 npm create vitelatest vue3_pinia // 选择vue,随后选择typesript进入项目&#xff0c;并按照依赖包 cd vue3_…

植物大战僵尸(杂交版)最新版V2.1来袭!

【新手指导】最新版v2.1来袭 1.闪退怎么办&#xff1f; 答:窗口模式可以解决大部分问题。输入法转换成英文也可以。最后一种办法管理员运行&#xff0c;再后台可运行&#xff0c;即便不是窗口也不会闪退&#xff0c;亲测有效 2.哪里下载&#xff1f; 答&#xff1a;夸克网盘htt…

OrangePi AIpro测评:性能、应用与开发者体验解析

一、OrangePi AIpro介绍 OrangePi AIpro(8T)采用昇腾AI技术路线&#xff0c;具体为4核64位处理器AI处理器&#xff0c;集成图形处理器&#xff0c;支持8TOPS AI算力&#xff0c;拥有8GB/16GB LPDDR4X&#xff0c;可以外接32GB/64GB/128GB/256GB eMMC模块&#xff0c;支持双4K高…

学习ZYNQ——使用IP核

文章目录 [TOC](文章目录) 前言一、新建Vivado工程二、使用IP核1.加载IP2.查看IP核3.应用IP核 三、添加源文件1.led.v2.约束文件pin_led.xdc 四、综合、运行程序 前言 加载前面使用HLS生成的IP核&#xff0c;实现LED灯的闪烁&#xff0c;熟悉整套流程的步骤&#xff1a; 前一篇…

关于对pagination.js源代码进行修改且引入项目使用

实现效果 使用定时器对组件进行每秒请求&#xff0c;每过固定时间之后&#xff0c;进行下一页项目请求&#xff0c;进行到最后一页请求的时候返回第一页。 首先引入js插件 <script src"./js/pagination.js" type"text/javascript"></script>…

NAND flash测试-雷龙发展

文章目录 一、简介 二、速度测试 最近比较忙&#xff0c;也一直没空发什么文章&#xff0c;这算是新年第一篇吧&#xff0c;正好最近收到了一个雷龙的flash芯片&#xff0c;先拿来玩一下吧。 有兴趣的小伙伴可以去雷龙官网找小姐姐领取一个免费试用。 一、简介 大概样子就是上面…

大模型企业落地:汽车行业知识大模型应用

前言 在当今这个信息爆炸的时代&#xff0c;知识管理成为了企业提升核心竞争力的关键。特别是在汽车行业这样一个技术密集、信息量庞大的领域&#xff0c;如何高效管理和利用知识资源&#xff0c;成为了每个企业必须面对的挑战。 汽车行业的知识管理痛点 汽车行业作为现代工…

RCD负载箱:电力系统的安全保障

在电力系统中&#xff0c;负载箱是一种重要的设备&#xff0c;它的主要功能是模拟实际的电力负载&#xff0c;以便对电力系统进行各种性能测试和分析。RCD负载箱一种特殊类型的负载箱&#xff0c;它具有剩余电流保护功能&#xff0c;可以有效地防止电气火灾和电击事故的发生&am…

基于Spring Boot的智能分析平台

项目介绍&#xff1a; 智能分析平台实现了用户导入需要分析的原始数据集后&#xff0c;利用AI自动生成可视化图表和分析结论&#xff0c;改善了传统BI系统需要用户具备相关数据分析技能的问题。该项目使用到的技术是SSMSpring Boot、redis、rabbitMq、mysql等。在项目中&#…

工业 UI 风格,展现独特魅力

工业 UI 风格&#xff0c;展现独特魅力

Facebook:数字时代的文化交流平台

在当今信息爆炸的数字时代&#xff0c;Facebook已经成为了一个不可或缺的社交媒体平台&#xff0c;不仅在个人生活中起到了联系社交的作用&#xff0c;更在全球范围内促进了文化交流和理解。本文将深入探讨Facebook作为文化交流平台的重要性&#xff0c;并分析其在数字时代如何…

C++面向对象程序设计 - 命名空间

命名空间是ANSI C引入的可以由用户命名的作用域&#xff0c;用来处理程序中常见的同名冲突。 在C语言中定义了三个层次的作用域&#xff0c;即文件&#xff08;编译单元&#xff09;、函数和复合语句。C又引入了类作用域&#xff0c;类是出现在文件内的。在不同的作用域中可以定…

vue代办事件案例实战练习,配有答案解析

代办事件案例 该案例&#xff0c;综合了前面所学的知识&#xff0c;列入点击事件绑定&#xff0c;双向绑定&#xff0c;v-for循环语句&#xff0c;v-model双向绑定&#xff0c;以及input标签的不同type形式。 演示代码如下&#xff1a; <template > <div id"ku…