我有三个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'
谢谢!
你可以检查两个向量之间的角度:在该相机指向载体和飞机的正常。 –
非常感谢,希望我能够upvote,作为更多的信用的答案! :) –