![](/img/trans.png)
[英]How to add a material (.mtl) to an object (.obj) using three.js?
[英]assign material to loaded .obj without .mtl in three.js
如何將諸如 THREE.MeshPhongMaterial() 之類的材料添加到loaded.obj文件中的一個對象(.obj有多個對象)
var material_10 = new THREE.MeshBasicMaterial( { color: 0x444444 } );
var loader = new THREE.OBMLoader();
loader.load("https://aroncad.com/wp-content/themes/AronCad/3d/satllite/100.obm", function( obj ){
obj.traverse( function( child ) {
...........
} );
scene.add( obj );
});
解決您的問題的一種方法是使用Object3D.traverse () 就像您在代碼中所做的那樣。 在官方OBJ 示例中也使用了這種方法,以便將紋理應用於所有材質。 適合您的用例的代碼如下所示:
object.traverse( function ( child ) {
if ( child.isMesh ) child.material = material_10;
} );
three.js R109
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.