Showing posts with label lighting. Show all posts
Showing posts with label lighting. Show all posts

Friday, 6 August 2010

Moviestorm 1.4 is imminent

It's taken a while, but it's going to be worth the wait. We've just assembled a complete build of Moviestorm 1.4, and it's looking good. We're dealing with a few minor issues over the weekend, then we'll be putting it through its final tests on Monday & Tuesday. If all goes well, we'll release it mid-week - and then our entire programming team is taking a well-earned holiday!

Moviestorm 1.4 includes a whole bunch of new features that you're just going to love. If you've been following the dev blog, you'll have seen us getting excited about them over the last couple of months. Individually, they're pretty cool. Now that we've put them all together, though, they add up to a huge leap forward.
  • For a starters, there's a whole new dressing room, and a completely new head creator. You can morph faces in a huge variety of ways, add make-up and decals, and you can create random characters to give you inspiration or fill out your extras quickly. Oh, and we fixed those annoyingly visible neck seams. That's something we've wanted to deal with for absolutely ages!
  • There's a totally new lighting system, which gives you much better lighting and really brings out the relief in your movies. It's a tri-light system which allows you to create effects similar to the traditional three-light system used on real-life movie sets. It includes lighting presets, so you can quickly flip to day, night, or low-light scenes. You can still use the old ambient & directional system if you want, but once you've used this, you won't want to go back. There's also a new color chooser which remembers the last colors you picked, which is handy for so many reasons.
  • The help system has been completely revamped. It's now much easier to use, and links through to the video tutorials. There's also a beta of the prop info tool: press one key and it shows you what every prop on the set can do. We also made a printable cheat sheet that you can stick in front of your keyboard or on top of the screen.
  • One of the most important "under the hood" updates is the auto-save and backup system. You can store up to ten backups of each movie, which means that it's easy to experiment with a scene, decide you don't like the way it's going, and get back to a previous version.
  • And, as we promised, we worked our way through a bunch of "papercuts", those little annoying things that irritate the hell out of you. Like the save dialog, which always confused people, and now makes sense. Or the load movie screen, which you can now order by date and quickly find the last movie you worked on. And when you load a movie, it goes back to the last view you were in. And so on.
The test team keep telling us how much easier and quicker it is to use Moviestorm now, and how the new characters really allow you to get much more variety into their movies. We're really looking forward to seeing what you guys do with it. The movies you've created so far have amazed us, and we're sure that you're going to do something truly astonishing.

Friday, 16 July 2010

Lighten up!

While working on the many changes to the character creation, we've now got the characters in proper dressing room. This gives you a much better idea of how they're going to look on set than having them against a plain background.

We realised during development that this worked much better if you had some half-decent lighting, so we took the opportunity to revisit the way our lighting controls work.


You can see in the shot above that we've now got lighting presets, so you can quickly go to some standard light settings and see how your character looks under different light conditions.


Here's a closer look at the controls. The current version has two main light controls: ambient, which is a general light, and directional, which comes from one direction only. The new system works more like conventional three-point movie lighting, and uses a front light (key), side light (fill), and back light. This gives you much smoother illumination, and the results look much more like what you're used to seeing in movies. And, as you can see, any light setup you create can be saved as a preset.

We haven't determined whether the new lighting controller will make it into the set workshop yet; there are still some big issues we need to address. However, we're fairly confident that it will make it into the dressing room for 1.4.

Thursday, 27 May 2010

Shadowy goings-on


Look closely at the image above, and take note of two things.

First, the blackboard on the wall isn't casting a shadow on the floor. This is something that's been irritating us for ages. Now, with the interior lighting setting switched on, objects mounted on walls don't cast shadows when the walls don't cast shadows.

Now compare the two pictures on the right. (This is a bit subtler; you may need to click on the image and see it a bit larger.) The left-hand picture casts a shadow on the wall, but the right-hand one doesn't. That's because they're placed in different ways. The left-hand one is actually fractionally in front of the wall, and was placed there with the gizmo. The right-hand one is attached to the wall normally, and so has no shadow.

This now means you have the ability to have shadows if they're important to you, or lose them when they're not working as you'd expect.

Thursday, 18 February 2010

Playing with lights

Movies are, as my buddy Phil South always says, about painting with light. You set up the action, point the cameras, but it's the lighting that determines what that looks like to the audience. So I've been putting together some Moviestorm Made Easy tutorials on lighting. It's a huge subject, and I could go on about it for at least an hour, but I'm trying to cut it down to just a three or four tutorials of a few minutes each.

Anyway, while I was looking at the best way to present this, I was experimenting with a single scene, and setting up the lights in different ways. Here's the set view: two street lights, and three on-set lights, plus the ambient and directional views.


