Allow Special meshes set to cylinder to become oval shaped

Currently the behavior for the cylinder special mesh keeps it from ever becoming oval shaped if the Y and Z size of it’s part parent aren’t the same. The Sphere type always deformed to match it’s parent size so it would seem natural that the cylinder type would do the same. But alas, 'tis not so.

Complementary graphic below. Red parts are non meshed with the shape property set, blue parts are blocked shaped parts with special meshes to emulate their respective shapes.

I don’t think this would cause too many problems if it were to happen. From a building standpoint everybody ever used cylinder meshes because they made more sense from a part size perspective and anybody using a mesh to get a cylinder shape probably used it with a part with the same X and Y anyways (gotta keep that hitbox tight). If it exists, it’s a very very small minority that would have a negative effect from this.

The builder in me would jump with joy if this ever made it’s way into production. Being able to build with oval shaped cylinders would finally put an end to sooo many workarounds.

20 Likes

Ellipsoid/stretched sphere physics would be pretty cool

1 Like

What’s the current workaround to get that blue cylinder to stretch? Just setting the z axis in scale also stretches the x axis so it stays circular (bad).

What I can think of:

  • recreating a union every time
  • using a specialmesh to break the x/z scale ratio lock, but using a gross non-perfect tin can mesh

Take into account places which already have cylinder mesh parts at “bad” sizes - this sort of update might damage reverse compatibility.

It would also break minimappers that already take this exact formula into account :slight_smile:

This is just one of those things Roblox will be stuck with FOREVER

1 Like

Would you propose a separate new mesh called “StretchyCylinder”? Or “FreeformCylinder”

Can confirm – I’ve worked with other peoples’ builds before where the cylinders weren’t the same size on each axis (by a lot – as in, 4 studs on one axis and 2 studs on the other). It would be better to add an Ellipse SpecialMesh MeshType to preserve backwards compatibility.

Normally I’m all for preserving backwards compatibility, but in this case I say let 'em burn. This update wouldn’t change the hitboxes, so it wouldn’t affect any actual gameplay, and giving a cylinder-meshed-part unequal x and z dimensions is a stupid thing to do and should be discouraged.

So, you want to improve aesthetics in games with being able to use non-uniform cylinders, but screw all the other games’ aesthetics that use cylinders that aren’t the same size on the X/Z axes? That’s pretty silly, especially when there’s a good way to implement non-uniform cylinders but retain backwards compatibility. SpecialMesh.MeshType.Ellipse is all you need.

To put into a perspective how often I see other people use cylinders that aren’t the same size on each axis, I wrote a plugin to convert cylinders to a uniform size. Their main use is scaling one axis to a really large size, and then using CmdUtl’s ResizeCenter, the other axis can be scaled by size 0 (eyballing it) to get the size you want for the cylinder. Technically at the end you’re supposed to scale the other axis back down, but a lot of people don’t bother.

Why are people using non-uniform cylinder sizes? Is there a real reason?

3 Likes

It’s difficult to get cylinder sizes just right because when you’re scaling one axis and want to make the cylinder larger than the other axis, it clamps and you can’t make it any bigger. You could continually fiddle with both axes, switching between them constantly to get the size you need, or you can just make one axis really big and then scale the other one freely.

1 Like

@allthebackwardscompatabilityworries

As mentioned in the OP, the majority of people who built with cylinders used cylindermesh objects anyways. What I’m proposing is that the cylinder special mesh type be changed to allow for oval shaped cylinders. Default cylindermesh objects wouldn’t be touched, just their special mesh counterpart.

I really don’t think there is a big enough minority that used special meshes with the mesh type set to cylinder to worry about it destroying a hand full places because the builder didn’t size the part uniformly.

1 Like

Why? Why are you insisting on something that will mess with even one person’s build when there is a entirely backwards-compatible implementation available (creating a new SpecialMesh MeshType)? There is absolutely no good reason to intentionally mess with existing games’ builds when the feature can easily be made backwards-compatible.

Admins have, in the past, been reluctant to add more things, like enums or properties. It seems to me WBH’s suggestion is in line with that.

1 Like

This would mess with my game quite a bit, if this is happening any time I’d like a notice beforehand.