проблема с добавлением текстуры к obj в Three.js

221
05 мая 2017, 19:04

Проблема в том, что я пытаюсь добавить текстуру (накладываю на материал).

Ошибку не выдаёт, просто не отображается текстура

Когда я пытаюсь добавить текстуру "Морда на белом фоне" - сущность становиться просто белой

А когда добавляю текстуру с "кучей зелёных листьев" - сущность становиться залита сплошным тёмным зелёным цветом, без всяких признаков листьев.

var cylinder_texture = new THREE.Texture();
var loader_cylinder = new THREE.ImageLoader();
loader_cylinder.load('1.jpg', function(image){
    cylinder_texture.image = image; //пробовал и image.content, но тогда объект становиться никаким, прозрачным
    cylinder_texture.needsUpdate = true;
});
var manager = new THREE.LoadingManager();
manager.onProgress = function ( item, loaded, total ) {
    console.log( item, loaded, total );
};
var loader = new THREE.OBJLoader( manager );
loader.load( 'js/1.obj', function ( object ) {
    object.traverse( function ( child ) {
        if ( child instanceof THREE.Mesh ) {
            var cylinder_material = new THREE.MeshPhongMaterial();
            child.material = cylinder_material;
            child.material.side = THREE.DoubleSide;
            child.material.map = cylinder_texture;
        }
    } );
    object.position.x = -30;
    object.position.y = 130;
    object.position.z = 250;
    object.rotation.x = 20 * Math.PI / 180;
    object.rotation.y = -50 * Math.PI / 180;
    object.rotation.z = 0 * Math.PI / 180;
    object.scale.x = 30;
    object.scale.y = 20;
    object.scale.z = 20;
    obj = object
    scene.add( obj );
    renderer.render(scene, camera);
} );

В редакторе (редактор) я к типу MeshBasicMaterial добавил картинку в Map и всё сработало, но с кодом не хочет работать, подскажите что не так?

Спасибо!

READ ALSO
вывод гугл мап на jsp странице

вывод гугл мап на jsp странице

Необходимо разместить гугл карту на jsp странице в мавен проекте с использованием jsПробовал такой вариант:

408
Как получить текст в div?

Как получить текст в div?

Пытаюсь с помощью casperjs получить текст, заключенный между тэгами div

291