tuo-three2基于3D对象的raycaster

不同于raycaster插件是基于view且面向所有主对象而存在,这里提到的raycaster只面向特定几个对象做检测。基于3D对象的raycaster是由个别插件对辅助3D对象的需求,而这些辅助对象需要单独特别处理,因而我们有了基于对象的raycaster。

基于3D对象的raycaster的运行周期通常不长,仅仅在插件的某些特定状态下使用。它需要能够灵活的被创建和消除。它由插件调用实例TuoScene的setObjectsRaycaster函数来激活,并使用TuoScene.removeObjectsRaycaster函数删除。

基于对象的raycaster使用流程如下:

  1. 某个插件进入了一个状态,需要基于特定对象的raycaster支持。
  2. 该插件创建一个新的core/ObjectsRaycaster 对象,并监听其'hoverObject', 'unHoverObject', 和'clickObject'事件。
  3. 插件调用TuoScene.setObjectsRaycaster函数,使能此ObjectsRaycaster。TuoScene会将此ObjectsRaycaster安装到与之相关的所有TuoView上。
  4. 该插件退出该状态,取消对之前创建的ObjectsRaycaster对象事件的监听,并调用TuoScene.removeObjectsRaycaster注销掉ObjectsRaycaster

发表评论

邮箱地址不会被公开。 必填项已用*标注