检查面部朝向鼠标方向向上/向下

时间:2015-11-04 23:22:56

标签: 3d three.js

假设我在3D空间中有一张脸,相机会通过用户交互来转动。当鼠标光标击中面部时,光线投射会检测到交叉点。到目前为止没什么特别的。

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

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

1 个答案:

答案 0 :(得分:3)

你需要在脸部法线和相机前移矢量之间做一个点积。

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

伪代码:

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