New fRigBuilder section!

Brace yourselves! fRigBuilder is coming! I already started working on the public release of the tools I use to rig characters under 3DSMAX. More updates to come soon!

Create and manage blendshapes in 3DSMAX and Mudbox (Spanish)

After a few months without any update, I bring a Holiday present… although only available in Spanish: a recorded class on how to create and manage blendshapes, especially symmetrical ones. It covers several basic techniques with 3DSMAX and Mudbox but they saved my life on some previous projects, so I thought it would be useful to share this workflow I learnt while working at The Mill with Álex and Luis.

Got a new job at…

WDAS

Last week I moved to Los Angeles to work on ‘Frozen’, the company feature film to be released on 2013. It’s exciting being here and also being part of such a talented crew :^)

Mini interview in 3DWorld #159

3DWorls #159For their article about innovation in CG productions, I had the chance to talk a little about the iPad/3dsmax facial interface I developed some months ago. It does not go very deep, but it illustrates the main points of the process and how I did approach it. A small extract of the interview is also available on the September 2012 number of the magazine.

Check it here!

Justin and the Knights of Valour – First tests

Before landing in London, I had the chance to work for more than one year on Kandor Graphics’ next feature film as Rigging Supervisor. Set to be released in March 2013, small clips are starting to appear. Although I worked on the initial stages of the film I still feel very attached to the project and the crew. They are doing an outstanding work!

Emerson

At The Mill New York I had the opportunity to build three different realistic creatures for several commercials for Emerson. Finally, only two of them were used: the wolf and the kangaroo; the polar bear will remain on the zoo!

For these commercials I worked closely with Sauce Vilas and Alexandre Allain. Both of them are animators, and they did a wonderful and beatiful work, and we had the chance to talk about how to improve our work while discovering the city together.

 

 

Farewell, London!

My time in London arrives to its end. In a week, I will travel back to Spain to have a 2/3 months break, meeting old friends and working on a couple of personal projects (I need a new reel!). Working at The Mill has been one of my best work experiences ever (and that includes travelling to the New York office for 3 weeks!).

So Luis, Jorge (x2), Pete, Andreas, Óscar, Jacob, Jose, Rafa, Alex (x3), Alberto, Rodri, Iván, Thibault, Dave, Rob, Wayne, Dan, Jordi, Max, Gemma, Karl, Dave, Rob, Carlos, Nathan, Sauce, Jeff, Sam, Jess, Amaan, François, Cat, Vince… -and others that for sure I am missing-, thank you for all these months!!! It’s been an awesome trip!!!

The Guardian – Three Little Pigs

New project to show! This time is about pigs. We needed to give a bit of life to three real pig masks, and for that Dave, Luis, Andreas and me worked together on a rig that could make it possible. I wanted to try something new and built a system that allowed quick blocking for the shapes of the mouth (based on Paul Smith’s patch rig). In the end, it looked good enough to use that as a base. Then we worked building corrective shapes on top and additional controls to make it, where Dave, Luis and Andreas did the major part of it.

Range Rover – Accelerator

Another beatiful work from The Mill. I built the rig for the bison -yep, those running beasts that can be seen 1 second or so- and Sauce Vilas animated it.

MAXScript – Geometry to EditablePoly Modifier

When we want to convert one geometry into another we normally use Morpher, only if they have the same amount of vertices -and the same vertex order. Some time ago I found quite useful to have Edit Poly modifiers on top of that base geometry instead of using Morpher when modelling the different morph targets, mainly because it was easier to toggle them on/off to see the difference from the base object. I have been using this small script during these time, and I thought it could be useful for someone else.

So this is how it works: select one EDIT POLY object, then run the script (you can drag and drop it to a toolbar), then select the ‘target’ object. As I said, as if you were using Morpher :-)

fn geoToEPMod source target =
(
    local theVertCountA
    local posArrayA = #()
   
    local theVertCountB
    local posArrayB = #()
   
    in coordsys local
    (
        if classOf source == Editable_Poly do
        (
            theVertCountA = polyOp.getNumVerts source -- gets how many vertices are
            posArrayA = #()
            for i = 1 to theVertCountA do
            (
                theVertPos = polyOp.getVert source i
                append posArrayA theVertPos
            )
        )
    )

    in coordsys local
    (
        if classOf source == Editable_Poly do
        (
            theVertCountB = polyOp.getNumVerts target -- gets how many vertices are
            posArrayB = #()
            for i = 1 to theVertCountB do
            (
                theVertPos = polyOp.getVert target i
                append posArrayB theVertPos
            )
        )
    )

    max modify mode
    addModifier target (Edit_Poly())
   
    toolMode.coordsys #local
   
    for i = 1 to theVertCountA do  
    (
        if (matchPattern (posArrayA[i] as string) pattern:(posArrayB[i] as string)) == false do
            (              
                mod_verts = #{}                
                append mod_verts i             
                target.modifiers[#Edit_Poly].EditPolyMod.setVert mod_verts posArrayA[i]
            )
    )  
)

-- execution
if selection[1] != undefined then
(
    if selection.count == 1 then
    (
        if classOf selection[1] == Editable_Poly then
        (
            geoToEPMod (pickObject rubberBand:selection[1].pos rubberBandColor:white) selection[1]
        )
        else messageBox "Object must be an Editable Poly"
    )      
    else
    (
        messageBox "Please select only one object"
    )
)
else
(
    messageBox "Please select the target object"
)