Objektum hierarchia
Készítsük az alábbi modellezést!
- Adjunk a színtérhez egy gömböt és egy kockát. Egyiküket a Z, másikukat az X tengely mentén toljuk el.
- Adjunk a színtérhez egy AxesHelper objektumot is.
- A gömb folyamatosan forogjon a Z-tengely körül. A kocka ne mozogjon.
A megoldást a 06_01_ThreeJsCubeSphereHierarchy.html program tartalmazza.
Módosítsuk az alábbi szerint.
A kocka hálót ne a színtérhez, hanem a gömb objektumhoz adjuk hozzá! Figyeljük meg a hatást!
var sphereGeometry = new THREE.SphereGeometry( 2, 20, 10 );
var sphereMaterial = new THREE.MeshBasicMaterial( { color: 0xffff00, wireframe: true } )
sphereMesh = new THREE.Mesh( sphereGeometry, sphereMaterial );
sphereMesh.position.set( 0, 0, 5 );
scene.add( sphereMesh );
var boxGeometry = new THREE.BoxGeometry( 2, 2, 2 );
var boxMaterial = new THREE.MeshBasicMaterial( { color: 0x00ff00, wireframe: true } )
boxMesh = new THREE.Mesh( boxGeometry, boxMaterial );
boxMesh.position.set( 8, 0, 0 );
sphereMesh.add( boxMesh );
Azt fogjuk tapasztalni, hogy a kocka elkezd forogni a gömb körül, a Z-tengely mentén. Mindezt anélkül, hogy a kockára bármilyen külön mozgást alkalmaztunk volna!
A 06_02_ThreeJsCubeSphereHierarchyPanel.html példaprogramban panelen kapcsolhatjuk, hogy a kocka gyermeke legyen-e a gömb modellnek, illetve hogy a gömb végezzen a forgást.