Jump to content
Hash, Inc. - Animation:Master

robcat2075

Hash Fellow
  • Posts

    27,743
  • Joined

  • Last visited

  • Days Won

    339

Posts posted by robcat2075

  1. Mark Largent pointed this one out.

    This is an astonishing number of mostly-memorable, mostly pretty-good songs to have in one year.

    1984 was peak music and peak hair.

    "Money for Nothing," the first CG music video, isn't here... it happens in 1985.

    180 Songs That Turn 40 Years Old in 2024

     

  2. @Rodney @Roger @Shelton

    I was quite mistaken last night about array declarations. The extra braces don't matter! At least not for our simple integer arrays.

    This sample program shows four different styles all producing the same result...

    // MultiDDeclareTest.cpp : program to declare multi-dimensional arrays
    // and access a value in them
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        //simplest declaration...
        int tableA[3][4] = { 1,2,3,4,2,4,6,8,3,6,9,12 };
    
        //line breaks added for readability...
        int tableB[3][4] = { 
            1,2,3,4,
            2,4,6,8,
            3,6,9,12 };
    
        //extra braces added for readability
        int tableC[3][4] = { {1,2,3,4},{2,4,6,8},{3,6,9,12} };
    
        //line breaks and braces added for readability
        int tableD[3][4] = { 
            {1,2,3,4},
            {2,4,6,8},
            {3,6,9,12} };
    
        // remember that array elements are numbered starting with zero...
        cout << "tableA[1][3] = " << tableA[1][3] << endl;
        cout << "tableB[1][3] = " << tableB[1][3] << endl;
        cout << "tableC[1][3] = " << tableC[1][3] << endl;
        cout << "tableD[1][3] = " << tableD[1][3] << endl;
    
    }

     

    Output...

    tableA[1][3] = 8
    tableB[1][3] = 8
    tableC[1][3] = 8
    tableD[1][3] = 8

     

  3. Do you mean the target bone is gone or the constraint to it is gone?

    There should not be any conflict of constraints, a v16 model should still work fine. If you want to send me the v16 model in a PM I'll look at it.

  4. I've never gone all the way through Barry Zundel's rigging process since I don't use his rig. I just know that other people have gotten a successful result... recently... so it must work in some fashion.

    Here is how mirroring bones, CP weights, and constraints is done with current A:M tools. Note that the model I demonstrate with already has an exactly mirrored mesh, having done that with Copy/Flip/attach. You want your splines to be exactly mirrored for this stuff to work.

     

     

     

  5. This is largely a note to myself.

    While researching another bug, I noticed in TSM2...

    1 - a constraint that has "none" as a target. That should not be.

    2 - the line of the TSM2 script that creates that constraint indicates the target should be "...toe IK tagger"

    3 - However, the line of the script that creates that bone names it "...toes IK tagger" (plural)

    Perusing the script, it seems that all other references are to "toes" plural, so #2 is probably the error.

     

    I am surprised that the script has been working all these years. In my experience, when a TSM2 script encounters a bone name that doesn't exist it either crashes or stops executing the script.

    So that's another mystery.
    update: "1 right inter toes" also has a broken aim at constraint

    image.png

  6. John Purcell introduces functions, a form of reusable code.

    When you invoke a function, that causes the program to depart to another portion of your code, execute it, then return to just after the original function call.

    This first lesson on functions does not yet consider the important function return values or function parameters, but those are coming.

    Sample lesson idea:

    Copy the code of your Case and Switch program into a new C++ project and modify it to print the opening title and explanation via a function that is called, rather than having those hard coded into the main() loop of your program

    If your Case and Switch program didn't have an opening title and explanation... invent one for your function to print!

  7. That looks promising!

    I thought the big long thing on him was like the tail on a slug and was behind him. Maybe I'm wrong on that?

    My first suggestion is to respline the mouth corner so it is not an actual corner but a U-turn instead. You can quickly terminate the new spline (highlighted) with a hook.

    If the mouth opening is one continuous loop it is easy to extrude it inward when you want to make the inside of the mouth.

    image.png

     

    The part I circled in orange has a dead end spline. That will want to be fixed with some combination of five-pointers and hooks.

    I have a video about one user's dead end spline. It's not exactly the same situation but it might be helpful...

    https://forums.hash.com/topic/42423-exercise-11-geeeeraff/?do=findComment&comment=372103

     

    • Like 1
×
×
  • Create New...