|
@@ -470,6 +470,7 @@ THREE.Projector = function () {
|
|
|
if ( material.morphTargets === true ) {
|
|
|
|
|
|
var morphTargets = geometry.morphAttributes.position;
|
|
|
+ var morphTargetsRelative = geometry.morphTargetsRelative;
|
|
|
var morphInfluences = object.morphTargetInfluences;
|
|
|
|
|
|
for ( var t = 0, tl = morphTargets.length; t < tl; t ++ ) {
|
|
@@ -480,9 +481,19 @@ THREE.Projector = function () {
|
|
|
|
|
|
var target = morphTargets[ t ];
|
|
|
|
|
|
- x += ( target.getX( i / 3 ) - positions[ i ] ) * influence;
|
|
|
- y += ( target.getY( i / 3 ) - positions[ i + 1 ] ) * influence;
|
|
|
- z += ( target.getZ( i / 3 ) - positions[ i + 2 ] ) * influence;
|
|
|
+ if ( morphTargetsRelative ) {
|
|
|
+
|
|
|
+ x += target.getX( i / 3 ) * influence;
|
|
|
+ y += target.getY( i / 3 ) * influence;
|
|
|
+ z += target.getZ( i / 3 ) * influence;
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ x += ( target.getX( i / 3 ) - positions[ i ] ) * influence;
|
|
|
+ y += ( target.getY( i / 3 ) - positions[ i + 1 ] ) * influence;
|
|
|
+ z += ( target.getZ( i / 3 ) - positions[ i + 2 ] ) * influence;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|