コード例 #1
0
ファイル: Mover.cs プロジェクト: ivevkz/AirForce
    private void LookOnCursor()
    {
        Plane player = new Plane(Vector3.up, transform.position);
        Ray   ray    = Camera.main.ScreenPointToRay(Input.mousePosition);
        float hit    = 0;

        if (player.Raycast(ray, out hit))
        {
            Vector3    targetPoint    = ray.GetPoint(hit);
            Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, _rotationSpeed * Time.deltaTime);

            if (Mathf.Abs(HorizonalMouse) > 0 || Mathf.Abs(VerticalMouse) > 0)
            {
                ChangeCursor?.Invoke(2f);
            }
            else
            {
                ChangeCursor?.Invoke(1f);
            }
        }
    }