Dave Girard's 101 Autodesk® Maya® Tips is now available in Kindle, interactive iPad edition and DRM-free EPUB/PDF editions. Work faster, cry less. Read more about the ebook.

Follow cgbeige on Twitter

Topics by tag:

Recently published articles by Dave G:

Free downloads by Dave G:

Mac OS X-only downloads:

ZBrush Polygroups to Unique Coloured Meshes in Maya

Someone on CGSociety asked how to go from ZBrush Polygroups to unique coloured meshes in Maya so I thought I’d post a quick video:

Here’s the script to do the colour part:


Put it in any Maya script folder and run “uniqueColourMe”.

8 notes | Permalink

ZBrush Size Adjustor Plug-in Gives ZBrush a Photoshop Style Brush Size/Hardness Modifier

I was looking for a plug-in or script to overwrite ZBrush saves without prompt (still haven’t found one) and found this pretty sweet plug-in that lets you hold a single modifier to change the hardness and the brush width for brushes, Photoshop style:

Pretty great.

1 note | Permalink

ZRemesher: Aging and Bevelling on the Cheap

Happy Canadian Thanksgiv’ering. Now that I’m full of turkey I’m back to work on another piece with old rock objects which uses a workflow I thought I’d share. Any time you make aged assets, you are pretty sure you’re going to have to sculpt, bevel and smooth them to simulate erosion, breakage and wear. But sculpting them inevitably gets in you into issues with topology – you want to have quadrangles for sculpting but your modelling workflow might have forced you to use a mix of triangles and quads to get your model. I ran into exactly this kind of thing today when I wanted to break and age a Greek-style column. I did the break in Maya with the excellent Fracture FX, which does localized smashing with results that are more convincing than just doing a Voronoi break on the whole mesh:

But the topology generated at the end was very sculpting unfriendly. So I took it into ZBrush and solved two problems at once with the amazing ZRemesher, which has become a staple of my workflow since it’s introduction in version 4R5. If you set the poly count to something high enough to give you detail but low enough to give you smoothing, it will instantly give you a great, slightly smooth base mesh with topology that is perfect for refinement and further smoothing:

Sorry about the wait to complete the remeshing. I’m on my laptop and forgot to edit that out. Anyway, that’s all there is to it. Once you’ve worked it up a little more, it’s aged pretty well in a small amount of time:

4 notes | Permalink

My GoZ Replacement Script for Maya 2014 and beyond

Every time a new Maya version comes out, it seems that ZBrush’s GoZ script gets broken and Pixologic hasn’t released a fix for GoZ and Maya 2014. So I made a sort of GoZ-ish script that isn’t as fully-functional as the Pixologic one – it doesn’t handle creases, for example – but at least it lets you work seamlessly between 2014 and ZBrush again. Grab it here. The script works by saving out an OBJ file to your current projects folder/GoZ folder (it makes this directory for your) and then using the OS to open that file with ZBrush. Fortunately, sending from ZBrush to Maya 2014 works the same as in older versions, so this can be used for round-tripping between the two apps on OS X:

and on Windows:

On Windows, you’ll need to configure OBJ files to open with ZBrush but on the Mac it’s handled by the script so you don’t need to do this—BUT Mac users do need to set the correct version of ZBrush in the script since it’s hard-wired to ZBrush 4R6. I did this because I use GoP, my send-to-Photoshop script and that depends on OBJ ownership. In the future I might make the ZBrush version variables with a dropdown menu or do an auto-detect.

To run the script, install it in your script folder run “GoZ_2014;” – put this command for your shelf for easy access. This is what you will use from now on instead of Pixologic’s GoZ script until they fix it for 2014. But you will likely need this script again when 2015/2016/etc. breaks GoZ yet again, since GoZ actually uses the Maya ASCII format as the go-between. This solution is future proof since OBJ isn’t going anywhere and the spec isn’t going to change.

Important note: ZBrush still sends meshes back to Maya with “Visible in Reflections/Visible in Refractions” off in the mesh shape’s properties. Remember to turn these on for proper rendering. Both my V-Ray Tuner and Facer scripts have this “objFix” script in them but here it is if you want it solo.

Mac users might notice that I’m running the Mavericks GM on my OS X machine. I’ll be doing a “what works and what doesn’t” style post for 3D people looking to upgrade when it launches. And I’ll be doing a full review of the coming Mac Pro for Ars Technica, which ships with Mavericks pre-installed.

5 notes | Permalink

Making V-Ray Renderable Curves from ZBrush Fibermesh Output

I’ve been playing with a lot of different hair workflows lately and found that ZBrush’s Fibermesh is good for making shaped, long hair, where this can be difficult to do with plug-ins like Shave and a Haircut or Yeti. Many people use hand-drawn guide curves with a Maya hair system and there is a good tutorial for that here. But I am using straight OBJ output from ZBrush’s Fibermesh and converting it to renderable curves with this Python script for Maya. The reason you want to do this is because faceted polygons will face in one direction and give you an unrealistic reflection while a renderable curve will more accurately imitate a round hair. So, here is a quick rundown of how you get your polygonal Fibermesh into Maya for use with V-Ray:

