Hi, my name is Zhaowen Zeng. I’m a 3D artist based in the Bay Area California. I graduated from Stony Brook University in New York with a bachelor’s degree in Computer Science. Since then I’ve focused my career on game art. I’ve worked on various games from small mobile/social games to the Sims 4 on PC.
I usually work with organic characters, but for the past year I’ve been trying to improve my hard surface skills, especially working with pbr pipelines. The “Doggo 3000” project was an exercise for me to get more familiar with the process. I had an idea of making a mecha/robot operated by a dog, with realistic materials yet still looking fun and silly, something Dr. Eggman from Sonic would use. There was never a clear concept. I just pictured something spherical with extractable legs. After gathering some reference images of robots and caterpillar vehicles. I started it off by creating a primitive sphere in Maya, cutting out the leg shape, adding some thickness and bevels. And then more blocking off before exporting the mesh to ZBrush.
In ZBrush, I subdivided the mesh(with certain edge creased) to smooth the surface. With some standard ZBrush hard surface techniques and back and forth to Maya, I was able to get most of the shape done. One thing I really like about the new 4R8 update in ZBrush is live boolean and the new move gizmo. I created some surface details using the IMM boolean tool. The legs and their compartments followed the same process. Initially I sculpted a Shiba Inu as planned, but later decided to switch it to a sloth. Sloths moves a lot slower so it simplifies the animations for me. And why not, everyone loves sloths!
Next step is probably the most boring parts, retopology and UV. I intended to reuse many parts I created initially in Maya as the lowpoly mesh. Like the spherical body for example, I ended up deleting every other edge loop to reduce the polycount. And whatever was left afterward I retopoed by hand in 3Dcoat. When unwrapping the UV, I tried to keep it tight. Identical parts like the legs were stacked and moved one unit to the side to prevent any issue when baking textures. The sloth and the glass cover were unwrapped separately.
Before taking things into Substance Painter some preparation needs to be done for both the highpoly and lowpoly exports. First I assigned different polypaint colors to represent different materials such as metal, paint, carbon fiber etc. Ideally you only need one color for each type of material, but in my case I wasn’t sure which part is what at this point. I just tried to assign a different unique color for each individual part, so I can play around with different materials in Painter. Next, I tried to separate any intersecting mesh and group them into different subtools, to prevent clipping artifact when baking maps. A highpoly fbx file was exported using the fbx exporter plugin in ZBrush. The lowpoly mesh also needs to be separated into corresponding groups with the matching names plus “_low” suffix, and then also exported as an fbx. Allegorithmic has a few good tutorials on how to prepare your mesh exports for texture baking in Painter.
Texturing in Substance Painter was really fun for me. For this model there are 3 sets of textures, the mechanical body, the sloth head and the glass cover. To create the texture sets you have to assign them as different materials in your lowpoly export. From there, I basically just played around with different materials and masks to create the DOGGO 3000 textures. I learnt a lot of the Painter techniques from Michael Pavlovich’s Youtube channel. He covers many subjects in different in-depth tutorials. I’m sure it’s been linked here multiple times. If you’re new to Substance, you should definitely check it out.
In the end, I added a simple animation to demonstrate the mechanics of how this tripod opens up and closes. I really love using Sketchfab for its animation support. The upload process was fairly easy. With the newly added model inspector, it’s a great way to showcase your portfolio pieces. This project has been a fun learning experience for me, and I hope you enjoyed it.
You can find me at: