modelling

Meshlab polygon reduction by Xuan Prada

Meshlab is probably the only available solution (proprietary Lidar software doesn't count) when you have to deal with very heavy poly count. I'm working with some complex terrains, some of them up to 50 million polys and Maya or Zbrush just can't handle that. I'm reducing the poly count considerably fast in Meshlab with its polygon reduction tools.

  • This terrain has more than 16 million polys. Maya can't handle this very well, and Zbrush can't manage memory to even open it. Just import it in Meshlab.
  • You will be using the Quadric Edge Collopse Decimation tool a lot.
  • There are different strategies available, I like to use the percentage one. In this case by 0.5
  • I'll be getting an 8 million poly terrain.
  • I just run the tool one more time to get a 4 million terrain. I can work in Maya with this :)

On-set tips: The importance of high frequency detail by Xuan Prada

Quick tip here. Whenever possible use some kind of high frequency detail to capture references for your assets. In this scenario I'm scanning with photos this huge rock, with only 50 images and very bad conditions. Low lighting situation, shot hand-held, no tripod at all, very windy and raining.
Thanks to all the great high frequency detail on the surface of this rock the output is quite good to use as modeling reference, even to extract highly detailed displacement maps.

Notice in the image below that I'm using only 50 pictures. Not much you might say. But thanks to all the tiny detail the photogrammetry software does very well reconstructing the point cloud to generate the 3D model. There is a lot of information to find common points between photos.

The shooting pattern couldn't be more simple. Just one eight all around the subject. The alignment was completely successfully in Photoscan.

As you can see here, even with a small number of photos and not the best lighting conditions, the output is quite good.

I did an automatic retopology in Zbrush. I don't care much about the topology, this asset is not going to be animated at all. I just need a manageable topology to create a nice uv mapping and reproject all the fine detail in Zbrush and use it later as displacement map.

A few render tests.

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.

Quick Lidar processing by Xuan Prada

Processing Lidar scans to be used in production is a very tedious task, specially when working on big environments, generating huge point clouds with millions of polygons. That’s so complicated to move in any 3D viewport.

To clean those point clouds the best tools usually are the ones that the 3D scans manufacturers ship with their products. But sometimes they are quite complex and not artist friendly.
And also most of the time we receive the Lidar from on-set workers and we don’t have access to those tools, so we have to use mainstream software to deal with this task.

If we are talking about very complex Lidar, we will have to spend a good time to clean it. But if we are dealing with simple Lidar of small environments, props or characters, we can clean them quite easily using MeshLab or Zbrush.

  • Import your Lidar in MeshLab. It can read the most common Lidar formats.
  • This Lidar has around 30 M polys. If we zoom in we can see how good it looks.
  • The best option to reduce the amount of geo is called Remeshing, Simplification and Reconstruction -> Quadric Edge Collapse Decimation.
  • We can play with Percentage reduction. If we use 0.5 the mesh will be reduced to 50% and so on.
  • After a few minutes (so fast) we will get the new geo reduced down to 3 M polys.
  • Then you can export it as .obj and open it in any other program, in this case Nuke.

Another alternative to MeshLab is Zbrush. But the problem with Zbrush is the memory limitation. Lidar are a very big point clouds and Zbrush doesn’t manage the memory very well.
But you can combine MeshLab and Zbrush to process your Lidar’s.

  • Try to import your Lidar en Zbrush. If you get an error try this.
  • Open Zbrush as Administrator, and then increase the amount of memory used by the software.
  • I’m importing now a Lidar processed in MeshLab with 3 M polys.
  • Go to Zplugin -> Decimation Master to reduce the number of polys. Just introduce a value in the percentage field. This will generate a new model based on that value against the original mesh.
  • Then click on Pre-Process Current. This will take a while according with how complex is the Lidar and your computer capabilities.
  • Once finished click on Decimate Current.
  • Once finished you will get a new mesh with 10% polys of the original mesh.

Retopology tools in Maya 2014 by Xuan Prada

