我正在XML3D中实现可拖动对象,我需要xml3d.generateRay
函数的帮助,作为参数它需要两个数字,因为我正确地理解了那些是射线穿过的投影空间中点的x,y坐标。但是,这些坐标是参考window元素(浏览器窗口的左上角)还是xml左上角?
第二个问题:如何从getElementByRay
获取生命值
对于不同的版本,规格说明有所不同-既然没有针对4.9的规格,请问。
最佳答案
坐标在窗口空间中给出,因此相对于窗口的左上角。
通过将两个getElementByRay
对象传递到函数中,可以从XML3DVec3
获取命中点和法线,例如:
var hitPoint = new XML3DVec3();
var hitNormal = new XML3DVec3();
xml3dElement.getElementByRay(ray, hitPoint, hitNormal);
该函数将在世界空间中以命中点和法线填充向量。