拖动对象粘贴到网格面 - 部分工作 - 除非我作为一个孩子添加... Three.js r60

时间:2013-09-18 01:00:15

标签: three.js

https://dl.dropboxusercontent.com/u/50584977/index2b.html

(似乎无法在jsfiddle上使用three.js示例)

如果您查看上面的示例,并将其中一个立方体拖过球体,它会“粘住”球体,并旋转到面法线。 (排序,除非你尝试球体的背面。)

问题:

https://dl.dropboxusercontent.com/u/50584977/index2.html

所有改变的是当你放开鼠标时我将拖动的立方体添加为球体的“子”。因此,将一个立方体拖到球体上,然后松开,然后再次尝试拖动同一个立方体,看看会发生什么。

如果旋转场景似乎会变得更糟,然后再次尝试拖动。

为什么这样做?

1 个答案:

答案 0 :(得分:0)

当您将一个对象添加到另一个对象时,该子对象的positionrotationscale将变为相对于父对象。因此,当您将球体添加到立方体时,您需要先调整球体的位置。从概念上讲,最简单的方法就是从球体中减去立方体的位置。