Modo

Breaking a character's FACE IN MODO by Xuan Prada

A few years ago I worked on Tim Burton's Dark Shadows at MPC. We created a full CG face for Eva Green's character Angelique.
Angelique had a fight with Johnny Depp's character Barnabas Collins, and her face and upper body gets destroyed during the action.

In that case, all the broken parts where painted by hand as texture masks, and then the FX team generated 3D geometry and simulations based on those maps, using them as guides.

Recently I had to do a similar effect, but in this particular case, the work didn't require hand painting textures for the broken pieces, just random cracks here and there.
I did some research about how to create this quickly and easily, and found out that Modo's shatter command was probably the best way to go.

This is how I achieve the effect in no time.

First of all, let's have a look to Angelique, played by Eva Green.

 

  • Once in Modo, import the geometry. The only requirement to use this tool is that the geometry has to be closed. You can close the geometry quick and dirty, this is just to create the broken pieces, later on you can remove all the unwanted faces.
  • I already painted texture maps for this character. I have a good UV layout as you can see here. This breaking tool is going to generate additional faces, adding new uv coordinates. But the existing UV's will remain as they are.
  • In the setup tab you will find the Shatter&Command tool.
  • Apply for example uniform type.
  • There are some cool options like number of broken pieces, etc.
  • Modo will create a material for all the interior pieces that are going to be generated. So cool.
  • Here you can see all the broken pieces generated in no time.
  • I'm going to scale down all the pieces in order to create a tiny gap between them. Now I can see them easily.
  • In this particular case (as we did with Angelique) I don't need the interior faces at all. I can easily select all of them using the material that Modo generated automatically.
  • Once selected all the faces just delete them.
  • If I check the UVs, they seem to be perfectly fine. I can see some weird stuff that is caused by the fact that I quickly closed the mesh. But I don't worry at all about, I would never see these faces.
  • I'm going to start again from scratch.
  • The uniform type is very quick to generate, but all the pieces are very similar in scale.
  • In this case I'm going to use the cluster type. It will generate more random pieces, creating nicer results.
  • As you can see, it looks a bit better now.
  • Now I'd like to generate local damage in one of the broken areas. Let's say that a bullet hits the piece and it falls apart.
  • Select the fragment and apply another shatter command. In this case I'm using cluster type.
  • Select all the small pieces and disable the gravity parameter under dynamics tab.
  • Also set the collision set to mesh.
  • I placed an sphere on top of the fragments. Then activated it's rigid body component. With the gravity force activated by default, the sphere will hit the fragments creating a nice effect.
  • Play with the collision options of the fragments to get different results.
  • You can see the simple but effective simulation here.
  • This is a quick clay render showing the broken pieces. You can easily increase the complexity of this effect with little extra cost.
  • This is the generated model, with the original UV mapping with high resolution textures applied in Mari.
  • Works like a charm.

Retopology tools in Modo by Xuan Prada

A few months ago I wrote a post about retopology tools in Maya. I'm not using those tools anymore, now I deal with retopology using Modo.
I'm doing a lot of retopo these days working with 3D scanners and decimated Zbrush models coming from the art department.

Pretty much all the 3D packages these days have similar retopology tools, but working with Modo I feel more freedom and I work more comfortable doing this kind of task.

These are the tools that I usually use.

  • Before starting I like to set the 3D scanner as "static mesh". Doing this I will hide all the item's components making this process much easier.
  • Pen tool: I use this tool to draw my first polygon. That's it, after drawing the firs poly face I drop the tool and don't use it anymore.
  • The type of geo should be polygon and make sure the option "make quads" is activated.
  • As I said, I draw just one face and drop the tool.

To carry on with retopology I use the "topology pen tool" which combines all the other retopology options. I use this tool to make 90% of the work.

