网站首页 > 技术文章 正文
物联网3D可视化场景中,经常用到标注元素作为线路标绘、业务区域标绘,比如定位物联网设备或危险源位置,进行安全作业或者路径导航规划,远程解决难题。
ThingJS的3D标记“Marker”,往往用于顶牌,有两个主要作用:
- 传入div, image或canvas写文字,展现在3D场景中或绑定在3D物体上;
- 添加一个图片放置到你希望的位置,作为子物体添加到父对象身上,随着对象一同移动。
注意,标记Marker受距离远近影响,呈现近大远小的 3D 效果,也会在 3D 空间中实现前后遮挡。
功能列表更新Marker动画模式,实现跳跃、闪烁、发光等物体效果,可以利用ThingJS 3D源码来开发,体验动手的乐趣!
以跳跃动画为例:
// 创建文字+图片标注
createElement("textAndPictureMarker");
// 创建普通图片标注
createElement("pictureMarker");
// 创建文字标注
createElement("textMarker");
// 跳跃动画
new THING.widget.Button('跳跃动画开启', function () {
// 获取按钮value值,进行改变
var posInfo = document.querySelectorAll("#widget_root input");
if (posInfo[1].value == "闪烁动画关闭") {
posInfo[1].value = "闪烁动画开启";
}
if (posInfo[2].value == "关闭发光") {
posInfo[2].value = "图片标注发光";
}
// 如果闪烁动画/图片标注发光开启中,先关闭闪烁动画/图片标注发光,再开启跳跃动画
$('.textAndPictureMarker').removeClass('scaleAnimation');
$('.pictureMarker').removeClass('scaleAnimation');
$('.textMarker').removeClass('scaleAnimation');
$('#box').css('display', 'none');
// 跳跃动画开启/关闭
if (posInfo[0].value == "跳跃动画开启") {
$('.textAndPictureMarker').addClass('moveAnimation');
$('.pictureMarker').addClass('moveAnimation');
$('.textMarker').addClass('moveAnimation');
posInfo[0].value = "跳跃动画关闭";
} else {
$('.textAndPictureMarker').removeClass('moveAnimation');
$('.pictureMarker').removeClass('moveAnimation');
$('.textMarker').removeClass('moveAnimation');
posInfo[0].value = "跳跃动画开启";
}
})
官方示例查看地址>>
猜你喜欢
- 2024-11-27 cesium.js神了,让3d地图变得惊艳无比
- 2024-11-27 Unity(WebGL)与JS通讯2021最新姿势
- 2024-11-27 官方示例(十四)多线段开发3D场景测量标点距离ThingJS
- 2024-11-27 从零开始学习3D可视化之摄像机投影方式
- 2024-11-27 THREE.js:网页上的3D世界构建者
- 2024-11-27 nunustudio 基于threejs的web3d开源编辑器
- 2024-11-27 WebGL+Three.js 入门与实战,系统学习 Web3D 技术无密梅花含苞
- 2024-11-27 Three.js、Babylon.js 和 ClayGL:哪款Web3D引擎最适合你的项目?
- 2024-11-27 3D地图的开发离不开CesiumJs,效果超出你的想象。
- 2024-11-27 3D 世界的钥匙「GitHub 热点速览 v.22.08」
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)