These days we use a lot of 3D scans in VFX productions.
They are very useful, the got a lot of detail and we can use them for different purposes. 3D scans are great.

But obviously, a 3D scan needs to be processed in so many ways, depending on the use you are looking for. It can be used for modelling reference, for displacement extraction, for colour and surface properties references, etc.

One of the most common uses, is as base for modelling tasks.
If so, you would need to retopologize the scan to convert it in a proper 3D model, ready to be mapped, textured and so on.

In Maya 2014 we have a few tools that are great and easy to use.
I’ve been using them for quite a while now while processing my 3D scans, so let me explain to you which tools I do use and how I use them.

  • In this 3D scan you can see the amount of nice details.  They are very useful for a lot of different tasks.
  • But if you check the actual topology you will realize is quite useless at this point in time.
  • Create a new layer and put inside the 3D scan.
  • Activate the reference option, so we can’t select the 3D scan in viewport, which is quite handy.
  • In the snap options, select the 3D scan as Live Surface.
  • Enable the modelling kit.
  • Use live surface as transform constraints.
  • This will help us to stick the new geometry on top of the 3D scan with total precision.
  • Use the Quad Draw tool to draw polygons.
  • You will need 4 points to create a polygon face.
  • Once you have 4 pints, click on shift yo see (preview) the actual polygon.
  • Shift click will create the polygon face.
  • Draw as many polygons as you need.
  • LMB to create points. MMB to move points/edges/polys. CTRL+LMB to delete points/edges/polys.
  • CTRL+MMB to move edge loops.
  • If you want to extrude edges, just select one and CTRL+SHIFT+LMB and drag to a desired direction.
  • To add edge loops SHIFT+LMB.
  • To add edge loops in the exact center SHIFT+MMB.
  • To draw polygons on the fly, click CTRL+SHIFT+LMB and draw in any direction.
  • To change the size of the polygons CTRL+SHIFT+MMB.
  • To fill an empty space with a new polygon click on SHIFT+LMB.
  • To weld points CTRL+MMB.
  • If you need to do retopology for cylindrical, tubular or similar surfaces, is even easier and faster.
  • Just create a volume big enough to contain the reference model.
  • Then go to Modeling Toolkit, edit -> Shrinkwrap Selection.
  • The new geometry will stick on to the 3D scan.
  • The new topology will be clean, but maybe you were hoping for something more tidy and organize.
  • No problem, just select the quad draw. By default the relax tool is activated. Paint wherever needed and voila, clean and tidy geometry followinf the 3D scan.

Projecting details in Zbrush by Xuan Prada

  • Export the lowest subdivision model.
  • Export the highest resolution model.
  • Work on the uv mapping using the lowest resolution model.
  • Go back to Zbrush and import the high resolution model.
  • Now import the low resolution model.
  • Select the high resolution model and go to Subtool -> Insert -> and select the low resolution model.
  • Once inserted you will see both models overlapped in the viewport.
  • You need to be complete sure that only the two models that you’re interest on are shown. All the additional stuff that you would have in your zbrush scene should be hidden.
  • Select the low resolution model and subdivide it as much as you need.
  • Store a Morph Target so you can always come back to the starting point in case that you need it in the near future. (and you will).
  • With the low model selected go to Subtool -> Project -> Project All
  • The most important parameters are Distance and PA Blur. Try to use low values as Distance and keep blur to 0. This is a trial and error process. Default distance value is a really good starting point.
  • Once the projecting process is done, check your model.
  • If you find big errors in the mesh try to use a Morph brush to reveal your original mesh. Remember that we stored a Morph Target while ago. Revealing the original model you can easily remove projection artifacts and sculpt quick fixes.
  • You are ready to export the displacement maps for this model. Just select the low resolution model and go back to the lowest subdivision level.
  • Check the screenshots to see the parameters that I’m using for 16bits 32bits and vector displacement.
  • Check the final displacement maps.

You can watch a detailed video tutorial with all these steps here, only available in Spanish.

Si quieres puede ver aquí un videotutorial con todos estos pasos y explicaciones más detalladas.