so when I create a wall and give it same size of x:2 y:1 z:2 it actually a lot smaller than the ground and to make it same size I need (like in the tut) to give it a values of x:0.5 y:2 z:20.5
why whats the reason for that? why the ground z:2 is = wall z:20.5?
The reason why the walls are much smaller than the ground although they have the same transform.scale properties are because flat planes are naturally larger than cubes.
If you spawn a cube and a plane and reset their transform, you will immediately see the difference.
A cube is about 1meter/UnityUnits large if one 1:1:1 Scaling while a flat plane is about 10.5 Meters/UnityUnits long on 1:1:1 Scaling.
This. Scale is a multiplier. You’re multiplying the base size of the object.
It’s operated by volunteers. Once you’ve gotten a little bit of karma (I believe it’s 15) you’ll no longer have to wait for mods to approve your posts there.
In all honesty, when making a full game, you’re not going to be using Unity’s primitives, so this won’t be an issue. You’ll import your models from a 3D modeling program like Blender, Maya, or 3DSMax.
My guess as to the reasoning for a plane being 10x10 Unity units instead of 1x1 is that it’s primary use is as a placeholder ground for testing character controllers, shadow-casting, and whatnot. 1x1 is useless as far as that goes, but a 10x10 plane is often enough to get the idea. Having the default size be 10x10 is a matter of convenience for the most common use of the plane primitive type.
That said, it’s also quite possible that when Unity was first released nearly 10 years ago, it was just randomly decided to have a plane be larger than a cube. And as the years went on, it never got changed, to the point that adjusting it at this point would be more of a detriment (breaking people’s existing projects) outweighing any benefit having a plane be 1x1 would provide.
@Schneider21 Hi a little question when you make fps with simple flat ground like doom or counter strike, you still getting the “rooms” from 3d program or in that case you use Unity’s primitives?
I made an asset for building space ships called Modular Space Freighter. It uses tileable pieces that fit together in a grid-based layout. Screenshot incoming:
I would probably do the exact same thing for the level geometry in an FPS, too (obviously with only the inward-facing geometry).
One thing about primitives you may not be thinking about yet is UV mapping. On Unity primitives, each face is mapped 1:1 to the full size of a texture. That may be fine for a floor (plane), but it’s probably not what you want on even a simple object like a wooden crate (cube), where the top texture should probably look different than the sides.
If you’re just whiteboxing something out to make a prototype, using primitives is totally fine (and preferable!), so you really don’t have to worry about learning another new skill set just yet!