Thread: Shake tip-of-the-day - Crashing QuickPaint nodes

Reply to Thread
Results 1 to 14 of 14
  1. #1 Shake tip-of-the-day - Crashing QuickPaint nodes 
    Join Date
    Jan 2003
    Posts
    3,135
    Just because I call this a 'tip-of-the-day' doesn't mean there's going to be one every day, but I'm going to start sharing some of the stuff I've been discovering while acting as tech-support for compers over here....

    When you use a QuickPaint node, try not to have too many strokes in the same node. If possible, keep it below 100, and you should never have any problems with it.

    If you do have a node with a ridiculous number of strokes in it, and Shake gives a Segmentation Fault when you load the script, all is not lost....

    Here's what you do:
    • Open the script in a text editor
    • Find your biggest QuickPaint node (searching for "QuickPaint(" will give you the nodes)

      This will start with something like:

      Code:
      QuickPaint1 = QuickPaint(SwitchMatte1, 0, "v1.11", 1, 1, 1, 1, 
          1, 20, 30, 1, 1, 100, 0, JSplineV(x,1,0@0,1@1), 0.2, 1, "<long string of ASCII characters>",
      "<long string of ASCII characters>",
      "<long string of ASCII characters>",
    • Each string of ASCII characters is one stroke in your paint node. What we're going to do is split this node up into two.
    • Copy the whole of this line up until the first long string of characters.
    • Scroll down, and find a point about halfway through the long list of strings.
    • What we're going to do is leave everything in the first half of the node in the node, and make a new node after this with everything from the second half.
    • Paste in the start of the node between two long string of characters, like so:

      Code:
      "<long string of ASCII characters>",
      "<long string of ASCII characters>", 
      "<long string of ASCII characters>",
      QuickPaint1 = QuickPaint(SwitchMatte1, 0, "v1.11", 1, 1, 1, 1, 
          1, 20, 30, 1, 1, 100, 0, JSplineV(x,1,0@0,1@1), 0.2, 1,
      "<long string of ASCII characters>", 
      "<long string of ASCII characters>",
      "<long string of ASCII characters>",
      Currently this will chuck up an error - you need to make sure the previous node is 'finished' in the script - at the moment, it hits the new node while still thinking that it's inside another node.
    • So, the line BEFORE your new node starts, replace the "," at the end with ");"
    • The last thing we need to do is give our new QuickPaint node a new name - replace the QuickPaint1 (before the "=") with a name that you know won't be anywhere else in the script.
    • This section should now look like:

      Code:
      "<long string of ASCII characters>",
      "<long string of ASCII characters>", 
      "<long string of ASCII characters>");
      QuickPaint1_SECOND_HALF = QuickPaint(SwitchMatte1, 0, "v1.11", 1, 1, 1, 1, 
          1, 20, 30, 1, 1, 100, 0, JSplineV(x,1,0@0,1@1), 0.2, 1,
      "<long string of ASCII characters>", 
      "<long string of ASCII characters>",
      "<long string of ASCII characters>",

    And it should load up into Shake. You'll find the first half still connected where it used to be, and the second half coming off the same node. Place the second half after the first in the tree, and it should work just as it did before.

    The last time I fixed one of these, the original node had over 5000 strokes in. When we cut it down to about 2600 in each, it worked fine. I'd still recommend that nobody ever gets to the stage where they have this many strokes in one node!

    On a kinda similar note, the same problem can strike when you have multiple shapes in one RotoShape node - I would suggest never having more than one shape in each RotoShape node.
    Hugh Macdonald
    Reply With Quote  

  2. #2  
    Join Date
    Jan 2005
    Location
    New York, NY!
    Posts
    51
    OMG HUGH I think I could kiss you! You have no idea how many times I've had the QuickPaint Node act weird like that and THEN I finally figured it out to separate it in two nodes. That's great to know that there's an alternative. THANKS!!!
    Reply With Quote  

  3. #3  
    Join Date
    Jan 2003
    Posts
    3,135
    That was quick! I'd suggest never getting into a situation where you need to do this, but there is an option if you do... Much better than going back to a previous version and losing a day's work...
    Hugh Macdonald
    Reply With Quote  

  4. #4  
    Join Date
    Jan 2003
    Location
    UK
    Posts
    593
    Thanks for that... we'll see you bright n early tommorow for the next tip!
    VFXTalk.com
    Reply With Quote  

  5. #5  
    Join Date
    Feb 2003
    Location
    Venice, CA
    Posts
    2,294
    Thank goodness I almost never need to use quickpaint in shake.. Whew. Good info.
    aruna | nuke | digitalGypsy | VFXWages | twitter
    Reply With Quote  

  6. #6 Question  
    Join Date
    Jul 2004
    Location
    Victoria (Vancouver Island), BC
    Posts
    133
    Quote Originally Posted by Hugh
    On a kinda similar note, the same problem can strike when you have multiple shapes in one RotoShape node - I would suggest never having more than one shape in each RotoShape node.
    Great info!! Thanks!

    But isn't multiple shapes one of the advertised strengths of a RotoShape node, over a QuickShape node?
    All the best,
    Lee Gabel
    ___
    VFX Journal
    Reply With Quote  

  7. #7  
    Join Date
    Feb 2003
    Location
    Venice, CA
    Posts
    2,294
    A different strength of the rotoshape node is the ability to have variable soft edges on your matte, something preferred when rotoscoping. I, however, would not put more an one shape into the rotoshape node, because the way it works SUCKS. Whenever I roto, I put a different shape into each rotoshape node.
    aruna | nuke | digitalGypsy | VFXWages | twitter
    Reply With Quote  

  8. #8  
    Join Date
    Jan 2003
    Posts
    3,135
    Another problem with multiple shapes in a RotoShape node is that you can only ever set keyframes on all of the shapes at once. There is no ability to key the shapes differently.....

    And what Aruna said...
    Hugh Macdonald
    Reply With Quote  

  9. #9  
    Join Date
    Jul 2004
    Location
    Victoria (Vancouver Island), BC
    Posts
    133
    I knew about the keyframing problem. Is that the only reason that make multiple roto shapes suck, apart from "just SUCKING"?

    Not trying to provoke, just wanting to understand the reason behind it sucking...
    All the best,
    Lee Gabel
    ___
    VFX Journal
    Reply With Quote  

  10. #10  
    Join Date
    Feb 2003
    Location
    Venice, CA
    Posts
    2,294
    Ah... but provoke you have!

    The silly rotoshape node does a couple things differently, like Hugh stated. It gives you options for soft edges of roto, and allows you to add more than one in the same node.. The problem arises when you want to animate only one shape in the node.. It'll set keyframes for all of them. There's no easy way to separate out which keyframes go with which shapes. As well, the way the shapes are created don't really have a 'center'. If you create a shape, and you want to rotate it around an axis, you can't. Not in the rotoshape node. If you do, the silly shape doesn't rotate, it just moves the points of the shape! If you want to rotate, you'd have to put a rotate node after the rotoshape node.. Ick. It's just silly.
    aruna | nuke | digitalGypsy | VFXWages | twitter
    Reply With Quote  

  11. #11  
    Join Date
    Jan 2003
    Posts
    3,135
    Also, on top of this, it suffers from similar problems to the QuickPaint node in that, if you have too many shapes in the same node, it can start crashing...

    I think it must be something to do with how Shake deals with multiple lines of ASCII-encoded data in a single node....
    Hugh Macdonald
    Reply With Quote  

  12. #12  
    Join Date
    Jul 2004
    Location
    Victoria (Vancouver Island), BC
    Posts
    133
    Thanks, Hugh, Aruna. Much appreciated. Now I know what to avoid!
    All the best,
    Lee Gabel
    ___
    VFX Journal
    Reply With Quote  

  13. #13  
    Join Date
    Apr 2003
    Location
    Los Angeles
    Posts
    1,608
    Blog Entries
    1
    Quote Originally Posted by Hugh
    Another problem with multiple shapes in a RotoShape node is that you can only ever set keyframes on all of the shapes at once. There is no ability to key the shapes differently.....
    Quick note on this. When you double click the auto key button it does set a key on everything, but when you just have the auto key button on and you move individual points it only sets the key on that shape only, not all the shapes. You can see that this is true by copying shapes from one node to another and you will see that the keys are different. Unfortunatly shake has no way to show different shapes keys in the timeline.
    Reply With Quote  

  14. #14  
    Join Date
    Jan 2003
    Posts
    3,135
    Ah - okay - thanks for that, beaker!

    I've never used a RotoShape node with more than one shape in, so I was only repeating what I had understood other people to be saying....
    Hugh Macdonald
    Reply With Quote  

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     
Bookmarks
Bookmarks
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts