2015-11-04 76 views
1

假设我在3D空间中有一张单人脸,相机通过用户交互转向。当鼠标光标击中脸部时,光线检测会检测到相交。迄今为止没有特别的。检查脸部向上/向下朝鼠标方向

问题:如何检测相机是否看到脸部的下方或上方?

我确实有鼠标方向矢量和面部正常。 three.js中的操作是什么(如果你想要的话,在数学上)。

回答

3

你需要在你的脸部正常和你的相机前向矢量之间做点积。

如果产品是正面的,它会背对着相机,如果它是负面的,它会面向相机。

伪代码:

if (dot(camera.forward, face.normal) < 0) 
    // facing the camera 
else 
    // facing away from the camera 
+1

在three.js所这将是:* camera.forward.dot(face.normal)<0 * –