1
$\begingroup$

I made the following model in MakeHuman: a man wearing a hat and some clothes:

https://github.com/hotmeatballsoup/blender-repo

When I exported him as an OBJ file, and then import that OBJ in Blender, he is huge (way, way bigger than the default grid):

imported OBJ

Ultimately I plan on saving him as a blend and then using that .blend file in a game (that uses an engine which natively support Blender assets). But I'm a little confused about how size/scaling works in Blender.

This is a man of reasonable height, so say for the sake of the argument, he's 6 feet tall. In my game I need him to look like he's this height, and to appear neither tiny (Ant Man size), nor huge/giant-sized. However, in the game, perhaps the player does something that makes him either grow to be 50ft tall, or shrink to only be a few inches tall. Clearly, models have to maintain some kind of "display scale" or size metrics, so that the program displaying/rendering them can present them at the correct perceived size, relative to the viewpoint/camera.

Why did Blender import my OBJ file with the model being so big (or is this just me not understanding/interpreting what I'm seeing correctly)? What can I do to "fix" this model - in OBJ format, but from inside Blender - so that he is the "correct" size (again, this could be tiny/several inches, normal/6ft or gigantic/50ft, depending on what's happening in the game)? And how do I make sure that when I convert the OBJ to a .blend file these size corrections are maintained?

$\endgroup$
2
$\begingroup$

It's likely that there's a unit discrepancy between your MakeHuman export and Blender's default units, which are effectively metric (1BU = 1 meter). OBJ is just a container for sets numbers representing properties of the model, and Blender slots those in at face value unless you tell it otherwise.

If your model is exported at a height value of 184.30 cm in MakeHuman, Blender is going to input "184.3" into the model's Y dimension property, effectively making it 184.3 Blender Units (meters) tall.

To correct this on MakeHuman export, you can select "meter" in the Scale Units panel on the righthand side of the frame:

enter image description here

If you can't re-export the model, in the Scene panel, you can change Blender's scene scale units to centimeters (or whatever unit you exported in) before importing model to Blender:

enter image description here

Last, if you do not want to re-export or re-import, you can simply do a uniform scale on the model until it reaches the desired dimensions in the unit that you've picked for your scene.

$\endgroup$
  • 1
    $\begingroup$ Awesome, straight-forward explanation that covered all my concerns. Thanks @Deke (and +1)! $\endgroup$ – smeeb Feb 11 '17 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.