Home Unity

Scaling issues in Unity

polygon
Offline / Send Message
Krato polygon

I've been having this issue between blender and Unity. I think the disconnect is in Unity. Perhaps someone can shed some light on this little problem.

I set up blender to work in metric and I created a reference in blender to be 1.8m (6ft) tall. In blender it appears as shown below. It's dimensions and scale are all correct as far as I'm aware.

Perspective


Orthographic

However, in unity (assuming the scale is 1 unit = 1 meter as I keep reading online) ethan, the standard asset fella, originally came out at 1 unit scale. Ok, he is small at 1 unit scale, lets bring him up to 1.8 so he is the same as in blender. As the picture below shows, he is a bit larger than his Blender reference. I'm not sure where the inconsistency is coming in here.

image.png1526x663 583 KB

Ethan at 1 scale (which i assume is 1 meter tall)

Replies

  • Krato
    Offline / Send Message
    Krato polygon
    I exported the Ethan.fbx into blender and set it up. Each grid box is .5 of a meter. The reference is 1.8m (6ft) tall. Ethan looks as if he is about 1.6m (5'2"ft) tall. So pretty short.


    Doing the inverse, I brought my blender reference into unity and then made a Unity game object - cube, scaled it up to 1.8 units tall. It's perfectly equal to the reference I made. Ethan at 1.8 units is huge again. So now I am thinking the Unity scale #s are arbitrary. I read online that Unity's physics and other information are bound to meters, is Ethan just some wonky size? Is there a way I can actually measure him? If the Unity devs made this character (he is a standard asset) wouldnt he be more accurate to the engines scale and whatever subsequent physics the engine has? 


  • YannickStoot
    Offline / Send Message
    YannickStoot polycounter lvl 3
    Try to dissect the problem. I had issues around Unity and scale within 3Ds Max too one day but you just have to test a few things. In 3Ds max for instance your object's metrics can get fucked up. So to fix that you need to put an Xform modifier on your models before bringing them to Unity.

    Now about your problem. When correctly importing your models to Unity you should not have to rescale them to get them to the correct size. So if the object is not in the true size then there might be a problem with the scale/export of the scale.
    What I actually think is going wrong is that your model gets rescaled on export. Check if your export metric settings are correct.
  • Krato
    Offline / Send Message
    Krato polygon
    I wonder if im making a mountain out of a mole hill here... :/

    @YannickStoot, ill take a look at those export settings

    edit: the scale is set to 1.00, so I dont think it's modifying anything. My imported scale references from blender (the white block next to the white unity rectangle) matched up 1 to 1 with each other. I wonder if 'ethan' wasn't intended to be 6ft.. hmm
  • WiktorWasowski
    Offline / Send Message
    WiktorWasowski polycounter lvl 3
    You just confused scale with dimensions in Unity. The fact that Ethan's scale is set to 1, 1, 1 doesn't mean that he's 1m tall and making him have a scale of 1.8 definitely doesn't make him 1.8m tall. He would then be 1.8 * 1.6m (as you measured him in a 3D app), which makes almost 3 meters. The scale is just a multiplier for the model's original dimensions. Also, Unity scale is not arbitrary and 1 unit in Blender or any other 3D software should be exactly 1 unit in Unity (1 meter) if no import settings are messed up. You did the right thing putting down a Unity cube for reference and scaling it to 1.8, because this cube as a model is actually 1m tall, so scaling it by 1.8 makes it indeed a 1.8m tall object. That being said, it looks like everything is fine with your scene - you just confused yourself by Ethan's dimensions - he's definitely way too short to be a reference. Maybe use Robot Kyle (also a rigged humanoid character). I believe he has a more natural scale. You can also just scale Ethan manually until he reaches 1.8m (the height of your cube). If he's just a reference character than there is nothing wrong with scaling him up a bit in Unity.
  • HAWK12HT
    Offline / Send Message
    HAWK12HT polycounter lvl 13
    Hey @krato hope this helps. In short I never use 2m height as is in 3ds Max I times it by 100 which 200m and when I export in Unity I set file scale to .01 and it works. Alternatively you can use the method shown in picture below works too saving you few seconds by not manually setting scale of every mesh in Unity to .01. 
    Also dont forget to reset Xform, not sure if blender has something like that. 
Sign In or Register to comment.