2014-01-15 37 views
1

我想管理3Dobject是可视化的控制目标,以使旋转和缩放更立刻理解的更新位置和世界/视图比例...OrbitControls:一个“帮手”

I've made a sample here与应该指示目标并保持相同大小的AxisHelper。在OrbitControls.js中,我添加的每一行都有评论。

正如你可以看到,如果你平移和缩放(右键单击和滚动),它管理光标也是如此,但“帮手”有两个问题:

  • 后,设置助手的位置和规模渲染,为什么它看起来有点弹性......如果我把位置/比例更新放到scope.update()函数中是一样的。

  • 功能波纹管缩放助手到一个恒定的尺寸,则在从一个单位矢量定义的点(控制的目标)计算一个世界/视图比例。但它似乎不是一个好的解决方案,因为当你滚动到最大缩放比例时,助手正在增长。

    var point = new THREE.Vector3(1, 0, 0); 
    point = point.applyMatrix4(scope.object.matrixWorld); 
    var scale = point.distanceTo(scope.target); 
    helper.scale.set(scale, scale, scale); 
    

所以,如果你有一个想法,以实现这一目标,欢迎您...

回答

0

我目前正在开发类似的与threejs的东西,我认为:

  1. 我看不到演示,我的代理不允许它。
  2. 我认为这是正确的...如果对象帮助器是在轨道控件缩放相机变得更接近场景中的对象时添加到场景中的网格或精灵,则对象维度保持不变。
+0

当然,对于精灵来说会更简单,但目标是显示方向。我使用Axishelper,但使用网格,我会遇到同样的“缩放”问题... – jeum