日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

linaCharts开发笔记:Three.js导入obj和使用中文

發(fā)布時(shí)間:2024/3/13 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linaCharts开发笔记:Three.js导入obj和使用中文 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

直接進(jìn)入主題,首先是導(dǎo)入中文字體,Three.js自帶只支持顯示3D的英文,如果需要使用中文,需要自己導(dǎo)入。

一、選一個(gè)你喜歡的字體,也就是ttf文件,盡量選小一點(diǎn)的,不然轉(zhuǎn)換成的js文件也會(huì)非常大。

二、下載facetype.js地址:

https://github.com/gero3/facetype.js

然后運(yùn)行index.html,界面如下:

直接將ttf文件轉(zhuǎn)換為js文件,比如我生成的 FZYaoTi_Regular.js

三、直接使用代碼如下:

var loader = new THREE.FontLoader();loader.load( 'lib/font/FZYaoTi_Regular.js', function ( font ) {var text_style = {font: font,size: 4,height: 1,curveSegments: 12,//曲線上點(diǎn)的數(shù)量bevelThickness: 0.1, //文本斜面深度bevelSize: 0.1, //斜面離輪廓的距離bevelEnabled: true //是否打開(kāi)曲面}var textGeo = new THREE.TextGeometry( "莉娜醬", text_style );var textMaterial = new THREE.MeshPhongMaterial( {color: 0xB3B3B3} ); var mesh = new THREE.Mesh( textGeo, textMaterial );//對(duì)于文字,先設(shè)置lookat和先設(shè)置position是不一樣的mesh.lookAt(new THREE.Vector3(100, 0, 150));mesh.position.set( 20, -4, 30 ); scene.add( mesh );}); 特別說(shuō)明,一定要先設(shè)置文字的lookAt再設(shè)置position,如果反過(guò)來(lái)的話,文字出現(xiàn)和你想象不一樣的結(jié)果(比如會(huì)自旋轉(zhuǎn)一個(gè)角度)

然后,使用obj和mtl:

一、首先用3dmax生成模型的.obj和.mtl文件,我是放在model/下的,后面會(huì)設(shè)置路徑

二、導(dǎo)入相關(guān)js

<script type="text/javascript" src="lib/MTLLoader.js"></script><script type="text/javascript" src="lib/OBJLoader.js"></script>三、代碼如下:

var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath( 'model/' ); mtlLoader.load( 'test8.mtl', function( materials ) { materials.preload(); var objLoader = new THREE.OBJLoader(); objLoader.setMaterials( materials ); objLoader.setPath( 'model/' ); objLoader.load( 'test8.obj', function ( object ) { object.position.set(0,0,0);object.scale.set(2,2,2);scene.add( object ); }); }); 需要注意,有時(shí)候?qū)氲哪P筒⒉辉谥行?#xff0c;這時(shí)候需要在3dmax中將模型的位置調(diào)到0,0,0再導(dǎo)出

總結(jié)

以上是生活随笔為你收集整理的linaCharts开发笔记:Three.js导入obj和使用中文的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。