03-12-2019, 05:10 PM
(This post was last modified: 03-12-2019, 05:18 PM by josemendez.)
(03-12-2019, 04:57 PM)witchthewicked Wrote: Correct. I have to use model scale 0.1 on import because I feel like in blender it's way too tiny to work in if I have it scale to 10x down.
So all transforms have a scale of 1? Scaling the mesh "on import" is not the same as setting the transform's scale, so it's not entirely clear to me how you're managing scaling. When dealing with physics (in any engine, not just Obi), using correct sizes and scale is of utmost importance, so you want to be very careful.
When you import a mesh into Unity, you can set the "Scale factor" in the import settings to scale the mesh up or down with respect to the size it was exported at. This is the actual size of your mesh, the one you'll get if you render your mesh with a transform scale of 1,1,1.
Now, the transform scale will be applied "on top" of the scale factor, scaling the rendered mesh. The mesh vertices themselves are not affected -your mesh still has the same physical size- , you just see them rendered bigger or smaller. This means you can render the same mesh 2, 3, 100.000 times with different transforms at different scales, but the mesh is still the same.
If you export your assets from blender with a transform scale value, this will also transfer over to Unity. So if using Blender, use Object->Apply->Scale before exporting. You'll notice the object still has the same size in Blender's viewport, but the scale values have reverted from whatever they were to 1,1,1. This is because applying the scale "bakes" the transform scale into the mesh vertices. This "apply" operation is very common and most 3D modeling packages have it.
Ideally, if you used actual units (cm, meters, etc) when modeling, and keep units consistent between Blender and Unity, you'd be done here. If not caring about units, you can change the "Scale factor" in Unity when importing the mesh to adjust its size. This will ensure the mesh has the appropriate size, and the transform scale is 1,1,1.
My advice is to always use real-world units when modeling, and keep them consistent troughout your asset pipeline. This will save you a lot of headaches, and ensure things behave the same way they look.