Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Doesn't work in Unity 2020.1.41f
#11
No worries, just let me know if you hit any other issue anytime. Also, I can take a look at the mesh you're trying to use and help you get it up and running.

cheers,
Reply
#12
(14-09-2020, 01:32 PM)josemendez Wrote: No worries, just let me know if you hit any other issue anytime. Also, I can take a look at the mesh you're trying to use and help you get it up and running.

cheers,
I can hopefully load it up later today when I am back from the office.
Reply
#13
It says I cannot attach .FBX-files, but I loaded up the .FBX used for testing here:

http://quakeulf.suxos.org/3d/cahhh.fbx
Reply
#14
(14-09-2020, 03:59 PM)quakeulf Wrote: It says I cannot attach .FBX-files, but I loaded up the .FBX used for testing here:

http://quakeulf.suxos.org/3d/cahhh.fbx

Your car mesh is really small, only a centimeter or so in size. Comparison with a 1.80m tall character in Unity:

[Image: Y08ZefJ.png]

Assuming this is a toy car -think hotwheels/micromachine- and not a full-size car (in that case you'd need to adjust your modeling units or change the FBX import scale) you will have to adjust the default parameters of the blueprint to work at such a small scale. These are the ones that gave best results for me:

[Image: XZyCeVS.png]


Since the car is composed of many different meshes (body, windows, wheels, steering wheel, etc), best approach would be to use a single mesh to generate the softbody then skin everything to it. For this you can use the car body, or a mesh authored specifically to generate a softbody out of it.

After generating the blueprint, you will need to create a SkinnedMeshRenderer for all pieces in your car, add a ObiSoftbodySkinner to them, and then bind them to the softbody. Still, it is very possible that you will run into floating point precision issues at this scale. The distance between vertices in your mesh is really small, sometimes much less than a millimeter. Particle radius with the parameters above is only 2 mm, but if I tried to use smaller particles, some of them would be extremely close together and could cause precision issues in the simulation.

My advice would be to simulate at a higher scale, at least a few centimeters in size.

Edit: here's the results from the above. I only bound the car body, left the wheels/window panes etc unbound. Also reduced solver gravity to about -6 m/s2 to be able to see the car falling, as being so small it's quite difficult to focus the camera on it when it moves:

Reply
#15
Oops, the size is 100 times smaller if "Convert Units" in the import is selected. I tend to turn off as many of those options as possible as they can create issues and/or are not relevant for my use.

I am going to use this for parametrically generated meshes, so the end result will be entirely internally in Unity. However for now some imported meshes like cars might be used. A meshcombiner is already present for LOD and such and can be reappropriated for this as well since it's the same mesh being generated. I guess I will have to look more into the API for this because this project will have almost no inspector editing with prefab libraries.

Thank you again for helping out, I will have a test in more detail next week hopefully, or as soon as I can get some time if earlier.
Reply