TubeBufferGeometry
Crée un tube qui est extrudé en suivant une courbe 3D.
Exemple
<source lang="javascript"> function CustomSinCurve( scale ) {
THREE.Curve.call( this ); //Si scale n'est pas défini scale =1 sinon c'est scale this.scale = ( scale === undefined ) ? 1 : scale;
}
//Crée un nouvel objet prototype avec un prototype donné et des propriétés données. CustomSinCurve.prototype = Object.create( THREE.Curve.prototype ); //Définir le constructeur de l'objet CustomSinCurve.prototype.constructor = CustomSinCurve; //Fonction pour ajouter un point dans la courbe CustomSinCurve.prototype.getPoint = function ( t ) {
var tx = t * 3 - 1.5; var ty = Math.sin( 2 * Math.PI * t ); var tz = 0; return new THREE.Vector3( tx, ty, tz ).multiplyScalar( this.scale );
};
//Créer un nouvel objet avec le constructeur var path = new CustomSinCurve( 10 ); //Créer la géométrie correspondante à la courbe puis un matériau et enfin le mesh var geometry = new THREE.TubeBufferGeometry( path, 20, 2, 8, false ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ); scene.add( mesh ); </source>
Constructeur
<source lang="javascript"> TubeBufferGeometry(path, tubularSegments, radius, radialSegments, closed) </source>
path — Courbe - Un chemin qui hérite de la classe de base Curve.
tubularSegments — Integer - Le nombre entier de segments qui composent le tube, par défaut cette valeur est 64
radius — Float - Rayon du tube, par défaut le rayon est 1
radialSegments — Integer - Nombre entier de segments qui composent la section, par défaut cette valeur est 8
closed — Booléen - le tube est ouvert ou fermé, par défaut c'est false ⇒ ouvert.
Propriétés
.parameters Un objet avec tous les paramètres qui sont utilisés pour générer la géométrie (voir le constructeur pour les paramètres).
.tangents Tableau de vecteur tangents