提交 1a4a8688 编写于 作者: M Mr.doob

Updated builds.

上级 a169a171
......@@ -1816,6 +1816,36 @@ THREE.Vector3.prototype = {
},
projectCamera: function () {
var matrix;
return function ( camera ) {
if ( matrix === undefined ) matrix = new THREE.Matrix4();
matrix.multiplyMatrices( camera.projectionMatrix, matrix.getInverse( camera.matrixWorld ) );
return this.applyProjection( matrix );
};
}(),
unprojectCamera: function () {
var matrix;
return function ( camera ) {
if ( matrix === undefined ) matrix = new THREE.Matrix4();
matrix.multiplyMatrices( camera.matrixWorld, matrix.getInverse( camera.projectionMatrix ) );
return this.applyProjection( matrix );
};
}(),
transformDirection: function ( m ) {
// input: THREE.Matrix4 affine matrix
......@@ -7098,7 +7128,7 @@ THREE.EventDispatcher.prototype = {
};
//
THREE.Raycaster.prototype = {
constructor: THREE.Raycaster,
......@@ -7129,6 +7159,13 @@ THREE.EventDispatcher.prototype = {
var intersects = [];
if ( objects instanceof Array === false ) {
console.log( 'THREE.Raycaster.intersectObjects: objects is not an Array.' );
return intersects;
}
for ( var i = 0, l = objects.length; i < l; i ++ ) {
intersectObject( objects[ i ], this, intersects, recursive );
......@@ -7859,35 +7896,19 @@ THREE.Projector = function () {
this.projectVector = function ( vector, camera ) {
var viewProjectionMatrix = new THREE.Matrix4();
return function ( vector, camera ) {
camera.matrixWorldInverse.getInverse( camera.matrixWorld );
console.warn( 'THREE.Projector: .projectVector() is now vector.projectCamera().' );
viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
vector.projectCamera( camera );
return vector.applyProjection( viewProjectionMatrix );
};
}();
this.unprojectVector = function () {
var projectionMatrixInverse = new THREE.Matrix4();
var viewProjectionMatrix = new THREE.Matrix4();
return function ( vector, camera ) {
};
projectionMatrixInverse.getInverse( camera.projectionMatrix );
viewProjectionMatrix.multiplyMatrices( camera.matrixWorld, projectionMatrixInverse );
this.unprojectVector = function ( vector, camera ) {
return vector.applyProjection( viewProjectionMatrix );
console.warn( 'THREE.Projector: .unprojectVector() is now vector.unprojectCamera().' );
};
vector.unprojectCamera( camera );
}();
};
this.pickingRay = function ( vector, camera ) {
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
......@@ -81,8 +81,10 @@
var intersects = [];
if ( objects instanceof Array === false ) {
console.log( 'THREE.Raycaster.intersectObjects: objects is not an Array.' );
return intersects;
}
for ( var i = 0, l = objects.length; i < l; i ++ ) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册