Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 统一:如何移动相机的特定数量?_C#_Unity3d_Camera - Fatal编程技术网

C# 统一:如何移动相机的特定数量?

C# 统一:如何移动相机的特定数量?,c#,unity3d,camera,C#,Unity3d,Camera,你好我正在尝试制作一个地牢游戏,有点像《以撒的捆绑》。我正在尝试制作一个脚本,当玩家进入另一个房间时,它会将相机向下移动一个特定的量。现在,我将重点放在脚本的一部分,当玩家从顶部进入一个房间时,它会将相机向下移动 在查看Unity站点上的许多其他StackOverflow和问题后,我制作的代码行将相机向下移动,从顶部进入房间,代码行是camera.main.transform.position=new Vector3(0,-10,0)。执行此行后,摄影机不再渲染除设置的背景色之外的任何内容。我还

你好我正在尝试制作一个地牢游戏,有点像《以撒的捆绑》。我正在尝试制作一个脚本,当玩家进入另一个房间时,它会将相机向下移动一个特定的量。现在,我将重点放在脚本的一部分,当玩家从顶部进入一个房间时,它会将相机向下移动

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

我还尝试从摄影机获取各个点(
camera.main.transform.position.x+=10;
),但Visual Studio和Unity给了我一个错误:
无法获取position.x的返回值,因为它们不是变量。我想弄明白这一点已经很长时间了,但由于某种原因,我不能。谢谢

我还担心这行代码,因为我认为它不会将相机向下移动10点,但会将其设置为位置0,-10,0,但我不确定

是的,这确实会将位置设置为0,-10,0,因为您正在将位置设置为新矢量3,而不参考旧位置


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

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

谢谢!不过我很困惑。其他代码如何使摄影机不渲染任何内容。奇怪的不过,再次感谢你!因为可能在0,-10,0没有世界