Siggraph 2015 Rewind - Marc Potocnik: Scientific Eyecandy - VFX for TV-Documentaries

Photo of Cineversity

Instructor Cineversity

Share this video
  • Duration: 49:45
  • Views: 8173
  • Made with Release: 17
  • Works with Release: 17 and greater

Dramatic virtual sets for scientific televison documentaries.

Marc Potocnik of renderbaron demonstrates how he's used Cinema 4D to create dramatic virtual sets for scientific television documentaries.

06:52Reconstruct Landscape with DEM Earth and Projected Photos
10:24Composing the Virtual Set
12:40Rock Shader
16:17Shader-Controlled Grass
18:49Variation Shader Flowers
21:08Lighting and Rendering Hair
22:31When Animals Bug You
26:17Streaming Water with Animated UV Offset
27:10Creating a Soil Material
30:19Faking Indirect Light
39:24Compositing the Scene
41:26Discovery in the Baltic Sea
46:09Lighting Bees

Marc used the DEM Earth plugin, Cinema 4D Sculpt tools and Projection Mapping techniques to create a virtual set in the Alps. He demonstrates how C4D's Hair, Grass shader and Variation shader work together to create a grassy Alpine landscape.

Marc also shows how he created streams of water through a studio, and how to create a soil material. Continuing on the water theme, Marc places a virtual set in the middle of the Baltic Sea.



