General Concepts 102: Lesson 5b
Models Solid in JKA

STEP 1.
First make a model appear in the editor:
Right-click in the grid area.
Select misc then slide to misc_model.
(This will show the browse function and should start in the models folder.)
Browse to (Ill pick a simple model to do.):
map_objects
hoth
crate_snow2.md3
You will find a nice crate model added to your map.




NOTE:
If you where to compile now it would be non-solid and possibly very dark.

We should adjust the size and angle of the model now:
The angle can be adjusted with key/value:
angle/90
This would rotate it 90 degrees. (no magic there)
You can rotate it in all directions with the key/value:
angles/90 45 60
That value will cause it to turn on the different axis (XYZ) at those degrees.
Mess with it and see where what is.
Size can be adjusted with key/value:
modelscale/1
(this is default to double the size change value to "2". this would multiply the normal size times 2)
You can also mess with its proportions by changing the length or width or depth (XYZ) with the key/value:
modelscale_vec/1 2 1
Mess with it and see where what is.

NOTE:
There are more things to mess with but this isn't that tutorial. Read the entity window.

I am going to use the default size for this so Ill let it be.

STEP 2.
Next make it solid:
We now add a brush made with the texture:
System/physics_clip

NOTE:
We use this texture to make it solid and the brush will be invisible. The texture named system/clip would do that as well, but the texture system/physics_clip adds the weapons leave marks and stops weapons fire. If we use regular clip gun shots would go through it.

So now I have a brush about the size of my crate.

Ill drop the grid size a bit from 8 to 2 to get the size a bit closer.

NOTE:
Always a touch bigger then the model so the marks from weapons fire shows on the out side of the model.

Now I use 2-point clipping (If your sharp 3-point clipping if needed.) to get it as close as is reasonable in actual shape.

 

NOTE:
Perfection is totally unnecessary because the player will not see the physics_clip box at all.

STEP 3.
We start the process of replacing the misc_model with a misc_model_static:

First locate the models origin. This is usually a smaller white box outlined with a line going through it in on three separate axis found normally in the bottom of the model.

OK, we are half way there....
Now we need a new entity, so deselect (esc twice) now right_click and select:
misc
misc_model_static

NOTE:
This will replace the model you have in the editor for map making purposes Ill explain why after.

Next, did you see how the model origin was divided by lines before?
Well, this misc_model_static will be (from top view) centered on the model origin and (side view) cut its height in half..... Important pictures here!!!!!



OK!!!
If you got that far the rest is EASY!!!

Now what could we need to after all that?

We need to transfer all the keys and values from the misc_model to the misc_model_static except for the keys (and their values) origin and classname.

HERE is the new part that I have never known or told before:
Add the key/value:

zoffset/32


From the entity window:

"zoffset" units to offset vertical culling position by, can be negative or positive. This does not affect the actual position of the model, only the culling position. Use it for models with stupid origins that go below the ground and whatnot.



This replaces the need for the origin brush that I used to teach. In this case the point of origin to be moved from the Z center to 32 units below the actual misc_model_static origin. (you can mess with this to see how it works.)
 

STEP 4.
Last step I promise!
Delete the misc_model.

WHY DO ALL THIS?!?!?!!?!?!?
OK, as I said Ill explain why this should be done.

1. It saves in BSP size and compile time.
Who wants to sit and wait for a large down load when it wasn't needed.

2. It make the server (computer serving the map file) load faster if it doesn't have all kinds of wasted information to draw. It will be drawn by the players computer anyway but now it will be the only one not the server that can cause longer time for a map to change on it.

Raven Wrote:

Well, there are models that have shaders built for misc_model_statics. If you use a model as a misc_model and are still getting nasty black faces with q3map2, then try changing the misc_model into a misc_model_static. You can do the reverse as well. To change it into a misc_model_static just open up the model's entity window and add "_static" to the misc_model line. The purpose of a misc_model_static is simply to reduce .bsp size.

 

Back to Home