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?
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 :)
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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.