- Hello, guys. My name is Mark. I'm the founder of Tiny But Nice Animation Studios, [inaudible 0:00:07] in the western part of Germany, in Dusseldorf. A big thank you to Maxon for having me at SIGGRAPH. Hello out there, internet. German cinematography community, or community all over the world. Nice to be here. First thing, some words on Renderbaron. It's a studio for animation and design, by myself, founded back in 2001. Me myself, I'm a designer and a Maxon certified instructor focus on shading, lighting, rendering, and that complicated stuff. Renderbaron is focused on visualization, visual effects, and TV commercials since 2001. Have a look at the recent showreel 2015. - This was most recent and best work so far of Rendbaron showreel 2015. Today's talk is about scientific eye candy. It's the second of two different talks. The first one I did on Tuesday, and you will witness it again on Vimeo as soon as university uploads it there. It's about scientific eye candy, visual effects for TV documentaries. What is scientific eye candy? Scientific eye candy is visually explaining things in a way the audience wouldn't expect. That means by creating a rich visual experience by the means of visual effects overlapping classic explanatory visualization. You create an enriched reality with an explanatory aspect. That's the theory behind it. From an artist's point of view, that means in terms of modeling, add a rich level of detail. And do it 110%. In terms of lighting, play off your lighting skills. That means do elegant lighting. Use simple, yet effective animation-proof light-setups. In terms of shading, use smart shaders complementing your light-setups. And all of that put together, sleep well while rendering. Meet your deadline. Make your client happy, and be independent from animation-rendering with GI, if you want that. Let's have a look at some works we recently did for the German television, the 2nd German television channel called Z-D-F, and the TV documentary show Terra Xpress. It's about panorama of the alps. [speaking German] While the main task in the shot was to place the original location, the building behind the anchor of the show, into an original geolocated location, the Swiss Alps, at the Urner lake. Therefore we had to do with geomodels, map painting, and some hairy stuff. The first thing we did was to do some research before we did some development. Researching some facts about the location. This is placed right here. The director of the shooting decided to place the studio here at this part of the mountain to have the most majestic impression of the panorama available this actual location. First up in our work flow was a cool plugin for Cinema 4D called D-E-M Earth. And D-E-M Earth is a tool from Tools 4D from Paul Everett, and it's literally translating D-E-M data sets, means digital elevation model data sets, freely available on servers on the net, to a 3D topography, 3D model in Cinema 4D. By typing in latitude and longitude you get the exact location where you want to be. The next step was to create rather simple map paintings by freely available imagery from the original location. These map paintings were basically cleaning up, extending things, and creating a proper alpha channel. Let's say by the location we were given with the photos, and the fact that we have the original location within Cinema 4D, I were able to roughly reconstruct the camera position. I did approximate camera calibration manually by just the location of the photos and the location we had with D-E-M Earth. From that point of view, I could project my map paintings. That ended up like this. All those map paintings being projected onto my geometry with some background mountains. All of that looks perfectly seamless from the original point of view in the scene, especially in conjunction with a nice sky. The sky is done inside a cool plugin called Ozone Cloud Factory, Ozone 2015 from from E-on Software. This can create some volumetric fog and cloud layer effects. Rendered from ground level it's quite fast. In this case I decided to bake that sky as a reflection map on a hemisphere, placed on the ground. By baking this texture map, I had something I could map on a sky object inside of Cinema 4D. With all of this in mind, we got some freedom of movement. More than enough for our purpose, but it's quite good at this stage. The next step would be, as you can see, we had some very rough geometry at this level of close-up distance. We needed to redefine that. The next station was sculpting. Cinema 4D is an excellent sculpting tool. It's very versatile and flexible. You can store all your sculpting work into several layers. That keeps your work very flexible, especially in terms of client and iteration with a client and doing corrections. This is the final step of sculpting. We also wanted to have all those side details on our rock to have a nice rocky impression. For this shot we decided rather to do a projection painting of the studio on a rough geometry instead of being fixed to the real camera and doing just the match moving. With match moving you just fixed, and depending on the rear camera movement of the camera on set. If you recreate the original location by means of camera painting, you're totally free. First step was to camera calibrate the camera inside of Cinema 4D. This is the original location, the original set. In conjunction with all those very detailed documentary work I always do when I am supervising a shot, we were able to reconstruct the set with all those measurements and details and stuff. By extending and cleaning out textures, and even extending the textures for areas where the object obscures itself, we were able to recreate this. In conjunction with the proper camera movement, it looks like this. Here we have the studio in front, the sculpted mountain beyond, the map painting and the ozone sky in the background, and the lake is just blur reflection on a blue plane. That's all. It's quite good for the moment. Now we have the task of how to integrate the anchor of the show. This was a static shot with perspective parallax and moving perspective. The approach was as followed. We decided to map a keyed version of the actor onto a plane as a texture tag in Studio 4D. Beyond that, we took a separated key of his shadow as a second texture tag, and placed both texture tags on a plane, and animated the position of the plane so that the feet of the of the anchor stick perfectly to the ground during camera animation. It worked. Of course, you cannot do some fancy camera movements, but a quite linear shot will do. Next thing is shading. Here we have some fancy-looking-- not really fancy-looking rock shader. This is just a diffuse aura elimination model with some noise shaders. On both noise shaders of Cinema 4D stacked over each other inside a layer shader, inside of Cinema 4D. Some non-spectacular specular. That's a nice term. And some heavy bump work. In this case it was interesting to see that bump mapping was better-looking than normal mapping. I don't know why. Sometimes it's just like this. This is a weird-looking result, but if you look at the side areas where we actually just needed this, it actually looks quite good, for the moment. Next thing was to do a grounding for our hair work, all those grass stuff. It's nearly the same. I did some combination of bit map, textures from photographed grass, and some noise shaders of Cinema 4D stacked over each other inside a layer shader. And some juicy specular light, of course, because it's grass. Some restricted alpha map to restrict the area of grass, and that's the basic result without any lighting. Just the grass canvas, grounding on our mountain canvas, and the rock. Next step is to do the hair work. We will have a live demo session in a few moments where I show you all those hair stuff. But for now let me step through the basics of hair shading. The details of the hair are colored by gradient. All those roots get the same bitmap texture as the grounding of our grass area on the mountain. It's the same shader. Bitmap textures with some noises. This fancy-looking stuff is an on board noise shader of Cinema 4D. Defining where the length of the grass is more or less. We will see all of that stuff in a few moments, live. We need some definition for density, and all of this is applied to some guide hairs. After rendering it's looking like this. Without any light it's just as furry as this. For the background I did some interesting thing with a shader that is often forgotten, which was introduced in R-16. It's the architectural grass shader. This is a really good shade, because you can do some basic adjustment to your hair as color gradient and density textures, and something like that. It's really fast render. It's not heavy in terms of RAM usage. It's really cool, and for the background it works perfectly. Adding some trees, adding some flowers and plants, because we're in the Swiss Alps. Let's head over to a live demo and see what shading is about in terms of doing some hair stuff. I just open the scene. The basis for the scene is playing with the soil shader. I will break for you down in a few moments. Here we have the hair material. The hair material just consists of a color gradient for the basic information about the color of the hair. When you render this it's just looking like green spaghettis rising straight up. That's not too fancy, but you can see how the gradient is applied. If you apply some more definitions, for example for length. In this case, this is this noise shader I just showed you. When I type in 100%, it's just looking like this. This is the guy we met before, the so-called voronoi noise shader, and this is defining the length of the grass. When we render that-- no, that is too big. Excuse me. When we render that we see some preparation going on down there in the status line. We have the voronoi information being translated into the length of our grass. This also can be done with some parameters like density, for example. Here we have exactly the same noise copied in. Density is now being defined by this noise. Witness this. You see that? This is the density being controlled by a shader. In conjunction with some scale random variation, some random orientation by frizz. Some knitting, by kink. Some clumping. We get some nice results, which look perfectly natural. When we render natural details like that, we also have to keep a very good eye on the fact that nature isn't perfect. It's not digitally-looking. It's analog, and it has mistakes. It has artifacts. We have to create that analog-ism, we have to create that un-perfectness. This is what all those parameters are about, and noise shaders are a great tool to control that, because they're random patterns by definition. That's a quite nice result. Because we're in the Swiss Alps we have to do some flowers and plants, and I've prepared some pre-rendered pictures. It's looking like that. You may notice that all those flowers are perfectly the same color, besides variation depending on shadow and light. What do we do about that? We use a brand new feature of release R 17, that is called variation shader, and it's looking like this. It's a subtle but very powerful way to vary your textures, your shading inside your scene. Let's take a look what this looks like. We head over to the relevant material, and we have a layer shader there. Before there is the color information inside a filter shader. Don't care about that. But here we have multiplied upon, we have the variation shader. The variation shader is something you can distribute among your objects or your scene in two ways. First of all, object-oriented, which is the case in this scene. Because we have flowers, more or less clones. The second way is to do it on a polygon basis. In this case we just leave it there with object. - The way you could vary your texture would be to add a secondary texture. Feed in some other bitmaps, perhaps the face of an elephant on your flower. That's quite good. Or just leave it there and use a gradient. The gradient can be shifted into all directions of random colors by this value, the random color. We have now no random color. Everything is varied between yellow and white. Now it's 50% shifting to random colors, or 100% shifting. By distributing those values with a probability parameter, you get a nice way to vary all of your shading in your scene. It's looking much more natural. It's a subtle but much more natural way. Let's head over to the next part of my slide presentation. This is about the light setup in the scene. The light setup is very simple. We have just sunlight and some bounce light and the sky dome, and that's all. As we're dealing with hair, we apply some hair render tags. That shows that all of the shadow stuff is being made available for the hair renderer. Because the hair renderer can emulate area shadows. It just translates area shadows to shadow maps. You have to deal with some insane resolutions for having proper shadow casting between all those grass details. Of course, you should use the sampling mode pixel instead of vertex. This is the final result of all those theory. Added some trees and sunlight for sun and the trees. The light domes or sky domes for the scene, and the trees, because they're separated in terms of lighting. Here we have some bounce lights emphasizing the shape of the mountain. This is, by the way, the final result with compositing. Let's head over to another work we did for the second German television. It's about when animals really bug you. It's about this cute guy here, a beaver. But looking as cute, he can be really bugging or even dangerous because he has strong teeth. He can do this to a tree or even to your leg if you're not cautioned. When he does that to your ground it might look like this. [Speaking German] This work was about tearing it up and flooding it. This is the original footage. We had some markers done with chalk on the ground, and we had this hole on the ground, and lots of those real impressing-looking stones. This is the basis for my photo work. The first thing I did was, as always, re-creating the camera, calibrating the camera, and with all those details I take on set while supervising a shot, I was able to re-create those details, in part. This is quite comfortable when doing dummies for reflections or having a measurement inside your scene to know some height or width. Next thing was to recreate the markers on the ground with some splines so I'd be able to do some loft ups. These are my streams. With some displacement distortion, with a nice knocking noise, we have something like this. What we need now is some more irregularities. A soil shader for all those stream beds. We need to do some shader work. I will showcase that shader set up just in a few moments, but before that let's step briefly through the other parts of the work. I painted some nitty splines and extruded them for a concrete layer. Here we have some painted cracks, and these painted cracks are just planar projected on my scene to give a level of detail. Here we have the water. The water is something simple, but something special. To get a nice appearance of the water, water will always behave different. Depending on the scene you have, on the demands you have for the water. It's almost a living being. It's so flexible and versatile in how it looks. It has to create from scratch every time you do that. In this case it's just a basic setup. We have a fresnel reflection, reflecting something outside of the scene. I will tell you what it reflects. It reflect some nice panorama photography I did on set. This is stitched by a software called Autopano Pro. It almost does a one click solution when stitching panoramas, it's quite nice. This is the result. Projected on a sky around the scene, it creates nice reflections on the water. In conjunction with the displacement shader it looks like this. For the streaming direction I took a different approach, because all those streams are planes, and when you split up a plane in point mode or polygon mode, you correspondingly split up all those UV coordinates. When you do this very carefully without too strong distortions, you get something like this. If you animate the offset of your texture tag. This was the go-to solution for the streaming direction. Apply it on all those streams on the ground, it just looks like that. Split up UV coordinates, basically. This is the final result with displacement. Now we are creating some soil. This should be the most interesting part for you people watching out there. Some smart shaders complementing your light set up. We exit the demonstration and head over to some nice soil shader. That's no problem. Here we are in the material manager. I have the scene open, here. We will approach that a bit more closer. Here we are. This is my original scene. I will open a window for that so we can see the basic steps of creating a nice soil material. First of all, we have the color channel. The color channel contains something that's like a filter function from Photoshop. It's a filter shader. In there, there's a layer shader. There is the core of our shader magic. It's just stack noises with fancy names like Luca F-B-M or dense, something like that. You see in the window preview what's going on. With some additional wetmap we simulate the effect of the soil being in direct contact with water. This is nothing else but 3D gradient rising straight up from Y axis minus 14 centimeters up to zero centimeters. That give the impression of wetness of our soil, because it's documenting the soil. With some nice dense shader and Poxo shader, we have some pebbles in here as well. That is the whole shader setup for the color channel. Now we need something to make it more credible. For all those tiny details I added a combination of Poxo and dense noise to the bump channel. This gives some nice impression from bumpy pebbles on the ground. For the heavier deformation of the normals, in terms of shading, I used just a noise shader inside the freely available Height to Normal shader inside the normals channel. That's all. That's all the magic about that. The result is just looking like... Let me turn on the water... Just looking like that. A bit of preparing. And here we are. It has a nice complexity, especially in conjunction with real stones and placed 3D stones and all those mayhem and dirt. It's quite nice solution as a soil shader. Let's head over to the next demo, because we need to something about pitch black shadows. Let me show you something about diffuse light and shadow. This is a really impressive concrete column outside of convention center. In direct sunlight. When you witness the indirect light on this core shadow area side of the column, you might consider it as a passive process. It is being lit. There is direct light bouncing from the floor, creating a diffuse, soft, indirect light on the backside of the column. But you could also consider that as an active process, of self-illumination. It's just a twist of mind. This is not physically correct at all, but it might look correct. Keep in mind, illumination could also be considered as self-illumination. The second part is this diffuse shadow on the ground is just the result of the absence of indirect light in the core shadow area. This effect we all know can be recreated inside Cinema 4D with a shader called ambient occlusion. That is also an active process. This is a passive process. It's an absence of light. But we can recreate it as an active process by putting a shader inside of the diffusion channel. Much theory. Let's head over to some shader magic. Here we have such a simple plane. It's looking so complex by adding a high resolution and some noises inside the displacement deformer. That's my basis. This is the soil shader, basically. What we now will do is render this thing. Witness what is inside the scene and what is lacking. What is lacking is all those shadows are perfectly black. Pitch black. As we are lazy, we are artists. We are lazy and we do not want to place additional lights, and we also do not want to turn on G-I, because we are smart and want to do it the elegant way and the fast way. What we do now is we create a shader in the luminance channel. I already put in there a shader construct I call shadow luminance. Shadow luminance is something like that. Look at the shadow side of the preview. It's restricting a self-illumination to the shadow-side of the object. How does it do that? Let's start from scratch. Clear that. Recreate. We turn on luminance channel, everything is self-illuminating now. I create a layer shader as a container. Inside the layer shader I create another shader called luminance. Luminance is something like a magic shader. Originally it's intended to do multiple specular lights, but we just turn them out. Not interested in that. What is interesting is the shader tab. The shader tab should be named as diffuse tab, as we have specular tabs and the shader tab should be named as diffuse tab because it's doing exactly the same as the color channel. It is showing something in terms of, "show me where I'm in the light." It's just the same as a color channel but as a shader. The cool thing about that is, as it is a shader we now can invert that behavior. We do that by right clicking on the luminance shader and creating a colorizer shader. The colorizer is something that transfers all input into a freely definable gradient. In this case the colors black, red, and yellow, so we change that to black and white. It's just the same as if the scene was perfectly analog. We invert that by right clicking invert notes. There we have...excuse me. There we have the inverted behavior. This is quite cool because now we can use something to mask things on the shadow side of objects. Now it's not saying, "show me where I'm in the light, " it's actually saying, "show me where I'm in the shadow." I'm going to copy my filter shader, copy channel, from the color channel, feed it in there. Shader, paste, channel. And say layer mask, so it's masking with its attributes all those input to the shadow side of the object. Here we are. What we now have is-- let us render this. A method how to restrict self-illumination to the core shadow areas only. Exclusively. When we compare that, it's perfectly working. Here we have a premade render. This is the self-illumination on the core shadow area. This is working perfectly. What we are also witnessing is it's looking kind of flat. We have do something about that. We just take this construct we recently created, by the way we should name it shadow luminance. We take this construct and copy it in the diffusion channel. Just let me delete this. And we have the same thing by the colorizer which inverts the luminance shader, but now it's just restricting the ambient occlusion shader on the shadow-side of the object. In this case that might not work properly. Because of what? Because of the fact that every anti-area in the diffusion area is being considered as black. We need to add a color shader down here as a grounding on our canvas. That is it. When we render that, we have shadow luminance, meaning luminance restricted to core shadow areas, and we now also have ambient occlusion restricted to core shadow areas, interacting with our luminance channel. This gives a much better definition in our core shadow areas. As we have a bluish sky, we might want to turn our shadow luminance to some kind of bluish tone. Therefore we shift the color angle of our filter shader where all the guys are sitting in to a bluish tone. When rendering that it matches perfectly as indirect light coming from the bluish sky. This is something you want to try out at home, you should try out at home. You might want to trigger that a big more with a nice bounce light coming from low behind left. The interesting thing about that we have the bluish version, here we have the ambient occlusion version. When you compare that-- this is an additional bounce light. When you compare that with a GI rendering, with a robust solution like [Cume?] C4 Primary GI, a light mapping creating radiosity maps for secondary GI, you have a really robust and fast solution for GI, but it's still a lot slower than the solution I created from scratch. In this case picture just rendered nearly three minutes on a MacBook Pro, quad core 2.5. And a similar result without any GI rendered just one minute 17. It's nearly 150% longer with a GI solution, and it's principally looking the same. That's quite cool, I think. Let's head over to the last part of my demonstration. That was the excursion into the soil and all those stuff with ambient occlusion being masked. What you witness here, we have some work to do with our scene. We have some dirt on the ground, and the dirt is basically a variation of my soil shader, being masked with a simple photo of spilled coffee powder on a sheet of paper being color corrected. That's a perfect alpha mask for dirt on the ground. When I deform that with a spline wrap deformer controlled by the formal shape of a spline, then we get nice dirt on the ground. In combination with debris and some dead trees, we have this apocalyptic scene made by beavers. Have a short, quick look at the comping of the scene. We have this footage, the clean plate, we have the raw rendering, and we have the dirt. We have color corrections. Additional shadows. And we have the anchor of the show walking through the scene. This was a real pain, because I decided to do it the hard but very precise way, the reliable way. I decided not to key him but to rotoscope him. I had to make absolutely sure we get a really precise key of him without hassling around with artifacts and keying and compression artifacts because we have small-scale keying to do here. I decided for going to hard roto way, but it worked. This is the presenter of the show with roto and some more compositing steps. That's basically it for this shot. Let's head over to two more shots I'm going to do remaining few minutes. Discovering about X-E is also for German television, is about old wines sometimes being discovered. Valuable wine in the Baltic Sea. It looks like this. [Speaking German] - This project was basically about reconstruction and also about re-lighting. This is the original footage. The wall behind the anchor was closed, and the studio was un-flooded, of course. First there was to do a camera calibration, a match moving. With all those tiny guys in the picture, all those green little dots, we were able to recreate all those geometry in conjunction with the documentation. It looked like that. This is quite good in several ways, but less us go step by step. The first thing was to do a projection mapping on that geometry. I projected my animated original footage on the moving geometry. From aside, that looks like that. Here we have the animated camera conforming to the rear camera. That might look a bit strange, but from the original point of view it just looks like that. It's matching perfectly. The cool thing about that is we now have the ability not only to create masks, but to do a re-lighting. Because the sun from outside of the studio should emit light inside the studio, but there was a wall. There was no light at that point. I used that for creating some re-lighting effect. Just look at the details here. Here we are. This was really comfortable. It's also useful for creating some fake caustics. In this case, just a light source in Studio 4D with some animated caustics texture. It's looking like that. It's a subtle effect, but you do not want to miss it. For the water I needed a separation of the foreground and the background water. The foreground water was just a really high res plane. The background water was not so high resoluted. For the foreground water I used a deformer called Hot 4D Houdini Ocean Toolkit, made available for Cinema 4D. I did that in two flavors with some rough primary waves and some tiny secondary waves. Both together combined, one object just looked like that. There's no rear flow, something like that. It's just Hot 4D, a deformer. That's water looking for the foreground. This is the basic render output. I just wanted to have my reconstructed geometry being visible below the waterline, because in compositing I placed the rendering, the reconstructed geometry with the original footage being masked by the mask I created out of my rendering. Let's have a look at the compositing process. We have a plate, we have the render output, and we have some extras, some distortion. And the mask, being applied to the footage. Here we have the combination, matching perfectly. The re-lighting, that's very important. We have those caustics, we have wet maps in the background. This is the final composition. In the remaining five or four minutes, I'm going to show you a quick shot on a nice production we did with some furry friends, bees, wasps, and bumblebees. Also for second German television, Terra Xpress. [Speaking German] It is about simple yet effective light for furry friends. One of the topics I mentioned at the beginning of my talk today, simple and effective light. The basis for all those look achieved here is some good shading for the exoskeletons of the bumblebees and all those insects. The basis, further on, that we are able inside Cinema 4D to apply so-called composite tag to our background or dummy objects. You might see the dummy object here, it's just this box. By applying a background compositing tag, we can define this object as only visible in terms of shadow receiving. This is a quite important step for compositing and visual effects production. There's compositing tag, it's just compositing background check, and there's only the receiving of shadows active. Then the camera mapping of the footage, and that's it for this background. When doing lighting you see this extremely light setup. It's four light sources with no GI, and this is doing all the recreation stuff. All the lighting of the original film set is being reconstructed by four lights. It's really simple and you just have to know how. As we are dealing with light, we're dealing with light steps. Just four lights, that's all. As we're dealing with hair, we're dealing with hair render tags, as we have to simulate some proper shadows. The hair is applied with the basis of a bitmap for coloring. It is applied on three objects on the bumblebee, for legs, the body, and some long hairs for the body. These are the hair objects steps as the last part of presentation. No hair, naked. Long hair. Even more long hair. Hairy legs. This is it. Always remember, it doesn't have to be physically correct, it just has to be visually correct, because we're artists. With that approach you might get some nice furry friends. That was my presentation. Thank you for listening, and leave a like at Facebook Renderbaron. Thank you. Happy lighting.
Resume Auto-Scroll?