Reputation: 36311
I am trying to rotate an object around it's local axis (In this case a humanoid index finger) with my custom editor.
public float amount;
void OnGUI() {
amount = EditorGUILayout.Slider("Rotate Amount", amount, 0, 100);
index1.transform.localEulerAngles = new Vector3(0, 0, amount);
}
The issue I am having is when I move the slider, the finger rotates down and forward so the tips of the fingers point outwards, when in theory they should point towards the elbow.
I think I am using the wrong type of transform here, so what should I do to use the right transform?
Upvotes: 0
Views: 11294
Reputation: 2638
There may be 2 parts to this:
code for step #2
var currentZEuler = zRotation(this.transform.rotation).eulerAngles.z;
var deltaZEuler = amount - deltaZEuler;
index1.transform.Rotate(0, 0, deltaZEuler, Space.Self);
Upvotes: 0
Reputation: 31
Try to use:
index1.transform.Rotate(new Vector3(0, 0, amount), Space.World);
or
index1.transform.Rotate(new Vector3(0, 0, amount), Space.Self);
Hope it solves your problem :)
Upvotes: 1