繁体   English   中英

Unity:如何按特定量移动相机?

[英]Unity: How to move the camera by a specific amount?

你好! 我正在尝试制作一个地牢游戏,有点像以撒的结合。 我正在尝试制作一个脚本,当玩家进入另一个房间时,该脚本会将相机向下移动特定量。 现在,我专注于脚本部分,当玩家从顶部进入房间时将向下移动相机。

在 Unity 站点上查看了许多其他 StackOverflow 和问题后,我制作的将相机向下移动从顶部进入房间的代码行是Camera.main.transform.position = new Vector3(0, -10, 0); . 执行此行后,相机不再渲染除设置的背景颜色之外的任何内容。 我也很关心这行代码,因为我认为它不会将相机向下移动 10 点,而是将其设置到位置0, -10, 0 ,但我不确定。

我也尝试从相机中获取单个点(例如Camera.main.transform.position.x += 10; ),但 Visual Studio 和 Unity 给了我错误: Unable to get the return values of position.x because they are not variables 我一直试图弄清楚这一点很长一段时间,但由于某种原因不能。 谢谢!

我也很关心这行代码,因为我认为它不会将相机向下移动10个点,而是将其设置到位置0、-10、0,但我不确定。

是的,这确实会将位置设置为 0、-10、0,因为您将位置设置为新的 Vector3,而不参考旧位置。


您应该改为使用Camera.main.transform.Translate(0, -10, 0) ,这会将相机相对于其当前位置在 y 轴上向下移动 10 个点。

编辑:相机将仅渲染背景颜色,因为(我假设)一旦其位置设置为 (0, -10, 0),相机的视野中就没有对象,因此只有背景可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM