這篇文章主要介紹了Three.js加載外部模型的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司成立與2013年,先為渭南等服務(wù)建站,渭南等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為渭南企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。1. 首先我們要在官網(wǎng): https://threejs.org/ 下載我們three.js壓縮包,并將其中的build文件夾下的three.js通過script標(biāo)簽對(duì)的src屬性導(dǎo)入到我們的頁面中
2. 創(chuàng)建three.js核心對(duì)象
Scene(場(chǎng)景)
Camera(相機(jī))
Light(光源)
Mesh(模型)
Renderer(渲染器)
最后一步就是渲染顯示在我們的頁面上了renderer.render(scene,camera)
3. OBJ模型的導(dǎo)入
4. .JS模型的導(dǎo)入
首先我們需要將.OBJ模型的文件轉(zhuǎn)換成.JS文件的模型
.obj格式轉(zhuǎn).js格式使用的是threejs.org官方提供的一個(gè)convert_obj_three.py的工具,這個(gè)工具的使用需要安裝python環(huán)境
轉(zhuǎn)換過程:
將convert_obj_three.py和要轉(zhuǎn)換的.obj文件和.mtl文件放在同一個(gè)目錄下
打開cmd,切換到對(duì)應(yīng)的目錄下
python convert_obj_three.py -i infile.obj -o outfile.js [-t ascii|binary]
可以得到兩種編碼方式的.js文件(二進(jìn)制binary和ascii)
出現(xiàn)的問題,轉(zhuǎn)換格式的問題:
打開.obj文件,
將mtllib關(guān)鍵字后面改成 .mtl文件相對(duì)于.obj文件的路徑
將文件中的這些?改成字母,亂碼
.mtl文件中的newmtl 關(guān)聯(lián)到.obj文件中
這是.obj文件中的
5. 準(zhǔn)備導(dǎo)入
Ascii
Binary
需要導(dǎo)入
PS:three.js 外部模型加載json
用blender做模型可以直接導(dǎo)出json文件(導(dǎo)出插件可以從three.js包里找到)。從網(wǎng)上下載模型,網(wǎng)上的模型很多事3ds max做的,我就用3ds max把模型格式轉(zhuǎn)換成obj,再導(dǎo)入blender處理好模型后導(dǎo)出json文件。
導(dǎo)出json文件時(shí)選項(xiàng)勾選如果選擇了SCENE可連燈光一同導(dǎo)出加載時(shí)需要用ObjectLoader
var loader = new THREE.ObjectLoader(); loader.load('youscene1.json',function(obj){ obj.scale.x = obj.scale.y = obj.scale.z =100; scene.add(obj); });
導(dǎo)出json文件時(shí)如果不勾選scene,需要頁面中添加燈光否則模型全黑,加載時(shí)用JSONLoader
var loader = new THREE.JSONLoader(); loader.load( "noscene.json",function( geometry, materials ) { materials[ 0 ].shading = THREE.FlatShading; mesh = new THREE.Mesh( geometry, new THREE.MultiMaterial( materials ) ); mesh.position.x = 0; mesh.position.y = 0; mesh.position.z = 0; mesh.scale.x = mesh.scale.y = mesh.scale.z =100; scene.add( mesh ); });
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Three.js加載外部模型的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。