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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章