Here's the fancy terminology:
  • The key light is the main light in the scene, which usually comes from in front.
  • The fill light is off to one side and is used to smooth out shadows and create contrast
  • The back light is there to illuminate the background and help the character stand out.
I took a single camera shot from the scene, and set it up with a long lens and out of focus background, then snapped it with a load of different lighting setups. (There's one cheat in there, but I'll 'fess up to it when I get there. All the rest are pure Moviestorm.) Each of these setups took about a minute to create: I just switched lights on or off, changed the colours, and changed the views. Making the decision as to which one to use in a movie? That's the bit that takes hours!

This one uses a plain white ambient light, with a bright pale blue directional light. There's a small amount of pale yellow fill just to add some colour to his face. Nice and simple.

By dropping the ambient light a lot and bringing in a slightly yellowish key light and a blue background light, we have much more control. The colour of the background has changed, and we're starting to get something that's not as flat.


Now I've added in just a touch of extra lighting from the street lights. The straw colour is just enough to take out the shadow on the back of his head. It's not a huge difference, but it can be enough if you want something with less contrast. Personally I don't like it so much, so I wouldn't bother.


This shot dispenses with ambient and directional lights completely. I've gone for a moderate key light, with a lot of the light coming from the fill to give the shot some shape. The background is lit by with a dark blueish tinge so we keep the separation from the foreground character. It's quite low lighting compared to the previous one, and a bit drab and moody, but it works well.

And here's the same thing with the key light turned up and made a bit more blue-grey. It's a bit flatter and brighter, and suggests a different time of day. It's also more of a "video" look as distinct from a "film" look, and feels a bit raw.

Now I've taken the key light down again, and made the fill smaller and closer, which gives more uplighting. This is nice and moody and gives me plenty of contrast, which is great for doing ....

... this. I desaturated this in Photoshop to get a washed out, high contrast look. (I tried it in black and white but it was pretty terrible.) I like this effect, but it can't be done in Moviestorm yet.

And finally this, which is probably my favourite of all the setups. I gave it a really strong blue background to make it a noticeably different colour from the foreground. I used a strong orangey fill, set slightly low with a short range so it didn't affect the background, and a wheat coloured key light with a short range so it comes across quite soft. Add in just a touch of cream lighting from the street lights, combined with a little pink ambient glow, and you get this interestingly balanced shot.

Of course, there's no right way to light a scene. Play around, have fun, and see what you can come up with!

Thursday, 15 October 2009

Moviestorm Light - and Dark

A friend of mine who teaches film-making in Bristol, Phil South, tells his first-year students every year that making movies is about painting with light. When you strip it down to its fundamentals, what film-makers do is capture reflected light with a camera, and project that onto a screen. The first exercise he gives them is simply to take a stationary person on an empty stage, a single camera, and a single light, and see what happens on a monitor when you move that light and camera around. By lighting the person differently and picking different camera angles, you can create powerful images on the screen which have an innate story in the viewer's mind.

Of course, another way to look at this is to say that you're painting with shadows. It's as important to decide what doesn't get lit as to decide what you show. Moviestorm's had shadows in since the very early days, but it's still a long way from the sort of shadows you see in real life, and we know it.

Moviestorm pioneer Phil "Overman" Rice sent us an impassioned email a week or so ago on this subject. With his permission, here's the correspondence between him and Dave. You may find it illuminating.



Gentlemen,

We're starting to get to the point where we can make top of the line cinema with Moviestorm when we pay attention and edit properly. Screw pre-vis, I say. This thing officially has strong legs of its own, as films like [NAME REMOVED] prove.

There's really only one thing about this film that screams a jarring reminder that this is low budget animation: those goddamn flickering shadows. I've found the only reliable way to avoid them is to just turn directional lighting off, or at least so far down that shadows are barely visible. But look at what these guys did with shadows in this piece! Can you imagine this film being nearly as good without shadows?

No, we've got to have them, they are a crucial device.

What is the outlook on getting this bug fixed? Honestly, when it first came to notice, there were so many other bugs in Moviestorm that at the time it didn't particularly stick out (though I confess it's always bugged me). But now, esp. with 1.1.7, you guys are continuing to obliterate the imperfections of this movie-making tool, such that this 1.0 remnant shadow problem is really
really standing out. And it's a bug that puts off regular viewers as much as (if not more so) than machinimator viewers, who tend to be much more forgiving of these kind of things. If we want to reach an audience beyond the pool of our fellow creators, we're going to have to stop implicitly asking them to lower their expecations when they sit down to watch our movies. The audience doesn't want to read "sorry about..." in the description before they watch, and the directors don't want to feel obliged to say it.

