• 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/
  • Weve updated the Tripwire Privacy Notice under our Policies to be clearer about our use of customer information to come in line with the EU General Data Protection Regulation (GDPR) rules that come into force today (25th May 2018). The following are highlights of our changes:


    We've incorporated the relevant concepts from the GDPR including joining the EU and Swiss Privacy Shield framework. We've added explanations for why and how Tripwire processes customer data and the types of data that we process, as well as information about your data protection rights.



    For more information about our privacy practices, please review the new Privacy Policy found here: https://tripwireinteractive.com/#/privacy-notice

Optimizing Depth

gunslingor

FNG / Fresh Meat
Jan 11, 2011
232
56
0
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?
 

Murphy

FNG / Fresh Meat
Nov 22, 2005
7,071
743
0
33
liandri.darkbb.com
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.
 

gunslingor

FNG / Fresh Meat
Jan 11, 2011
232
56
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...
 

gunslingor

FNG / Fresh Meat
Jan 11, 2011
232
56
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.
 

gunslingor

FNG / Fresh Meat
Jan 11, 2011
232
56
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.
 

Fel

FNG / Fresh Meat
Aug 9, 2009
1,991
487
0
In Mission Mode
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: