Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js-使对象在缩放时保持静态_Javascript_Three.js - Fatal编程技术网

Javascript Three.js-使对象在缩放时保持静态

Javascript Three.js-使对象在缩放时保持静态,javascript,three.js,Javascript,Three.js,我在应用程序中使用Three.js进行2D演示,因此我使用MapControls设置了一个正交摄影机。添加到场景中的某些对象可以进行二维平移和放大/缩小。除此之外,我还有一个箭头对象,它必须是静态的,即从平移和缩放中排除。这个箭头将有一个特殊的形式和动画旋转,这就是为什么我不画它与CSS 我尝试了来自的向导,并成功地仅限制平移 scene.add(camera); ... camera.add(directionArrow); 但当使用鼠标滚轮放大/缩小时,箭头也会放大/缩小 这是一张复制量最

我在应用程序中使用Three.js进行2D演示,因此我使用MapControls设置了一个正交摄影机。添加到场景中的某些对象可以进行二维平移和放大/缩小。除此之外,我还有一个箭头对象,它必须是静态的,即从平移和缩放中排除。这个箭头将有一个特殊的形式和动画旋转,这就是为什么我不画它与CSS

我尝试了来自的向导,并成功地仅限制平移

scene.add(camera);
...
camera.add(directionArrow);
但当使用鼠标滚轮放大/缩小时,箭头也会放大/缩小

这是一张复制量最小的照片


缩放时三角形(箭头)应保持静止,就像平移时一样。

使用GUI层和渲染层

如果在GUI层中绘制指针,则可以根据需要更改渲染层,而不会影响GUI层

通常使用HTML完成三个.js GUI层

一旦你有了这个,你将需要获得对象的坐标并更新HTML。这是这个过程中最复杂的部分,所以这里有一篇文章介绍如何通过一些例子来实现这一点


是的,这是真的,但我想避免使用HTML和CSS作为指针,因为指针已经正确地绘制和设置了动画。只有变焦妨碍了我。使用这种方法,我将不得不全部返工。我唯一能想到的就是在缩放的相反方向缩放对象。然而,这是如此黑客和将是非常错误的,我建议修改它和使用HTML。很多时候,我们需要重做一些事情,把它做好。这很痛苦,但更好。我尝试缩放箭头,但它会改变位置,平移时也会触发缩放。看来返工是唯一的选择了。非常感谢。