No announcement yet.

Dynamic shadows completely refusing to appear...

  • Filter
  • Time
  • Show
Clear All
new posts

    Dynamic shadows completely refusing to appear...

    I'm making a little scene set in a dungeon, and I want EVERYTHING to cast a dynamic shadow. In otherwords, if you were in a dark hallway, which turns to the right at a 90* angle, and you were carrying a torch, you would see the wall at the apex of the corner, cast a shadow on the other walls. Or, if you were in a room with pillars, and you had a torch, the light from your torch would cause the pillars to cast shadows on the walls.

    Well anyway, I've made a collection of passages and "dungeon parts" that can be arranged in different ways to get different results, and I want them all to cast dynamic shadows, 100% dynamic shadows. The objects are all static meshes in ASE format, exported from 3DS Max 2011.

    When I bring them into my level, I set the objects to "cast dynamic shadows", and tick the "dynamic" channel, then I add some dynamic lights to the level, and attach a "moveable pointlight" to the player, and set it as dynamic, so why is it that there are no shadows when I test the game? I've built the light several times, but if I'm using dynamic light, I shouldn't HAVE to build any static light, because the light is "built" per say, as the level is running.

    Is there some hidden feature I'm missing that actually turns on dynamic light? What would I have to do if I wanted the same level of dynamic shadows as STALKER for example?


    Unreal 3 isn't a fully dynamic engine. This is doable on UE4, but since we don't have access to that yet, there's some work around you need to do to achieve this, though your game will probably run terribly, ie. Extremely low frame rate, lag, etc. you would need to convert all of your static meshes to movers (interp actors) for them to cast only dynamic shadows properly, though it may be possible (not 100% on this) to, instead of doing that, turn on "force no precomputed shadows" for everything.

    This is not a good idea however, and will probably look bad in a lot of areas if it even works properly.


      UE3 by default only allows 1 light at a time to cast dynamic shadows


        Using interp actors is a solution if you are going to use the scene for a cinematic or something. If not, then go for static meshes(because of performance issues as mentioned) You wont be able to use Light Environment Component though, and that will give you 100% black shadows.


          don't listen to them. doing a game with pure dynamic shadows is possible with UE3. it's just quite slower than using static lights with baked shadows (which is what UE4 will heavily improve upon)
          in fact my game works that way, I have multiple lights all casting dynamic shadows. my level is much like you describe about what you want: a set of dark corridors with torches (and a player-carried torch).

          here's some proof (no torch in the player here though)

          it's all dynamic lights and shadows and I don't ever have to build my lights.

          to get this working there's nothing special to do with your meshes, you don't even need them to be interpActors (I place them as static mesh actors and leave its properties as they are). the thing is in the lights: I use PointLightMovables and set the LightShadowMode to LightShadow_Normal (not Modulate!)


            Originally posted by darthviper107 View Post
            UE3 by default only allows 1 light at a time to cast dynamic shadows
            I somehow didn't manage to get more than one dynamic shadow to be cast from my Pawn! (or any Dynamic Actor(Skeletal Meshes, InterpA, KActor))
            As it seems the Problem is connected with the 'Light Environment Component'. Switching this off, will allow pretty much any object to cast multiple shadows.
            Though given, that I want to leave this activated, is there a way of telling the Engine the number of dynamic shadows to be calculated from a specific object?

            //Explanation: I need to have my pawn casting at least 3 dynamic shadows only for one simple puzzle room, including the multiple shadows into the specific gameplay.
            Since the pawn is visible to the player (in a sort of FullBodyAwareness), it would be nice if the visuals of the body would not differ too much from the looks I liked with
            'Light Environment Component' switched on. Switching this of would, as Jacky stated correctly, dramatically change the shadows on the body.

            I guess it would be possible to work around, with some time spent on Lighting, Ambient Lights, Shaders and so on, but on the other hand I can't imagine, that it's impossible
            to change the number of shadows to be dynamically calculated.

            Any Ideas would be greatly appreciated!


              There's no way to set a number of lights to render, the only setting is on the lights themselves which changes how the shadow setting to force it to render shadows.



                I used your example and it worked great for me.
                Thanks for the intel!