• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design Optimizing Depth

gunslingor

Grizzled Veteran
Jan 11, 2011
232
56
So, part of my map is a movie theater. As you would probably guess, this movie theater is filled with chairs. When the player is standing close to the stage or screen, he/she is looking through all those chairs and performance starts to suffer. the player can always see the tops of each chair when looking in that direction and standing by the stage, but the rest of the mesh is obstructed by the other chairs in front of it. What I would like to do, which I don't know if it's even possible, is to only render the parts of the chair that are visible (ie the tops) and not the rest; I mean, there's no reason to render it since you can't see it from that angle and performance needs work. I still want the player to be able to walk down the isles, so the chairs need render better based on visibility.

Any other ideas or suggestions on how to optimize this situation?
 
BSP should hide StaticMeshes if they are completely hidden by it. If you can make the bottom and the top parts of the seats two separate models and the BSP of the floor is enough to hide the rows you might be able to get the game to appropriately hide the lower parts of the SMs while still displaying the top parts.

I don't know what the chairs look like anymore, but if the bottom part is closed you can also hide a thin BSP wall in them for every row.
 
Upvote 0
thANK YOU

thANK YOU

I figured it would be something like that, or a setting like attenbylife (which I still don't fully understand). Yeah, so the bsp could be invisible (would that culling still work with an invisible bsp?) and I could just weave the bsp into the chair mesh. The top part would have to be separted from the bottom, that makes sense. Sounds like a pain to setup, I got like 200 chairs, probably more. Alright, thanks. If you know of anyone who is looking for a project, I could use a friend to help me finish this map. I got a planned release date of end of October finished or not. I've been working on this thing for almost a year, time to move on to other projects...
 
Upvote 0
I hope this thread isn't going to be considered dead.

I tried experimenting and I just could get any parts of it to disappear when it should, it would kind of disappear at random in large chunks.... actually slowed down performance. So, I'm in a pickle, not literally, lol.

How do I optimize these theater chairs, they're taking up to many resources and the room is already big and full of needy objects and movers.

I'm a computer engineer, so I know its possible to create an algorithm that would cull the parts of the sold mesh that aren't seen by the player automatically, but not in the realm of 3D design and I fear the algorithm would take just as many resources. I'm looking for clever, highly informed or professional experience type suggestions... I've tried everything I can think of and its just too laggy.
 
Upvote 0
I hope this thread isn't going to be considered dead.

I tried experimenting and I just couldn't get any parts of it to disappear when it should, it would kind of disappear at random in large chunks.... actually slowed down performance. So, I'm in a pickle, not literally, lol.

How do I optimize these theater chairs, they're taking up to many resources and the room is already big and full of needy objects and movers.

I'm a computer engineer, so I know its possible to create an algorithm that would cull the parts of the sold mesh that aren't seen by the player automatically, but not in the realm of 3D design and I fear the algorithm would take just as many resources. I'm looking for clever, highly informed or professional experience type suggestions... I've tried everything I can think of and its just too laggy.
 
Upvote 0
have you tried turning the collision off them all and using simple blocking volumes?

Even if you turn off the collision (which you sould do and add blocking volumes) the texture info is still being processed. So;

Open the mesh browser and select the theater chair.
In the menu below, youll see Material.
Expand the material lists and EnableCollision False on all the textures listed for the chairs.

ON top of that make sure you set the coliision info to simple (pull down menu in mesh browser up top)

Also You can make your own colission info for the mesh.

Also Maybe you should add Antiportals around the theater walls so all thats being processed is the inside theater room.


How to make custom collision for complex objects

For complex collision meshes, you can edit the collision brush.

A- Right click 3d window> view> collision

B- Position the builder brush (red brush) where you want the collision to be for that mesh

C- Select the builder brush, and the mesh. Right click(mesh)> Save brush as collision

D- This will remake the collision for this object, so you can make a simple collision brush, instead of a complex many angle collision

You can find the rest of the Optomizing Checklist Here to make sure you have everything.
 
Last edited:
Upvote 0