1. 程式人生 > >【Unity】人物的方向跟隨滑鼠的方向

【Unity】人物的方向跟隨滑鼠的方向

 void Turning ()
        {
            // 建立一個物理射線,獲取滑鼠的座標
            Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);

            // 我這裡判斷的是射線打擊到地面
            RaycastHit floorHit;
           
            // 表示只檢測第8層
            LayerMask floorMask = 1<< 8;

            // 如果射線打擊到物體,並且物體屬於floorMask層
            if(Physics.Raycast (camRay, out floorHit, 1000, floorMask))
            {
                // 獲取滑鼠點到地面上的點和人物當前座標之間的向量差
                Vector3 playerToMouse = floorHit.point - transform.position;

                // 設定差值的y軸的角度為0
                playerToMouse.y = 0f;


                // 計算角度
                Quaternion newRotation = Quaternion.LookRotation (playerToMouse);

                // 賦值給人物
                playerRigidbody.MoveRotation (newRotation);
            }
        }