Part 1:

Part 2 will come soon.

]]>If you enjoyed this, don’t forget to

I worked this out myself but I’m told Bradley Gabe thought of it first, so kudos to him. ]]>

Here’s some cool examples of the good ol’ ElasticReality morpher in use…

Watch this at 5m27s in:

(^ Most of the shot transitions use morphing.)

ElasticReality was a product originally made (for the Amiga!) in the 80s, originally known as *Morph Plus*. They were later acquired by Avid who threw it into their Avid Media Illusion product (for the IRIX) and later they acquired Softimage and in XSI6 they threw it into the FXTree as a node. Check out these vintage promotional videos for the original product:

I’m open to ideas for further short-form tutorials. If you have any, or found this particular tutorial educational, speak up! I welcome your feedback.

]]>

**Stuff *IN* the trailer that I worked on:**

the rigging and render pipeline for the “stilts” (the mechanical contraption that attaches to the guys’ feet in all the cockpit shots) and rigged the chopper seen in a couple of the shots.**Stuff *NOT* in the trailer that I worked on:**

can’t tell you yet.

Loving it there and just wanted to share with you this new trailer for one of the first projects I got to put my hands on here.

It’s for the magician heist movie “**Now You See Me**“. Enjoy!

Basically you loop digit by digit and find the index in the string “012345679” that your digit corresponds, thus giving you each single digit as an integer. We proceed to combine the digits to an array. When done, that digit array is reversed and each single digit is multiplied by the corresponding powers of 10, thus giving us what the digit was worth. The array sum of these calculations becomes the integer we’re after.

For example, let’s say we have the number “*1234*” or “*one thousand two hundred and four*“:

Finding each digit in the string “1234” we get the array [1,2,3,4]

reversed it is of course [4,3,2,1]

so we iterate digit by digit, multiplying by increasing exponentials of ten like so:

4 * 1 = 4

3 * 10 = 30

2 * 100 = 200

1 * 1000 = 1000

so now we have an array of integers [4,30,200,1000]

so we sum it up and what do we get?

4+30+200+1000=1234 as an integer value!

To do an ICE String to a Scalar (a number with a decimal value, a.k.a. a “float”) we can fundamentally do the above algorithm twice, by treating the integer and the remainder (what’s after the period) as individual integer values.

For example say we have a scalar string saying “1234.567”, we split by the period (.) and interpret the strings “1234” and “567” individually with our integer conversion algorithm. However, when adding the remainder (567) we can’t add it directly as that would be 1234+567=1801 which is NOT what we want! The trick is to count the digits:

567 is 3 digits,

and 10 to the 3rd power, or 10*10*10 is 1000,

therefore we can divide 567 by 1000 and we get 0.567,

so then we can do 1234 + 0.567 = 1234.567, to get the Scalar we want!

(Remember though, that you may get a slightly different remainder due to floating point inaccuracies when interpreting the number.)

“** Reference to String**” is a fantastic node. When fed a GetData’s OutName it will give you a string, but the best is if you feed it a magic keyword (this, self, this_model, this_parent) it resolves the real object name AND even better, check this:

^ If you feed it a group, you get

This means we can encode settings into numbers of the object names and read them from ICE. Here’s an example where the object name decides the shape index:

Now here’s a different example where I take the number at the end of object’s name to decide the index to constrain to:

So tell me, what will YOU do with ICE strings now?

[

There seems to currently be a

**BREAKDOWN**:

**1.** Set an OK center position with "*Move Center to Bounding Box*" / "*Move Center to Vertices*".

**2.** Enter "*Center*" mode. (top right)

**3.** Right-click on "*Ref*" button (below *Local*) and choose "*Pick Polygon/Edge/Point Reference*".

Click an object to select it and highlight the desired components.

**4.** While still in both "*Center*" and "*Ref*" modes, reset rotation to 0,0,0 then go back to "*Object*" mode (top right), go "*Local*" mode and reset rotation to 0,0,0 again. — That’s it!

ps: The faces need not be in the same object. (It could be another’s!)