Unity 中Player 跟随鼠标转动

今天分享个小Demo  

在Unity 场景中实现Player (玩家) 跟随鼠标转动

1.首先创建你的 Player (玩家)   ,再来个地面 Plane

Unity 中Player 跟随鼠标转动_第1张图片

那么你的场景视图中展现的是不是这样的啊

Unity 中Player 跟随鼠标转动_第2张图片

哈哈, 当然你可以做的比这个更好, 我这是一个简单的Demo 嘛

干货来了

   private void FixedUpdate()
    {
        Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        //  从摄像机发出射线 起点  终点  距离  层 LayerMask
        if (Physics.Raycast(ray,out hit, 100,1<<8))
        {
            Vector3 temp = new Vector3(hit.point.x, transform.position.y, hit.point.z);
            temp = temp - transform.position;
            transform.rotation = Quaternion.LookRotation(temp);
        }
    }

切记你的Camera 奥,  场景中的MainCamera

要注意的后边的层  1<< 8  指的是Plane 的 Layer,  也可以为 LayerMask.GetMask("cube"), 两者意义一致

Unity 中Player 跟随鼠标转动_第3张图片

点击 Add Layer 

Unity 中Player 跟随鼠标转动_第4张图片

点击运行

Unity 中Player 跟随鼠标转动_第5张图片

 

是不是达到效果啦

哈哈, 感谢欣赏 

你可能感兴趣的:(Unity 中Player 跟随鼠标转动)