This film is, in every other regard, a hands-down jury candidate for this year's Machinima Expo. But we're really stuck in contemplation of whether to bother sending it up, solely because that godawful recurring visual glitch is almost certainly going to nix its chances with viewers who are just watching films and aren't educated on the day-to-day handicaps of this or that machinima platform. We aren't sending up anything else with that kind of visual bug, it almost doesn't seem fair to put it up there and hope a jury who we've asked to pick out the best of the best will just ignore such an obvious flaw.

We've got to stop doing this to Moviestorm films. What is causing the blocky and flickering shadows? What needs to happen to fix it?

I know you've got ten thousand things on your plate, things you want to do with the program. But this very old issue really has to become a renewed priority, if it isn't already. It's the kind of flaw that cannot be edited around, and turning off the feature that causes it has potentially dire consequences to the light and shadow vocabulary of film language. And the number of otherwise really stupendously great films it infects and spoils is only growing.

Please help us with this. Help us make the kinds of films that are going to have storytellers - even those with an image quality fetish - running to your software in droves. We are SO CLOSE to being able to snag the attention of beauty buffs, so very very close. This wart-on-the-nose-of-Angelina-Jolie is really the only thing standing in our way.

Your concerned user, friend, and advocate,
Phil Rice


Hi Phil,

I could not agree more with your sentiments. For all of its flaws I'm much more interested in machinima as the final product than as pre-vis. Right from the start I've wanted movies made in Moviestorm to be watchable for their own sake carried by the quality of the storytelling and without the visual quality spoiling the experience. Now I know we've got a long way to go but machinima has Moore's law in its favour: the hardware keeps getting more powerful and the software is slowly catching up. I've just played through Batman Arkham Asylum so I know we're behind the bar right now. I have to plead poverty for the moment but we have the virtuous circle on our side with good movies attracting new movie makers to Moviestorm who then go on to produce further good movies and slowly our community (and revenues) grows allowing us to build a better tool for making better looking movies.

We've made many improvements to the visual quality of movies but you're right about the quality of our shadows letting the show down. They've been bugging me also. Moviestorm's renderer has supported shadows from the start precisely because they are so essential to painting a good scene. I also want a whole lot more of course: HDR, global lighting, ambient occlusion, et al, but those are still for the future.

So, what can we do about them?

Firstly we use a shadow mapping technique to create our shadows. Effectively we take a shot of the scene from the point of view of the light This is pretty standard in state of the art game engines and our shadow quality actually compares quite well with most such engines. The difference though is that most games keep the cameras mostly in long shot but the good cinematic shots are close ups. The limited resolution of the shadow map is what causes the pixellated shadows. The shadow maps are anchored to the scene and so we get flicker as characters move through them (and even tiny movements are enough to move by a shadow pixel or two).

The other main shadow technique we could have used is to build geometric shadow volumes and use a stencil mask. However these have some major disadvantages for our use: they don't self shadow and the art has to be carefully constructed to make correct silhouettes. Generally shadow volumes have been rejected by games engines in favour of shadow maps for some time now.

Fortunately there are a lot of new tricks to be applied to shadow maps that could deliver most of the visual quality that we want for our movies - though in all honesty they'll still fall short of what you can get from an offline renderer.

Currently we use one shadow map for the whole scene. We take a lot of care to match the shadow map to the intersection of the camera and light view volumes and bias the pixel density to be higher closer to the camera but this is never enough for large scenes particularly when the light direction and the camera direction is opposed (shadows towards the camera tend to be the worst). This tracking happens frame by frame which is why you often see the shadow quality pop.


However a better tactic is to use multiple shadow maps - cascaded shadow maps are best current practice. Each shadow map might be relatively small but a smaller shadow map confined close to the camera can give a far better result than a large shadow map covering the whole scene. For example if we had a shadow map for each character close to the camera and a shadow map for the near scene and a shadow map for the far scene we should get much better results. This is quite a significant change to our renderer but one I'm actively pursueing in the rare moments I get to do some R&D.

In the shorter term there might be some ways to make our single shadow map more effective. One quick fix is to use a higher density shadow map (a decent card will support up to 4096x4096 but we've held back to 1024x1024 so far). This will help some (and I've tested it) but nothing like enough.

One trick used in game engines with static levels is to place the shadow casters manually to cover the area as effectively as possible. I don't really like this approach as it would require some complex tracking movements to get the best effects for close ups and this conflicts with the ease of use requirements for Moviestorm.

