让玩家移动到鼠标点击的位置

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_44238513/article/details/90294514
    bool finish = true;
    Vector3 pos;
    public int speed = 10;
    void Start()
    {

    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))

        {

            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            RaycastHit hit = new RaycastHit();

            if (Physics.Raycast(ray, out hit))
            {
            //判断射线碰撞到的物体名称  是否是Terrain,你的角色在什么物体上移动就改成那个物体的名称
                if (hit.collider.name == "Terrain")
                {
                    pos = hit.point;
                    pos.y = 1f;
                    finish = false;
                }
            }
        }

        if (!finish)
        {
            Vector3 offset = pos - transform.position;

            transform.position += offset.normalized * Time.deltaTime * speed;

            if (Vector3.Distance(pos, transform.position) < 1f)
            {
                transform.position = pos;
                finish = true;
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44238513/article/details/90294514
今日推荐