Pierre - The Art Octopus
This blog shows the look development of a digital creature, in this case an Octopus from start to Finish. This process includes exploration of various techniques in Technical Direction, like shading, texturing and lighting.
I chose to do an Octopus because while it is an incredibly beautiful creature that does posses a variety of details but also has beautiful skin textures and patterns.
Since I really enjoy visual story telling, I decided to give my Octopus some character and make it an Octopus that is and aspiring painter, inspired by Leonardo Da Vinci and loves to make art in the Octopus World! His name is Pierre! Below is the concept art that inspired me to come up with the concept.
More about Pierre
Pierre is a 4 and a half year old Octopus, who makes art for a living. He is the classiest male in the underwater world of Octopi and draws inspiration from the art of Leonardo Da Vinci of the human world. He listens to jazz music and is currently working on a commission that requires him to paint a female Octopus Lisa just like Monalisa by Da Vinci.
Next, I did a few paint overs on the model to come up with a color scheme.
The model was ready before the start of Week 1, thanks to an amazing CG Modeler John Pagan, who modeled it in Zbrush and Maya.
I really want my Octopus to have an elegant, sophisticated personality that speaks for itself and colors help a lot conveying that! So far, I am leaning towards earthy browns and slightly saturated reds and yellow patterns which would also support the paint splotches on the body.
Collecting real world references are always the best way to start researching an analyzing a material by its various properties and how it reacts under different lighting situations. Since my main material is Octopus skin, I thought it would be awesome if I found a dead Octopus to do my skin research on and use as reference and Voila! A local store had it and my friend helped me pin the Octopus which would make it easier for me to study and take its photographs.
Since Pierre is an old octopus and a different breed than the real one I found, Pierre is going to have a more irregular, wrinkly skin and way less specular would be seen because he is going to be underwater. The image on the far right is the one with paint on the skin and how the skin is actually going to look like with paint on it. Below are some additional photographic references I gathered.
Other Environment References
For the rendering style I am going for Hank, From Finding Dory , a feature film by Pixar Animation Studios. Hank is a camouflaging septopus in the film and I absolutely love the look of the whole film and how Hank is portrayed, except Pierre is going to be more Purples or Blues, completely different than Hank, who is red and really saturated.
The first step in the look development process was to set up different light rigs or what you call "look dev worlds" in the scene. The whole idea of the look development process is for your shaders and textures to be read in any lighting. I chose a Paper Mill Grey hdr that had a key light as my main light rig for Pierre.
After gathering and studying references, the initial process was to lay out UV maps for the whole creature and get the displacement maps working on the low poly mesh in Maya. I used Zbrush to export a Vector Displacement map because it gave the high frequency details in Maya that I needed for the creature.
The GIFs show the difference with and without a Vector Displacement map plugged in on basic aistandard Gray shader. While plugging in Vector Displacement maps, it has to be read as Tangent Space and also, the overall scale can be changed based on the scale in Maya. With VDMs, since i used a 32 bit float exr, they have to be plugged in as RAW instead of sRGB.
After Displacement, I had to get the bump map on the Octopus. I really wanted to get the reptile skin on him so I ended up painting a bump map within Mari.
The bump map I painted in Mari was a combination of procedural tileable map and I hand painted the areas where I wanted the bump to be smoother. The more gray areas on the map are areas where the bump is smoother. There was also scale variation that i painted for example, the head bulb having bigger scales but the tentacles have relatively smaller scales.
Next step in the look dev process was to get the shaders working. I started with a basic ai standard shader with subsurface but I did not have much control on the subsurface because of limited options, so I decided to switch to AiSkin instead. It has three layers of SSS and thus gave me more control to paint my maps and radius multipliers. One of the best things about the shader was the two levels of specular, One Spec attribute and Sheen attribute. Since the Octopus is very slimy, it was perfect and gave me controls to show the wetness. Below is what my shader looked like,
Since Our Pierre was going to be an artist, to make his character more believable, paint splashes and streaks on him were very important. It added a lot to his character and I decided to try layered shading for it, mixed with some pieces of geometry. I used a Maya Layered Shader and layered an AiStandard shader I am going to use for the paint, on top of the main skin shader I just made. It required a lot of troubleshooting for me to figure out a way to get it working right until finally, I discovered that the best way layered shader works is if you choose the compositing flag as Layer Texture instead layered shader. I went in Mari and painted the areas where I wanted the paint splashes to be on him and generated an opacity/alpha map and diffuse map for the paint itself.
The black and white map is the opacity map I used as within the transparency attribute of both the shaders. Of course, AiSkin would have the same map, but inverse of the actual map. Whites are where the shader shows up and black is where it won't. One thing I noticed with using the layered shader is that you need to have transparency map plugged in on all the layers you create instead of it working with just on one (in layered texture.)
After shading, came texture painting. I used Mari for painting the maps for Pierre. I hand painted one map, that was the Shallow Scatter Map using different brushes and also layering techniques by utilizing cavity and bump map. I was very happy with the result I achieved, painting definitely is very relaxing and especially painting for such a beautiful creature, it was both fun and therqpeautic.
Next, using the same map I added a few procedural color corrections and hue shifts in order to get a Deep Scatter Map to see the subsurface. Since there are certain areas like the head and the bottom base that are more subsurface-y or translucent than the other parts, I also used value shifts as an advantage and painted those areas lighter than other areas.
These are some of the renders in the same gray world with both the shader and texture maps combined.