three.js 源码注释(七十三)extras/geometries/TextGeometry.js

商域无疆 (http://blog.csdn.net/omni360/)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:商域无疆 -  本博客专注于 敏捷开发及移动和物联设备研究:数据可视化、GOLANG、Html5、WEBGL、THREE.JS否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


俺也是刚开始学,好多地儿肯定不对还请见谅.

以下代码是THREE.JS 源码文件中extras/geometries/TextGeometry.js文件的注释.

更多更新在 : https://github.com/omni360/three.js.sourcecode


/**
 * @author zz85 / http://www.lab4games.net/zz85/blog
 * @author alteredq / http://alteredqualia.com/
 *
 * For creating 3D text geometry in three.js
 *
 * Text = 3D Text
 *
 * parameters = {
 *  size: 			<float>, 	// size of the text 	字体的大小
 *  height: 		<float>, 	// thickness to extrude text 	3维字体的拉伸厚度,
 *  curveSegments: 	<int>,		// number of points on the curves  	拉伸厚度上的细分线段数.
 *
 *  font: 			<string>,		// font name 	//字体名称
 *  weight: 		<string>,		// font weight (normal, bold) //字体宽度
 *  style: 			<string>,		// font style  (normal, italics)  //字体样式
 *
 *  bevelEnabled:	<bool>,			// turn on bevel  是否启用字体倒角
 *  bevelThickness: <float>, 		// how deep into text bevel goes  //倒角的厚度
 *  bevelSize:		<float>, 		// how far from text outline is bevel  	//从截面外轮廓倒角的尺寸
 *  }
 *
 */

/*	Usage Examples 实例:

	// TextGeometry wrapper

	var text3d = new TextGeometry( text, options );			//创建textGeometry()对象.

	// Complete manner

	var textShapes = THREE.FontUtils.generateShapes( text, options );	//根据文字和参数选项生成图形截面
	var text3d = new ExtrudeGeometry( textShapes, options );			//调用ExtrudeGeometry()方法生成拉伸几何体

*/

/*
///TextGeometry用来生成文字,不过要生成中文3d文字,需要将中文字体利用typeface.js将字体转换成js格式的形文件.
*/
///<summary>TextGeometry</summary>
///<param name ="text" type="string">文字内容</param>
///<param name ="parameters" type="Object">文字参数选项</param>
THREE.TextGeometry = function ( text, parameters ) {

	parameters = parameters || {};	//将参数赋值.

	var textShapes = THREE.FontUtils.generateShapes( text, parameters );	//根据文字和参数选项生成图形截面

	// translate parameters to ExtrudeGeometry API

	parameters.amount = parameters.height !== undefined ? parameters.height : 50; 	//3维字体的拉伸厚度,默认初始化为50

	// defaults

	if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10;	//倒角的厚度,默认初始化为10
	if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8;				//从截面外轮廓倒角的尺寸,默认初始化为8
	if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; 	//是否启用字体倒角,默认不启用

	THREE.ExtrudeGeometry.call( this, textShapes, parameters );		//调用ExtrudeGeometry()方法生成拉伸几何体,并将ExtrudeGeometry对象的方法供TextGeometry对象使用.

};
/*************************************************
****下面是TextGeometryh对象的方法属性定义,继承自ExtrudeGeometry对象.
**************************************************/
THREE.TextGeometry.prototype = Object.create( THREE.ExtrudeGeometry.prototype );


商域无疆 (http://blog.csdn.net/omni360/)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:商域无疆 -  本博客专注于 敏捷开发及移动和物联设备研究:数据可视化、GOLANG、Html5、WEBGL、THREE.JS否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


以下代码是THREE.JS 源码文件中extras/geometries/TextGeometry.js文件的注释.

更多更新在 : https://github.com/omni360/three.js.sourcecode

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。