天天看点

ThingJS拾取对象开发技术的简单逻辑

响应鼠标操作,其中有一个非常重要的知识:使用鼠标点取,达到对三维模型对象的捕捉。拾取对象的开发技术有一定的逻辑,尤其在透明建筑内,ThingJS帮你简单实现拾取功能。

ThingJS拾取对象开发技术的简单逻辑

物联网应用中 3D 场景中的模型会越来越多,这时我们不可避免需要一些交互效果,比如当点击某一个模型的时候做出反馈动作,这需要我们能够通过鼠标的点击位置推导出点击到的模型,这种技术实现称为 3D 拾取。

Picker(选择器/拾取器/选取器)是指提供多个选项集合供用户选择其中一项的控件,在T hingJS在线开发平台,Picker是thingjs中为拾取制作的一个类,主要是用于拾取物体,同时也有框选拾取的功能。

在3D场景中会建立某些对应真实物品的对象,模型内置了简单动画,通过很多事件设置,比如点击鼠标、键盘输入、层级变化等,让用户监听这些事件,在事件回调中进行相应的业务逻辑处理。

在三维场景模型比较多的时候,我们需要考虑如何高效的实现选取操作。官方支持不同的拾取技术实现:

通过属性和接口获取鼠标拾取(Pick)的物体

通过事件获取鼠标拾取的物体

区域 Pick 物体

pickedResultFunc设置拾取对象回调函数

官方示例新鲜出炉,可以用代码块修改进入层级选择设置。 回调函数就是一个通过函数指针调用的函数,可通过 pickedResultFunc 设置拾取对象回调函数,示例如下:

ThingJS,3D可视化让物联网世界被看见。