【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第47课-动态切换内嵌blender展厅的壁画

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第47课-动态切换内嵌blender展厅的壁画

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

下面分为几步介绍,如何基于dtns.network智体世界引擎实现乔布斯3D纪念馆的碟状总部的内嵌blender展厅的壁画的动态切换。使用云盘cd实现对壁画文件的管理、添加、删除等,可以实时动态的变更blender展厅的壁画。从而通过简单方便的功能实现了对3D纪念馆的内容的实时管理。让3D展厅,除了固定的3D摆件形象之外,还能拥有更加强大的网络通讯、3D摆件内容或3D场景实时管理和更换功能,方便了3D场景的管理。

期间,为了实现内嵌blender展厅的内容变换,我们调用了dtns-api:/clouddisk/folder/files,实现了云般cd(clouddisk)的文件夹所有文件的查询功能。并且使用了$.g_3d_object_texture_image_set动态设置了blender展厅的壁画的图片纹理。从而实现了3D场馆的壁画的动态切换。

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

1.png

注:找到标题为“3D纪念馆-加载3D模型的json文件作为3D玩家形象”的xverse轻应用。

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

2.png

注:因为每一个xverse轻应用均是以xverse.json的方式进行源码级应用的分享的。故每一个社区用户均可通过编辑xverse轻应用源码来实现DIY和定制。

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

3.png

注:点击前言的blender展厅的墙体,在右侧的属性面板中找到脚本-编辑。

第四步:编辑墙体3D组件的poplang代码

4.png

注:首先使用/clouddisk/folder/files的dtns-api实现了查询文件夹ID:obj_folder*的文件列表。并且使用object.get和array.get指令,循环遍历了所有的文件-以使到图片纹理的文件ID(保存在val中),然后通过$.g_3d_object_texture_image_set来将所有的draw1-draw13的壁画的图片纹理全部动态设置为云文件夹dfolder的图片文件ID(只要将该文件夹的图片进行变更,就能实现了3D展馆内置blender展厅的壁画的动态切换——后台管理使用简单方便)

第五步:点击顶部菜单“视频”玩家视角(关闭),以便以俯视视角查看和更新内嵌blender展厅的壁画的材质属性

5.png

以俯视方式找到第一个draw1的壁画,进行ID的更新(先将材质设置为其它,再变更回来STANDARDMETARIAL材质,并勾选中贴图)

6.png

如上图所示:将识别码ID更新为新的,以便动态设置该壁画的贴图,不会影响关联的壁画(因导入该blender展厅,会默认使用同一个材质属性和识别码ID,导致api变更贴图会全部一个样)

然后每一个draw2-draw13均完成如draw1壁画一样的材质更新识别码ID的操作(如下图所示)

7.png

注:千万不要忘记将贴图勾选选中(否则无法显示图片贴图)

然后将视角切换回blender展厅门前,点击顶部菜单“视图”玩家视角(启用)

8.png

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

9.png

第六步:将新的头榜标题设置为“3D纪念馆-动态切换内置blender展厅的壁画”,点击右上角确认完成头榜发布

10.png

注:标题为xmsg,不能误删除“”双引号,否则会发布失败——仅修改xmsg属性的文字内容即可。

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

11.png

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

第八步:进入3D轻应用后,我们控制底中部的滚动玩控制玩家移动,并进入到内嵌的blender展厅中(可看到加载了云盘文件夹的图片)

12.png

通过滚动球控制玩家视角向前移动,向着内嵌的blender展厅的门口进发并进入到blender展厅中(如下图所示)

13.png

注:我们看到,已经实现了壁画的动态加载(加载了云盘中的图片文件列表)

第九步:回到首页、点击智体IB、输入cd进入到云盘“vrgallery”云文件夹,删除掉前3图图片,可看到blender内置展厅的壁画发生了改变

14.png

删除前3张图片

15.png

重新进入到内嵌的blender展厅(如下图所示)

16.png

