Three.js THREE.Projector已被转移到 [英] Three.js THREE.Projector has been moved to

查看:1403
本文介绍了Three.js THREE.Projector已被转移到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

据我所知,版本THREE 71中没有 THREE.projector

Hi i understand there is no THREE.projector in version THREE 71.

但我没有理解,如何替换 THREE.projector funcion和什么?

But i dont undestand, how to replace THREE.projector funcion and with what?

这是我的点击功能:

            var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
            projector.unprojectVector( vector, camera );
            var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
            var intersects = raycaster.intersectObjects( objects );
          if ( intersects.length > 0 ) {
             clicked =  intersects[0];
             console.log("my clicked object:",clicked);


         }

正确的做法是什么?

推荐答案

现在有一种更简单的模式适用于正交和透视相机类型:

There is now an easier pattern that works with both orthographic and perspective camera types:

var raycaster = new THREE.Raycaster(); // create once
var mouse = new THREE.Vector2(); // create once

...

mouse.x = ( event.clientX / renderer.domElement.clientWidth ) * 2 - 1;
mouse.y = - ( event.clientY / renderer.domElement.clientHeight ) * 2 + 1;

raycaster.setFromCamera( mouse, camera );

var intersects = raycaster.intersectObjects( objects, recursiveFlag );

three.js r.84

three.js r.84

这篇关于Three.js THREE.Projector已被转移到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