I have a "Ball", a "Shoot Direction" and a "Center Target" in my scene. "Shoot Direction" is a child of "Ball" gameobject as shown in the image. I can rotate the "Shoot Direction" around my "Ball" using Unity's built-in "RotateAround" method.

<https://imgur.com/a/FifaNOr>

What I want to achieve is;

1. Rotate "Shoot Direction" around "Ball" using Unity's built-in "RotateAround" method.
2. Keep "Shoot Direction" looking at "Center Target" regarless of the position and rotation of the "Ball" at the same time.
3. Not change "Ball"s own rotation while doing number 1 and 2.

What I have so far in ShootDirection.cs attached to "Shoot Direction" gameobject:

```
    void FixedUpdate () {
        if (canRotate && rotationSpeed != 0f) {
            RotateAroundCenter ();
            LookAtCenter ();
        }
    }

    public void SetDistanceFromCenter () {
        //Set distance from the Ball's Vector3.zero
        thisTransform.localPosition = thisTransform.localPosition.normalized * distanceFromCenter;
    }

   public void LookAtCenter () {
        //Look at the Ball's Vector3.zero
        Vector3 dir = Vector3.zero - thisTransform.localPosition;
        float angle = Mathf.Atan2 (dir.y, dir.x) * Mathf.Rad2Deg;
        thisTransform.rotation = Quaternion.AngleAxis (angle + 90, Vector3.forward);
    }

   public void RotateAroundCenter () {
        thisTransform.RotateAround (rotateAroundTransform.position, Vector3.back, rotationSpeed * Time.fixedDeltaTime * rotationDirection);
   }

```