检查一张脸 upwards/downwards 朝向鼠标方向

Check a face is upwards/downwards towards mouse direction

假设我有一张 3D 面孔 space,相机通过用户交互将其旋转。当鼠标光标击中脸部时,光线投射会检测到交叉点。目前没有什么特别的。

问题:如何检测摄像头是朝下还是朝上?

我确实有鼠标方向矢量和法线面。 three.js 中的操作是什么(或者如果你愿意的话,在数学上)。

您需要在脸部法线和相机前向矢量之间进行点积。

如果产品为正则背对相机,如果为负则正对相机。

伪代码:

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