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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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# 让摄影机跟随播放器-三维空间中的对象位置和旋转(Unity3d)_C#_Unity3d_Camera - Fatal编程技术网

C# 让摄影机跟随播放器-三维空间中的对象位置和旋转(Unity3d)

C# 让摄影机跟随播放器-三维空间中的对象位置和旋转(Unity3d),c#,unity3d,camera,C#,Unity3d,Camera,我的目标是为我的太空战斗机概念验证游戏提供一个平滑的“跟随相机”。摄影机应在所有轴上匹配目标对象的滚离 为此,我从unity Answers网站“窃取”并修改了这段代码,它在X和Y(俯仰和偏航)上运行得很好,但它拒绝滚动 代码: 图片: < /P> < P>如果你解释了你想做的事情,我会更肯定这个答案,但是你应该考虑按高度> /代码>朝“代码”的方向前进。此外,考虑使用 CurrutsRoop*vcto3.Up> 在调用查找> 时设置本地向上: transform.position = Tar

我的目标是为我的太空战斗机概念验证游戏提供一个平滑的“跟随相机”。摄影机应在所有轴上匹配目标对象的滚离

为此,我从unity Answers网站“窃取”并修改了这段代码,它在X和Y(俯仰和偏航)上运行得很好,但它拒绝滚动

代码:

图片:


< /P> < P>如果你解释了你想做的事情,我会更肯定这个答案,但是你应该考虑按<代码>高度> /代码>朝“代码”的方向前进。此外,考虑使用<代码> CurrutsRoop*vcto3.Up> <代码>在调用<代码>查找> <代码>时设置本地向上:

transform.position = Target.transform.position;
transform.position -= currentRotation * Vector3.forward * Distance;

Vector3 currentUp = currentRotation * Vector3.up;
transform.LookAt(Target.transform, currentUp);
transform.position += currentUp * Height;

我对我的目标增加了一个更好的描述,但重要的部分是:“我的目标是有一个平滑的“跟随摄影机”。我会试试你的建议。如果是我想的,我会在几个小时后告诉你need@FrankR.Haugen好吧听起来你也在尝试使相机的轴与目标的轴平滑对齐。我改变了我的答案来解释这一点。没错!这正是它应该的工作方式。非常感谢你!
transform.position = Target.transform.position;
transform.position -= currentRotation * Vector3.forward * Distance;

Vector3 currentUp = currentRotation * Vector3.up;
transform.LookAt(Target.transform, currentUp);
transform.position += currentUp * Height;