For those of you that use CSG/Solid Modeling

Look at what I can do:


Soon™.

30 Likes

=OOOOOO
Yes please

Can I also drop a suggestion for some sort of texture support on CSG, where having textures or decals on CSG unions won’t murder your render framerate.

2 Likes

Unfortunately I am trying to keep my change confined to the Physics side of this for now.

1 Like

:DDD This will be a future studio setting :smiley: ??

It’s just a display thing right, we can’t actually modify the decomposition geometry but simply we can view it?

1 Like

Viewing the decomposition geometry has already existed. I’m adding the ability to switch between Physics Quality modes.

First three will be:

  1. Box
  2. Convex Hull
  3. Convex Decomposition (Default)

We’ll eventually add “High Quality” for those that want higher fidelity physics out of a single object, but not right away.

7 Likes

Thanks, I honestly didn’t know that was a thing.

So like, i’m trying to understand this but:

If I made a Union, but want it for pure looks and don’t care about physical interaction with objects in the game I can change it to box and would it have a faster load time and less triangles? Or is it something to play around with physics wise?

SmellyPencil, yes. Unless you were already running a game with CanCollide = false unions, and no touch events then setting it to box should improve your performance in this example.

2 Likes

Oh my god yesssss! Thank you!!!

This will be perfect for a few projects i’m working on.

I’m gonna main this for smash 4!!

Did you say box physics? Finally.

2 Likes

Been waiting for this, thank you based Khanovich.

Raycasting uses the physics hull rather than the render portion of the object, right? So if I raycasted through that one closest to the camera at the center it would detect a hit?

blob.png

1 Like

Ray-cast uses the same data as Physics. So what you see in that gif is what you get in RayCast.

2 Likes

Where there be a way to read geometry data from CSG in the future?

YESSSSSSSS

I’m fairly certain most of the latency in Stealth is from calculating collisions with lots of csg so this will be really nice to have.

how soooooooon D:

1 Like

Working to get it out before Christmas. I’ll probably have the code in our main branch tomorrow or Wednesday, and then it’s the usual QA+Release process before its out to you guys. Of course this is also relying on the fact that I don’t screw up royally and something goes wrong. (This feature will not be delayed by Apple, as only Studio needs the new code for it to work properly).

I’m trying to minimize critical changes to lower risk, which means that V1 will be somewhat inefficient if you take, say identical 100 objects and switch their “Quality” to “Convex Hull”, as it will re-calculate that Hull 100 times. We know a good way to make it more efficient and re-use built data, but it will require more involved changes which risks this slipping into later next year. So I’ll ship with this inefficiency first and improve soon.

9 Likes

If it’s just inefficiency in studio, but still nice on the client, it’ll mostly do fine by our expectations.

Only Studio will have this inefficiency, because it only happens when you’re actively changing the quality of a Union’s Physics (which will be impossible on the Client). Client will be unaffected because all it will do is read data and generate physics objects, and this process is unchanged. I’m simply adding a studio layer that modifies the kind of data that is saved.