The nice thing about that script is that it lets you pick a threshold, so if you use a ton of hairs in ZBrush, you can set the conversion threshold to 0.5 so you only make half the curves. If you have too few curves even at 1.0, try using the linked workflow above to use the hair system approach to fill in spaces between the guide curves instead. You’ll want to use a much lower threshold for that though, since it is really slow to generate with a lot of curves. I had to do just that workflow in my example above. Here is the 1:1 fibermesh conversion:

It’s too sparse (and my hair is too thick).

and a 0.1 ratio curve conversion from the Fibermesh with a hair system applied and 28 hairs per clump assigned in the hairSystemShape1 settings:

the result:

Still needs work, but obviously it’s a lot closer already. Thanks to Roman Lapaev for the script link.

1 note | Permalink

Making a Shaped Water Ripple in ZBrush and Photoshop

So I’m working on this piece with a guy floating in the water and thought I’d share the workflow I used to make the simple water ripple around his body. Within ZBrush, have your water plane and object meeting and then take a screenshot from above with perspective off. Open the screenshot in Photoshop, crop it to square – since you’ll be making an alpha map for your brush – and then use outline as a selection. Offset the selection, stroke it and blur, and you now have an alpha map for ZBrush:

My water cube is too small but it’s just for a still, so I can clone out that wonky bit at the top. Also, water has an index of refraction of 1.333 but I used 1.6 to increase the refractive effect since I’m not going for realism. As you can see in the video, I like to use Smart Objects for my Photoshop layers since the blur filter can always be changed later if I want less or more of the filter and I can scale the stroked layers non-destructively.

0 notes | Permalink

ZBrush 4R4 Fixes GoZ with Maya 2013. With Tip for Keeping GoZ Meshes From Moving

Maya 2013 added some new information to the .ma format that broke compatibility with GoZ but the newly-released ZBrush 4R4 fixes it again. For people who are having issues with stuff moving around when they send stuff back to Maya from ZBrush, there’s a simple fix: freeze transformations on the mesh and any parent groups. Video demo:

If you are on the fence about getting ZBrush, you are on the wrong fence. This app is amazing and the auto-retopology QRemesher stuff in 4R4 is crazy good. Check out the videos on the Pixologic site if you haven’t already.

0 notes | Permalink

Making Meteorites in ZBrush

It’s always tempting to try and find an image to use as a displacement alpha when you’re doing mottled surfaces, but the best result always comes from mimicking reality and often that can be done procedurally. So, with that in mind, I grabbed the fast mallet preset brush from the Lightbox, selected a spherical alpha with a quick falloff at the edges and set it to spray mode for variety. The results are very good, and dig into the surface quickly and convincingly, mimicking pock marks:

The polish brushes are great for these portions of the mesh that have been cut for scientific samples but you could also use the trim normal brush. Love me some ZBrush 4R3.

Update: Now for the really procedural part – the surface noise that adds consistent detailing to our meteorite rock. Combined with the Morph Target and Morph brush, you can dial back some of the noise in areas you don’t want affected:

Remember that you have to hit “Apply to Mesh” for the noise to actually deform the mesh – otherwise it’s just a visual fake, like a normal map. It’s good to store a Morph Target before this step because often the applied noise depth is slightly different than the preview.

For those wondering how my reference image is floating, I’m using Photostickies for OS X. I’m a little startled by the speed of my new laptop - it’s doing a screen recording and a Time Machine backup and ZBrush doesn’t miss a beat.

2 notes | Permalink

Using Point on Poly Constraints to Stick Meshes to Dynamic Shapes

One of new constraints added in Maya 2011 was the Point on Poly constraint. This was added to make it easier to do things like pin buttons to a character’s clothing while avoiding things like expressions that can really slow a scene down when you add a bunch. It’s also a very handy way of forcing landscape objects to constrain to the Y-axis position of a vertex while shaping ground:

If you’re finding that the mesh isn’t sticking to the ground well, just change the pivot of the pinned mesh and it will slide around while still retaining the constraint. If you use ZBrush or Mudbox for landscaping, just import the edited base mesh and add it as a blend shape to keep the constraint and the sculpted form.

11 notes | Permalink

Using ZBrush’s Timeline as a Bookmark Manager

Sometimes you need to see your sculpt from a specific angle and focal length to match a shot or projection and, while Mudbox has the ability to import FBX cameras, ZBrush is more limited in this regard. Fortunately, there is a workaround for ZBrush 4 and above: use the Movie timeline to create a pseudo bookmark that you can drop back to that whenever you need to:

2 notes | Permalink