为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞


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));

    }

}


查看完整回答
反对 回复 2023-08-20
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

可能的解决方案:( 我猜在你的项目中移动相机==移动头部)

您只需使用(https://docs.unity3d.com/ScriptReference/Vector3.Angle.html)即可获得头部Transform.eulerAngles和身体之间的相对角度,然后,在该方法中您可以手动旋转身体,例如,(https:// docs.unity3d.com/ScriptReference/Rigidbody.MoveRotation.html)。Transform.eulerAnglesVector3.AngleUpdateRigidbody.MoveRotation

您还可以调整此旋转以使其顺利进行。 (如果您添加一些代码,我可以为您提供更多帮助)


查看完整回答
反对 回复 2023-08-20
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信