#Table-scale game. Should I use real-size vs 10x-100x scale
1 messages · Page 1 of 1 (latest)
First thing that comes to mind is physics. The physics engine is tuned such that 1 world unit == 1 meter.
So lets consider two cases:
- 100m cube with a camera that is very far away
- 1mm cube with a close up camera.
If the camera is positioned such that both cubes look the same size on screen, the 100m cube will appear to fall much more slowly, because the gravity is constant.
Conversely, the very small objects in your game may appear to move very quickly.
I'd also think about defaults for other things too. For example, if you wanted to use you teeny tiny models in the game a 1x scale, then you'd very likely need to tweak you camera near clipping planes.
I've had a similar concern for importing lego models. The popular Ldraw format uses units that translate to extremely large meshes. A standard lego 2x4 brick is 100m long. So when I import the Ldraw mesh data, scale all the coordinates down to 0.01. This results in lego minifures that are about 1m tall in game. Works really nicely.
However if you were making something like tabletop simulator, you might prefer to keep your resources at 1x scale, or it might really wonky.
Of course the long-winded paragraph I just wrote is pointless if you're not using physics. 😅
Yep, I think about using physics.
Along with cameras near clipping planes I found an issue that float values in the editor are rounded to 0.001, so it may be hard to align small objects even with 10x scale.
I think I will commit for 100x here
You can adjust the float step in the editor settings
I think a 1:1 scale would make things easier to make, but that's just me
Good luck! Consider doing some physics experiments before committing. Everything else is a manually adjustable, but you probably don't want to pop the hood on the physics engine.
Yes, I think I can find settings and workarounds for some of the issues, but I'm afraid I will miss some or there would be physics bugs because no one is using such small numbers. I.e. Unreal Engine lighting system has issues with objects under 5-2cm, that isn't really can be fully fixed atm
Well, by default RigidBody with dimensions of 0.05 is already enough to break physics.
Also found this doc, which have something on topic:
https://docs.godotengine.org/en/stable/tutorials/physics/large_world_coordinates.html
Why use large world coordinates?: In Godot, physics simulation and rendering both rely on floating-point numbers. However, in computing, floating-point numbers have limited precision and range. Thi...