如何在三.js中将 MTL 纹理添加到 OBJ
How to add a MTL texture to an OBJ in three.js
您好,所以我正在尝试弄清楚如何在三.js中将 MTL 文件添加到我的 OBJ 中。我加载了我的 OBJ,然后回来解决这个问题。现在,当我添加要加载的 MTL 文件的代码时MTLLoader
它不会传递mtlLoader.load(url, ....)
(就像添加这段代码后一样,现在只有场景被渲染,里面什么都没有)。我正在使用警报来跟踪代码的进度,并且从此语句之前而不是之后收到警报。我找到的所有解决方案都包括使用OBJMTLLoader
,它不再是当前版本的三.js(r74)的一部分。
这段代码取自加载 obj + mtl 的官方示例:
var mtlLoader = new THREE.MTLLoader();
mtlLoader.setBaseUrl( 'obj/male02/' );
mtlLoader.setPath( 'obj/male02/' );
var url = "male02_dds.mtl";
mtlLoader.load( url, function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.setPath( 'obj/male02/' );
objLoader.load( 'male02.obj', function ( object ) {
object.position.y = - 95;
scene.add( object );
}, onProgress, onError );
});
http://threejs.org/examples/#webgl_loader_obj_mtl
现在,您可以通过以下方式将材料分配给 OBJ:
objLoader.setMaterials( materials );
如果要操作材料,mtlLoader
在回调中为您提供的是THREE.MTLLoader.MaterialCreator
的实例。因此,例如,您可以使用materials.getAsArray()
获得材料。请参阅所有可能函数的来源:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/MTLLoader.js#L138-L417
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在three.js中为三角形添加纹理
- 如何在 Konvajs 中向 Konva.Image() 对象添加纹理
- 将外部纹理添加到三个.js场景对象
- 向拉伸几何体添加纹理
- 如何在三.js中将 MTL 纹理添加到 OBJ
- three.js:在着色器材质中使用纹理,该材质添加到由对象加载器加载的对象中
- 向蒙皮网格添加纹理
- 如何在three.js中为对象添加纹理
- 是否有一种方法来添加不同的纹理与TextureLoader.load对象
- 如何在three.js经过CSG.js处理后添加纹理