Hi,
I’m having a death battle trying to rotate elements around another without rotating itself.
In a hex board, I’m trying to rotate the elements in the radius of an hex. I can do that with the transform.RotateAround() function, but I want to keep the local rotation of the radius object, so they don’t flip.
This is what I have now:
void Update() {
if (pivot != null && selected != null) {
Debug.DrawLine((Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition), pivot.transform.position);
float pivotMouse = AngleBetweenTwoPoints((Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition), pivot.transform.position);
float pivotSelected = AngleBetweenTwoPoints(selected.transform.position, pivot.transform.position);
float difference = pivotMouse - pivotSelected;
Debug.Log ("Angle between pivot and mouse: " + pivotMouse);
Debug.Log ("Angle between pivot and selected: " + pivotSelected);
Debug.Log ("Diference: " + difference);
for (int i = 0; i < radius.Count; i++) {
// This is the standard rotate around function, and goes perfectly, but as I said on the question, I don't want to change the local rotation of the object, just move around the pivot square
radius*.transform.RotateAround(pivot.transform.position, Vector3.forward, difference);*
-
}*
-
}*
- }*
Thanks everyone for your help!!