These are some of it's options.

  • LMB: Move vertex, edges and faces.
  • Shift+LMB & drag edges: Extrude edges.
  • Shift+LMB & drag points: Create faces.
  • Shift+RMB & drag edges: Extrude edge loops.
  • RMB & drag edges: Move edge loops.
  • CTRL+MMB: Delete components. (faces, edges y vertex).
  • Inner snap: This option allows you to weld interior vertex.
  • Sculpt -> smooth: Allows you to relax the geometry, very useful to make a better distributions of the edge loops.
  • If you work with symmetry you probably want to align the middle points to the center of the world.
  • In order to do so, select all of them and go to vertex -> set position.
  • Then you can assign a common values for all of them.
  • To create the mirror press "shift+v".
  • To merge both parts just select both items, RMB and click on merge meshes.
  • Once merged just select the points and go to vertex -> merge to weld them.
  • Topology sketch tool: Allows you to draw polygons very quick.
  • Contour tool: Allows you to draw curves that will be connected using the bridge option. Very useful for kinda cylinder parts like arms or legs.
  • Obviously if you draw more curves you will get more resolution to match the 3D scanner.
  • You can create a very quick geometry and then add resolution using the "topology pen tool".

Mari to Modo with just one click by Xuan Prada

UDIM workflow has been around for the last 10 years or so. It became more popular when Mari came out and these days it’s being used by everyone in the vfx industry.

In this blog you can find different ways to setup UDIMs in different software and render engines.
With Modo 801 has never been so easy, fast and great!
With just one click you are ready to go!

  • Export your textures from Mari. I always use the naming “component_UDIM.exr” “RGB_1001.exr”
  • Once in Modo, assign a new shader to your asset.
  • Add a new layer with a texture map, as usual. Add layer -> image map -> load udims.
  • Select the UDIM sequence that you exported from Mari.
  • Change the “effect” to point to the desired shader channel.
  • By default Modo enables the option “use clip udim”. You can check this in the “uv” properties. This means that you don’t need to do anything, Modo will handle the UDIM stuff by itself.
  • That’s it, all done :)
  • As an extra, you can go to the image manager, select one single map and check the UDIM coordinate.
  • Another cool thing, is that you can select all the UDIM sequence in the imagen manager, and change the color space with one single click! This is great if you are working with linear workflow or another color space.

Vector displacement in Modo by Xuan Prada

Another quick entry with my tips&tricks for Modo.
This time I’m going to write about setting up Mudbox’s vector displacements in Modo.

  • Check your displacement in Mudbox and clean your layer stack as much as you can. This will make faster the extraction process.
  • The extraction process is very simple. Just select your low and high resolution meshes.
  • Set the vector space to Absolute if you asset is a static element, like props or environments.
  • Set the vector space to Relative if your asset will be deformed. Like characters.
  • Always use 32 bit images.
  • As I said export the maps using EXR 32 bits.
  • Before moving to Modo or any other 3D package, check your maps in Nuke.
  • Once in Modo, select your asset and go to the geometry options.
  • Check Linear UVs and set the render subdivision level.
  • Assign a new shader to your asset.
  • Add a new texture layer with your vector displacement map.
  • Set it up ass Displacement Effect.
  • Set the low and high value to 0 and 100.
  • You will see a displacement preview in viewport.
  • Set the gamma to 1.0 Remember that 32bit images shouldn’t be gamma corrected using Linear Workflow.
  • In the shader options set the Displacement Distance to 1m this should give you the same result than Mudbox.
  • In the render options you can control the displacement rate, which is your displacement quality more or less.
  • 1.0 is fine, play with that. Lower values will give you sharper results but will need more time to render.
  • Finally render a quick test to see if everything looks as expected.

Zbrush displacement in Modo by Xuan Prada

