为了拉伸2D圆角矩形而不会变形,我将矩形朝一个方向(例如,向左)重新定位了所需的量,并将该量添加到最右边的顶点以补偿并显得已拉伸。 问题是现在raycaster缺少矩形的右半部分。
I made the following jsfiddle stretching a normal rectangle:
http://jsfiddle.net/vser1n2u/5/
如果将鼠标悬停在矩形上,您将看到raycaster正常工作(“ TRUE”指示)。如果单击矩形,它将向左扩展。现在,如果您将鼠标悬停,您将看到它仅在一半时起作用(“ FALSE”指示)。
我是否缺少某些东西,或者这是一个Three.js错误?
答案 0 :(得分:1)
在渲染几何体的顶点后对其进行修改时,需要重新计算边界球体,以使光线投射和平截头体剔除正常工作。
所以在您的情况下,
o.m.geometry.computeBoundingSphere();
更新的小提琴:http://jsfiddle.net/vser1n2u/6/
three.js r.98