three.js載入常用類型3D模型的幾種方法
three.js 載入 3D 模型的方法有很多種。以下是其中的一些:
1. OBJLoader模型加載器
import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader.js'; // 創(chuàng)建一個 OBJLoader 的實(shí)例 const loader = new OBJLoader(); // 載入模型文件,參數(shù)url是模型文件的路徑,此處以 "example.obj" 為例 loader.load( 'example.obj', // 加載完成后的回調(diào)函數(shù) function (obj) { // 當(dāng)模型加載完成后會調(diào)用該函數(shù) // 將模型添加到場景中 scene.add(obj); }, // 正在加載模型時的回調(diào)函數(shù) function (xhr) { // 進(jìn)度條代碼,可以在此編寫代碼,傳入 xhr.loaded 和 xhr.total,計算出加載進(jìn)度 }, // 加載出錯的回調(diào)函數(shù) function (err) { console.error('An error happened.'); } );
2. GLTFLoader模型加載器
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'; // 創(chuàng)建一個 GLTFLoader 的實(shí)例 const loader = new GLTFLoader(); // 載入模型文件,參數(shù)url是模型文件的路徑,此處以 "example.gltf" 為例 loader.load( 'example.gltf', // 加載完成后的回調(diào)函數(shù) function (gltf) { // 當(dāng)模型加載完成后會調(diào)用該函數(shù) // 將模型添加到場景中 scene.add(gltf.scene); }, // 正在加載模型時的回調(diào)函數(shù) function (xhr) { // 進(jìn)度條代碼,可以在此編寫代碼,傳入 xhr.loaded 和 xhr.total,計算出加載進(jìn)度 }, // 加載出錯的回調(diào)函數(shù) function (err) { console.error('An error happened.'); } );
3. FBXLoader模型加載器
import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader.js'; // 創(chuàng)建一個 FBXLoader 的實(shí)例 const loader = new FBXLoader(); // 載入模型文件,參數(shù)url是模型文件的路徑,此處以 "example.fbx" 為例 loader.load( 'example.fbx', // 加載完成后的回調(diào)函數(shù) function (object) { // 當(dāng)模型加載完成后會調(diào)用該函數(shù) // 將模型添加到場景中 scene.add(object); }, // 正在加載模型時的回調(diào)函數(shù) function (xhr) { // 進(jìn)度條代碼,可以在此編寫代碼,傳入 xhr.loaded 和 xhr.total,計算出加載進(jìn)度 }, // 加載出錯的回調(diào)函數(shù) function (err) { console.error('An error happened.'); } );
4. ColladaLoader模型加載器
import { ColladaLoader } from 'three/examples/jsm/loaders/ColladaLoader.js'; // 創(chuàng)建一個 ColladaLoader 的實(shí)例 const loader = new ColladaLoader(); // 載入模型文件,參數(shù)url是模型文件的路徑,此處以 "example.dae" 為例 loader.load( 'example.dae', // 加載完成后的回調(diào)函數(shù) function (collada) { // 當(dāng)模型加載完成后會調(diào)用該函數(shù) // 將模型添加到場景中 scene.add(collada.scene); }, // 正在加載模型時的回調(diào)函數(shù) function (xhr) { // 進(jìn)度條代碼,可以在此編寫代碼,傳入 xhr.loaded 和 xhr.total,計算出加載進(jìn)度 }, // 加載出錯的回調(diào)函數(shù) function (err) { console.error('An error happened.'); } );
以上是幾種常用類型的三維模型的加載器及其使用方法,可以根據(jù)需要使用相應(yīng)的模型加載器來加載模型。
總結(jié)
到此這篇關(guān)于three.js載入常用類型3D模型的幾種方法的文章就介紹到這了,更多相關(guān)three.js載入3D模型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序封裝網(wǎng)絡(luò)請求和攔截器實(shí)戰(zhàn)步驟
這篇文章主要介紹了微信小程序封裝網(wǎng)絡(luò)請求和攔截器實(shí)戰(zhàn)步驟,這樣可以提高開發(fā)效率,減少代碼重復(fù),同時也可以提高代碼的可維護(hù)性和可讀性2023-03-03微信小程序MUI導(dǎo)航欄透明漸變功能示例(通過改變rgba的a值實(shí)現(xiàn))
這篇文章主要介紹了微信小程序MUI導(dǎo)航欄透明漸變功能,結(jié)合實(shí)例形式分析了通過改變rgba的a值實(shí)現(xiàn)透明度漸變功能的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01基于javascript實(shí)現(xiàn)精確到毫秒的倒計時限時搶購
現(xiàn)如今做電商網(wǎng)站必不可少的一個效果就是限時搶購,這也是各大電商網(wǎng)站的一種促銷手段。如何實(shí)現(xiàn)倒計時限時搶購,本文為大家分享了javascript實(shí)現(xiàn)倒計時限時搶購的的相關(guān)代碼,感興趣的小伙伴們可以參考一下2016-04-04原生JS取代一些JQuery方法的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄鶭S取代一些JQuery方法的簡單實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09JS中的算法與數(shù)據(jù)結(jié)構(gòu)之鏈表(Linked-list)實(shí)例詳解
這篇文章主要介紹了JS中的算法與數(shù)據(jù)結(jié)構(gòu)之鏈表(Linked-list),結(jié)合實(shí)例形式詳細(xì)分析了javascript中鏈表的概念、原理、定義及常用操作技巧,需要的朋友可以參考下2019-08-08