我想制作一个鼠标外观的脚本,它可以移动我的头部,然后在某个时刻移动我的整个身体。我不明白

我想创建一个脚本,它使用鼠标控制我的相机,就像基本的 MouseLook 脚本一样。但是,我希望相机随着头部移动,当头部到达特定角度时,我希望整个身体移动......我无法弄清楚。我已经使用 Unity 一年多了,几个月以来一直在努力完成这个任务。我想是时候学习一些更高级的东西了。任何帮助表示感谢,谢谢!



catspeake
浏览 105回答 1
1回答

一只名叫tom的猫

public GameObject playerHead;public GameObject character;void Update(){    //check if the head is at a specific angle and if the mouse is moving    if (playerHead.transform.localRotation.x >= 0.59f && Input.GetAxis("Mouse X") < 0) {        //rotate the body at the speed of the mouse        transform.Rotate(new Vector3(0, Input.GetAxis("Mouse X"), 0));    //repeat    } else if (playerHead.transform.localRotation.x <= -0.59f && Input.GetAxis("Mouse X") > 0) {        transform.Rotate(new Vector3(0, Input.GetAxis("Mouse X"), 0));    }}

小怪兽爱吃肉

可能的解决方案:(&nbsp;我猜在你的项目中移动相机==移动头部)您只需使用(https://docs.unity3d.com/ScriptReference/Vector3.Angle.html)即可获得头部Transform.eulerAngles和身体之间的相对角度,然后,在该方法中您可以手动旋转身体,例如,(https:// docs.unity3d.com/ScriptReference/Rigidbody.MoveRotation.html)。Transform.eulerAnglesVector3.AngleUpdateRigidbody.MoveRotation您还可以调整此旋转以使其顺利进行。&nbsp;(如果您添加一些代码,我可以为您提供更多帮助)
打开App,查看更多内容
随时随地看视频慕课网APP