three.js - Three.js 从输入文件本地加载 FBX 和 Materials
问题描述
从几天开始,我试图从输入文件本地加载一个带有材料的 .fbx 文件,但没有成功。我发现此代码适用于 collada 文件,我已将其更改为适用于 .fbx 但没有...
$("#campoFile3dNascosto").change(function (e) {
var files = e.currentTarget.files;
var dae_path;
var extraFiles = {}, file;
for (var i = 0; i < files.length; i++) {
file = files[i];
extraFiles[file.name] = file;
//Filename ends in .dae/.DAE
if (files[i].name.match(/\w*.dae\b/i)) {
dae_path = files[i].name;
}
}
const manager = new THREE.LoadingManager();
manager.setURLModifier(function (url, path) {
url = url.split('/');
url = url[url.length - 1];
if (extraFiles[url] !== undefined) {
var blobURL = URL.createObjectURL(extraFiles[url]);
console.log("blob: "+blobURL); //Blob location created from files selected from file input
return blobURL;
}
return url;
});
var loader = new THREE.FBXLoader(manager);
loader.load(dae_path, function (object) {
object.traverse(function (child) {
if (child.isMesh) {
child.castShadow = true;
child.receiveShadow = true;
}
});
});
});
我怎样才能做到这一点?
解决方案
推荐阅读
- python - 在 Django 项目中动态设置“默认”数据库
- c# - 具有相同基本接口但两个约束不能相同的两个约束
- python - 如何用另一个数据框替换部分数据框
- sas - Biderectional Vlookup - 同一张表中的标志 - Sas
- geojson - 使用topomerge合并topojson会打乱缠绕顺序
- linux - docker-compose 不能使用 .env 中的变量
- python - 如何一次更换多个项目?[Python]
- python - 测量网络质量
- c# - 如何为使用 Rotativa 生成动态内容的 PDF 生成页脚
- javascript - 从数组动态地向对象添加条件