1.开启场景层级控制2.父子树和分类对象属性树3.切换场景层级在3D可视化场景中加载公园后,系统会自动创建公园和建筑物、楼层、房间等对象,这些对象也很自然将场景分成不同的层次。场景提供了层级结构,场景层级可以通过我下面介绍的方法进行控制。那么层次结构有什么用呢?可以更方便的管理和查询场景中的对象;对象可以批量操作,比如移动父对象可以和子对象一起移动等。1.启用场景级控制首先,在项目文件中输入以下代码,启用ThingJS3D可视化示例的场景级控制功能公园。//加载ThingJS示例公园varapp=newTHING.App({url:'models/storehouse'})//通过load事件加载公园信息并启用场景级控制app.on('load',function(ev){app.level.change(ev.campus)})运行工程文件后,在预览窗口中,鼠标左键双击3D可视化园区中的建筑,进入建筑内部。单击鼠标右键退出建筑物。鼠标左键双击模型(如汽车、叉车等)聚焦模型,单击鼠标右键退出聚焦模式。图为鼠标左键双击小车后的聚焦效果。另一种方法是通过场景信息进入电平开关。工具栏中的场景信息对应于CampusBuilder中构建的校园的对象(或对象)信息。场景信息中显示当前场景的父子树和分类对象属性树,可以通过名称、ID、属性搜索场景中的对象。单击对象右侧的定位按钮以定位对象。2.父子树和分类对象属性树父子树和分类对象属性树是ThingJS提供的两个层次体系,方便管理和查询场景中的对象和批量操作。例如,当移动父对象时,可以将子对象一起移动。在父子树层次结构中,通过children访问下层的子对象,通过parent访问对应的父对象。子对象可以有多个,父对象只能有一个,children属性是Array类型。创建对象对象时,可以指定该对象的父对象。在分类对象属性树层次结构中,每个父对象可以有多个子对象。ThingJS为每个Thing对象提供以下内置属性。建筑物:您可以参观公园下的所有建筑物。ground:公园可到达的地面物体。things:访问所有Thing类型的对象。3.切换场景层次ThingJS场景提供了层级结构,但是如何实现3D可视化场景层次切换呢?可以通过“父子树”和“类别对象属性树”对子对象进行批量控制,如移动、显示或透明度控制。只要在3D可视化场景中调用一次app.level.change(无论关卡切换到公园还是切换到一个Thing),ThingJS就会启动内置的公园<—>建筑<—>楼层<—>对象……一步一步的进出交互操作流程和相应的响应。左键双击进入拾取对象的层级,右击返回上一级。从3D可视化公园进入建筑物被定义为“级别开关”。学习了场景关卡的切换,下一篇文章我会继续学习动态创建组合场景。
