iTween - PunchPosition(), error after finished

Ok, I have the following setup:

  • ParentGameObject
    • ChildGameObject

Now inside ParentGameObject I call `iTween.PunchRotation(ChildTransform, amountVector, timeValue);`

Everything works fine, except that after `PunchRotation()` has finished, the ChildGameObject sets its rotation to the rotation of ParentGameObject instead of remaining at its previous local rotation. Even if I define "space" as Space.Self.

The code that leads to this rotation change is inside `void ApplyPunchRotationTargets()`:

//dial in:
if( percentage==1 )
{
    transform.eulerAngles=vector3s[0];
}

and vector3s[0] is set to transform.eulerAngels in `void GeneratePunchRotationTargets()`, which aren't the local angles!

//from values:
vector3s[0]=transform.eulerAngles;

Now, is this an error by iTween or did I miss something?

Can you send me a file that has this setup so I can test and take care of this? You can grab my email from the support page for iTween, Thanks!

I've removed the "dial in" portions of the Punch methods in iTween until I can come up with a more bulletproof solution (all this means is that your ending rotations, scales, and positions may be slightly odd, though 100% accurate numbers). Hope this solves things for you!

In some cases your dial in looks like this:

if(percentage==1)
{           
    if (isLocal) 
    {
        transform.localRotation = Quaternion.Euler(vector3s[1]);
    else
    {
        transform.rotation = Quaternion.Euler(vector3s[1]);
    };
}

Maybe this would be everything that's needed because the problem was that you assigned the worldspace-coords even if you punched in local space. Maybe this helps..