如何return p5js中的相机位置?

How to return the camera position in p5js?

在P5js中我们可以通过命令设置相机位置

camera([x], [y], [z], [centerX], [centerY], [centerZ], [upX], [upY], [upZ])

但是在使用 orbitControl() 进行一些旋转后,我如何 return 当前相机位置? 是否有像 cameraX 这样的函数来 return 当前相机位置的 x 坐标,比如鼠标的 mouseX?

您应该能够制作 p5.Camera instance via createCamera(),坚持下去,并根据需要 read/reuse 属性,例如 x、y、z。

这是经过调整的文档示例:

// Creates a camera object and animates it around a box.
let camera;
function setup() {
  createCanvas(100, 100, WEBGL);
  background(0);
  camera = createCamera();
  // optionally, call camera() on the instance with the same arguments as the global function
  //camera.camera([x], [y], [z], [centerX], [centerY], [centerZ], [upX], [upY], [upZ])
}

function draw() {
  background(255);
  if(!mouseIsPressed){
    camera.lookAt(0, 0, 0);
    camera.setPosition(sin(frameCount / 60) * 200, 0, 100);
  }
  box(20);
  // read cam params
  console.log(camera.eyeX + ',' + camera.eyeY + ',' + camera.eyeZ);
}

function mouseDragged(){
  orbitControl();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>