Another quick fix (but with its own drawbacks) is to soften the shadows further with a larger sampling mask. Effectively this puts a depth based blur on the shadows. This can look quite good on large scenes, the blurring hides much of the flicker, but it also loses any crispness in the shadows just where you might want them. Again it is a technique for higher end cards as it needs a lot of shader instructions to implement. But it could provide a worthwhile improvement in the right places.

So, let me end with a question for you as a movie maker: if you have to compromise on shadows, what are the most important characteristics you're looking for? Are soft shadows better/worse than hard shadows? Is the flicker the most annoying aspect or the coarse pixellation? Finally, is it enough to have high quality shadows in the final render even if the real time shadows are pretty rubbish?

Thanks for taking the time to raise this - sorry it's taken a little while to get back to you. I can't promise when you'll see improvements to the shadows, but know that I'll be doing what I can.

Cheers,
Dave


By way of explanation, I added illustrations to Dave's reply. As you can see, with a tiny set, the shadow on the wall looks just fine. As soon as we add in a large building, though, the shadows on the wall and on the character's neck become pixelated.


Thank you so much, Dave, for your detailed reply. This is a challenging issue, and one that I've seen games with multi-million dollar budgets and gigantic dev teams grapple with. Mass Effect has flickering shadows on some cards; GTA IV is plagued by the pixellated shadow edges even on a monster rig. So I can appreciate this is no trivial fix. And I am really grateful to learn that it bothers you guys too, that it's not an issue you've given up on. I can't tell you what a relief that is, just knowing that.

To answer your questions:
"So, let me end with a question for you as a movie maker: if you have to compromise on shadows, what are the most important characteristics you're looking for? Are soft shadows better/worse than hard shadows? Is the flicker the most annoying aspect or the coarse pixellation? Finally, is it enough to have high quality shadows in the final render even if the real time shadows are pretty rubbish?"

Soft vs. hard is a tough decision to make. It sounds like softening could be a way of reducing artifacts, but when the hard shadows are done right, boy oh boy, are they effective. Ideal world? I'd wish for an advanced user setting to switch between the two based on the situation. Forced to choose, hard shadows are better... but soft shadows without pixellated edges trump that for me. I'd wager no one but 3d graphics buffs are going to be distracted by a soft shadow when the scene's lighting might call for hard... but a jagged edge shadow can potentially distract everyone.

Flicker vs. Pixellation - Hands down, the flicker is the most distracting element... perhaps because it's so "foreground" in nature. The jagged edges can often be cropped out with clever framing... but the flicker often affects faces, which more often than not are essential to the shot.

Final Render vs. Real Time - One of Moviestorm's strengths right now is that affinity of the image at real time with what gets rendered. No surprises. HOWEVER, if the changes were in a positive direction such as with regard to shadow quality, yeah I'd be crazy not to love that. Would that mean a significant increase in final render time? (Honestly, that part doesn't matter much to me, I'm completely comfortable with a bit more wait for a tastier "bake".) In short, yes, I'd be fine with that and think most users would be as well.

Cheers, and thanks again,

Phil

What do you think? What do you want to see? How important is lighting to you, and how would it change your film-making if we gave you better shadows? Would you make different films? The same films but in a different style?

Thursday, 9 July 2009

Burning Streets Remix: working with cel shading

Yesterday I posted Burning Streets, a movie showing what you could do with lighting using the burning objects in the new Special Effects pack. Just to see what would happen, I tried it with the cel shading switched on. Some bits worked really well, but others, as you might expect, didn't. I then tried some experiments to see what I had to do to make the scene work properly. Here's the cel-shaded version - watch and see if you can figure out what the differences are. Some of them are quite subtle.



To start with, I had to add in some global light. Without it, the whole scene was too dark. I had an orange ambient light on 11%, and a straw-coloured directional light at about 13%, shining down the street to put extra light on the fronts of the characters. Because of the vagaries of the lighting system and cel-shading, dropping these by even 1% made a lot of things go almost black, so it took a little bit of tweaking to get it where I wanted it.

Next, I moved the fire at the back a bit further away from the walls. The light it cast created strange circular rainbows on the walls when it was close up, and although interesting, they weren't what I wanted. Moving them about two feet reduced this considerably.

And finally, I changed the smoke on the vents from black to white. Black smoke just didn't show up against the background, so I opted for a more contrasting colour.

I'm not 100% pleased with the outcome, but still, it was an interesting experiment, and useful to help understand what you have to shoot differently if you're working with the cel shader. I like some shots, but others don't work as well as I'd hoped. I suspect that the only way to get the results I want would be to light each shot separately, and then edit them together later. Just like a real film, I guess. Fortunately, when you're working with Moviestorm and similar machinima tools, you can see all the visual effects as you shoot - what you see is what you're going to get in your final footage. Now that, my friends, is a luxury other film techniques don't give you!