So i have a complicated mesh. It has floors, columns, railings etc…
I need to set up colliders, so the player cant walk trough walls and such. As the simple collision presets wont work with this, and making it “use complex collision as simple” option would be too much (for optimizing), im just making cubes… tons of them.
So if a i have a railing with a lot of tubes and components, i just make a cube, i give it the shape i want and now its acting as the collider for the railing.
Stairs? same thing… the mesh has no collision and i place a cube at 45 degrees and it looks like you are walking on the stairs.
Then i make those cubes “not visible”, so they do not render.
So far i have 50 of these cube-colliders…
Is this going to give me troubles in the perfomance side?
Is there a better method to do this?
I need to know this before i continue on making more cubes ROFL
Im assuming you come from Unity, as for Unreal we call the collision object a collision mesh ( or primitive depending on how youve made it). Im not exactly sure what you mean by adding cubes for the collision, are you using other static meshes as a collision mesh? If so yes, that is a bad idea. You can open the mesh in the mesh editor (just double click the mesh in the content browser) and you can either autogenerate collision there, or add collision primitives to shape out your model. Obviously though, the best method is to create them in your 3d modeling program.
Yes, that is. Im using other static meshes (the default unreal cubes) as collision mesh for my objects. Because cubes, not matter its size or scale, have only 4 faces, and i think it is better for performance to have the less faces i can (less collisions faces).
As i turn off the render option on them, its not the same as if i would make them inside the mesh editor?
Autogenerate collisions is not an option, as the meshes are too complex.
I also took a look at the “blocking volume”; it seems to be the same thing, but im having a problem with them; when i drag and drop one in my scene, it does not stay where i put it. It goes to certain location near 0.