Как отобразить 3d-объект (формат obj) с текстурой PNG в Threejs? - PullRequest
0 голосов
/ 28 января 2019

Я имею в виду это .Последовал метод рендеринга в блендере, где материал сделан прозрачным.Я использовал изображение PNG в качестве текстуры на плоскости в Blender.Он правильно отображается в режиме рендеринга в Blender.Но когда я экспортирую его как obj и загружаю obj & mtl в онлайн-просмотрщик 3d или Threejs, объект не отображается.

Файл Blender https://drive.google.com/file/d/1nfRLu_BzHYvycXZG5Jqjymj5eV6tYvxP/view?usp=sharing

Файл Obj https://drive.google.com/file/d/1gbxpyjpQCz-CG4I91S6XhsmRWyAR_HK_/view?usp=sharing

Mtl файл https://drive.google.com/file/d/1lSrtM6Fxgsfrp_zUX_R3Fg_MzrIRCxpB/view?usp=sharing

PNG https://drive.google.com/file/d/1KBGWwm-iikbz14bfR9w0_iUb5N6Km_RP/view?usp=sharing

var mtlLoader = new THREE.MTLLoader();
mtlLoader.setTexturePath('models/');
mtlLoader.setPath( 'models/' );
var url = "spects_plane1.mtl";
mtlLoader.load( url, function( materials ) {

    materials.preload();

    var objLoader = new THREE.OBJLoader();
    objLoader.setMaterials( materials );
    objLoader.setPath( 'models/' );
    objLoader.load( 'spects_plane1.obj', function ( object ) {

        spectsObj.add(object);

    },function ( xhr ) {
        console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
    },
    function ( error ) {
        console.log( 'An error happened' );
    });

});
spectsObj.position.set(0, 0, -1);

scene.add(spectsObj);

var light = new THREE.PointLight( 0xffffff, 1, 0 );

light.position.set(1, 1, 1);

var hemiLight = new THREE.HemisphereLight(0xffffff, 0xffffff, 0.50);

var dirLight = new THREE.DirectionalLight(0xffffff, 0.50);

scene.add(light);

1 Ответ

0 голосов
/ 29 января 2019

Используйте этот файл материала, и он должен нормально загружаться в 3dviewer.net.Вы указали Ka равным 1,0, если хотите, чтобы он был в целом близок к 0,2.Но самое главное, что вы указали непрозрачность 0.0, что означает, что объект не виден.Я изменил его на 1,0

newmtl Material.001
Ns 96.078431
Ka 0.200000 0.200000 0.200000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd spects2.png
map_d spects2.png
...