Unity中鼠标控制物体旋转

将下面的脚本拖到需要旋转的物体上,按住鼠标右键即可旋转物体。

public class RotateObj : MonoBehaviour
{
    //旋转最大角度
    public int yMinLimit = -20;
    public int yMaxLimit = 80;

    //旋转速度
    public float xSpeed = 25.0f;
    public float ySpeed = 12.0f;

    //旋转角度
    private float x = 0.0f;
    private float y = 0.0f;

    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetMouseButton(1))
        {
            x += -Input.GetAxis("Mouse X")*xSpeed;
            y -= -Input.GetAxis("Mouse Y")*ySpeed;
            y = ClampAngle(y,yMinLimit,yMaxLimit);

            Quaternion rotation = Quaternion.Euler(y,x,0);
            transform.rotation = rotation;
        }
    }

    static float ClampAngle(float angle, float min, float max)
    {
        if(angle<-360)
            angle += 360;

        if(angle>360)
            angle -= 360;

        return Mathf.Clamp(angle,min,max);
    }
}

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值