Solid Model Collision Fidelity options enabled

Since @Khanovich can’t talk in this thread…

There were some technical issues with providing script access to plugins so we decided to ship a version without it first. We can revisit this next year if there is sufficient demand.

3 Likes

There is a small issue I have found with UnionOperations created by Instance.new:
If you create a union as such and set the collisions to Box physics, there will still have no collisions data. This use case is for my in-game scaling of armor for the guis that allow me to scale parts as small as I want without parts being larger than they are.

1 Like

Remove size constraint from Custom FormFactor or riot!1!1!1!

5 Likes

The restriction exists (at least, this is the old reason) is because 0.2 is the minimum size for collisions. Not sure if this is still the case, but this what I saw.

1 Like

Is there ever going to be an option for higher fidelity collisions? I unioned ships in my game to reduce lag when moving and it turned the collision boxes in to really weird, unusable abominations that I can’t fix.

example:

from

4 Likes

Maybe it’s “low detailed” because of the max amount of voxels allowed?
You should try having sub unions, like a tower, a wall, …
(If you copy-paste one wall-union for the other one, it’ll even reuse some of it for less lagg)

2 Likes

Lol, why isn’t he talking?

Also, is it possible to get 1:1 CSG collision boxes?

2 Likes

He’s playing a game.

2 Likes

I love Convex Hulls, they make collision so much cheaper.
The Source Engine uses them for collision models automatically, and thus my Rbx2Source tool automatically has them for character models and hats.

4 Likes

I made a giant box of 4 walls around my map and unioned it. The collision boxes ended up ruining the corners of the map making them not passable.


I don’t get why this happens either, it actually seems to add more polygons than the shape itself.

2 Likes

The collision boxes are percent-based, not size-based.

You probably shouldn’t need to be unioning those walls anyway.

1 Like

Yea I un-unioned them as it wasn’t super necessary lol

1 Like

You can get a part with a size less than 0.2 by unioning a part, scaling it down, then separating it. The collisions actually work fine at small sizes.

1 Like

But I don’t exactly have this luxury for scaling down objects ingame.

2 Likes

blob.png :frowning:

3 Likes

Woah what? Link to place?

But yeah, part of the plan in the future is to extend to add a “Higher Quality” option in the collision fidelity options. I implemented what you guys have now in a few days in a way that didn’t require an iOS update. This is why we don’t have plugin support, and a few other things you are all requesting. I wanted to minimize the changes to minimize the risks with releasing this feature to get it out before Christmas.

I appreciate all the feedback you guys are giving. Try to include use-case examples for your suggestions (as many of you already have been) when adding suggestions!

Thanks!

1 Like

Since it’s a studio-only property, couldn’t you make it just scriptable, athough it’ll still only appear in studio?
(A bit like the Studio class, which has scriptable properties, while the class only exists in studio)

2 Likes

It was also a matter of increasing complexity of the feature. For example, currently some things in Solid Model processing require to know what DataModel you belong to. You can have a part that you have a Lua pointer assigned to, but isn’t associated with a DataModel. Either I would have to add special hooks to this function to infer what DataModel it belongs to (we’ve done it before), or I would have to make the property unchangeable UNLESS the object was inside of the workspace (which itself would require a bit of work). So again, increasing complexity from the simple implementation we have right now.

Again, we’re going to be looking into adding more functionality like this but we wanted to get this out before Christmas without having to rely on iOS and other platforms.

1 Like

I thought there was only one Lua “instance” per game instance, allow you to link a datamodel to the Lua instance?
Also, with the debugId:
Property int DebugSettings.DataModel [readonly]
Aren’t you able to get the current datamodel?
(Not 100% sure what that property is, but I have a good idea)

2 Likes

Again. It’s not impossible. We just decided against it in such a short period of time.

Also, we have a better way of grabbing what DataModel a Lua Instance belongs to without doing any kind of ugly static assumptions about which game you are currently in right now. Unfortunately it is not as simple as asking something for “getDataModel” inside of the script implementation. It would require hooking up a lot of different things more manually, which is a lot riskier than just disabling script at first launch.

1 Like