提交 d7260590 编写于 作者: A Arseny Kapoulkine

Implement support for relativeMorphTargets in Projector code

上级 096a49f7
......@@ -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;
}
}
......
......@@ -494,6 +494,7 @@ var 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 ++ ) {
......@@ -504,9 +505,19 @@ var 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;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册