【发布时间】:2014-10-25 05:14:56
【问题描述】:
我有一些 Vector3ds,其中包含使用透明 png 的平面几何图形,因为它们是材料。
我遇到的麻烦是 Raycaster 正在拾取整个对象,因此在材质附近单击足以激活相应的功能。
是否可以对光线投射器隐藏网格的透明部分?
在亚历克斯的帮助下,我已经了解了该物体的实际意义。
我现在如何将其转换为图像上的像素,以测试透明度?
【问题讨论】:
-
你能测试一下交叉点的像素值吗?
-
嗯,也许吧。我的 raycaster var intersects = ray.intersectObjects(targetList, true);正在测试大量对象,我如何检查它找到的实际像素!?
-
您需要将反射点与图像在空间中的位置和尺寸相关联,然后将此相对点转换为图像的相应像素。如果像素是透明的,那么您可以丢弃阳性结果。请记住,此测试必须考虑图像的 X、Y 和 Z 旋转。
-
好的,我正在努力实现这个概念。关于实际代码而不是高级视图的任何想法?
标签: javascript 3d three.js