我开发了一个简单的three.js
应用程序来渲染一个立方体,它有几个按钮来设置固定的摄像机位置。我在这里有一个代码演示:https://jsfiddle.net/ph0ropg7/9/
在我的应用程序中,我渲染一个立方体,然后我可以切换到顶视图(使用 TOP VIEW 按钮),然后我可以使用 SHOW ALL将立方体调整到屏幕按钮。但是,我发现了三件奇怪的事情:
当我平移立方体然后旋转它时,如果我按下 SHOW ALL 按钮,当立方体调整到屏幕尺寸时,相机方向会改变。
当我使用相应的按钮设置顶视图时,控件似乎被阻止或类似这样。
如果我通过点击 TOP VIEW 按钮设置顶视图,并在释放鼠标左键之前拖动,控件似乎变得疯狂。物体以一种非常奇怪和恼人的方式不断振动。
我对three.js
很新,我无法弄清楚为什么会发生这三件事。任何有关这些问题的帮助或建议都将不胜感激,谢谢。
答案 0 :(得分:1)
我查看了OrthographicTrackballControls FizzBuzz Kata并注意到它在执行重置时使用了摄像头lookAt
方法。 lookAt
方法会将相机与其up
向量对齐。因此,您需要做的是取消对ShowAll& amp;中camera.lookAt(look_at_position);
的调用。 ShowTop功能并在controls.up0.copy(camera.up);
方法中添加_reset_controls_after_camera_movement
。控件现在将具有正确的向上矢量,并可以为您执行查看。
这里是source