three.js - 相机变化真的很奇怪
three.js - really strange behaviour with camera changes
我开发了一个简单的 three.js
应用程序,它呈现一个立方体,并且有几个按钮来设置固定的相机位置。我在这里有我的代码演示:https://jsfiddle.net/ph0ropg7/9/
在我的应用程序中,我渲染了一个立方体,我可以切换到顶视图(使用 TOP VIEW 按钮),我可以使用全部显示 按钮。但是,我注意到了三件奇怪的事情:
当我平移立方体然后旋转它时,如果我按下 SHOW ALL 按钮,当立方体调整到屏幕尺寸。
当我用相应的按钮设置顶部视图时,控件似乎被阻止或类似的东西。
如果我通过单击 TOP VIEW 按钮设置顶视图,并在释放鼠标左键之前拖动,控件似乎变得疯狂。这些物体以一种非常奇怪和烦人的方式不断振动。
我是 three.js
的新手,我不明白为什么会发生这三件事。任何面对这些问题的帮助或建议将不胜感激,谢谢。
我查看了 OrthographicTrackballControls source 并注意到它在执行重置时使用相机 lookAt
方法。 lookAt
方法会将相机与其 up
向量对齐。因此,您需要做的是在 ShowAll 和 ShowTop 函数中删除对 camera.lookAt(look_at_position);
的调用,并在 _reset_controls_after_camera_movement
方法中添加 controls.up0.copy(camera.up);
。该控件现在将具有正确的向上矢量并可以为您执行观察。
这里是 modified fiddle
我开发了一个简单的 three.js
应用程序,它呈现一个立方体,并且有几个按钮来设置固定的相机位置。我在这里有我的代码演示:https://jsfiddle.net/ph0ropg7/9/
在我的应用程序中,我渲染了一个立方体,我可以切换到顶视图(使用 TOP VIEW 按钮),我可以使用全部显示 按钮。但是,我注意到了三件奇怪的事情:
当我平移立方体然后旋转它时,如果我按下 SHOW ALL 按钮,当立方体调整到屏幕尺寸。
当我用相应的按钮设置顶部视图时,控件似乎被阻止或类似的东西。
如果我通过单击 TOP VIEW 按钮设置顶视图,并在释放鼠标左键之前拖动,控件似乎变得疯狂。这些物体以一种非常奇怪和烦人的方式不断振动。
我是 three.js
的新手,我不明白为什么会发生这三件事。任何面对这些问题的帮助或建议将不胜感激,谢谢。
我查看了 OrthographicTrackballControls source 并注意到它在执行重置时使用相机 lookAt
方法。 lookAt
方法会将相机与其 up
向量对齐。因此,您需要做的是在 ShowAll 和 ShowTop 函数中删除对 camera.lookAt(look_at_position);
的调用,并在 _reset_controls_after_camera_movement
方法中添加 controls.up0.copy(camera.up);
。该控件现在将具有正确的向上矢量并可以为您执行观察。
这里是 modified fiddle