gpt4 book ai didi

java - 处理:是否有更好的方法使用 P3D 渲染器制作自上而下的相机

转载 作者:行者123 更新时间:2023-11-30 06:26:14 24 4
gpt4 key购买 nike

我正在制作一款自上而下的游戏,其中摄像机将玩家置于屏幕中央。我的代码有效,但我不理解 eyeXYZ 参数。如果我输入一个小于 1000000000 的数字(例如 100),游戏就会出现很大问题,并且角度将不再垂直(自上而下)。

是否有更好的方法让相机在处理中从上到下的角度跟随玩家?这是我所拥有的:

camera(0.0, 0.0, 1000000000, player.x+300, player.y, 0.0, 0.0, 1.0, 0.0);
ortho(-width, width, -height, height);

最佳答案

前三个参数指定相机(眼睛)的位置。因此,如果您希望相机位于播放器上方,那么您应该使用:

camera(player.x, player.y, player.z + cameraHeight ...

cameraHeight 是相机与玩家之间的距离。由于您使用的是正交 View ,因此该值并不重要。它仅对于正确的深度值很重要(这取决于 znear 和 zfar 的值,处理文档对此没有太大帮助)。

接下来的三个参数是焦点的位置。如果你想专注于玩家,你应该使用:

... player.x, player.y, player.z ...

(我不确定这个 +300 应该做什么)。

最后三个参数是图像中指向上方的方向。 y 轴应该没问题。

... 0.0, 1.0, 0.0);

就是这样。

眼睛的超大 z 坐标之所以起作用,是因为这基本上使 +300 偏移量退化了。与 1000000000 相比,300 实际上为零,这就是它看起来垂直的原因。当您减小 z 坐标时,300 的影响会变得更强,并且非垂直性会变得更加明显。

关于java - 处理:是否有更好的方法使用 P3D 渲染器制作自上而下的相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47151444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com