This is an animated commercial of a facebrush which I made in the beginning of 2015.
And with this post I'd like to reveal some "behind the scenes" look on the creation process of such a thing.
I was provided with some photos of the brush, and a feature-list that I should show in a commercial.
After collecting some references of similar commercials on the web, and discussing with the client which way we should proceed - I've drawn a storyboard sketch with all the scenes:
The storyboard helped to approve the direction that animation will follow, and to get a visual representation of our ideas & thoughts.
The client has provided a pretty decent CAD model of the brush, which was very pleasant to work with:
Based on the storyboard, I've made quick animatics in After Effects, using Element 3D as a real-time rendering engine. Which allowed us to see the storyboard ideas in action and check the timing, object and camera movements:
Doing animation previz in After Effects allowed us to tweak the motion and see the result instantly, although I had some issues with exporting the keys to 3ds max for a final step, but in the end I solved the problems and had an easy workflow for AE>3dsmax integration.
The rendering was done in 3ds max and V-ray. Although I already used Corona Renderer mostly at that time, but it still lacks some important features for animation production, so I switched back to V-ray on that project. I was doing look developing, lighting, shading and animation, based on the references of the brush collected from the client material.
I've done a vast research on the best way to render the brush bristles - tried many approaches, including scatter, geometry, proxies, and finally - VRayFur was the optimal way to go. It allowed to reduce rendering times from 10 hours (scatter & geometry had performance problems) to 30 minutes per frame on a full brush close-up. Some GI features were moved to post-production stage, as it is much faster to tweak the look of bristles there, than using real SSS-techniques.
I've asked my friend and collegue Max Kagirov to help me with water simulation - I wanted to have a "wall of water" effect, in which the brush immerges before applying to a face.
He has done a great job in Houdini, and provided me with alembic meshes ready to be used in my scenes.
Post production and compositing was done in Nuke.
To my opinion, it's interesting how a scene of brushing a face was done. We've selected a good photo of a girl with a needed skin which meets clients criteria of a "good skin". Then I used FaceGen to generate a head model from this photo, and used it for shadows & occlusion pass for the brush (seen below). Then in Nuke I had to animate the swirling of cream (which was drawn separately), and even skin deformations when the brush is pressing the cheek (although it's just barely visible in a final video).
The rendering was done on Render Farms. I've tried most of currently existing render farms out there (and that's a whole another story), and selected myself a couple of best options in terms of price, quality of service, speed, convenience and supported features.
Rendering times were 5-20 minutes per frame (depending on if it's a close-up or a wide-frame), so a farm with 1000 servers was a good option to deliver the renderings on time.
After I finally made the video - the client realized they need a background change from blue to white (ah, what a pain).
But as I've had all the passes, and the background was a saturated color - we didn't need to re-render stuff, and I just changed it on post-production.
And finally - the sound. I carefully selected the music to fit the style and mood of the video. Now it's easy, when you have Royalty-free libraries like Audiojungle. Although some tweaking of the final chords harmony was still needed.
Also I needed to make SoundFX for the things happening on screen (the button presses, water splashes, brush buzzzzzz, etc). Sound was done in Cubase.
To finalize, some facts about the project:
150+ working hours
2 months calendar time
482 GB of sources
2 629 rendered frames
5-20 min/frame rendering time
~16 000 GHz/hours CPU time
1 happy client ;)
And below - the video of behind the scenes of the whole project: