Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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_Rotation_Frame Rate - Fatal编程技术网

C# 统一-平滑旋转第一人称手臂以匹配摄影机

C# 统一-平滑旋转第一人称手臂以匹配摄影机,c#,unity3d,rotation,frame-rate,C#,Unity3d,Rotation,Frame Rate,我想通过让手臂缓慢地与玩家相机的旋转相匹配来实现我的角色在第一人称游戏中旋转的错觉 我现在正在努力解决这个问题,因为手臂现在是相机的孩子 例如,如果我向右转,显示的手臂会平滑地赶上相机。如下图所示 任何建议都会很有帮助 我有下面的代码,但显然不起作用。这是附在手臂上的。建议的旋转结合了FirstPersonController X轴和Y摄影机移动 void Update() { WorldSpaceRotation = transform.rotation; XRotation

我想通过让手臂缓慢地与玩家相机的旋转相匹配来实现我的角色在第一人称游戏中旋转的错觉

我现在正在努力解决这个问题,因为手臂现在是相机的孩子

例如,如果我向右转,显示的手臂会平滑地赶上相机。如下图所示

任何建议都会很有帮助

我有下面的代码,但显然不起作用。这是附在手臂上的。建议的旋转结合了FirstPersonController X轴和Y摄影机移动

void Update()
{
    WorldSpaceRotation = transform.rotation;
    XRotation = ParentX.rotation;

    ProposedRotation = new Quaternion(ParentX.rotation.x, ParentY.rotation.y, ParentX.rotation.z, ParentX.rotation.w);


    transform.rotation = Quaternion.Slerp(transform.rotation, ParentX.rotation, timeCount);
    timeCount = timeCount + Time.deltaTime;

}

不幸的是,如果您不共享代码,我们将很难帮助您,请阅读并@BugFinder Yes,当然。我所拥有的感觉是错误的,但我已经更新了我拥有的问题。嗯,我觉得错误的事情是设置worldspacerotation,似乎没有目的,时间计数,但你从未重置它,parentX与此对象有什么关系?如果它是父对象,它将已经移动。@BugFinder是的,这是我的问题的核心,子对象总是要按照父对象旋转。我试图在世界空间中编写脚本,以某种方式在父对象和子对象之间的旋转关系之间造成某种延迟,以便稍后将其平滑。这就是我来这里的原因,真的,没有想法。ParentX是第一个使用鼠标输入在X轴上旋转的PersonController。ParentY是只在YAxis上移动的摄影机。根据unity standard assets.我可能会像你想做的那样,解开手臂并勒紧它们