[英]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.