Another of those steps that I need to do when I’m working on any kind of vfx project and I consider “a must”.
This is how I set up my Zbrush displacements in Modo.

  • Once you have finished your sculpting work in Zbrush, with all the layers activated go to the lowest subdivision level.
  • Go to the morph target panel, click on StoreMT and import your base geometry. Omit this step if you started your model in Zbrush.
  • Once the morph targer is created, you will se it in viewport. Go back to your sculpted mesh by clicking on the switch button.
  • Export all the displacement maps using the multi map exporter. I would recommend you to use always 32bit maps.
  • Check my settings to export the maps. The most important parameters are scale and intensity. Scale should be 1 and intensity will be calculated automatically.
  • Check the maps in Nuke and use the roto paint tool to fix small issues.
  • Once in Modo, import your original asset. Select your asset in the item list and check linear uvs and set the amount of subdivisions that you want to use.
  • Assign a new shader to your asset, add the displacement texture as texture layer and set the effect as displacement.
  • Low value and high value should be set to 0 and 100.
  • In the gamma texture options, set the value to 1.0
  • We are working in a linear workflow, which means that scalar textures don’t need to be gamma corrected.
  • In the shader options, go to the surface normal options and use 1m as value for the displacement distance. If you are using 32bit displacements this value should be the standard.
  • Finally in the render options, play with the displacement rate to increase the quality of your displacement maps.
  • 0.5 to 1 are welcome. Lower values are great but take more time to render, so be careful.
  • Render a displacement checker to see if everything works fine.

Lego by Xuan Prada

I continue with my transition to Modo. I already know more or less the basics of the software and I have adapted my way of working to be productive in Modo. It’s time to make my first image and put in practice all that I learnt last week.

I have chosen a simple theme. After watching The Lego Movie (and some great references that they used) I wanted to create something related with it. It’s simple enough to allow me to finish the image in half a day or so. Say hello to all my mates who worked on the movie, we worked together on Happy Feet while ago.

The model for the character is quite simple, perfect to try all the modeling tools that come with Modo. Great so far. The work plane is quite useful, love it.

Modo’s uv mapping tools are great and very fast. I love atlas projection and unwrap. I’ll be using them all the time. For this particular model I used only unwrap. Just select a few edgest and that’s it, done. I didn’t worry much about seams, I can fix that later in Mari.
I’m using only one UDIM, this model and textures are simple enough to use only un uv space.

I worked on the textures in Mari. I could have used Modo paint tools, but I’m used to paint in Mari, and it’s definitely faster and more powerful.

Only needed three texture channels. Color, Specular and Bump maps. I used two different bump maps, one with fine noise for the plastic, and another one with scratches and imperfections.
All the textures are 8k resolution sRGB and Scalar and 16bit .tiff

For the look-dev I created an Image Based Lighting rig. With an overcast HDRI, perfect to create atmospheric lighting without too much direct light coming from the sun. It gives me perfect reflections and nice contrast between light and shade.
Always working with a Linear Workflow.

Only used one single shader, with no layers. Simple shader with a bit of reflection driven by a specular map.

For the ground I used a simple grid sculpted in Zbrush. Just a few dunes and procedural noise to simulate sand.

I did a few tests to find the best way to setup Zbrush displacements in Modo.
I’ll be posting soon how to do it. It’s not that complicated :)

For lensing, I used a 50mm focal length camera. I created a low poly version of my characters and ground, just to block the camera angle and lighting.

Finally, I updated the proxy models with the final ones.
To lit the scene I used a nice high resolution panorama shot by myself. It gave me the perfect atmosphere and reflection for this shot. But I couldn’t get the perfect shadows.
I wanted to lit this like a miniature, so I wanted a very strong key light with a perfect and hard shadow. I just removed the sun from the HDRI and then added a 3D light just behind the characters.

I dind’t need to render aov’s or render passes, I just rendered a quick id matte to control the ground and the characters.

This is the final render.

And finally, the black and white image that I conceived from the very beginning.

Multi UDIM workflow in Modo by Xuan Prada

You know I’m migrating to Modo.
Multi UDIM workflow is on my daily basis tasks, so this is how I do the setup.

  • First of all, check textures and UDIMs in Mari and export all the textures.
  • Check the asset and UVs in Modo.
  • Load all your textures in the Modo’s image manager.
  • Create a new material for the asset.
  • Add all the UDIM textures as image layers for each required channel.
  • In the texture locator for each texture change the horizontal repeat and vertical repeat to reset. And change the UV offset. It works with negative values (not like Softimage or Maya).
  • That’s it. Make a render check to see if everything works fine.