簡體   English   中英

將材料分配給 three.js 中的 loaded.obj without.mtl

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM