Не удается отобразить файл pcd из PCDLoader в 3js - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь построить файл pcd, следуя приведенному примеру здесь . С данным pcd я могу построить, но pcd, который у меня есть, я не могу построить. Я перепроверил формат, и в браузере также не было ошибок. Вот мой pcd файл . Я не понимаю, что происходит не так.

1 Ответ

1 голос
/ 02 мая 2019

Я проверил ваш PCD-файл на моем компьютере, и он находит.Однако простая замена файла PCD в упомянутом примере не будет работать, поскольку пространственное распределение набора данных совершенно другое.Следовательно, вам нужна другая камера и настройка управления.Вы должны увидеть облако точек со следующим основным кодом:

var camera, container, scene, renderer;

init();
animate();

function init() {

    scene = new THREE.Scene();

    camera = new THREE.PerspectiveCamera( 15, window.innerWidth / window.innerHeight, 0.1, 1000 );
    camera.position.z = 700;

    scene.add( camera );

    renderer = new THREE.WebGLRenderer( { antialias: true } );
    renderer.setPixelRatio( window.devicePixelRatio );
    renderer.setSize( window.innerWidth, window.innerHeight );
    document.body.appendChild( renderer.domElement );

    var loader = new THREE.PCDLoader();
    loader.load( './models/pcd/binary/test.pcd', function ( points ) {

        points.material.size = 5;

        scene.add( points );

    } );

    container = document.createElement( 'div' );
    document.body.appendChild( container );
    container.appendChild( renderer.domElement );

    window.addEventListener( 'resize', onWindowResize, false );

}

function onWindowResize() {

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    renderer.setSize( window.innerWidth, window.innerHeight );

}

function animate() {

    requestAnimationFrame( animate );

    renderer.render( scene, camera );

}
...