0

我正在 Ursina 制作 FPS 游戏,我希望能够瞄准。我想,我会通过改变相机的 FOV 来做到这一点:它是完美的!

问题是我希望能够为瞄准的过渡设置动画。我不能使用 for 循环,因为 FOV 只有在完成后才会更新,而且我不能使用 animate 方法......我试过:

camera.animate("fov", -30, duration = 2, delay=0, auto_destroy = True)

使用语法:

animate(name, value, duration=.1, delay=0, curve=curve.in_expo, loop=False, resolution=None, interrupt='kill', time_step=None, auto_destroy=True)

在这里,我的值(我想减少我的 FOV,所以要缩放 30)并不意味着什么:我可以放任何我想要的东西,它不会停止,直到 fov 等于 0。

有没有办法解决这个问题?通过在 for 循环中找到更新相机的方法,或者通过找到任何方法来为 FOV 过渡设置动画

4

1 回答 1

0

找到了答案:值参数实际上不是您想要增加或减少您的 FOV(或任何东西)的值,但它实际上是它将达到的值!所以,如果我输入 1,我的 FOV 将变为 1,这就是原因。要为我的 FOV 设置 -30 动画,正确的语法是:

camera.animate("fov", camera.fov-30, duration = 2, delay=0, auto_destroy = True)

于 2021-10-21T08:29:04.607 回答