Objektum hierarchia
Az előzőekben már láttuk, hogyan tudunk objektumokat térben elhelyezni az általános objektum attribútumok segítségével. Megismertük, hogy a transzformáció a rendereléskor kerül alkalmazásra, így független a forráskódban definiált sorrendtől, ráadásul a skálázás és a forgatás az X-, Y- és Z-tengelyek mentén történik. Emiatt igen nehézkes összetett mozgási hatást elérni, mint például egy téglatest az egyik saját éle körül forogjon el a középvonala helyett.
Az eddigi programjainkban a tárgyainkat közvetlenül a színtérhez adtuk hozzá. A Three.js lehetőséget biztosít arra is, hogy a tárgyakból egy fa struktúrájú objektum hierarchiát hozzunk létre, ugyanis a tárgyat nem csak a színtérhez, hanem egy már létező másik tárgyhoz is hozzáadhatjuk. A dolog nagyszerűsége abban rejlik, hogy a gyerek objektumokra a szülőknél definiált transzformációk is végrehajtódnak. Egy objektum elhelyezkedése így a szülőhöz képest relatív módon adható meg.
A Three.js rendelkezik egy speciális objektum típussal (Object3D), amelyhez nem tartozik geometria, nem jelenik meg, viszont geometriai transzformációt be tudunk állítani, és lehetnek gyermek objektumai. Segítségükkel több skálázás, forgatás, eltolás adható meg egy-egy tárgyhoz, vagyis így tetszőleges geometriai transzformációsorozatot össze tudunk állítani.
Egy másik, rendkívül hasonló objektummal (Group) csoportba foglalhatunk tárgyakat.
A geometriai transzformációkat bármilyen, a színtérhez adható objektumra alkalmazhatjuk, így fényforrásokra és kamerákra is.