提交 9410c18a 编写于 作者: M Mr.doob

Moved Raycaster LOD code.

上级 19828174
......@@ -204,10 +204,7 @@
} else if ( object instanceof THREE.LOD ) {
matrixPosition.setFromMatrixPosition( object.matrixWorld );
var distance = raycaster.ray.origin.distanceTo( matrixPosition );
intersectObject( object.getObjectForDistance( distance ), raycaster, intersects );
object.raycast( raycaster, intersects );
} else if ( object instanceof THREE.Mesh ) {
......
......@@ -52,6 +52,22 @@ THREE.LOD.prototype.getObjectForDistance = function ( distance ) {
};
THREE.LOD.prototype.raycast = ( function () {
var matrixPosition = new THREE.Vector3();
return function ( raycaster, intersects ) {
matrixPosition.setFromMatrixPosition( this.matrixWorld );
var distance = raycaster.ray.origin.distanceTo( matrixPosition );
this.getObjectForDistance( distance ).raycast( raycaster, intersects );
};
}() );
THREE.LOD.prototype.update = function () {
var v1 = new THREE.Vector3();
......
......@@ -30,7 +30,7 @@ THREE.Sprite.prototype.raycast = ( function () {
return function ( raycaster, intersects ) {
matrixPosition.setFromMatrixPosition( this.matrixWorld );
var distance = raycaster.ray.distanceToPoint( matrixPosition );
if ( distance > this.scale.x ) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册