Elevator/lift with portable floor

Avatar
albian
30 Posts
Posted Oct 15, 2014
I want to use an elevator which has a portable surface on it's floor (to be used when stationary). I managed to get part way there but have a problem with dynamic lighting.

I'm using the industrial_elevator_a.mdl model and have created a thin "veneer" func_brush for its floor which I've then parented to the elevator. This works in that the brush moves with the elevator but the lighting on the brush is not dynamic. At the top of the elevator (start position) the lighting is brighter than at the bottom and when the elevator moves to the bottom then the brightness of the brush stays the same.

Is there any way for a func_brush to accept changing lighting as it moves or is there another entity I could use to provide the portable surface?

Advertisement
Registered users don't see ads! Register now!
Avatar
josepezdj
2,386 Posts
Posted Oct 15, 2014
Replied 13 minutes later
What value have you got on the "Disable ShadowDepth" property?
Avatar
albian
30 Posts
Posted Oct 15, 2014
Replied 4 hours later

It's set to No. The settings are all default:

"classname" "func_brush"
"disableflashlight" "0"
"disablereceiveshadows" "0"
"disableshadowdepth" "0"
"disableshadows" "0"
"drawinfastreflection" "0"
"InputFilter" "0"
"invert_exclusion" "0"
"origin" "-62.5 -1 0"
"parentname" "track_lift_movelinear"
"renderamt" "255"
"rendercolor" "255 255 255"
"renderfx" "0"
"rendermode" "0"
"shadowdepthnocache" "0"
"solidbsp" "0"
"Solidity" "0"
"spawnflags" "2"
"StartDisabled" "0"
"targetname" "lift_floor"
"vrad_brush_cast_shadows" "0"
Avatar
josepezdj
2,386 Posts
Posted Oct 15, 2014
Replied 46 minutes later
K, then I think yuo should flag your env_projectedtexture to "Always Update". Try it and report.
Avatar
albian
30 Posts
Posted Oct 15, 2014
Replied 19 minutes later
Thanks. To be honest, I didn't have an env_projectedtexture entity (didn't even know what one was!). But after a bit of googling, I've now added one. I've also ensured that the lift's starting position is at the bottom (ie, darker than the top) and I've now got an acceptable solution.
Advertisement
Registered users don't see ads! Register now!
Avatar
josepezdj
2,386 Posts
Posted Oct 15, 2014
Replied 21 minutes later
Well, I thought you already had one since you were talking about 'dynamic lighting'.

Listen, if you don't add any env_projectedtexture into your level, but only light and light_spot entities for instance, there is no real dynamic lighting in your level. All you can see is the pre-stored lighting information that each brush side cast depending on the surrounding lighting, and it will be the same lighting all the time while you play your map. The command VRAD (one of the commands that the compile runs) is the one that actually does this storage.

Models are different though. Since their textures are rendered by the VertexlitGeneric shader, they receive surrounding lighting information and "reflect" it, that's why you can see different lighting on them as you move (for the static models) or they move (for the dynamic or physics ones).

For your env_projectedtexture, don't forget to play with the following values to achieve more noticeable effects:

  • Brightness Scale = try a value between 3 and 5 for example.
  • Light color = the 4th value is the intensity... I've even used a value of 4500 in certain cases.

Also don't forget to Enable Shadows, which is set to "0" by default.

And try first to not check that flag "Always Update" since it's more costy performace-wise