从零开始学习3D可视化之场景层级(1)

ThingJS 3D场景层级切换,体验不一样的动感! 若ThingJS 3D开发与真实世界的设备相关联,获取场景发送的设备属性数据,就能够真正实现物联网的控制操作。三维数据可视化分析,离不开场景搭建,通过对设备或楼层的仿真模拟,并且利用进出层级和聚焦物体等控制方法,在智能安防或培训层面做到更加直观、有效。 ThingJS使用app.level.change(ev.campus);这个进出层级、聚焦物体的代码来注册进出层级事件,该事件可以实现楼层的进出,有自定义属性或是ID属性物体的双击聚焦功能。 ThingJS 3D开发如何实现进出层级?超简单! 今天我们来详 阅读详情

1、开启场景层级控制

2、父子树和分类对象属性树

3、切换场景层级

在3D可视化场景中加载园区后系统会自动创建园区、建筑、楼层、房间等物体对象,这些对象也自然把场景分成了不同的层级,场景提供了层级结构,可以通过我下面介绍的方法,来控制场景层级。那么层级结构有什么用呢?可以更方便管理和查询到场景中物体;可以批量操作物体,比如移动父物体可以带着孩子一起移动等等。

1、开启场景层级控制

首先将下面的代码输入到项目文件中,即可开启 ThingJS 3D可视化示例园区的场景层级控制功能。

// 加载ThingJS示例园区
var app = new THING.App({
    url: 'models/storehouse'
})
//通过load事件加载园区信息,并开启场景层级控制
app.on('load', function(ev) {
    app.level.change(ev.campus)
})

运行项目文件后,在预览窗口,鼠标左键双击3D可视化园区内的建筑,即可进入建筑内部。点击鼠标右键,退出建筑。鼠标左键双击模型(如小车、叉车等),可聚焦到模型,点击鼠标右键,退出聚焦模式。图中所示为鼠标左键双击小车后的聚焦效果。

还有一个方法就是通过场景信息来进入层级切换,工具栏的场景信息对应的就是 CampusBuilder 中搭建的园区的物体(或对象)信息。

场景信息中,显示当前场景的父子树和分类对象属性树,可按名称、ID以及属性,搜索场景中的对象。点击对象右侧的定位按钮,就可以定位到此对象。

CampusBulider(模模搭)学习笔记5:创建自定义建筑 在CampusBulider搭建数字孪生可视化场景时园区内的建筑可以直接使用模型库中的模型,还可以创建自定义建筑,直接使用模型库中的模型不必过多赘述,那这期我们一起学习如何创建自定义建筑。 新建自定义建筑 首先打开CampusBulider加载数字孪生可视化场景,点击新建,选择模型库右侧标签中的室内,点击自定义建筑,将其拖放到主窗口中。 双击自定义建筑,即可进入建筑主体内部中。 自定义建筑外观只有一个模型块,非常不美观,可以给建筑添加一个外立面模型。点击进入建筑的编辑页面,点击建筑—选 阅读详情

相关推荐

ThingJSAPI之控制楼层效果

