Plenty of 3D games in the past several years have in game meters/kilometers or other real world distance measurements. For lack of a better term, are they accurate? Consistent between games? How do you set what a meter even is in a virtual world?
They're accurate... kind of. Units of measure within 3D game worlds are actually arbitrary. We can choose to make one unit be a kilometer, a meter, an inch, or even something more relative, like one character height/width. As long as we remain consistent with our assets and environments in terms of relative size, things will look ok. If we can't remain consistent, things break.
Let's say, for example, that character modeler Neelo builds a character model where one unit is set to one inch. This means that a six-foot-tall person would be 72 units tall and maximum width and depth of roughly the same. Neelo's finished character would comfortably fit within a 72 x 72 x 72 unit cube.
Now imagine that the environment artist Desmal misread the memo and creates the fighting arena using one unit set to one foot, rather than one inch. The fighting arena is 100 feet wide, 20 feet deep, and 20 feet tall because that's what the lead designer wants the arenas to be. Thus, Desmal's finished fighting arena would fit within a 100 x 20 x 20 unit block.
What happens if we put Neelo's character into Desmal's arena? Well, Neelo's character is over 3x the height of the arena and almost as wide, so we'd probably see Neelo's feet and lower legs in the arena, and not much else. In order for things like relative size to work, we need to make sure they're built with the same consistent unit size in mind. We can scale Neelo's character down or we can scale Desmal's arena up (or they can meet halfway), but we need to establish some kind of consistent scale or nothing will work.
One benefit to having this consistent unit size is that we can extrapolate out relative sizes. If we establish that our protagonist is 180 cm tall, it means that 1 kilometer (100,000 cm) within the virtual world is the equivalent of (100,000 / 180) = 555.555 protagonist heights. As long as everything works out in terms of relative size, the virtual world feels like sizes of in-game things map to the real world.
PS. It's actually quite rare for different games to use the exact same scale for their assets! This is one of the major problems with the NiFTy enthusiast talking point about taking an item or skin or whatever from one game and bringing it into another. On the last game I worked on, one unit was one meter. On the current game I'm working on, one unit is one inch. Bringing assets from the other game over to my current game would mean they would be tiny in comparison!
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