Start making 3d model assets on the asset store to scale, please.

I mean, I think it would do every body a favor, asset developers included, if 1m meant 1m, and 1km meant 1km.

I dont know how it would be enforced, but I think it would greatly help all development and fun. Download death star, compare to brontsauraus.

…Just change the scale when you make your prefab.

1 Like

I generally agree… BUT.

By default, tools like Blender and Speedtree and Spine are “dimensionless,” and you have to decide how big 1 unit should be. (Speedtree shows a human silhouette and samples match 1 unit = 1 foot but that’s just a suggestion.)

Given that floating point precision works best when the numbers are closer to 1.0 than 1 billion or 1 billionth, it’s important to select a design scale that is not too outrageously large or small in the tool. Then you can use a scale factor to align with your scene.

If you’re using European assets for VR, 1 unit = 1 meter may be easy. But ancient Japan worked on Shaku, America works on Feet, and so on, so it can be easier to find references that work in those units.

Last time I sent something to the asset store, they did enforce this. Or at least, it was one of the necessary parameters you had to meet.

1 Like

It is doubtful any ancient Japanese are creating Unity assets, and Americans routinely use “yards” which are similar in length to a meter.

Japan now works on meters. And #$&%! Americans, they have had 200 years to get onto the metric system. Its not our fault their country is so backwards.

Unity specifies that 1 unit = 1 metre. That’s what the asset store should be working to.

Better off to use the Scale Factor in the model import settings. Non uniform scaling on transforms just makes everything harder.

4 Likes

Generally I would agree, 1u == 1m. However in some cases, like overly large objects that won’t be used 1:1 or super stylized objects (like drop objects like coins or power ups, they should be relative to how they would be used). For example in the OP they mentioned The Death Star™. That would be impractical to have it be 1:1, as it would have a diameter of 160000u which is almost useless due to floating point precision limitations. And it is unlikely that you would ever use a model of something that big at 1:1 scale, it would either be a background display element or used for something smaller like a scanner or in game display. If you were to actually interact with something that large at scale, it would broken into many, many smaller parts/scenes. So common sense in intended application is the best bet there.

Or if you had assets for a game where you are playing as insects or something very tiny, you might adjust the scale for the context of the world.

2 Likes

Heh, I noticed after I wrote it, my asset was to scale. I think it might be a requirement, would make sense. (besides planets and star destroyers)

It is impossible to know what type of game would someone make. Maybe someone would use regular human as giant. Or tiny little “ant man” :). Possibilities are limitless, and like Murgilod said, it is supper easy to simply scale the character when you make prefab to match your requirements.

But you should always start with regular human and work from there. Regular human is the most obvious scale to use.

I believe Unity guidelines are to use real world scale and unity cube = 1m. This is just my memory though so could be wrong. But this also feels like common sense to me.