我有一个球体,可以在其中投影图像,并且可以在其中移动。
我正在尝试实现一种缩小/放大方法,但它会扭曲y轴
我尝试过的事情:
zoom
变量。不幸的是,当您缩小图像时,上述每种方式都会使图像失真...
这是我放大或缩小的方式:
public zoom(e, camera) {
let zoom = camera.zoom;
if (e.deltaY < 0 && zoom < 2) {
camera.zoom += 0.08;
}
if (e.deltaY > 0 && zoom > 0.6) {
camera.zoom -= 0.08;
}
camera.updateProjectionMatrix();
}
OmniVIRT播放器可以以非常保守的方式进行缩放,而在y轴上的失真要小得多。 (顺便说一句,YouTube的播放器也是如此。)
https://www.omnivirt.com/sample/camera_api/
理想情况下,我至少想重现其结果,因为我认为它们可以接受。