请选择 进入手机版 | 继续访问电脑版
点击联系客服
客服QQ:509006671 客服微信:mengfeiseo
查看: 12|回复: 1

从0开始学习三维可视化的场景级别(2)

[复制链接]

1

主题

1

帖子

-7

积分

限制会员

积分
-7
发表于 2021-6-11 16:27:27 | 显示全部楼层 |阅读模式
1、动态制作组合场景

2、对齐载入的楼板和建筑

3、预测未知加载场景的对象结构。

一些大的

使用3D可视化场景、CampusBuilder自己制作很困难,直接加载也存在性能、加载时间等问题。

为了解决这个问题,可以先在CampusBuilder中分成多个项目来建设。例如,校园和所有建筑物的外立面可以使用单独的工程建造,每栋建筑物的室内可以分别使用不同的独立工程建造。但是在建设过程中,各工程内的物体命名必须保证唯一性。

1、动态制作组合场景

例如,创建3D可视化公园并开发应用程序,如下所示:

1.建造三维可视化园区。校园里有一座建筑物我将分两个项目建设。分别是“XX公团”、“XX公团-写字楼”。

2、单独导出每个项目,并与ThingJS平台同步。

3、在ThingJS上先加载“XX工团”。这个建筑群包括建筑物,但建筑物只有外部立面。

4、可以使用活动重新注册进入建筑物的响应函数,可以在活动回调中使用app.create()动态加载“XX公团-写字楼室内”校园工程。

5、使用代码获取“办公楼TMP”三维可视化校园对象的建筑物,“办公楼楼层1”、“办公楼楼层2”、“办公楼楼层2”添加到原来只有外部立面的“办公楼”对象。另外,删除了名为“XX公团-写字楼”和“写字楼TMP”的临时对象。


[img][/img]


2、对齐载入的楼板和建筑

为了确保以后载入的三维可视化楼板和以前载入的建筑对齐,可以执行以下操作:

在CampusBuilder中创建三维可视化场景时,请确保地板位置相对于建筑物的“办公楼”和“办公楼TMP”相匹配。

在ThingJS在线开发中,将“办公楼TMP”下的楼层“连接”到“办公楼”时,设置楼层的相对坐标。

building  tmp  . floors  . foreach(function(floor){

BuildingMain.add({

Object:floor,

//设定保持楼板相对于建筑位置的相对座标

local  position  : floor  . local  position

});

})。


[img][/img]


3、预测未加载场景的对象结构

为了便于切换视角,有两种方法需要在未加载三维可视化场景时知道对象在场景级别的位置。

1.通过app.getCampusJSON界面,可以分析校园场景树结构,并执行与上面动态加载场景类似的任务,在3D系统上设置整个场景结构。然后,您可以通过EnterLevel相关事件,与上面自动动态加载的方案一起查找和切换对象。

2.您可以自行设置后台数据结构,在后台执行查询,通知前台,在前台使用与EnterLevel相关的事件,在上面自动动态加载的方案中查找和切换对象。





细心的朋友们以后会发现,为了扩展功能,给每个物体取名字就像在场景中有自己的标志一样,后面会非常方便。(大卫亚设,Northern  Exposure(美国电视连续剧),友友)至此完成了动态加载整个三维可视化“办公楼”的工作。可以单击ThingJS公式样本查看完整的代码。
回复

使用道具 举报

1

主题

282

帖子

-90

积分

限制会员

积分
-90
发表于 2021-6-11 16:46:27 | 显示全部楼层
路过,支持一下啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图版|手机版|小黑屋|汕头@IT精英团

Powered by Discuz! X3.4 © 2021 Comsenz Inc.

GMT+8, 2021-6-25 14:25 , Processed in 0.625007 second(s), 40 queries .

快速回复 返回顶部 返回列表