【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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要