Hi, my name is Malte. I am from Dortmund, Germany. Currently, I am writing my master’s thesis in “Game Development and Research” and working on a student game project in Cologne. Whenever I have a pencil in my fingers I start doodling, but what I like about 3D as an artist is creating a world that the audience can interact with. At the moment, I am fascinated with cartoony looking stuff, while at the same time keeping all the good stuff you can get within 3D: dynamic lights, shadows, reflections or baked AO and GI.
The idea for the piece “Happy Doggie” came from my obsession with dogs, which has actually only developed in the past two years, when my girlfriend decided that we would get our own dog. His name is Milford. The doggie in the piece is a different breed, but the way he rolls himself together is something I have observed my dog doing. The form of him lying all rolled up had a nice flow to it, which I thought would be fun to make.
So, I jumped into ZBrush, grabbed a sphere, made it a dynamesh, turned symmetry off and created a sausage for the body. Then I extracted some more sausages for the limbs, head and tail. After I merged all the pieces, I auto-grouped them and dynameshed them, with “groups” enabled.
In the Brush Settings, by turning “Mask By Polygroups” to one hundred I was able to push and pull the single pieces individually.
Some body parts had to be separated, so when dynameshing they didn’t weld together. For example, I split each hind leg into three disconnected polygroups.
Here in the clay tubes brush setting, I turned on “Backface Mask” to avoid manipulating faces on the other side.
I also made the head a separate piece. I sculpted the face and extracted eyes, ears and nose. Then, I retopologized the limbs, head, ears, body and tail as single pieces. I hid parts of the dynamesh by using the shortcut ctrl-shift-click on a polygroup. I merged all the pieces using the GoB-plugin to send everything to Blender. Unwrapping also took place in Blender. Afterwards, I went back to Zbrush to polypaint the model and create the diffuse map.
I produced the carpet from a UV unwrapped plane from Blender and sent it to ZBrush. There “Fiber mesh” was used to create the carpet fiber. I turned “profile” up to four to give each strand a good thickness. When you press accept, it asks you to activate “fast preview” mode, but you want to hit “NO” to get the thickness in the accepted mesh. I subdivided the created mesh and inflated it a bit.
After that, I went back to my first carpet mesh and subdivided it a lot. I used the “ZProject” Brush in “Zadd” and “Zsub” mode to reproject the fibers.
I baked a normal map from the highest subdivision to the lowest. Then I decimated the highest subdivision level to around 20K tris, with the “keep UVs” button checked.
Then I brought everything over to Blender. Here I created the hair stubbles on the dog. I placed every stubble one by one, which was a bit tedious and I think there must be better methods than this. I modeled the bone, collar and the spider (which I hope you found). For the eyes, I duplicated the mesh, inflated it slightly and used a kind of glass material to represent the reflective wetness of an eyeball. I baked an ambient occlusion map for the doggie and multiplied it in Photoshop over the diffuse. I used Quixel to make an AO map from the normal map for the carpet, that I multiplied on its diffuse.
I exported everything as a .fbx file and went to Sketchfab with it. I chose a triadic color scheme with a flat yellow background and worked on the textures in Photoshop. An environment texture was used to fill the scene with light and create a reflection on the eyeballs. A directional light was used to create the shadow of the dog on the carpet, as well as a spotlight to illuminate the areas I wanted to guide the viewer to.
The post-process filters were used to add some grain, to draw everything sharp and for the colors to pop within the tone mapping. I like Sketchfab, because of the possibility to show a model within its interactive capacity and the easy way one can set up everything.