Roof Shadow problem.

I have the roof of my warehouse here:

It’s a model, and the frame is detail brushes. my problem is that I want it to cast no shadow, but be lit by the light_env. so What i did was make a brush version of the roof to simulate realistic shadows. But now this comes up:

It’s like the model is intersecting brushes, how do I change the lighting origin on the prop_dynamic_override that is my roof?

See, When I pull the roof up, so the bounding box isn’t touching anything…

…The lighting works fine.

Any ideas on how I can correct the lighting?

  1. Create a info_lighting and place it above the roof where you want to sample lighting from. Set it’s name to something like “roof_origin”

  2. In the prop_dynamic_override’s settings change “lighting origin” to the name of the info_lighting.

Should do it.

Didn’t work, it still looks the same.

Change it to prop_static and compile with -StaticPropPolys?

That has no effect, it makes the roof model dissappear.

Anybody have any ideas?

To be completely honest, I think the shadows cast by it look awesome.

VRAD is currently calculating the shadows based on the collision model, which would be a solid object covering the entire roof. In order to switch to vertex-based shadowing, press the Expert… button on the Run Map menu, select full HDR compile from the drop-down menu, click on the VRAD option (aka $light_exe) and tack on -StaticPropLighting -StaticPropPolys at the very beginning of the parameters for VRAD.

Hmmm does anything change if you make the fake-roof textured with the blocklight texture instead of nodraw?
And is the fake-roof a func_detail yes/no ?

I tried Robmeister’s suggestion, and it has no effect, the roof looks the same as my original image.

And yes it’s func_detail and the blocklight texture works the same as nodraw.

Compile your model as a static prop and try what I said.

I did, it didn’t show up. It only compiles as a prop_dynamic_override.

Did you do the QC right, and make the model name not the same as the dynamic model’s?

Sorry, I was reading the OP wrong. Lighting on props is handled from the origin of the entity (3d center of the model)

Recompile the model, first shifting the entire model down so that the top center of the model is at (0,0,0)

Can’t you also move that little dot that appears at the center of the model to change the origin? or am I just tired and confused?

Use the $illumposition qc command to move the lighting origin.

He isn’t talking about the cast shadow, he is talking about the lighting on the roof it self.

How do I do that?

I couldn’t find the circle, I thought that was only on brush based entities.

I’m not sure I follow, its a Valve model, how would I recompile it?

You could decompile the model with this tool, AFAIK there’s no issues with decompiling models like there is with maps.

You would then open up the SMD with Notepad and adjust the values under “time 0” based on their respective node so that the highest point on any value under triangles would equal 0.

Or you could try an SMD converter, I’m not sure how well that will end, but if it imports fine, just drag it down and re-export then compile the QC.

Although you may be able to get away with removing the nodraw brushes underneath the model and compiling with the two VRAD options to get the same shadow on the floor, You may have to disable shadows on a brush that’s covering the origin of the model. This approach is far easier than modifying the model and recompiling.

Do I really have to go as far as recompiling the entire damn model?

Wow, I may just make the damned thing outta brushes.

What’s the name of the model? I might take a look at it then.