Terrain Scale and Unit size

I have a basic terrain in C3D and was wondering what works best for Unity. My understanding is that a unit length of 1 in C3D is about the same as a unit length of 1 in Unity (~1 meter). Is it best to:

a. Make the terrain scale small in C3D, say 10, then scale the non-terrain models down in Unity, say by a scaling factor like .001?

OR

b. Make the terrain scale in C3D really big, say 10000, and leave all the non-terrain models around scale size of 1?

OR

c. Use another technique/combination?

The terrain really represents maybe 100 miles x 100 miles.

I think you just need to find what the ratio is in your 3D app. In Maya a grid spacing of 5 (the default) equals 1 meter in Unity.

[Edit] miles are for Americans who still think the King’s thumb equals one inch :wink: But it sounds like you’re making a big environment. My practice is to scale the environment into a scale that is “close” to reality but tweaked to your advantage. A good example of this is the first Tony Hawk game. The environment of that game is blown way out of proportion to compensate for the speed and jumping capability of the player (the environment was scaled up quite a bit). If you’re using physics it’s really important to keep everything in perspective though. Remember, gravity acceleration is a constant regardless of size and if everything is scaled too big the physics look like they’re in slow motion.

You can, of course, change your gravity constant in Edit → Project Settings → Physics.

i can’t find it but i seem to remember somebody saying that if you have the option, scale your items correctly in your 3d app as changing the scale in unity incurs a small performance hit.

is this correct or am i remembering this wrong?

Let me see if I understand what you are saying. If I am going to use physics, then try to set up the models and terrain in my 3D package close to their “real” size. If I am not going to be using physics then I can set them up to any size, so I can be at the microscopic level as far as the physics engine would be concerned, but to the player it would look like the “real” size.

Am I understanding what you are saying?

I think everything should be created at its “real” size, just in case. I can’t think of any advantages to doing it another way.

–Eric

If you’re using physics and you want realistic behavior, then you should always model you objects at their real-life size. If you’re working with objects that are all very large (like a spaceship game) then you can model everything smaller. The important thing is that everything has to be relative.

This page might help out some:
http://unity3d.com/Documentation/Components/class-Rigidbody.html

Read the “Use the Right Size” section