Forum Replies Created

  • Stephanie Benvenuto

    April 9, 2008 at 1:20 pm in reply to: z channel issues in After Effects

    After Effects is set to 8. Where do I set my bit depth for Maya? I don’t see it in the render settings.

  • Stephanie Benvenuto

    April 5, 2007 at 5:51 pm in reply to: Using expressions to constrain IK limbs?

    As it turns out, its your IK script that we’re using. I just realized that now. I did change it to include a control layer, so they don’t pull the foot. I put the anchor point for the control at the same place as the ankle joint (null object) and the foot anchor point. The foot is parented to the calf. And this is now the code for the calf:

    B = toWorld(anchorPoint);
    L = thisComp.layer(“right_thigh”);
    A = L.toWorld(L.anchorPoint);
    L = thisComp.layer(“right_ankle”);
    C = L.toWorld(L.anchorPoint);
    L = thisComp.layer(“right_foot_control”);
    H = L.toWorld(L.anchorPoint);
    a = length(A,B);
    b = length(B,C);
    c = length(H,A);
    x = (a*a – b*b + c*c)/(2*c);
    y = c – x;
    alpha = Math.acos(clamp(y/b,-1,1));
    beta = Math.acos(clamp(x/a,-1,1));
    radiansToDegrees(alpha + beta);

    So far there are no expressions on the foot. It is simply parented to the calf. Let me know any other information you need. Thanks.

    -Stephanie

  • Stephanie Benvenuto

    April 5, 2007 at 5:34 pm in reply to: Wiggling Expression

    You said you were often getting the error “array piece can’t expand to more than one value”. This is the problem I was having. So I’m going to show you what someone showed me. It really helped in writing future expressions.

    Your second piece of code:

    temp = wiggle(10,50);
    [temp,temp]

    the “wiggle(10,50)” is returning 2 values. A scale value for x and a scale value for y. But your array can’t have more than one value in each piece. What it needs is [1 value, 1 value]. You gave it [2 values, 2 values] or [x & y, x & y]. That’s why it couldn’t work.

    So with Dan’s solution:

    temp = wiggle(10,50);
    [temp[0],temp[0]]

    Those zeros in brackets are telling the array that for the variable “temp”, only take the x value. If you wanted it to always take the y scale value for both you could write:

    temp = wiggle(10,50);
    [temp[1],temp[1]]

    [0] is for the x value, [1] for y & [2] for z. So you could also apply this same idea to your other expression as:

    [ 100,100, [100+wiggle(0.5,200)[2]] ]

    Now the way Dan wrote it is cleaner and easier to work with. But just to illustrate that buy added the [2] to that piece of the array, you are no longer giving it 3 values for one piece of the array. The [2] tells it to use only the z value of what is returned.

    Hope this helps.

    -S

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy