Professional Services
Order outsourcing

Ultraman's Yuriko Oka Recreated In 3D With ZBrush, Maya & XGen

Gabriel Lebel Bernier joined us to talk about the digital portrait of Yuriko Oka from the iconic tokusatsu show Return of Ultraman, breaking down the modeling of the face and suit with ZBrush and Maya and explaining the grooming workflow with XGen.


Hi! I'm Gabriel, a passionate Senior CG Artist specializing in lookdev. I've been working in the VFX and animation industry for 8 years.

This article will be a presentation of a few key steps about my latest project: breaking down the modeling of the face and suit of the character, going over the grooming, and my surfacing workflow. I'll give a few tips here and there that I hope can be useful.

Ultraman – Yuriko MAT

This project was done during a sculpting mentorship with Lukas Kutschera. This being my first realistic character sculpt, Lukas really helped me push the sculpting in the right direction through constructive feedback.

As with most of my projects, inspiration hit while doom scrolling through the internet. I came across an old picture of Yuriko Oka from Return of Ultraman and really liked the loud, cheesy, and retro look of it.

Face Modeling

I began this project in Maya. I matched several cameras to pictures of Yuriko and then started a blocking mesh. It was definitely a challenge, as this show first aired in 1971 and most of the images were very low resolution, with a lot of compression. I probably spent too much time trying to match everything, but I wanted to be sure that I had a solid foundation to build on top of.

Once satisfied with the alignment, I switched over to ZBrush to start sculpting. I alternated between ZBrush and Maya, continuously refining the sculpt to the camera matching.

Here are a few examples of matched cameras:

When I felt that everything was pretty much in place, I transferred my sculpt to a Vface base mesh. This way I was able to utilize the powerful texture from XYZ. From there, I baked their displacement onto the sculpt to get a good base of surface detail. After that, I refined and adjusted it to match the reference. There are a lot of good resources on this subject over on their website.

The rest of the detail was done in texturing and shading.

Outfit & Helmet Modeling

Similar to the face, I started with a blocking mesh in Maya to quickly match the reference. Once I knew the shapes and volumes were 90% there, I imported them into ZBrush to start refining the geometry.

As for the outfit, I began by cleaning up and refining the blocking mesh. Then, I started masking out all the separated cloth pieces to turn them into polygroups. Using ZRemesher with the option KeepGroups gave me good topology with a proper edge around the seams.

Using those new polygroups and clean flow, I was able to create clean seams.

I then imported this geometry to Maya to add the leather strips. I'm sure other artists would do all of it inside ZBrush, but I found it quicker and easier to get good geometry in Maya using the Quad Draw Tool.

Here's the workflow I used to create the sewing seams geometry:

Select the edge loop that is in the middle of the sewing line. Use Polygon Edge to Curve to create a curve out of the selected edge.

Use MASH to instance stitches geometry along that new curve.


The hard surface part of the helmet was modeled directly in Maya. For the leather, it was more or less the same process as the clothing.

Here’s the workflow I used to create the long stitches geometry on the leather:

  • Select the edges that fit the seams and convert them to a curve (the same technique used before)
  • Convert that curve into a tube using the Sweep Mesh tool
  • Adjust the size, number of edges (this will be the number of threads), and add a twist
  • Select the edges of this new tube
  • Convert them into curves
  • Convert those curves into tubes using the Sweep Mesh tool, adjust the size and twist of those small wires

I like this workflow as everything is connected, and you can adjust along the way really easily. On top of that, the Sweep Mesh tool gives a really clean, undistorted UV. It's really easy to add a texture to it.

I also used MASH to scatter small dust particles on a few pieces of the helmet.


The grooming was done in Maya with XGen. Here’s how I set it up.

The hair was pretty straightforward as there's not much showing up due to the helmet. I split it into 4 descriptions to have more control:

  • Left side main hair (green)
  • Right side main hair (red)
  • Breakups hair (yellow)
  • Back hair (purple)

For the eyelashes, I split them into two grooming descriptions:

  • Fake eyelashes (purple)
  • Real eyelashes (green)

They were shaded differently, the fake ones had a black plastic-type material, and the real ones had a hair shader with transmission. The fake ones were sitting over a small piece of geo that represents the base of the fake eyelashes.

To be honest, those details don't really show up that much (if at all) in the final render, but it was not too long to set up, so I just committed to it.

To finish the face, I added a peach fuzz groom to it. It really helps break up the silhouette and the specular reflection.

I added a groom to the outfit to get that retro fleece fabric look. It was all done in one description using the Groomable spline tool, just following more or less the flow of the clothing.

Texturing & Shading

I like to approach shading by working out a good base texture and then refining everything inside the shading network.

As an example: here is the base texture I am using for the helmet:

Then inside Maya in the shading network, I remap everything to get the exact value I want.

I usually go a bit more contrasted with the roughness and height in the texturing process to be sure I get enough range in the values, knowing that I will re-range them later in shading.

Here you can see just how much the values changed from texturing to shading:

I also add a few tileables, either from UV tiling or by triplanar projection. I prefer to add those small details in shading to get better resolution for the really fine breakups. In shading, the resolution is virtually unlimited.

Example of shading setup:

Example of tileable used on the helmet (coming from Megascans):

In production, I would probably try to have a texture closer to the final result, but as a personal project, I just found it easier to work it out in shading. For me, textures are more or less masks to drive the shading.

The hardest part about this shading was to get that TV show props feel. As an example, the props cover isn't made of metal, it's plastic painted to look like metal. It was a fine line to walk, as pushing the props to look too heavy felt like really bad CGI, but going too far in the other direction it looked like real metal with too much reflection. It was definitely a challenge to get right.


To wrap it up, if I had one piece of advice for a beginner artist, it would be to trust the process. It’s okay if it's bad, and it’s okay if it doesn't look right, as long as you see that there's something wrong, you are on the right track. Work and time will level it out.

During the three months I worked on this project, I definitely had a lot of moments when it looked really (really, really) bad. Just trust the process and work it out.

Gabriel Lebel Bernier, Senior CG Generalist

Interview conducted by Theodore McKenzie

Join discussion

Comments 2

  • Anonymous user

    Hi. Excellent work. I've tried ZBrush with 3dsmax and found it quite difficult to get my head around. The ZBrush part that is. Did it take long to get to this level?


    Anonymous user

    ·a month ago·
  • Anonymous user

    Excellent work and very good article! :)  Good job on that!


    Anonymous user

    ·a month ago·

You might also like

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more