商域無疆 (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文件的註釋.