3D碰撞器跟随鼠标旋转像机正交模式

该博客介绍了如何在Unity3D中使用正交摄像机模式,并通过鼠标点击实现物体的检测与旋转。在OnPos()方法中,当鼠标左键被按下时,通过射线投射检测到名为'one'的物体,然后调用OnRotate()方法进行物体的转动。在OnRotate()方法中,计算鼠标位置与物体位置之间的角度,更新物体的旋转角度,实现了物体围绕垂直轴的平滑旋转。
//摄像机改为正交模式
 void Update()
    {
        OnPos();
    }
    private void OnPos()//射线选中
    {
        if (Input.GetMouseButton(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
           
            if (Physics.Raycast(ray, out hit ))
            {
                if (hit.transform.name.Equals("one"))//检测到转动物体
                {
                    OnRotate(hit); //进行转动 
                }             
            }
        }     
    }
    private void OnRotate(RaycastHit hit)//转动方法
    {
        Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector3 direction = (mousePos - hit.transform.position).normalized;
        float angle = 360 - Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg;
        hit.transform.eulerAngles = new Vector3(0, 0, angle);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卿屿­­­­­­­-轻尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值