Hey everyone! My name is Svenja Gross. I am a 3D artist from Germany and recently got my first job in the game industry.
During my time studying Media Design, I started learning 3D and it grew on me to the point of becoming my sole focus. With a fondness for games, I leaned more towards working with real-time engines, ultimately making this the subject of my graduation project last year.
While I enjoy prop and environment art, creating characters is what I love the most. With a broad interest in different styles and themes, I look forward to incorporating them into future projects and learning along the way.
I remember already enjoying several Ghibli movies as a kid for their imaginative stories and beautiful visuals and Ponyo was no exception.
When it comes to browsing 3D artwork, I often find myself stopping on scenes that seem to be still frames “caught in a moment”. I love being able to explore and appreciate such moments from every angle, practically being immersed in the scene.
After rewatching Ponyo years later, I paused the movie at one of the final shots and immediately felt inspired to recreate it in 3D.
At the time of creating this, I was looking into workflows for presenting sculpts along with texture maps in a timely manner. So instead of sharing a high-res sculpt along with vertex color, the idea was to quickly reduce and unwrap the mesh to potentially profit from material properties and generally have a more lightweight model.
PureRef, ZBrush, Maya, Substance Painter, Photoshop, Marmoset Toolbag, Sketchfab Viewer
Given that the reference image is part of a movie, there is plenty of material to work from. I started gathering shots showing the characters from different angles to get a better idea of their forms. For this part, I can highly recommend using PureRef as it keeps your references all in one place and provides an easy way to compare your model.
Since both characters are toddlers of roughly the same shape, it was more efficient to create a single base for both of them and make adjustments later. I started off by blocking out basic shapes in ZBrush, checking with my references.
Once content with the blockout, I used Dynamesh to fuse the body into one subtool.
From this point on, I used ZRemesher to reduce the polycount. While it is not able to produce animation-ready edgeflow (the way one would achieve with manual retopology), ZRemesher still offers ways to control both edge loop placement and mesh density.
After setting my desired polycount, I used the curve guides to roughly direct where I wanted to have edge loops. Placing guides also decreases the chance of ending up with spiraling topology that might be more tedious to unwrap later on.
After remeshing, I added subdivision levels, refined the basic anatomy and moved on to customizing.
Having finished my base, I made a duplicate and started working on each character separately. This meant making minor adjustments to body and face, adding eyes, eyebrows, and, finally, dressing them up.
For the clothing on Sosuke, the boy, I masked out areas on the body, extracting the shirt and pants as well as sculpting basic folds.
Once content with the shapes, I ZRemeshed the clothes, added subdivisions and finalized the folds.
The same workflow applied for Ponyo, except for the lower part of her dress, which was extracted from a cylinder instead.
The hair was created following the same approach, first masking out the root area, then extracting and modifying the resulting mesh using a combination of mostly the Move and Dam_Standard brush. At this point I kept it very basic since more strands would later be added once the characters were posed.
To pose both characters, I made use of ZBrush’s Transpose Master.
This created a merged version of all parts on their lowest subdivision levels and allowed for posing both body and accessories by just using the transpose tool on masked out areas.
Following the reference, I then worked on making the hair and clothes appear more “floaty”. This meant creating more space between body and clothes as well as adding more strands of hair to get a tousled look. This was achieved by using the Move and Snake Hook brushes in combination with Dynamesh.
Instead of ZRemesher, I used Decimation Master to reduce the polycount on the hair. While it does not produce clean edge loops, it tends to better preserve complex shapes with a minimum polycount and worked fine in this instance.
After finishing my pose, I imported everything into Maya using the lowest subdivision.
I created two materials for each character, one containing body and hair, one accessories and clothes, which would help keep my painting layers organized later on.
Wherever possible, I placed the UV seams along edge loops, often using the 3D cut and sew UV tool to speed up my process.
Additionally, I divided a sphere, leaving me with half a skydome for my backdrop. I also added a few grass planes to protrude from the otherwise flat ground.
After unwrapping, I exploded both high- and low-poly meshes before importing into Marmoset Toolbag to avoid baking artifacts. Marmoset’s flexible cage offset then also allowed for further tweaking before finally baking my normal maps.
From there, I moved on to Substance Painter, importing my normal maps.
I mostly hand-painted the characters, usually starting with flat fill layers and masks as base for each object.
Mainly working on the unlit BaseColor channel to get a better look at my colors, I tend to turn on the wireframe on a low opacity so that I am not just left with flat-looking silhouettes at the early stages of shading.
While painting, I occasionally switch to the Material view, making sure my shading aligns with the normal map information.
For the most part, I kept the roughness evenly distributed, leaving only the eyes and bucket to appear shinier.
I textured the backdrop by making a rough layout in Substance Painter and then moved on to Photoshop for refinement, profiting from a variety of brushes and better pressure sensitivity.
Aiming for a smooth transition of the skydome to the renderer’s backdrop color, I painted an alpha map using rough brushes to simulate a traditionally painted fade.
Having finished my textures, I returned to Marmoset Toolbag, this time for rendering.
I imported the full scene as well as the previously created maps and assigned them to their respective materials.
For the lighting, I mainly used a directional light to simulate the sun and global illumination to lighten harsh shadows.Since I did not want the background colors to be affected by lighting, I set the material’s diffusion to unlit.
I used the post-processing option to slightly increase contrast and bring a bit of warm reds into my shadows.
Last but not least, I set up the camera to match my reference image. I also ended up rendering from two more angles, allowing for perspectives additional to those in the actual movie.
The setup in Sketchfab’s Viewer turned out to be fairly straightforward.
I again imported my full scene as well texture maps and assigned the materials.
For the lighting, I tried mimicking what I did before in Marmoset. I disabled the environment light and instead made use of the three directional lights: The first one recreating my sunlight, the second one acting as a fake bounce light (instead of global illumination), and the third one further lighting up some dark areas.
To achieve the smooth fade of the cloud backdrop, I turned on the opacity channel, once again assigned my alpha and turned on the dithering option. For making this material unaffected by lighting, I switched on the emission channel and assigned my diffuse to that. In addition to that, I set the face rendering to single sided in order to avoid the view from being blocked by the skydome mesh when navigating around the model.
Like before in Marmoset, I chose to use the post-process effects to boost contrast as well as bring warmer tones into the shadows.
For a more filmic feel, I also used a vignette and grain along with some minor adjustments like sharpness and chromatic aberration.
At last, I turned on the SSAO slider to generate a bit of ambient occlusion.
Finally, I again matched the camera with my reference shot and saved the view.
Thank you for reading!
I would also like to thank the Sketchfab Team for giving me the opportunity to share this process with you.
This little project was fun to work on and helped me refine my workflow from sculpt to presentation.
If you want to stay updated, you can also find me on