unity武器绕某一点进行旋转

这里的主要是通过获得玩家位置和鼠标的位置来计算出玩家指向鼠标的向量,在把向量赋值给夫对象的x轴来进行的旋转,子对象会绕着父对象进行旋转。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static UnityEngine.EventSystems.StandaloneInputModule;

public class WapeRotation : MonoBehaviour
{
    // Start is called before the first frame update
    public GameObject tr;

    void Start()
    {
        tr = GameObject.Find("tile_0088");
    }

    void Update()
    {
        Rotation(InputMouse());
    }

    private Vector3 InputMouse()
    {
        Vector3 mouse = Input.mousePosition;
        //得到鼠标位置

        mouse = Camera.main.ScreenToWorldPoint(mouse);
        //把屏幕位置转化成世界位置

        Vector3 player_position = tr.transform.position;
        //获得玩家位置

        Vector3 f = mouse - player_position;
        //求出玩家指向鼠标的向量

        f.z = 0f;
        //z轴赋值为0;
        Debug.Log(f);
        Debug.Log(f.normalized);
        return f.normalized;
    }

    private void Rotation(Vector3 angle)
    {
        this.transform.right = angle;
        //旋转角度
    }
}

挂载

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值