如何在 p5.js 中返回 WebGL 相机的位置?

How can I return a WebGL camera's position in p5.js?

提问人:goodeveningworld256 提问时间:11/9/2023 最后编辑:goodeveningworld256 更新时间:11/19/2023 访问量:26

问:

我正在尝试在 3D 空间中使用第一人称相机制作一个带有 p5.js 的 WebGL 画布上下文的程序。目前,我正在努力实现相机旋转(“倾斜”和“平移”),我遇到了一个问题,即相机在接近某个点时会反转。我希望能够添加逻辑来防止这种情况发生。虽然,要做到这一点,我首先需要找到一种方法来获得相机在给定时间点的倾斜度。

这是我拥有的用于管理相机和画布的代码:

let cam;
function setup() {
  createCanvas(displayWidth, displayHeight, WEBGL);
  cam = createCamera();
}

function draw() {
  // assume camera position is updated here..
}

这是我拥有的相机移动代码:

function mouseMoved(e) {
  // To make sure "cam" has loaded and been defined as a p5.Camera
  if (cam instanceof p5.Camera) {

    // H = horizontal, V = vertical
    let camAngH = -e.movementX / 5;
    let camAngV = e.movementY / 15;

    cam.pan(camAngH);
    cam.tilt(camAngV);
  }
}

我已经阅读了他们的文档并浏览了所有 p5。相机方法,我无法找到任何关于我的问题的具体信息。如果你对此有所了解,如果你能给我任何提示或为我指出正确的方向,那就太棒了。

JavaScript 3D WebGL P5.js

评论

0赞 Community 11/9/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答: 暂无答案