所以我有一个在html-div内渲染的three.js画布的基本设置。在3D世界中,我希望以某种方式放置对象,使其看起来像粘在该外部div上(永远不要以任何方式移动)。目前,我有以下解决方案:
render {
object.position.x = camera.position.x;
object.position.y = camera.position.y;
object.position.z = camera.position.z - 200;
}
这适用于平移相机(我不需要旋转,因此不需要旋转)。但是,一旦放大或缩小,显然将无法再使用,因为缩放不会更改相机的位置值。我的方法是将camera.zoom因子合并到上述功能中,但是我无法使其正常工作。有没有简单的转换功能或我可以使用的功能?
编辑:我创建了一个jsfiddle,希望这有助于找出解决方案。只要用鼠标右键平移相机,黄色平面就不会移动(不需要的行为)。放大或缩小时,它开始移动(不需要的行为):https://jsfiddle.net/rdyLp7uc/2/