Skip navigation

Segéd geometriák

Használatuk

A modellezés bizonyos paramétereinek vizualizációját, így könnyebb megértését szolgálják. Egyszerűen és gyorsan a színtérhez adhatjuk őket. Egyesek önállóan működnek (nyíl, tengely), még mások más objektumhoz kapcsolódnak (kamera, fények), azok paraméterértékeit vizualizálják. Itt csak néhányat ismerünk meg ezek közül.

Tengely segéd

Konstruktor

AxesHelper(size)

Tulajdonságai

Három darab egyenes vonalat modellez az origóból kiindulva a főtengelyek irányában, megadott hosszúságban (size). A tengelyek vörös (X), zöld (Y) és kék (Z) színűek. Az elkészlüő geometriát a színtérhez adhatjuk.

Használati példa

let axesHelper = new THREE.AxesHelper( 10 );
scene.add( axesHelper );

Dokumentáció

Nyíl segéd (kiegészítő anyag)

Konstruktor

ArrowHelper(dir, origin, length, hex, headLength, headWidth )

Tulajdonságai

  • Egy hengert és egy kúpot modellez, amely a megadott kiindulópontból (origin) adott irányba (dir) mutat. Ezek a paraméterek háromelemű vektor (Vector3) típusúak.
  • Megadhatjuk a nyíl hosszát (length), valamint színét hexadecimális formában (hex). Alapértékeik 1, illetve a sárga (0xffff00) szín.
  • A fejet modellező kúp hosszát (headlength) és szélességét (headWidth) is opcionálisan definiálhatjuk.

Használati példa

let dir = new THREE.Vector3( 1, 0, 0 );
let origin = new THREE.Vector3( 0, 5, 0 );
let length = 10;
let hex = 0xffff00;
let arrowHelper = new THREE.ArrowHelper( dir, origin, length, hex );
scene.add( arrowHelper );

Dokumentáció

Élkiemelés (kiegészítő anyag)

Konstruktor

EdgesGeometry( geometry, thresholdAngle )

Tulajdonságai

A Three.js lehetőséget biztosít felszínhálókból olyan vonalszakasz halmazok kinyerésére, ahol a szomszédos lapok nem egy síkban fekszenek. Összehasonlításként: a korábbi programjainkban használt drótvázas nézet a háromszögek minden oldalát megrajzolja, ami zavaró lehet egy síkba eső, szomszédos síkidomok megjelenítésénél.

A feladatra korábbi verziókban az EdgesHelper segéd geometria állt rendelkezésre, amit az r81 kiadásban elavultnak nyilvánítottak, és azóta kikerült a csomagból. Helyettesítésére az EdgesGeometry osztály használható. Az eredményként kapott vonalszakasz végpont tömbből vonalszakasz objektumot hozhatunk létre. Vonal anyag definiálásával megadhatjuk a megjelenését. A vonalszakasz modellezéssel később fogunk foglalkozni.

A konstruktor első paramétere a már létező geometria (geometry), amihez a drótvázat létre szeretnénk hozni. Második, opcionális thresholdAngle paraméterként a szomszédos lapok minimálisan bezárt szögét adhatjuk meg, aminél kisebb eltérés esetén egy síkon fekvőnek tekintjük őket és nem rajzolódik él közéjük. Az alapérték az 1 fok.

Használati példa

let geometryBox = new THREE.BoxGeometry( 10, 10, 10 );
let material = new THREE.MeshBasicMaterial( { color: 0x333388, wireframe: false } );
let meshBox = new THREE.Mesh( geometryBox, material );
scene.add( meshBox );

let egBox = new THREE.EdgesGeometry( geometryBox );
let egBoxLines = new THREE.LineSegments( egBox, new THREE.LineBasicMaterial( { color: 0xffffff, linewidth: 2 } ) );
meshBox.add( egBoxLines );

Dokumentáció