ThreeJS – FBXLoader: TGA loader not found, creating placeholder texture for …
1 Three.js出现FBXLoader: TGA loader not found, creating placeholder texture for...错误
最近将之前项目中基于three.js r101版本的项目进行了升级,将three.js的版本升级为r144,在加载fbx模型的部分代码出现了错误,
three.js r101版本加载fbx模型的代码为:
var fbxLoader = new THREE.FBXLoader();
// 向fbxloader中添加TGALoader,并设置纹理路径
var tgaLoader = new THREE.TGALoader();
tgaLoader.setPath( './res/model/texture');
THREE.Loader.Handlers.add( /\.tga$/i, tgaLoader );
fbxLoader.load(fbxModelfilepath,OnLoadFbxModel);
上述代码更换three.js的版本为r144之后,出现了以下错误:
从错误的表述上来看,估计是TGALoader对象没有找到,可能是因为three.js版本升级需要更改写法。
然后从https://discourse.threejs.org/t/issue-loading-fbx-with-imbedded-tga/11976找到了解决方案,我们可以将上述代码修改为:
// add handler for TGA textures
const manager = new THREE.LoadingManager();
manager.addHandler( /\.tga$/i, new THREE.TGALoader() );
var fbxLoader = new THREE.FBXLoader(manager);
fbxLoader.load(fbxModelfilepath,OnLoadFbxModel);
即可。
参考链接
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:ThreeJS – FBXLoader: TGA loader not found, creating placeholder texture for …
原文链接:https://www.stubbornhuang.com/2354/
发布于:2022年09月16日 9:28:47
修改于:2023年06月21日 18:04:20
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50