QUESTION: How do I prevent “outside” lighting from affecting the “inside” of my spaceship? During an animation?
BACKGROUND: The scene I’m making begins with spaceship flying along with the camera chasing. A door on the ship opens and the camera floats into the ship where you can see the interior (cargo bay, cockpit, etc…). The ship continues to fly and you can see the stars moving outside the windows.
I have a lamp to light the interior which works well, but as the ship flies along (in a big circle really) you can see the glare of the “Sun” on the ship’s internal surfaces. The glare shifts and slides as the spaceship moves around.
It’s as if the walls of my ship are transparent to light beams. I tried modifying the material properties of my ship’s surfaces to eliminate any reflectiveness, but then my interior doesn’t respond well to the ship’s internal lamps.
If this was a static scene, I could probably work out what I needed with set lights, but since this is an animation, I guess I need to learn the proper way to solve this problem.
Thanks in advance for any suggestions!
-potus98
PS: Part II of this question will be: Now that my ship’s hull is blocking sunlight, how do I allow sunlight to enter my ship’s windows and cast shadows on internal objects? (The windows are just holes in the mesh -not transparent glass.)
there are quite a few ways to do this
one is to make your lamp for the exterior simply not shine on the interior by making the interior a seperate object, using the layer button in the lamp buttons for that lamp, and moving the interior to a different layer from the lamp
(iirc)
or you could make your lamp cast shadows, but not on the window material (I think the tracable option for materials controlls wether or not it casts shadows)
You can do this fairly simply, even without using raytracing
1)set the lamp type to spotlight, adjust the clipsta, clipend, and distance properties accordingly (you may need to search for a tutorial on spotlights).
2)Making sure the lamp is in the same layer as your spaceship, click the purple ‘layer’ button in the lamp properties (M-key moves the selected object to a specified layer)
3)Move the windows to a separate layer
4)Make sure the Shadow button in the render buttons window is selected.
Ah-ha! Thanks for the great idea. My ship’s exterior hull and interior wall were part of the same mesh object. I basically added a seperate mesh “wrapper” around the ship to serve as the external hull, then used your suggestion and moved all of the internal walls and parts to another layer.
Now, the external hull responds to moving light sources as expected while the interior surfaces receive fixed lighting from the internal lamps.
I’m still pursuing the spotlight approach to get the light entering the windows as I’d like. Like a supernova casting bright light (and resulting dark shadows) on the ship’s interior through a main window.
The next challenge was that since my ship traverses such a large area, the spotlight coverage was huge which resulted in jaggy shadows. (Even with the ShadowBufferSize maxed out and softness turned down/off.)
Since the supernova is a loooong way off, (ie: there won’t be any shadow-shifting unless my ship turns) I simply attached (via parenting) the spotlight to my ship. Having the spotlight close to my ship keeps the shadows crisp and the render times lower since I have a much smaller cone, clipsta, and clipend values. If I want to have my ship turn during the supernova, I just swing the spotlight around the ship in proportion to my ship’s turn. It’s probably not perfectly angled shadows but it appears convincing during the animation.
I suspect the original responders know all of the above. Consider this captured info for future forum searchers.