Announcement

Collapse
No announcement yet.

InterpActor and Lightning Issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    InterpActor and Lightning Issue

    Hi there,

    I'm having some issues with the lightning in my maps due to the interpActors I use as doors. If i setup two rooms, connect them and put an InterpActor as a door between them. Then I would light out one room and leave the other one completely dark.
    Now, after a complete build, I will still have light created from lightmass in my other room, just as if there were no doors. If I make the doors static and not interp, the other room is completely dark though. Am I missing out on something or is it simply not possible with the UDK? Is there no option for the InterpActors to react correctly on light and lightmass?

    Thanks,
    drmccoy

    #2
    Open your light properties and make sure that it is set to affect dynamic mesh. Lights can be set to only light specific channels. Mesh can be set to specific channels. So, for instance, you could set your light to affect BSP and Static Mesh only. Then you could have a second light which illuminates only dynamic mesh. Then, you can set your meshes to whatever channel you want. So, you could open your interp actor and set it to receive light as both a static mesh and a dynamic mesh.

    That would be the first thing I'd check.

    Comment


      #3
      Yes, mesh light does affect dynamic meshes. Also, my interpActor cannot be set to receive lightning from the static channel. Just in case you didn't get my problem right, here's a pic so you might be able to understand it a little better. Thanks for your help though, keep it comping pls!



      (if i would have used a static mesh instead of an interpActor here, room02 would be pitch black, they way it should be)

      Comment


        #4
        My suggestion is to put a static mesh in there, just a simple box mesh to fill the gap. Make it hidden and switch off it's collisions and the decal receiving as well. Basically so that during game play it does not technically exist. Then on the lighting settings for that mesh, check the box to cast hidden shadows.

        This will force that mesh to block the light even though it's hidden and during game play it will not affect the game. It's like putting a dummy object to affect lighting only.

        You can set the interpActor up to block the light but then you will make the lighting static on that model which is probably not what you want. To keep lighting dynamic on the interpActor means that it will not affect static lighting, which is where the dummy static mesh comes in.

        Comment


          #5
          Good idea, only thing is, I'm putting a interpActor there with a reason. It's gonna be a door to move, so .. technically, while it's opened, i WANT light to stream through the opening. I could of course move the brush (or maybe it'd even work with a hard attach to the interpActor?), but that all sounds a little like ... shooting fish with a big laser gun. UDK is a powerfull tool, don't tell him it lacks one of the (i'm sure) most important things?
          No, there has to be a simple solution to this problem, or am I the only one that gets it?

          Comment


            #6
            Hmm...
            Try setting your shadows to modulate better.
            There's a bug that allows dynamic shadows and such to show through walls sometimes and Modulate Better helps it.

            Even if you're not using dynamic light, it couldn't hurt to check.

            Comment


              #7
              My suggestion is for the static lighting only. Unfortunately you can't have it both ways. You can't have the bounced light appear when you open the door and go black by closing it.

              With the static mesh you would just disable dynamic shadows on it and allow dynamic light to come through the door but it will still block the bouncing light or any static lighting for that matter.

              That is what I think you are trying to accomplish. You don't want light to bounce through the doorway but you do want direct light to come through when you open the door.

              Comment


                #8
                Originally posted by obihb View Post
                My suggestion is for the static lighting only. Unfortunately you can't have it both ways. You can't have the bounced light appear when you open the door and go black by closing it.

                With the static mesh you would just disable dynamic shadows on it and allow dynamic light to come through the door but it will still block the bouncing light or any static lighting for that matter.

                That is what I think you are trying to accomplish. You don't want light to bounce through the doorway but you do want direct light to come through when you open the door.
                Sorry to resurrect this, but I'm basically trying to do what you're suggesting here and it's not quite working.

                I've got a dynamic light outside the door, set to "LightShadow_ModulateBetter" and, obviously, the "Dynamic" channel ticked.

                I've got the Static Mesh door set to "Hidden", without "Cast Dynamic Shadows" and with "Cast Hidden Shadows".

                I've got the InterpActor pretty much at default.

                Thing is, when I build the lighting, the room behind the door is dark, as it should be. But since the shadow maps are saved, even after the door opens, the room remains pitch black.

                I tried setting the BSP to accept dynamic lighting, and that didn't make any difference. Heck, I've been moving settings up and down for the past few hours and I just can't figure it out.

                Help? Much obliged!

                cc

                Edit:

                Ok, I sort of got it. But I'm worried it's way too ineffective.

                Basically, what I had to do was set all the meshes (interp actors and static ones) to receive dynamic lighting, turned off use precomputed shadows on all of them. Additionally, the interp actor had to have its light environment disabled because, for some reason, even with only one light, it still offsets the shadow (any ideas on fixing that?).

                I tried it with a BSP room and a interp-actor but I couldn't get it working because I don't know of a way to turn of precomputed shadows on the BSP (is there?).

                This work-around doesn't require a dummy static mesh, or a secondary light, but it's pretty resource intensive. Any ideas on reducing that overhead is greatly appreciated.

                Cheers!

                cc

                Comment


                  #9
                  Ok, short version:

                  1. Is there any way to control the offset of the Light Environment Shadow? It's smaller than a "Normal" shadow, even with just one light.

                  2. I don't suppose there is a way of using Light Environments on Static Meshes, is there?

                  3. Can precomputed shadows be turned off on BSP?

                  4. Is there a more efficient version of making light shine through an opening door other than:
                  a. use the dynamic channel instead of the static one and turn off "use precomputed shadows" for the room the light will shine into.
                  b. use normal shadows on the light, tick the dynamic channel and turn on "cast dynamic shadow".
                  c. turn off Light Environment on the door (interpActor), leave on "cast shadows".
                  Cheers!

                  cc

                  Comment


                    #10
                    For the dynamic light, like movable light to work properly casting shadows you need to use "Normal" shadows. On top of that for a dynamic object to react properly to this, you need to switch off it's light environment. Static objects will react as expected by default, including BSP.

                    I think when this post was first created that dominant lights were not yet implemented. I can't really remember now, but anyway, the point is that if you could, you should look at using a dominant light in stead. It'll just work by default casting all the correct shadows and doing all the correct lighting on all models no matter if it's static or dynamic.

                    Comment


                      #11
                      Originally posted by obihb View Post
                      For the dynamic light, like movable light to work properly casting shadows you need to use "Normal" shadows. On top of that for a dynamic object to react properly to this, you need to switch off it's light environment. Static objects will react as expected by default, including BSP.

                      I think when this post was first created that dominant lights were not yet implemented. I can't really remember now, but anyway, the point is that if you could, you should look at using a dominant light in stead. It'll just work by default casting all the correct shadows and doing all the correct lighting on all models no matter if it's static or dynamic.
                      Awesome!

                      Now I don't have to set my static meshes to dynamic, that sure is a step in the right direction.

                      So there's no need for a dummy static mesh or a secondary static light with this setup? I mean, it seems to work fine without. Only asking because you mentioned this in your older post.

                      I'll look into dominant lights. But from what I know of them, I won't be able to use more than one, whereas I have multiple rooms. I might split the level using streaming, if it's really required.

                      Thanks for the reply!

                      cc

                      Comment


                        #12
                        Yeah, with dominant lights you can't have them overlap models, or rather, they simply won't render more than one of the lights per model, so you can get a hard cut between lights if they did overlap.

                        But that's why I said that if it's possible for you to use dominant light and not that you should use it. The movable light will work regardless, but the dominant will be cheaper and if that works for you, then rather use that.

                        The reason I talked about hidden static mesh from the previous posts were to exclude light from bouncing through the doorway. The other guy wanted no light to get through from one room to another. The GI obviously will bounce the light through unless you block it since GI is not blocked by dynamic models. So, that's not something you'd necessarily normally do, it was a specific workaround for a specific problem.

                        Comment

                        Working...
                        X