what scale to use?

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
ibrown
Gremlin
Posts: 164
Joined: Wed Aug 18, 2004 6:41 pm
Location: London
Contact:

what scale to use?

Post by ibrown »

I don't know if this is the right forum, but it seems like the closest one.
My question is what scale to use for the scene I am designing in blender.
By scale, I mean how big should the main character be in .mesh units etc.

If I look at the 9th life models, they use a scale whereby the main character is about 1 or maybe 2 units high and so all the vertex points are in the range of about -1 to +1. Looking at some of the other models from other sources though, the character models seem to be about 100 units in height.

What is the best scale to choose, and what are the tradeoffs?
I would expect there to be some generic standards so that a model designed for one game can easily be used in another without having to rescale it in the modeller.


Ian
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Post by :wumpus: »

There is no single "best" standard, you can use meters, kilometres, inches, lightyears, anything as your unit really. As long as the numbers don't get too big or too small for floating point precision (stay away from numbers above the millions)
Cor
Kobold
Posts: 28
Joined: Wed Jul 27, 2005 8:24 am

Some average measurements in metric system

Post by Cor »

Here's a little comparison chart I've made when researching the scale system for one of my projects.

Code: Select all

__1_Meter_______________________________________________1.00m__________100.00cm________________1,000.00cm
_10_Meter______________________________________________10.00m________1,000.00cm_______________10,000.00cm
100_Meter_____________________________________________100.00m_______10,000.00cm______________100,000.00cm
__1_Kilometer_______________________________________1,000.00m______100,000.00cm____________1,000,000.00cm


9mm__Bullet_(Diameter)_________________________________0.009m_____________0.90cm___________________9.00mm
22mm_Bullet_(Diameter)_________________________________0.022m_____________2.20cm__________________22.00mm
Humanoid_(Height)_______________________________________1.70m___________170.00cm_______________1,700.00mm
Pzkw_VI_Ausf._E_-_Tiger_I_(Length)______________________6.30m___________630.00cm_______________6,300.00mm
House_(Width)___________________________________________8.00m___________800.00cm_______________8,000.00mm
Sqrt_of_a_surface_of_a_village_in_Holland_____________155.00m________15,500.00cm_____________155,000.00mm
Sqrt_of_a_surface_of_a_village_in_Holland___________5,400.00m_______540,000.00cm___________5,400,000.00mm
Sqrt_of_a_surface_of_a_province_in_Holland______2,396,000.00m___239,600,000.00cm_______2,396,000,000.00mm

It should be clear that using millimeters for your x/y/z-values is absolutely out of the question (depending on project / scene type though). Man could doubt over centimeters or meters. Personally, I prefer centimeters, but once again, it really depends on the project / scene type.

If you'd be using centimeters for your x/y/z-values the following code would translate your human 60cm into a direction - a typical human step.

Code: Select all

SceneNode* ndHuman = ......;
ndHuman->translate(Vector3(0.0f, 60.0f, 0.0f));
If you'd be using meters for your x/y/z-values the following code would translate your human 60cm into a direction - a typical human step.

Code: Select all

SceneNode* ndHuman = ......;
ndHuman->translate(Vector3(0.0f, 0.6f, 0.0f));
If you'd be using millimeters for your x/y/z-values the following code would translate your human 60cm into a direction - a typical human step.

Code: Select all

SceneNode* ndHuman = ......;
ndHuman->translate(Vector3(0.0f, 600.0f, 0.0f));
ibrown
Gremlin
Posts: 164
Joined: Wed Aug 18, 2004 6:41 pm
Location: London
Contact:

Post by ibrown »

I've also since read that blender is limited to +/- 1000 units along any axis. This doesn't seem to be a problem in the latest version though (2.37), so maybe it is no longer relevent. Still based on this, I have been choosing scales so that my world axes all lie within +/- 1000
Post Reply