我浏览了http://threejs.org上的示例。我还没有看到任何与ColladaLoader
物体相关的命中检测。那里的一切都与基本的网格形状有关。
是否可以对 Collada 对象进行命中检测?如果是这样,语法会是什么样子?
我浏览了http://threejs.org上的示例。我还没有看到任何与ColladaLoader
物体相关的命中检测。那里的一切都与基本的网格形状有关。
是否可以对 Collada 对象进行命中检测?如果是这样,语法会是什么样子?
你看过http://threejs.org/examples/#webgl_octree_raycasting吗?
这似乎是你所追求的。
这个链接有一个关于用THREE.JS RAY CASTER
. 您需要修改Ray Class
才能使其正常工作。
以下是我在前一两个中发现的处理mouse picking
对象的链接很可能已过时。THREE.JS.
http://learningthreejs.com/blog/2012/01/17/dom-events-in-3d-space/
http://voxelent.com/html/beginners-guide/1727_08/ch8_Picking_Scene_Final.html
http://jensarps.de/2013/10/29/mouse-picking-collada-models-with-three-js-part-ii/
Jens Arps 就这个话题写了一篇很棒的文章。根据该文章,检测THREE.Raycaster
需要定制Collada Object
。
从THREE.JS r62 开始,这不再是必需的。鼠标拾取需要Raycaster、Projector和Vector3。Jens Arps 的最新文章涵盖了必要的步骤。一开始有点难以理解,而且这个例子有一个FirstPersonControls
需要时间来适应的相机。
检查代码后,我能够选择和操作Collada Objects
。
ColladaLoader
和所有其他加载器将对象从其特定格式导入到常规THREE.Mesh
因此,针对 collada 导入的网格进行命中检测不需要特殊代码。
这也意味着,如果您的代码使用 collada 导入的网格,它将适用于任何其他源格式。