I would just like to sanity check my workings and document my findings for any other fellow sufferers, if I have made an error, please let me know.
I see that the physics system uses a scale of 1 m = 3.571428571 studs, giving 1 stud = 0.28 m.
If I import an FBX model the dimensions are scaled as 0.01 model units = 1 stud (assuming I use the default File Geometry scale of Stud). I was expecting 1 : 1, and I notice I do get a 1 : 1 if I export the model as a Wavefront OBJ . This appears to be due to how blender manages scale in FBX files (objects are scaled at x100 under a x0.01 root node and the root node scale is lost), this is a known issue ( Blender Issue ).
If I import as an OBJ with Scale unit = Meter then a 1 x 1 x 1 cube arrives as 20 x 20 x 20 studs, the same 1 m = 20 studs is also applied to an FBX, but with the additional x100 scale as mentioned above. I was expecting this to 3.571428571 studs. I believe this is a bug in Roblox import. This same issue continues for the other SI units.
If I import as an OBJ with Scale unit = foot, then a 1 x 1 x 1 cube arrives as 6.1 x 6.1 x 6.1 studs, at which point I realised that either the Import 3D scale system is broken or I have completely misunderstood it.
I’m currently manually scaling my FBX files with x0.04 which converts my 1 m models into 0.25 m stud approximations which allows me to make simple modular components that work well on the stud snap system or 0.03571 for true scale, but the whole thing feels very awkward.
Does anyone have a better strategy? I’m not sure if I am psychologically ready to switch my modelling units of distance to studs…