Importing large obj file with useless collision results

I’ve made several terrains in a 3D program and exported as obj format to Studio. With my low poly terrain I’m able to blow away the built in terrain for performance. This is because some of my terrains are like 50 faces.

Now on to the 2 year long issue… the collision is completely unacceptable and that means my files are useless. The characters walk 10 feet above the surface. The parts where there are hills or inclines are even worse. On a hill the collision is on another planet.

I’m really hoping someone has found a solution for this! It’s been a long long time this has been going on. These are dead simple files with no other issues. Simple faces, even 1000 studs tall, should not cause this issue. I can’t think of a single piece of software besides Studio that operates like this. Perhaps I’m making a mistake on my part?

3 Likes

Hi, i had a similar problem 2 years ago. Original post: here
Here’s how i got around it.

You are likely doing nothing wrong it’s just that roblox has never handled mesh or CSG collisions very well. This is especially the case with meshes which include concave shapes as Roblox uses Approximate Convex Decomposition (for CSGs and MeshParts), meaning that every shape will use only convex chunks. The decomposition will always cover areas where it is unwanted in concave shapes as shown below.
Capture2
With your terrain the best solution will be to:

  1. first upload it as one and turn on decomposition geometry which makes each area of decomposition a different colour like in the image above.

To better understand how Roblox handles collisions with meshparts and unions, turn on ShowDecompositionGeometry in file → Settings → Physics

  1. Identify these problem areas and split your terrain mesh over these same areas in blender or whichever equivalent software you are using so that there less concave shapes to disrupt your collision geometry. (In blender the hotkey to separate a mesh is P) Save these segments as individual meshes.
  2. Use the multiple meshpart importing tool to import the separated versions of your original mesh. This can be found at View > Game Explorer > Import and then find the meshes in your file location.
    image
  3. When this message comes up do not resize the meshes as it will likely offset them from each other.
    image
    It’s good that they implemented this feature as beforehand i had to upload each mesh segment individually. Good luck :slightly_smiling_face:
3 Likes

Or just… Turn the collisions of the mesh off and use a mesh-to-part converter plugin to make the actual collision layout out of invisible parts.

It’s not ideal, but it’s better than having a ton of unique massive meshparts as terrain.

1 Like

Nice, could i get the link for that plugin your inventory is hidden.

Thank you both for your excellent responses. I was suspicious these would be the 2 options available today. I use this plugin to do that. I’m hoping Aotrou will show us a better one (more up to date).

That plugin requires using additional commands here to work 100%. (at least for certain advanced operations I do after conversion/import)

Here’s a library created by Weeve / Section2B that I use.

It’s pretty straightforward. Instructions are in the Obj Loading Template script.

2 Likes

I’ve got a request thread for fixing this here:

Feel free to add your gripes with the current system, the more people voice how abysmal the default collisions are the more likely something will get done to improve it.

2 Likes

Everyone had good ideas and I’ll be using them until the problem is fixed. TwentyTwoPilots for the solve because ideally Roblox will fix the issue. I am “new” and unable to post my issue in that thread. I did “like” it though. Thank you!

Unfortunately, I lack membership permissions to respond to that post directly. However, I face similar issue.

Here’s my response to both the OP and your post. Mesh hitboxes still off? - #14 by sanjay2003

I hope that your feature request gets bumped to better help modelers create true models and not be limited by hit-boxes are are ambiguous and incorrect (at best).

1 Like