【发布时间】:2013-08-05 22:09:34
【问题描述】:
我在三个 js 中有一个浮动飞机。它是双面的,我的相机围绕场景移动和旋转。我的问题是,给定平面的位置和旋转以及相机的位置和旋转,我怎么知道我在看平面的哪一侧?
我的旧解决方案是这样(检查相机到飞机前后的距离),但显然这不是最好的解决方案。
this.back.matrixWorldNeedsUpdate = true;
this.front.matrixWorldNeedsUpdate = true;
this.d1 = (new THREE.Vector3()).getPositionFromMatrix( this.back.matrixWorld ).distanceTo(cameraSystem.camera.position);
this.d2 = (new THREE.Vector3()).getPositionFromMatrix( this.front.matrixWorld ).distanceTo(cameraSystem.camera.position);
if((this.d1 - this.d2) < 0)'Facing the back Side'
else 'Facing the front Side'
谢谢!
【问题讨论】:
-
您可以检查两个向量之间的角度:相机指向的向量和平面的法线。
-
非常感谢,希望我可以投票作为答案以获得更多荣誉! :)