关于tuo-scene中使用绑定3D点的说明

所谓绑定3D点是指一个点具备独立的坐标值,但时它在实际应用的时候,我们需要把它看成是在某个相对坐标系下的坐标。这种应用场景出现在TuoObject2D中计算投射2D点时引用了某个3D对象上的某个点的情况。

TuoObject2D对象不能像原生的three.js的Object3D那样直接作为一个子对象添加到3D场景中去,但有时候我们却需要在计算其坐标时把它当作某个Object3D对象的子对象。在这种场景下,我提出一个解决方案,就是给创建TuoObject2D对象时应用的3D点point添加一个_bindObject对象。到要实际应用point的时候,采取如下方法获取point的真实坐标值:

let absPoint = new THREE.Vector3()
if(point._buildObject)
  absPoint.copy(point).applyMatrix4(point._buildObject.matrixWorld)

发表评论

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