Game Development Community

Lighting - Lights shine through my DTS walls

by Nicolai Dutka · in Artist Corner · 08/21/2009 (4:56 pm) · 5 replies

I found this post, but I don't have the same issue:
www.garagegames.com/community/forums/viewthread/72892

In that post, you can actually see the light object through the walls. Mine is different. I can see the 'rays' of light shining through the walls onto the terrain OUTSIDE my object. I have all collision meshes setup perfectly (tested with ray casting and projectiles). Here is an image of my issue:
i195.photobucket.com/albums/z83/kingdutka/lighting.png

FYI, the light object you see is not the only light inside the room and is NOT the one shining on the terrain outside:
i195.photobucket.com/albums/z83/kingdutka/lighting2.png

#1
08/21/2009 (7:05 pm)
I made a wall that was nothing more than a box, added a collision mesh, and exported. Stuck that next to a light, and the light still 'lights up' objects on the other side... (I did a 'full relight' after adding)...

Any ideas?
#2
08/22/2009 (1:20 am)
I have the same issue. But I must say I have had this issue way before noe. I origonaly had it with TGE. We are now on T3D beta 5 and the issue is still there.

demo.mouseplayproductions.com/images/test.jpg

I would also be interested in any ideas.
#3
08/22/2009 (12:31 pm)
Here's a hack/sorta solution for you Torque3D guys to try out :)

Rotate the light.

rotation = "1 0 0 90";

There's a small bug (known) with the parabloid lights where the two halves of the parabloids meet. This very small area sometimes does not respect collisions for the raycasting on the lights and causes the light to continue through. This is why many of the lights in Undercity have a wierd rotation.

If you ever run into problems like this the best solution I can recommend is checking the Shadow Viz tool thats in the mission editor and look for problems. Its a tremendous tool for getting the lighting data setup just perfect for that blend of performance vs quality.

Note that this doesnt fix the problem, it just moves it to a location you don't notice quite as much, but its enough to make things happy for the time being.
#4
08/22/2009 (6:04 pm)
Thanks for the solution. But I already have my lights set that way to try for the temp solution. The picture in my previous post is with this light set up.

%light = new PointLight(bay02Light2) {
      radius = "10";
      isEnabled = "1";
      color = "1 1 1 1";
      brightness = "0.55";
      castShadows = "1";
      priority = "1";
      animate = "1";
      animationPeriod = "1";
      animationPhase = "1";
      flareScale = "1";
      attenuationRatio = "0 1 1";
      shadowType = "DualParaboloidSinglePass";
      texSize = "256";
      overDarkFactor = "100 100 100 100";
      shadowDistance = "200";
      shadowSoftness = "0.45";
      numSplits = "1";
      logWeight = "0.91";
      fadeStartDistance = "0.5";
      lastSplitTerrainOnly = "1";
      splitFadeDistances = "10 20 30 40";
      representedInLightmap = "0";
      shadowDarkenColor = "0 0 0 -1";
      includeLightmappedGeometryInShadow = "0";
      position = "564.751 790.956 74.9851";
      rotation = "1 0 0 90";
      canSaveDynamicFields = "1";
          Blur = "1";
         coronaScale = "1";
         Enabled = "1";
         height = "128";
         pointShadowType = "PointShadowType_CubeMap";
         scale = "1 1 1";
         shadowBox = "-50 -50 -50 50 50 50";
         width = "128";
   };

Any other suggestions?
#5
08/22/2009 (7:11 pm)
hehe, try adding a corona texture to your light. It shows thru the walls as well.