我们看到,刚才的前3张壁画已经发生了变更,并且再继续往前走,可以看到所有的壁画均加载为云盘dfolder中的图片文件列表(如下图所示)

17.png

注:整个加载效果非常不错,非常简单地通过云盘dfolder实现了内嵌blender展厅的壁画切换(对于其它的3D摆件,动态变更纹理贴图内置亦可采用同样的做法——即使用dtns-api实现3D场馆内容的切换。

通过上述9步,我们成功完成了《乔布斯3D纪念馆》的飞碟形态的3D纪念馆的内嵌blender展厅的壁画的图片纹理的动态切换。展示了使用dtns-api查询云盘图片文件列表,并采用poplang的指令随时变更3D场馆内容的能力,从而极大程度上使得3D场景内容拥有无限的后台管理的能力和可能性,使得3D纪念馆的经营者,可以随时所欲、随时随地的变更3D场景内容,实现内容的按需、按时刷新。

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

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

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

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

相关文章

驾照减分考试搜题软件?分享四个可以搜答案的软件 #其他#笔记#经验分享

大学生们可以通过使用搜题软件,快速找到自己遇到的问题的答案,提高学习效率,以下分享各类型的供大家学习。 1.彩虹搜题 这是个微信公众号 学生或者是成年人使用非常广的一款学习应用软件,里面包含了各行各业的海量题库&#xf…

QT实现QGraphicsView绘图 重写QGraphicsSvgItem类实现边框动画

目录导读 简述使用 QTimer 实现 QGraphicsSvgItem 边框动画效果 简述 在了解学习WPS的流程图的时候,发现它这个选择图元有个动态边框效果,而且连接线还会根据线生成点从头移动到尾的动画。像这种: 在QML中实现这种动画属性很简单&#xff0…

晨持绪科技:开好一家抖音小店运营怎么做

在数字时代,抖音小店以其独特的社交媒体优势迅速崛起,成为许多创业者的新宠。但如何有效运营,却是一门学问。首要任务是确定你的小店定位,这关系到后续的产品选择、目标客户群及营销策略。定位明确后,接下来便是挑选适…

Spring框架学习笔记(本地印象笔记搬运)(整理中)

1、背景 Spring作为Java Web开发使用最频繁的框架,具有非常高的学习价值,在Spring框架源码中包含了很多设计模式(单例、原型、代理、观察者等),读懂这些源码有助于拓宽开发思路,同时也能提高后端排查错误的…

win10免安装配置MySQL8.4.0

注:此教程基于win10 22H2 版本 1、下载最新版本MySQL压缩包 下载链接:MySQL官网下载地址 点击第二行的 ZIP Archive 后面的Download(当前时间2024-06-19最新版本是8.4.0) 2、解压并添加配置文件 下载完毕后,解压缩…

Java程序之可爱的小兔兔

题目: 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,…

【数据结构与算法】Dijkstra算法、Floyd算法

文章目录 最短路径Dijkstra算法实现 Floyd算法实现 最短路径 前文提到,对于不带权图来说,BFS可以解决最短路径问题,因为它是类似于树的层次遍历那样,同一个结点的后继的访问顺序相邻,这使得BFS首次访问结点时的路径必…

CCRC-DSO数据安全官和CCRC-DSA数据安全评估师的差异

在当前时代背景下,随着中国数据安全政策的加速推进和相关法律法规的密集发布,对数据资产进行全生命周期的安全管控变得日益迫切。 这不仅成为企业可持续发展的必要条件,也引发了广泛的关注于数据安全相关的专业培训及认证领域。 在此环境下&a…

PS系统教程26

PS与BR的关系 如何把图片以图层的方式导入画板里面 选中三张图片/多张选择工具-PS-将文件载入PS图层意味着这三张图片以图层的方式嵌入PS中 拼接长图 裁剪图片 保存裁剪后的图片拼接图片选中要拼接的图片选择工具-PS-Photomerge(拼合图像) 图像处理器 大白话&…

对撞指针技巧

对撞指针技巧 我们以LeetCode的一道题目来讲解一下对撞指针; LeetCode第27题移除元素,链接如下: https://leetcode.cn/problems/remove-element 如果使用快慢指针 如果使用快慢指针,将会有大量的后面元素赋值给前面元素的操作…

Open3D 点云随机下采样至指定数目

目录 一、背景 二、代码实现 2.1 关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2下采样后点云 3.3数据对比 一、背景 在Open3D中,如果你想将点云随机采样到固定的点数,可以使用random_down_sample 函数并计算相应的采样比例。以下是如何实现…

MySQL数据库(五):事务

MySQL数据库中的事务是一种用来保证一系列操作要么全部成功,要么全部取消的机制。想象一下你去超市购物,拿了很多商品,如果中途发现没带钱包,你可以放弃这次购买,所有商品会回到原位。通过事务,可以确保数据…

感恩父爱 健康同行 宁夏康源父亲节特惠普查

父亲,是那道坚实的屏障,为孩子们挡风遮雨。父亲,是那颗明亮的灯塔,为孩子们指明前进的方向。然而岁月无情,随着年龄的增长,曾经为我们遮风挡雨的父亲如今也逐渐进入了各种疾病的高发期。感恩父爱&#xff0…

linux下进度条的实现

一、代码一版 使用模块化编程 1.processbar.h #include<stdio.h> #define capacity 101 //常量使用宏定义 #define style //符号方便后续修改 extern void processbar();修饰变量的时候一定要带extern&#xff0c;修饰函数的时候可以省略&#xff0c;因为没有函数体就…

FLASH仿真EEPROM---基于智芯Z20K11XM

一、介绍 电可擦和可编程只读存储器(EEPROM)可以对字节或字编程和擦除。EEPROM中的数据即使断电也能保持&#xff0c;但Z20K1xx芯片不含EEPROM。然而&#xff0c;闪存可以通过EEPROM仿真软件来模拟EEPROM。Z20K1xx包含两个flash阵列。编程和擦除操作可以在一个数组上进行&#…

华为200人园区网有线和无线

实验描述&#xff1a; 1 内网有有线业务、内部无线、外部无线三种业误。 2 内网服务器配置静态IP&#xff0c;网关192.168.108.1。 3 sW1和R1之间使用v1an200 192.168.200.9/30 互联。 4 R2向运营商申请企业宽带并获得了1个固定公网IP&#xff1a; 200.1.1.1 子网掩码 255.255.…

双目相机测距原理

一、普通双目相机测距原理 普通双目相机具有如下特点&#xff1a;左右两个相机位于同一平面&#xff08;光轴平行&#xff09;&#xff0c;且相机参数&#xff08;焦距f&#xff09;一致。其原理图如下&#xff1a; 如图所示&#xff0c;P点为相应的物体位置&#xff0c;CL和C…

Java面试八股之JVM参数-XX:+UseCompressedOops的作用

JVM参数-XX:UseCompressedOops的作用 JVM参数-XX:UseCompressedOops的作用是启用对象指针压缩&#xff08;Ordinary Object Pointers compression&#xff09;。这一特性主要应用于64位的Java虚拟机中&#xff0c;目的是为了减少内存使用。在传统的64位系统中&#xff0c;对象…

分配自定义内存对齐的内存块的aligned_malloc实现分析

malloc一般使用当前平台默认的最大内存对齐数对齐内存&#xff0c;如MSVC在32bit下一般是8bit对齐&#xff1b;64位下则是16bit。这样对常规的数据来说没有问题。但如果我们自定义的内存对齐超出了这个范围&#xff0c;则不能直接使用malloc。当我们要分配一块具有特定内存对齐…

【乐吾乐2D可视化组态编辑器】图表动态显示

1. 添加数据 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 图表动态展示是指一个图表图元的数据属性&#xff08;一般是dataY&#xff09;绑定多个变量&#xff0c;建立通信后数据动态变化展示。 官网默认Echarts图表拖拽到画布中是已经添加了图元的da…