zoukankan      html  css  js  c++  java
  • 物体跟随鼠标旋转

    转载:https://www.taikr.com/article/3926

    void Start()
        {
     
        }
     
        // Update is called once per frame
        void Update()
        {
            FollowMouseRotate();
            FollowMouseMove();
        }
     
        //物体跟随鼠标旋转
        private void FollowMouseRotate()
        {
            //获取鼠标的坐标,鼠标是屏幕坐标,Z轴为0,这里不做转换  
            Vector3 mouse = Input.mousePosition;
            //获取物体坐标,物体坐标是世界坐标,将其转换成屏幕坐标,和鼠标一直  
            Vector3 obj = Camera.main.WorldToScreenPoint(transform.position);
            //屏幕坐标向量相减,得到指向鼠标点的目标向量,即黄色线段  
            Vector3 direction = mouse - obj;
            //将Z轴置0,保持在2D平面内  
            direction.z = 0f;
            //将目标向量长度变成1,即单位向量,这里的目的是只使用向量的方向,不需要长度,所以变成1  
            direction = direction.normalized;
            //物体自身的Y轴和目标向量保持一直,这个过程XY轴都会变化数值  
            transform.up = direction;
        }
     
        //跟随鼠标移动
        private void FollowMouseMove()
        {
            float moveSpeed = 3.0f;
            if (Input.GetTouch(0).phase == TouchPhase.Moved)    //如果按下鼠标左键,移动速度变快
            {
                moveSpeed = 6.0f;
                transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
            }
            else
            {
                transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);
            }
        }
  • 相关阅读:
    毕设2020.02.02
    架构师眼中的高并发架构
    云时代架构读后感二
    以《淘宝网》为例,描述质量属性六个常见场景
    《架构漫谈》读后感
    云时代架构读后感一
    暑假周总结报告08
    暑假周总结报告07
    暑假周总结报告06
    假期周总结报告05
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/14076671.html
Copyright © 2011-2022 走看看