three.js 载入 3d 模型的方法有很多种。以下是其中的一些:
1. objloader模型加载器
import { objloader } from 'three/examples/jsm/loaders/objloader.js';
// 创建一个 objloader 的实例
const loader = new objloader();
// 载入模型文件,参数url是模型文件的路径,此处以 "example.obj" 为例
loader.load(
'example.obj',
// 加载完成后的回调函数
function (obj) {
// 当模型加载完成后会调用该函数
// 将模型添加到场景中
scene.add(obj);
},
// 正在加载模型时的回调函数
function (xhr) {
// 进度条代码,可以在此编写代码,传入 xhr.loaded 和 xhr.total,计算出加载进度
},
// 加载出错的回调函数
function (err) {
console.error('an error happened.');
}
);2. gltfloader模型加载器
import { gltfloader } from 'three/examples/jsm/loaders/gltfloader.js';
// 创建一个 gltfloader 的实例
const loader = new gltfloader();
// 载入模型文件,参数url是模型文件的路径,此处以 "example.gltf" 为例
loader.load(
'example.gltf',
// 加载完成后的回调函数
function (gltf) {
// 当模型加载完成后会调用该函数
// 将模型添加到场景中
scene.add(gltf.scene);
},
// 正在加载模型时的回调函数
function (xhr) {
// 进度条代码,可以在此编写代码,传入 xhr.loaded 和 xhr.total,计算出加载进度
},
// 加载出错的回调函数
function (err) {
console.error('an error happened.');
}
);3. fbxloader模型加载器
import { fbxloader } from 'three/examples/jsm/loaders/fbxloader.js';
// 创建一个 fbxloader 的实例
const loader = new fbxloader();
// 载入模型文件,参数url是模型文件的路径,此处以 "example.fbx" 为例
loader.load(
'example.fbx',
// 加载完成后的回调函数
function (object) {
// 当模型加载完成后会调用该函数
// 将模型添加到场景中
scene.add(object);
},
// 正在加载模型时的回调函数
function (xhr) {
// 进度条代码,可以在此编写代码,传入 xhr.loaded 和 xhr.total,计算出加载进度
},
// 加载出错的回调函数
function (err) {
console.error('an error happened.');
}
);4. colladaloader模型加载器
import { colladaloader } from 'three/examples/jsm/loaders/colladaloader.js';
// 创建一个 colladaloader 的实例
const loader = new colladaloader();
// 载入模型文件,参数url是模型文件的路径,此处以 "example.dae" 为例
loader.load(
'example.dae',
// 加载完成后的回调函数
function (collada) {
// 当模型加载完成后会调用该函数
// 将模型添加到场景中
scene.add(collada.scene);
},
// 正在加载模型时的回调函数
function (xhr) {
// 进度条代码,可以在此编写代码,传入 xhr.loaded 和 xhr.total,计算出加载进度
},
// 加载出错的回调函数
function (err) {
console.error('an error happened.');
}
);以上是几种常用类型的三维模型的加载器及其使用方法,可以根据需要使用相应的模型加载器来加载模型。
总结
到此这篇关于three.js载入常用类型3d模型的几种方法的文章就介绍到这了,更多相关three.js载入3d模型内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论