如何找到屏幕上出现的面孔?

时间:2015-10-16 12:17:21

标签: javascript three.js

在我的应用程序中,用户正在浏览一个场景,我希望能够找到屏幕上显示的面孔,这意味着用户可以看到它(所以我想要排除不在相机平截头体内的脸部,以及被其他脸部隐藏的脸部。)

我的想法是使用Raycaster类在屏幕的每个像素上投射光线,但我担心表现会很低(我不需要它)实时但我不喜欢它真的很慢。

我知道有一个z缓冲区可以知道哪些面被显示,因为它们没有被隐藏,我想知道是否有一个简单的方法使用Three.js来使用z-buffer来找到那些面。 / p>

谢谢!

1 个答案:

答案 0 :(得分:0)

我的最终解决方案如下:

  • 我使用three.js服务器端渲染我的模型(人herethere解释如何操作)。

  • 我使用Face3color属性来为每张脸设置特定颜色。每个面都有一个数字(.obj文件中的面部编号),此数字将代表Face3颜色。

  • 我只使用环境光

  • 我做渲染

我的渲染实际上代表一组像素:如果渲染上出现某种颜色,则表示与颜色对应的面部出现在屏幕上。