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