WHS.Tube
class makes a tube that extrudes along a 3d curve.
const CustomSinCurve = THREE.Curve.create(
function (scale) { // custom curve constructor
this.scale = (scale === undefined) ? 1 : scale;
},
function ( t ) { // getPoint: t is between 0-1
const tx = t * 3 - 1.5,
ty = Math.sin( 2 * Math.PI * t ),
tz = 0;
return new THREE.Vector3(tx, ty, tz).multiplyScalar(this.scale);
}
);
const path = new CustomSinCurve( 10 );
const tube = new WHS.Tube({
geometry: {
path: path
},
material: new THREE.MeshBasicMaterial({
color: 0xffffff
})
});
tube.addTo(world);
Parameters
Geometry defaults
{
// ...
geometry: {
path: false, // Boolean.
segments: 20, // Number.
radius: 2, // Number.
radiusSegments: 8, // Number.
closed: false // Boolean.
}
}
These defaults are additional, there are also defaults filled by
MeshComponent
, etc.
Instructions
{
// ...
geometry: [
'path',
'segments',
'radius',
'radiusSegments',
'closed'
]
}
Updated almost 8 years ago