@Bully55
JavaScript developer (React)

Как отобразить .obj модель на сайте при помощи three.js?

При загрузке .obj модели на сайт при помощи OBJLoader приходит объект Group, но при добавлении его на сцену модель не отображается.
5e19d762b6c1f048008517.png
var scene = new THREE.Scene();
        var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
        var loader = new OBJLoader()
        var renderer = new THREE.WebGLRenderer()

        renderer.setClearColor(0xff0000)
        renderer.setSize( window.innerWidth, window.innerHeight );
        this.container.appendChild( renderer.domElement );

        loader.load(
            "LivingRoomWallA.obj",
            ( object ) => {
                console.log(object)
                scene.add( object )
            },
            ( xhr ) => {
                console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
            },
            ( err ) => {
                console.error( 'An error happened' );
            }
        )

        camera.position.z = 5;

        renderer.render( scene, camera );
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@Bully55 Автор вопроса
JavaScript developer (React)
Все решилось очень просто, функция рендера сцены должна вызываться сразу после добавления объекта на сцену, т.е. в коллбэке функции загрузчика.
loader.load(
            "LivingRoomWallA.obj",
            ( object ) => {
                console.log(object)
                scene.add( object )
                renderer.render( scene, camera )
            },
            ( xhr ) => {
                console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
            },
            ( err ) => {
                console.error( 'An error happened' );
            }
        )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Sarex Москва
от 140 000 до 210 000 ₽
Stream Labs Москва
До 150 000 ₽
Myagi Минск
от 3 000 до 4 000 $
17 февр. 2020, в 00:30
1500 руб./за проект
16 февр. 2020, в 22:28
2000 руб./за проект