This is really starting to bug me . for example, made a small town, unit scale set to 1 and units to metres, works fine.
so in my other scene I have a character 185 cm tall , unit scale set to 0.01 character is still 185 cm( according to the measurement tool), but when i append it to the town it's flipping enormous, like he is a giant actually invading the town :0
I do not want to scale amy armature and mesh at the end as it fucks up the sub surface scattering
In reality If I set the character unit scale to 1 , but still use cm, then its true size is not 185 cm, it's like 1,850 cm
so if I use metres for characters and set the scene unit scale to 1 then i have problems with settings for shaders, hair etc, lights
I want to use an actual size for stuff, not changing uinit scale so it 'appears' to be correct size when using the ruler or edge length
surely it woud be better to always use a unit scale of 1 ? totally confused here
it seems as though the best thing to do would be to append any character mesh to a scene with a default cube , scene set to metres and unit scale of 1.
if my character fits within that cube then it's more or less the right size?
Replies
If so then you'll need to scale one or the other by a factor of 100x and then set your camera clip accordingly.
Create a new scene with the default cube and set the world scale to 0.01 save and close it.
Create a new scene and leave the units at 1.0, link the cube object (not mesh) from the 0.01 scene and you'll see how it basically just adopts the scale of the new scene. They'll both be the same size while the scale is at 1,1,1 on each of them. Our 0.01 scene box was 1cm, but now in our new scene it's 1m.
This seems to be unavoidable, but it is predictable. If your units are 0.01 in the first scene, and 1.00 in the second, then you should just be able to scale by the inverse amount to get the original size.
As a workaround, you can throw an Empty with a 0.01x scale into the scene and parent your character's armature, mesh, and hair underneath it. Underneath this empty, all of your transforms should behave as they normally would in your source scene. There's going to be a big mismatch here though, when animating your character walking around the city they'll have to move 100x as fast as a correctly scaled model because in their host world they're only 1.85cm tall now (while having the physical appearance of being 1.85m). This could have knock on effects in physics, and other motion activities.
You're better off getting these scenes to work at the same scene scale in the long run. I don't think it should be too challenging and it saves having to work with any potential issues in the future. I'd recommend getting the character scale back to Blender's defaults to be honest just to be on the safer side but either way works.
If your character has too much complicated physics, rigging or hair going on then I'd recommend looking at alembic as a possibility instead but that's outside of my area of knowledge.