我想创建导入 3D 模型以在浏览器中查看的功能,方法是使用File API http://www.html5rocks.com/en/tutorials/file/dndfiles/.
Three.js 加载器在我托管的文件上运行良好。我的理解是加载器使用ajax来检索文件。
我希望能够从客户端的磁盘加载文件来查看它。这如何实现?
您可以覆盖或“热补丁”加载器的 load() 函数以满足您的需求。
将您的覆盖放在任何其他 THREE.js 相关代码之前。例如:
THREE.OBJLoader.prototype.load = function(url) {
// copy the function from OBJLoader.js source and change the AJAX calls to File API calls
}
似乎与其他加载器不同,ColladaLoader 不是使用原型实现的,因此它并不那么简单。如果需要 Collada 支持,则需要在 Loader 创建之后进行,并直接在 loader 实例上重写该函数。这种方法也适用于 OBJLoader 和其他方法。但你不能事先这样做,你需要在实际模型加载函数/回调中包含代码。
var myloader = new THREE.ColladaLoader();
myloader.load = function(url) {
// copy the function from ColladaLoader.js source and change the AJAX calls to File API calls
}
我在 ImageLoader 中使用类似的方法,使用画布自动将非二次方纹理调整为适当的尺寸。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)