Three.js Raycaster неподдерживаемый тип камеры

Я пытаюсь использовать THREE.raycaster для запуска загрузки файла.obj, когда на него нажимают. По какой-то причине я продолжаю получать THREE.Raycaster: Неподдерживаемая ошибка типа камеры. Я использую THREEPerspectiveCamera. Я использую сетку полотен и отрисовываю разные объекты для каждого - может быть, поэтому я получаю ошибку? Помогите!

var projector = new THREE.Projector();
var directionVector = new THREE.Vector3();
var SCREEN_HEIGHT = window.innerHeight;
var SCREEN_WIDTH = window.innerWidth;
var mouse; 
var objects = []; 

raycaster = new THREE.Raycaster();
mouse = new THREE.Vector2();

init();
animate();

//camera
function View( canvas, fullWidth, fullHeight, viewX, viewY, viewWidth, viewHeight ) {
    canvas.width = viewWidth * window.devicePixelRatio;
    canvas.height = viewHeight * window.devicePixelRatio;
    var context = canvas.getContext( '2d' );
    var camera = new THREE.PerspectiveCamera( 20, viewWidth / viewHeight, 1, 10000 );
    camera.setViewOffset( fullWidth, fullHeight, viewX, viewY, viewWidth, viewHeight );
    camera.position.z = 75;
    this.render = function () {
        camera.lookAt( scene.position );
        renderer.render( scene, camera );
        context.drawImage( renderer.domElement, 0, 0 );
    };
}

также

function onDocumentMouseDown( event ) {
    event.preventDefault();
    var mouseX = (event.clientX / window.innerWidth)*2-1;
    var mouseY = -(event.clientY /window.innerHeight)*2+1;

    raycaster.setFromCamera( mouse, camera );

    var intersects = raycaster.intersectObjects( objects );

    if ( intersects.length > 0 ) {

        console.log( 'click');
    }

}

0 ответов

Другие вопросы по тегам