| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * @author zz85 / http://www.lab4games.net/zz85/blog
- *
- * TextPath
- *
- **/
- THREE.TextPath = function ( text, parameters ) {
- THREE.Path.call( this );
- this.parameters = parameters || {};
- this.set( text );
- };
- THREE.TextPath.prototype.set = function ( text, parameters ) {
- this.text = text;
- var parameters = parameters || this.parameters;
- var size = parameters.size !== undefined ? parameters.size : 100;
- var curveSegments = parameters.curveSegments !== undefined ? parameters.curveSegments: 4;
- var font = parameters.font !== undefined ? parameters.font : "helvetiker";
- var weight = parameters.weight !== undefined ? parameters.weight : "normal";
- var style = parameters.style !== undefined ? parameters.style : "normal";
- THREE.FontUtils.size = size;
- THREE.FontUtils.divisions = curveSegments;
- THREE.FontUtils.face = font;
- THREE.FontUtils.weight = weight;
- THREE.FontUtils.style = style;
- };
- THREE.TextPath.prototype.toShapes = function () {
- // Get a Font data json object
- var data = THREE.FontUtils.drawText( this.text );
- var paths = data.paths;
- var shapes = [];
- for ( var p = 0, pl = paths.length; p < pl; p ++ ) {
- Array.prototype.push.apply( shapes, paths[ p ].toShapes() );
- }
- return shapes;
- //console.log(path);
- //console.log(fontShapes);
- // Either find actions or curves.
- //var text3d = new THREE.ExtrudeGeometry( shapes , { amount: 20, bevelEnabled:true, bevelThickness:3 } );
- //return text3d;
- };
|