add( object, params = {} ) {

			if ( object.isSkinnedMesh ) {

				this._addMesh( object, params );

			} else if ( object.isCamera ) {

				this._setupCamera( object, params );

			} else if ( object.type === 'Audio' ) {

				this._setupAudio( object, params );

			} else {

				throw new Error( 'THREE.MMDAnimationHelper.add: ' + 'accepts only ' + 'THREE.SkinnedMesh or ' + 'THREE.Camera or ' + 'THREE.Audio instance.' );

			}

			if ( this.configuration.sync ) this._syncDuration();
			return this;

		}
Adds an Three.js Object to helper and setups animation.
The anmation durations of added objects are synched
if this.configuration.sync is true.

@param {THREE.SkinnedMesh|THREE.Camera|THREE.Audio} object
@param {Object} params - (optional)
@param {THREE.AnimationClip|Array<THREE.AnimationClip>} params.animation - Only for THREE.SkinnedMesh and THREE.Camera. Default is undefined.
@param {boolean} params.physics - Only for THREE.SkinnedMesh. Default is true.
@param {Integer} params.warmup - Only for THREE.SkinnedMesh and physics is true. Default is 60.
@param {Number} params.unitStep - Only for THREE.SkinnedMesh and physics is true. Default is 1 / 65.
@param {Integer} params.maxStepNum - Only for THREE.SkinnedMesh and physics is true. Default is 3.
@param {Vector3} params.gravity - Only for THREE.SkinnedMesh and physics is true. Default ( 0, - 9.8 * 10, 0 ).
@param {Number} params.delayTime - Only for THREE.Audio. Default is 0.0.
@return {MMDAnimationHelper}