private void autoHover() { { Vector3 heading = (Vector3d)this.vessel.transform.up; Vector3d up = (this.vessel.rigidbody.position - this.vessel.mainBody.position).normalized; Transform modifiedUp = new GameObject().transform; modifiedUp.rotation = Quaternion.LookRotation(up, heading); modifiedUp.Rotate(new Vector3(-90, 0, 180)); partTransform.localRotation = Quaternion.Euler(currentRotation + new Vector3(defaultRotationX, defaultRotationY, defaultRotationZ)); partTransform.rotation = Quaternion.RotateTowards(partTransform.rotation, modifiedUp.rotation, steerAmount * 4); } }