如何控制楼层的层级效果?比如进入楼层展开楼层?三维可视化园区中该怎么去访问对象?又是如何让场景显示和隐藏的呢?在ThingJS物联网可视化PaaS平台中,ThingJS提供了控制场景的方法,让我们来看看它是如何控制的吧! ThingJS官方示例中按分类访问对象,使用全局APP对象,通过forEach函数遍历园区中所有对象,并且打印出对象的id属性。 /** * 说明:通过 “分类对象属性树” 访问...

qq_42739428的博客 1326

从零开始学习3D可视化之场景层级(2)

1、 动态创建组合场景 2、 加载后的楼层和建筑对齐 3、 预知未知加载场景的物体结构 对于一些大型的3D可视化场景,使用 CampusBuilder 直接制作会比较困难,直接加载也存在性能、加载时间等问题。 解决这个问题首先在CampusBuilder 中可以分成多个工程进行搭建,比如园区和所有建筑的外立面使用一个独立的工程进行搭建,每栋建筑的室内分别使用其他独立工程进行搭建。但是在搭建过程中需要注意每个工程里的物体命名必须保证唯一。 1、动态创建组合场景 例如,我按如下步骤来搭建3D可视化园

ThingJS的博客 1736

基于WebGL架构的3D可视化平台—粮仓3D场景

前言 什么才是智慧粮仓 正所谓“国以民为本,民以食为天”。粮食既是关系国计民生和国家经济安全的重要战略物资,也是人民群众最基本的生活资料。其中粮仓是粮食建设的根基,对保障粮食安全尤为重要。随着信息化技术发展,全国各地开始智慧粮仓的建设: 可视一体化,让粮仓“智慧”升级 可视:粮仓的园区、仓区、仓库、设备的3D可视; 可查:3D场景内查看粮情、动环、仓容、能耗、视频监控、出入库等信息; 可控:3D场...

nioooom的博客 3137

从零开始学习3D可视化之坐标系

1、 世界坐标系 2、 父物体坐标系 3、自身坐标系 要想控制一个3D可视化对象的空间位置,首先需要理解空间坐标系。在 ThingJS 开发平台中,使用右手坐标系,横轴为 X 轴和 Z 轴,竖轴为 Y 轴(ThingJS 获取的位置坐标 [x, y, z] 的单位均为米)。描述或控制一个3D可视化物体的位置,在不同情况下,会分别使用以下 3 套坐标系统:1、世界坐标系2、父物体坐标系3、自身坐标系。下面是我对于世界坐标系、父物体坐标系、自身坐标系的学习和自己的一些理解,如果有错误欢迎指正和讨论。

ThingJS的博客 2350

从零开始学习3D可视化之2D界面

在ThingJS中搭建的数字孪生可视化场景都是放在3D“容器”内的,3D“容器”提供了3D和2D的界面展示能力。上篇文章浅析过了3D空间界面,下面我继续学习一下2D界面如何与3D界面连接。ThingJS内置了div2d和div3d元素,创建2D界面时需要将元素插入到 div2d。 创建 UIAnchor UIAnchor可以把 2D html 界面连接到 3D 物体上,跟随 3D 物体移动。需要注意的是删除后,其对应的 panel 也会被删除。 var uiAnchor = app.create({

ThingJS的博客 1994

从零开始学习3D可视化之摄像机

数字孪生可视化场景中的摄像机,与大家拍照时使用相机的功能相似,数字孪生可视化场景中用摄像机来确定观察 3D 场景的视角。摄像机包含两个重要的位置参数:镜头位置 position 和被拍摄物体的位置 target (又叫目标点)。 1、设置摄像机位置 将下面的代码输入到项目文件中,获取当前摄像机 camera 的 position 和 target 属性,就可以得到数字孪生可视化场景中摄像机的位置信息,也可以将其打印在控制台中。 // 加载场景代码 var app = new THING.App({

ThingJS的博客 1838

从零开始学习3D可视化之模型动画

获取模型动画 播放模型动画 停止播放模型动画 在搭建3D可视化场景的过程中,我发现很多模型都有内置动画,很多模型在制作阶段就内置了动画,如果模型有内置动画,可以在 ThingJS 中利用 API 调用播放这些动画。 比如官方示例中通过 dbclick 事件来控制机柜开启,click 事件来控制鼠标右键关闭机柜。 1、获取模型动画 首先通过animationNames属性获取3D可视化模型都带有有什么动画。 console.log(obj1.animationNames); // 日志窗口..

ThingJS的博客 1909

OCCT可视化实战:从零开始构建3D交互式场景(附代码示例)

本文详细介绍了如何使用OCCT(Open CASCADE Technology)从零开始构建3D交互式场景。通过环境配置、基础几何体创建、高级交互功能实现到性能优化等实战步骤,帮助开发者快速掌握OCCT可视化技术。文章包含丰富的代码示例,特别适合CAD/CAM/CAE领域的开发者参考。

t8u9v0的博客 781

从零开始:用Coin3D和Qt打造你的第一个3D可视化应用(附完整代码)

本文详细介绍了如何利用Coin3D(OpenInventor的开源实现)与Qt框架,从零开始构建交互式3D可视化应用。通过环境配置、场景图概念解析、核心代码示例(如创建旋转彩色立方体),指导开发者将3D视图无缝集成到Qt界面中,并实现基础交互与动画,为产品原型展示、数据可视化等场景提供高效解决方案。

2y3u4i5o6p的博客 953

things:3D 打印的各种设计和调整

事物 3D 打印的各种设计和调整

things:3d 文件的集合

随机东西的存储库 microswitch_holder.scad microswitch.stl 用于 z-endstop 的微动开关支架,用于 bolt_shim.scad bolt_shim.scad 用于获得门锁和门闩齐平的简单工具。 fan_holder.scad fan_holder.stl 我的挤出机的改进风扇支架,旧的允许风扇罩撞击 PEEK 风扇。 马桶螺栓.scad, 马桶螺栓.stl 马桶螺母.scad, 马桶螺母.stl 用于将马桶座圈连接到马桶的螺母和螺栓,需要一个水龙头和模具来添加螺纹。 门闩锁.scad 一个简单的门栓,用于劳累的门。 gregs_wade_cooling_hood.scad 用于带有 j 头的 gregs wade 挤出机的冷却罩,用于容纳 2 个风扇。 仍在开发中 bench_spacer.scad, bench_spacer.st

My-3D-Things:一个让我的东西放在一起的地方,这是其他地方所没有的

我的3D事物 一个让我的东西放在一起的地方,这是其他地方所没有的

手把手教你用DCT/DCG实现Multi-bit FF物理优化(含SPG流程避坑指南)

本文详细解析了Multi-bit FF(MBFF)在芯片物理实现中的优化方法,重点介绍了DCT/DCG与SPG流程的实战应用。通过物理感知综合、寄存器组识别和增量优化三阶段流程,实现PPA(Power-Performance-Area)的协同提升。文章还提供了Innovus与ICC工具的协同优化策略及典型问题排查指南,帮助工程师高效完成MBFF物理优化。

ik67890123的博客 244

Hadoop生态系统-新手快速入门(含HDFS、HBase系统架构)

Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量...

Hadoop环境搭建教程 473

顶级的FDE需要拥有哪些技能?

上一篇《》说明白了什么是FDE。这一篇回答下一个问题:要成为顶级 FDE,需要哪些具体的技能?要想弄清楚FDE应该有哪些能力,就得先搞清楚FDE要完成哪些工作。同时,有一点是我们要密切关注的:现在是大模型时代,所以我们不能脱离大模型讨论FDE的能力。我们可以把FDE在客户现场需要完成的工作分为四类:破冰与诊断、价值交付、项目与预期管理、沟通与影响。另有两项元能力贯穿始终。以下按工作类别逐一拆解,每项能力配 1 / 3 / 5 分标准,方便对照自评。文末有完整打分工具链接。

mydeman的学习日志 262

uniapp - 实现集成调用zebra斑马打印机+打印标签+打印二维码详细实例代码,通过蓝牙连接打印机打印与通过打印机IP和端口两种方式适配斑马打印机(全平台兼容H5、微信小程序、苹果安卓App)

uniapp适配斑马打印机 实现标签打印,uniapp适配斑马打印机实现标签打印,uniapp调用zebra斑马打印机打印标签,uniApp连接传统蓝牙的斑马打印机打印,实现标签打印功能uniapp 蓝牙连接斑马打印机发送zpl指令打印,适配斑马(Zebra)牌打印机,小程序调用蓝牙打印机完整代码,uniapp 打印机wifi链接 蓝牙链接,uniapp斑马打印机,实现二维码标签展示以及打印,APP端连接打印机打印小票和标签,uniapp使用斑马打印中文不出来,打印机连接不上,打印没反应怎么办,打印报错,斑

🏆 前端领域优质创作者 1万+

【AI智能体】全场景AI智能体工作台WorkBuddy实战操作详解

全场景AI智能体工作台WorkBuddy实战操作详解

congge 5562

ArcGIS与地理加权回归GWR【一】

因此,在实际问题研究中我们经常发现回归参数在不同地理位置上往往表现为不同,也就是说回归参数随地理位置变化,这时如果仍然采用全局空间回归模型(全局假设β是不会变得),得到的回归参数估计将是回归参数在整个研究区域内的平均值,如上所说某一个因素在ABC等不同的地理位置对房价的影响是不同的,假如采用全局空间回归模型,便忽略了数据的空间位置属性,只反映平均意义下因变量与自变量的相关关系,而不能有效反映回归关系的空间非平稳性的特征。当自变量为1个时,是一元线性回归,自变量为2个及以上时,称为多元线性回归。

JData_Engineer的博客 1375

YOLOv8改进 | 注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

官方论文地址:官方论文地址点击此处即可跳转官方代码地址:官方代码地址点击此处即可跳转GAM旨在通过设计一种机制,减少信息损失并放大全局维度互动特征,从而解决传统注意力机制在通道和空间两个维度上保留信息不足的问题。GAM采用了顺序的通道-空间注意力机制,并对子模块进行了重新设计。具体来说,通道注意力子模块使用3D排列来跨三个维度保留信息,并通过一个两层的MLP增强跨维度的通道-空间依赖性。

Snu77的博客 4万+

R 语言 ggplot2 绘制精美高级全球地图

在本教程中,我们将学习如何使用R语言和ggplot2包绘制精美高级地图。ggplot2是一个功能强大的数据可视化包,它可以让我们创建漂亮、交互式的地图。我们将使用R中的一些其他包来处理地理空间数据,以便与ggplot2无缝协作。

Mrrunsen的博客 1867

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 从零开始学习3D可视化之模型动画
下一篇: 从零开始学习3D可视化之场景层级(2)
ThingJS_小锘
博客等级 码龄6年 170粉丝 254原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值