在Collada对象上命中检测?

时间:2013-10-28 01:09:17

标签: javascript 3d three.js

我查看了http://threejs.org上的示例。我没有看到任何与ColladaLoader对象相关的命中检测。那里的一切都与基本的网格形状有关。

是否可以对Collada物体进行命中检测?如果是这样,语法会是什么样的?

3 个答案:

答案 0 :(得分:1)

你看过http://threejs.org/examples/#webgl_octree_raycasting了吗?

这似乎就是你要追求的目标。

This link有一个关于使用THREE.JS RAY CASTER检测到的Collada对象的教程。您需要修改Ray Class才能使其生效。

答案 1 :(得分:1)

以下是我在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 投影仪 Vector3 。 Jens Arps的 latest article 涵盖了必要的步骤。起初有点难以跟进,示例中有一个FirstPersonControls相机,需要时间来适应。

在检查the code后,我能够选择并操纵Collada Objects

答案 2 :(得分:0)

ColladaLoader以及所有其他加载程序将对象从特定格式导入常规THREE.Mesh

因此,针对collada导入的网格物体进行命中检测不需要特殊代码。

这也意味着如果您的代码使用collada导入的网格,它将适用于任何其他源格式。