【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上开源的项目!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库(四):视图和索引

在数据库管理中,视图和索引是两种关键工具,它们各自发挥独特的作用以优化数据查询和管理。视图通过简化复杂查询、提高数据安全性和提供数据抽象,帮助用户轻松访问数据。而索引则通过加速查询、确保数据唯一性以及优化排序和分组操作&#xf…

哪个牌子充电宝好?好用充电宝排行榜!精选充电宝排行榜

在如今这个科技飞速发展的时代,充电宝已然成为我们日常生活中不可或缺的伴侣。无论是出差旅行,还是日常通勤,我们都离不开它为我们的电子设备保驾护航。然而,面对市场上琳琅满目的充电宝品牌,您是否感到眼花缭乱&#…

ONLYOFFICE 桌面编辑器 8.1 强势来袭:解锁全新PDF编辑、幻灯片优化与本地化体验,立即下载!

目录 一、轻松编辑PDF文件 1.1 编辑文本 1.2 添加、旋转和删除页面 1.3 插入和修改对象 1.4 添加注释和标注 1.5 切换编辑或查看模式 1.6 创建和填写表单 二、用幻灯片版式快速修改幻灯片 2.1 选择或创建幻灯片版式 2.2 应用幻灯片版式 2.3 修改幻灯片版式 2.4 使用…

[经验] candy是什么意思英语翻译 #笔记#其他#职场发展

candy是什么意思英语翻译 1、candy的意思 Candy是英语中的一个词汇,意思是糖果、糖果制品。Candy意为果脯的意思也不是很常见。 糖果是一种富含糖分的食品,主要由砂糖、粘合剂和食用色素等组成。糖果的种类可以很多,有硬糖、软糖、巧克力、…

基于YOLOv8m的水族馆动物识别(附数据集和Coovally操作步骤)

本文主要内容:详细介绍了水族馆动物识别的整个过程,从创建数据集到训练模型再到预测结果全部可视化操作与分析。 文末有数据集获取方式,请先看检测效果 现状 随着水族馆行业的快速发展,对动物识别的需求日益增加。水族馆需要准确识别动物种…

【ARM】PK51如何将BL51链接器切换成LX51链接器

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决客户在使用PK51进行项目研发的时候,想要使用LX51链接器进行使用。 2、 问题场景 客户在使用51芯片进行开发的时候,发现工程中使用的是BL51链接器,而不是LX51链接器&#xff…

selenium前期准备

1. 驱动地址: a. chromedriver:https://googlechromelabs.github.io/chrome-for-testing/ b. https://registry.npmmirror.com/binary.html?pathchromedriver/ 下载好的驱动一般放在Python初始文件夹下,例如:D:\Python3.8 2. selenium原理…

基于SSM+Jsp的校园餐厅管理

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

OpenAI CTO米拉·穆拉提谈未来:AI一年半后达到博士水平

人工智能(AI)领域近年来的发展迅猛,特别是在大语言模型(LLM)的进步上。最近,OpenAI的首席技术官(CTO)米拉穆拉提(Mira Murati)在达特茅斯学院的一次采访中&am…

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息; 智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工…

SpringBoot-注解@PropertiySource读取外部属性文件

ConfigurationProperties和Value两个注解能从配置文件中获取数据,但是前面讲了他们是从全局配置文件中获取,且只能从全局配置文件中获取,那么如果是一些数值类的数据放在全局配置文件里,是不怎么合适的,我们往往会把他…

WPF 深入理解六、ControlTemplate控件模板

ControlTemplate 定义 控件模板用于来定义控件的外观、样式,还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 对与WPF当中,每个控件都是无外观的,这意味着我们可以完全自定义其可视元素的外观,但是不能修改其内部的行为&#xf…

Vue3.3 的 defineOptions 的使用,方便在 setup 语法糖中为组件命名和控制父子属性透传,包含在线运行实例欧

defineOptions 是 Vue3.3 的新的宏&#xff0c;可以通过 defineOptions 宏在 <script setup> 中使用选项式 API&#xff0c;也就是说可以在一个宏函数中设置 name, props, emits, render, 控制是否允许父子非 props 的属性透传等功能。 defineOptions 可以直接在 setup …

读AI新生:破解人机共存密码笔记10人类角色

1. 工作 1.1. 技术性失业问题 1.1.1. 约翰梅纳德凯恩斯&#xff08;John Maynard Keynes&#xff09;在其著名的文章《我们后代在经济上的可能前景》中提出了技术性失业问题 1.1.1.1. 他在1930年写了这篇文章&#xff0c;当时大萧条在英国造成了大规模失业 1.1.2. 那些反对…

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

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

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

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

AIGC发展方向和前景

引言 背景介绍 AIGC的定义及其发展历程 AIGC&#xff0c;即人工智能生成内容&#xff0c;是近年来在人工智能领域兴起的一项重要技术。它通过使用机器学习和深度学习等技术&#xff0c;使得计算机能够自动生成各种形式的数字内容&#xff0c;如文本、图像、音频和视频等。 …

【UIDynamic-动力学-UIAttachmentBehavior-附着行为-弹性附着 Objective-C语言】

一、弹性附着啊,我们来看一下, 1.刚才我们说了刚性附着,弹性附着,怎么着做啊,实际上,只需要多添加两个属性,就可以了, 实际上,添加一个,也可以啊, 我们把这个length,先注释掉, 先注释掉,self.attach.length = 100;这句话, 固定的长度啊,给它注释掉, 然后呢…

vue3中h函数的使用

h函数是用于创建一个 vnodes &#xff0c;它既可以用于创建原生元素&#xff0c;也可以创建组件&#xff0c;其渲染后的效果等同于使用模版语言来进行创建。 h函数的传参如下&#xff1a; // 完整参数签名 function h(type: string | Component,props?: object | null,child…

Docker配置国内镜像加速-2

Docker 官方镜像仓库&#xff08;如 Docker Hub&#xff09;可能由于网络原因&#xff0c;在某些地区或网络环境下下载速度较慢。使用镜像加速可以从距离用户更近、网络条件更好的镜像服务器获取镜像&#xff0c;从而显著提高下载速度&#xff0c;节省时间。 1.测试是否安装 d…