【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第20课-烟花插件

本文主要是介绍【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第20课-烟花插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第20课-烟花插件

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

下面分为几步介绍,如何基于dtns.network智体世界引擎如何实现乔布斯3D纪念馆的碟状总部的展览馆摆件的摆件点击燃放烟花的动画特效。烟花插件在3D纪念馆中可以免费使用或付费购买插件后使用(后续教程会介绍),可形成插件商店和插件开发者生态。

该《烟花插件》采用开源的js-canvas绘制燃放烟花的特效。通过dtns.plugin(基于vue2版本构建《烟花插件》),通过npm build lib编译生成index.js,将index.js和index.json配置文件,压缩生成dpkg的类似小程序安装包的插件。

第一步:打开头榜页面,点击右上角+号

1.png

第二步:进入发布头榜页面,上传烟花插件.dpkg文件,头榜标题设为“烟花插件”

2.png

点击右上角“确认”按钮,成功发布烟花插件头榜内容。

第三步:在头榜页面,找到刚发布的“烟花插件”头榜

3.png

点击烟花插件的dpkg文件,预览该烟花插件(如下图所示)

4.png

查看烟花燃放动画效果正常使用;通过游览器的返回键,返回头榜。

第四步:点击“烟花插件”头榜的右上角…,进入头榜内容编辑器

5.png

进入头榜编辑器(如下图所示)

6.png

注:通过复制形为obj_file*的烟花插件文件ID,以便在后续的poplang智体编程脚本代码中使用它。

第五步:在头榜页面,找到《乔布斯3D纪念馆》xverse应用

7.png

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

8.png

第七步:再点击中下部的“编辑xverse轻应用源码”按钮,进入3D场景编辑器(如下图所示)

9.png

注:通过底部中间位置的滚动球,控制视角为《乔布斯传》3D摆件的正前方。

第八步:点击《乔布斯传》3D摆件,滚动右侧属性面板至最下方,点击【脚本】编辑按钮,打开poplang智体编程脚本编辑器

10.png

注:使用ib3.file.go obj_file* noflag来预加载烟花插件,并使用$.g_firework_onload来实现烟花插件的动画播放(封装在onclick函数中,点击该3D摆件时会调用燃放烟花插件的播放代码)。

第九步:点击顶部菜单【文件】推送头榜(作品),将该xverse轻应用json源码分享至头榜

11.png

第十步:点击推送头榜(作品),进入发送头榜页面,编辑xmsg标题为“乔布斯3D纪念馆-烟花插件”

12.png

注:点击右上角“确认”按钮,成功发布头榜。

第十一步:在头榜页面,找到“乔布斯3D纪念馆-烟花插件”的xverse 3d应用

13.png

注:点击该xverse轻应用,进入3D.player场景应用。

第十二步:点击该xverse轻应用,进入3D.player场景应用。

14.png

注:通过滚动球控制视角,使得烟花插件播放的摆件《乔布斯传》置于视野合适位置。

第十三步:点击《乔布斯传》3D摆件,实现烟花动画播放

15.png

注:随意点击屏幕,可退出烟花动画。

通过上述13步,我们成功完成了《乔布斯3D纪念馆》的飞碟形态的摆件的播放烟花插件动画的效果功能。通过dtns.plugin插件引擎,我们成功的构建了dpkg插件文件,从而直接通过头榜上传烟花插件.dpkg文件的方式,为dtns.connector德塔世界连接器融入了烟花插件功能。再通过3D场馆的摆件点击播放烟花插件动画,完整实现了一个从vue插件构建,上传发布,在poplang智体编程场景中调用全局函数使用它的完整闭环。

整个体验非常完整。可以看到,使用dpkg和dtns.plugin插件系统,可轻松构建dtns.connector的轻应用插件生态。插件的开发、部署、上传、体验均非常方便。非常适合构建插件商店生态、插件开发者生态、插件开源生态等。

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

开源地址:

github地址:https://github.com/dtnsman/dtns

Gitee地址:https://github.com/dtnsman/dtns

官方文档:https://dtns.network.yunapi.org

加入QQ群:279931001

加入微信群:

wechat-qr (2).png

这篇关于【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第20课-烟花插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/987780

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni