Will this possibly see the deprecation of SpecialMesh in the future if other block types such as Head or Torso get merged directly into the Part.Shape property.
That or the SpecialMeshes get converted to equivalent MeshPart objects so we can get proper collision geometry on them instead of a box.
I believe the next step for improving this feature is allowing ellipsoids.
I want to make a stretched sphere without having to resort to SpecialMeshes, or UnionOperation tomfoolery.
basically like what everyone else so far is saying.
Yeah we wanted to avoid deprecating these too fast before there was any community awareness or adoption of the replacements. These will be deprecated eventually.
I’ll reiterate that WedgePart and CornerWedgePart will always continue to work - Deprecation will only give them a “deprecated” tag in the API to inform intellisense/etc.
Ellipsoids are a separate thing; today’s change is focused on making the existing behavior more consistent. Can you file a dedicated feature request or bump an existing one?
I’m stoked that wedges/corner wedges will finally be easier to access, as previously I was unable to duplicate a part into a wedge whilst maintaining its properties.
Will we be seeing more basic parts, like cones, added soon?
With all these QoL improvements for parts, it’s a shame that different icons for different part shapes didn’t make the cut. Merging Wedge and CornerWedge into the Part instance will just make it harder to differentiate the two in the explorer.
Default shapes aren’t symmetrical (a cylinder and a ball). I struggle to create custom shapes that will fit default ones, because edge length isn’t equal for all edges.
Will there be non-uniform spheres/cylinders in the future? The only way to make non-uniform cylinder or sphere is to turn it into a CSG/Union shape or make it a mesh part
I have code in my game that creates mesh parts on the fly. Because of this, SpecialMesh must be used because you cannot set the meshId on a MeshPart at runtime because the collision data is determined when the engine starts up. Even if you create it in the script and haven’t parented it yet like this:
local part = Instance.new("MeshPart")
part.MeshId = "rbxassetid://2444943159"
That second line will throw an error in a running game. I can live with a box collision type on a SpecialMesh. The two classes exist for different reasons and have different capabilities. SpecialMesh enables us developers to do things that we can’t do with MeshPart.
I never suggested removing SpecialMesh. This is a valid usecase for SpecialMesh that I too acknowledge, this is more of a suggestion of moving out the non-FileMesh types in SpecialMesh back into the Part.Shape property
Deprecation and Removed mean two different things. Not being able to generate CollisionGeometry on the fly is a bit of a weakness of MeshPart that could technically be possible now that DynamicMesh exists
Even deprecated has a negative consequence for SpecialMesh. Now if Roblox merged the two and removed the collision limitation with MeshPart so that we can set the MeshId via script, then there would be no issue.
As for DynamicMesh, there is no mention of it in the documentation. Beta feature maybe?
Note that a triangle mesh can’t correctly model a round ellipsoid.
Roblox physics treats spheres as perfectly round with no triangles or edges. You can test this by rolling a sphere along a baseplate - it rolls for a long time without losing much energy besides some losses from the integration of motion.
If we add ellipsoids, we would treat them the same as spheres, and they would have correct quadric collisions. This is probably the main reason we would add an ellipsoid type besides convenience.
It would make sense for feature requests about this to focus on the use cases for “correct” ellipsoid collisions.
I really hope they do not do this. But, it’s Roblox. They only care about what their investors want, not what their actual developers want, and will probably completely remove them. If they do this (really hope they wont because this will break literal millions of games), then they will only deprecate it for like 2 months, then it will be gone.
This is like how they removed outlines, didn’t just set the default to off, allowing people to actually use a feature that they want, but instead completely deleted it so nobody is able to use it.
I get your point to an extent but you are definitely exaggerating a bit. There has definitely been times when Roblox didn’t listen but lets not minimize them to those only and also remember their good things like this. Also, it seems that a lot of people have being throwing the “They only care about investors” term lately without actually considering any other actions of Roblox
The last time they listened was what? mid 2021? Uncountable other effective updates have happened since then. The only reason they will listen is if it’s like a REALLY noticeable change. Like for instance if they deleted specialmeshes.