Option: Render Union by the CollisionFidelity.Hull mesh

CSG is great! But CSG is also expensive if they are complex and in great numbers.

People (in other game-engines) solve this by rendering lowpoly models of the CSG further away from the camera and the highpoly version close. This is called LOD.

Now this would be quite much to ask UNLESS you already have all components!
CollisionFidelity Hull is basically a lowpoly model of the union!

At the moment you can not render the Hull mesh, it’s simply created for physics calculations. But if we could get an option to render unions by Hull then that would make LOD optimizing very simple!

I suggest a new property of UnionOperation called RenderBy.
RenderBy
-Union
-Hull
-Box

Or simply a boolean called Lowpoly. Either one would decrease the lag of detailed games severely!

4 Likes

CollisionFidelity is for collisisons - i.e. physics. It should not affect rendering.

If anything, this should be implemented by the developer themselves or ROBLOX by calculating low-poly versions automatically when unioning. I think the developer doing it themselves is better because they can choose what detail to keep and what to get rid of.

The idea here is that the collisionfidelity, which is used for collision obviously, is a mesh just like your union.

Hull is a lowpoly mesh of the CSG that might aswell be used for rendering in lowpoly.

But CollisionFidelity is not RenderingFidelity. Physics should not affect rendering, and nor should rendering affect physics.

6 Likes

This will not affect physics. You can always choose your own collision fidelity.

You’re suggesting that you overload CollisionFidelity so that it also affects rendering. CollisionFidelity affects physics anyway. It chooses how a Union collides with the world.

Like I said, physics should not interact with rendering in any way, and this would go against that idea.

No you’re missing the point.
I’m suggesting there to be a rendering option, like a dropdown list.
RenderBy:
-Union
-Hull
-Box

If you choose union you render like normal union.
If you render by box, then, well you render the obvious box.
If you render by hull, then you render the hull of the union. THIS hull does NOT need to be calculated twice since it’s already created by the collisionfidelity. The mesh is used twice, has nothing to do with collision.

1 Like

So you’re suggesting a new property which affects rendering? Why would it use the CollisionFidelity Enum then? It should use its own Enum.

In fact, it should not exist at all because it is not powerful enough for developers. The developer can’t choose what parts of the Union need to stay and what parts can go away - you’ll end up with something like fonts without hinting. They look terrible.

Idk if you’re being serious or just trolling here.

It will have its own enum, yes ofcourse.
It will be a lowpoly, aka bad looking mesh. That’s the point, you won’t notice that on a long distance anyways.
It would be incredibly powerful, giving devs the chance to optimize their high quality maps to run on low-spec computers!

It would not be “incredibly powerful”. I have already pointed out a flaw with it.

Take Phantom Forces for example. If they used this sort of thing instead of doing it themselves, you could all of a sudden be missing half a gun. They don’t get to choose what is absolutely required.

1 Like

You shouldn’t render close objects on low-poly, that defeats the point.

This is what it’s used for:

You’re missing the point; when you use the low-poly version that ROBLOX automatically generates, you can’t decide what you need to keep. That means, like in my example, you could be missing half a gun at range.

These sorts of things are noticeable by the end user.

You cant notice the difference between a shotgun and half a shotgun at 1000 studs away.
If the shotgun is closer and you still choose to render by low-poly then you’re doing it wrong.

Phantom forces doesn’t have any lengths which are 1000 studs apart.

You will notice when half a shotgun is missing in Phantom Forces.

Please read the wiki link I posted.
If you still got concerns I’ll be happy to explain it to you.

You’re not understanding what I’m saying. Please re-read my posts again until you clearly understand what I am trying to say.

The fact that you render your own gun and the guns close to you as low-poly shows you do not yet understand basic LOD.

No.

Sounds like whats actually needed is tessellation support, not something based on the physics shape of CSG parts?

CSG tessellation (even if it was only settable in studio) would be pretty great. Having 3 or 4 detail models with box collisions would be far more ideal (imo) than assuming the physics representation of a CSG object is anything shape wise accurate to the actual shape. Being able to set it in game would be even better.

3 Likes

The reason that argument sprawled out is because the OP was unclear about what the specifics of the feature. Please try to clear things up about what exactly this feature request actually does. The OP makes it sound very vague.