object look center when orbiting with near sides

Im new to unity and ı trying to make pirate ship ai. that attack player with orbiting but how i can make the enemy ship looking player with sides (broadside).like this;

the script i used :

		GameObject cube;
		public Transform center;
		public Vector3 axis = Vector3.up;
		public Vector3 desiredPosition;
		public float radius = 2.0f;
		public float radiusSpeed = 0.5f;
		public float rotationSpeed = 80.0f;

		void Start () {
			cube = GameObject.FindWithTag("Cube");
			center = cube.transform;
			transform.position = (transform.position - center.position).normalized * radius + center.position;
			radius = 2.0f;

		void Update () {
			transform.RotateAround (center.position, axis, rotationSpeed * Time.deltaTime);
			desiredPosition = (transform.position - center.position).normalized * radius + center.position;
			transform.position = Vector3.MoveTowards(transform.position, desiredPosition, Time.deltaTime * radiusSpeed);

If i understand your question correctly and assuming you want the ship to act like in the right picture. You can create a empty gameobject inside the ship as a child object that will be set a bit more forward then the ship. Then you access the transform of this empty gameobject in your ship script and use this in its update:


Every frame the ship should look at this object and having its forward direction constantly facing it.