# Units in Three.js

**URL:** <https://discourse.threejs.org/t/units-in-three-js/1174>\
**Category:** Questions\
**Tags:** coordinate-system, units\
**Created:** [November 9, 2017, 12:44pm UTC](https://discourse.threejs.org/t/units-in-three-js/1174 "2017-11-09T12:44:02Z")\
**Posts on this page:** 4\
**Page:** 3

<div class="post-metadata">

**Author:** ![Fyrestar](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/fyrestar/32/52793_2.png) [@Fyrestar](https://discourse.threejs.org/u/Fyrestar)\
**Post date:** [October 18, 2020, 10:10am UTC](https://discourse.threejs.org/t/units-in-three-js/1174/41 "2020-10-18T10:10:56Z")

</div>

I came across this thread again when looking what ammo works by default with.

Have you considered precision issues for mobile devices? On many 1 is not enough running out of precision, animations getting distorted massively not far from the origin. What worked best so far is 1 unit = 1 centimeter.

There are many conditions you run out of precision distant from the origin, while it doesn’t happen with larger scales even if that means the distance is larger. However as i mentioned i use a coordinate system for infinite space so on GPU the numbers stay always reasonable, but for regular scenes it works well without.

---

<div class="post-metadata">

**Author:** ![looeee](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/looeee/32/59_2.png) [@looeee](https://discourse.threejs.org/u/looeee)\
**Post date:** [October 19, 2020, 2:10am UTC](https://discourse.threejs.org/t/units-in-three-js/1174/42 "2020-10-19T02:10:27Z")

</div>

> [@Fyrestar](#):
>
> What worked best so far is 1 unit = 1 centimeter.

I think you’ll lose physically accurate lighting. Otherwise there are no problems that I know of with doing that.

---

<div class="post-metadata">

**Author:** ![Fyrestar](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/fyrestar/32/52793_2.png) [@Fyrestar](https://discourse.threejs.org/u/Fyrestar)\
**Post date:** [October 19, 2020, 8:42am UTC](https://discourse.threejs.org/t/units-in-three-js/1174/43 "2020-10-19T08:42:32Z")

</div>

I think it would be good if THREE would have a option on the render for world scale to consider such cases, as for the web and low precision cases with mobile devices this can really become an issue.

In my case it doesn’t matter as i use a custom deferred lights pipeline. For “small” scenes with a 1u:1m it should be a nonissue, but i think it was on a iPad animations only worked within a relatively short range till they started jittering to completely distort with limbs moving miles apart ^^

Some industry software uses 1u:1c too which in my case is Cinema 4D.

---

<div class="post-metadata">

**Author:** ![trusktr](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/trusktr/32/13726_2.png) [@trusktr](https://discourse.threejs.org/u/trusktr)\
**Post date:** [November 5, 2020, 8:36pm UTC](https://discourse.threejs.org/t/units-in-three-js/1174/44 "2020-11-05T20:36:49Z")

</div>

> [@June\_Wang](#):
>
> What do you mean it’s abstract? If 1 unit = 1 meter, then 1 unit is indeed 1 meter, no?

What I meant, and which @looeee hinted at, is that 1 unit only means 1 unit. It does not mean 1 meter; does not mean 1 foot; does not mean 1 _anything_. It only means 1 unit and nothing more.

It is then _up to you_ what 1 unit represents (and @looeee mentioned that most people, by convention, usually pick 1 unit to mean 1 meter withing _their_ 3D scenes).

As an example, I set up _ **my** _ 3D scenes so that by default 1 unit means 1 pixel on the screen (based on something similar like that example I last mentioned above) when I want to make graphics in a way similar to CSS where we can specify their size in “px” units (pixels). Using units that represent screen pixels can be more practical when making UIs that are sized relative to the screen size.

Ultimately it is up to you how you treat 1 unit, and Three.js itself does not have any concept of meters, feet, pixels, etc, built into it.

Hope you’re having _many units of fun_ with it! 🙂

[Previous page](https://discourse.threejs.org/t/units-in-three-js/1174.md?page=2)
