generateTracks method
dynamic
generateTracks(
- Map rawTracks
)
Implementation
generateTracks( Map rawTracks ) {
var tracks = [];
var initialPositionVector3 = new Vector3();
var initialRotationQuaternion = new Quaternion();
var initialScaleVector3 = new Vector3();
if ( rawTracks["transform"] != null ) rawTracks["transform"].decompose( initialPositionVector3, initialRotationQuaternion, initialScaleVector3 );
var initialPosition = initialPositionVector3.toArray();
var initialRotation = new Euler().setFromQuaternion( initialRotationQuaternion, rawTracks["eulerOrder"] ).toArray();
var initialScale = initialScaleVector3.toArray();
if ( rawTracks["T"] != null && rawTracks["T"]["curves"].keys.length > 0 ) {
var positionTrack = this.generateVectorTrack( rawTracks["modelName"], rawTracks["T"]["curves"], initialPosition, 'position' );
if ( positionTrack != null ) tracks.add( positionTrack );
}
if ( rawTracks["R"] != null && rawTracks["R"]["curves"].keys.length > 0 ) {
var rotationTrack = this.generateRotationTrack( rawTracks["modelName"], rawTracks["R"]["curves"], initialRotation, rawTracks["preRotation"], rawTracks["postRotation"], rawTracks["eulerOrder"] );
if ( rotationTrack != null ) tracks.add( rotationTrack );
}
if ( rawTracks["S"] != null && rawTracks["S"]["curves"].keys.length > 0 ) {
var scaleTrack = this.generateVectorTrack( rawTracks["modelName"], rawTracks["S"]["curves"], initialScale, 'scale' );
if ( scaleTrack != null ) tracks.add( scaleTrack );
}
if ( rawTracks["DeformPercent"] != null ) {
var morphTrack = this.generateMorphTrack( rawTracks );
if ( morphTrack != null ) tracks.add( morphTrack );
}
return tracks;
}