Three.js:ray& SceneLoader问题

时间:2013-12-05 20:02:17

标签: three.js raycasting

问题: 使用SceneLoader()加载的模型与光线队员交叉错误。

简单示例:

  

http://golem.fjfi.cvut.cz/virtual/matusu/GitHub/Git.html

在程序中添加了一个网格,raycaster应该与之交叉(目前无法找到原因,也许我可以在下一个小时内解决这个问题)。变量“模型”中的第二个对象(地板)(应与光线相交)是从搅拌机加载的模型。

为了清晰起见,用箭头显示重力射线。

我一直在寻找错误约一个月,但找不到任何东西。整个问题是,在下面提到的问题的模型中,似乎装载有SceneLoader的模型与raycaster相交作为旋转的不可见模型(PI / 2,0,0)。

  

这是问题的简化

     

three.js: sceneLoader & rays issue

如何通过SceneLoader(JSONLoader正常工作)与光线交叉加载的模型?

1 个答案:

答案 0 :(得分:0)

好的,我可能已经找到了问题所在。它位于blender导出器中,因为所有导出的文件都具有部分转换,从某些原因旋转设置为(-PI / 2,0,0)。它不会影响模型位置左右(可能只是它们的几何形状和它们的旋转),但所有计算都像raycaster的交叉点那样。当我将此参数设置为(0,0,0)时,一切正常。

但它比混合器的模型更大的问题。即使在程序本身中添加了模型(在这种情况下为立方体几何体),Raycaster仍无法找到交集。所以这个变换参数在加载这个文件时适用于整个场景。

  

示例:

这是一个文件,它加载从带有场景加载器的blender导出的简单几何体,但我还没有更改变换参数:

  

http://golem.fjfi.cvut.cz/virtual/matusu/GitHub/Git_default.html

这是完全相同的程序加载相同的文件,但更改参数transform.rotation到(0,0,0)。:

  

http://golem.fjfi.cvut.cz/virtual/matusu/GitHub/Git_changed.html

感谢您提醒简化!它帮助了很多!希望这个主题有助于显示这个小错误(转换非零设置可能有一些原因,但在这一点上是有问题的。)

P.S。:我使用blender exporter version 2.66