|
@@ -91,7 +91,7 @@ if ( Object.assign === undefined ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-const REVISION = '119';
|
|
|
|
|
|
+const REVISION = '120dev';
|
|
const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
|
|
const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
|
|
const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
|
|
const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
|
|
const CullFaceNone = 0;
|
|
const CullFaceNone = 0;
|
|
@@ -6138,12 +6138,6 @@ Scene.prototype = Object.assign( Object.create( Object3D.prototype ), {
|
|
|
|
|
|
return data;
|
|
return data;
|
|
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- dispose: function () {
|
|
|
|
-
|
|
|
|
- this.dispatchEvent( { type: 'dispose' } );
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
} );
|
|
} );
|
|
@@ -19486,16 +19480,6 @@ function WebGLRenderLists( properties ) {
|
|
|
|
|
|
let lists = new WeakMap();
|
|
let lists = new WeakMap();
|
|
|
|
|
|
- function onSceneDispose( event ) {
|
|
|
|
-
|
|
|
|
- const scene = event.target;
|
|
|
|
-
|
|
|
|
- scene.removeEventListener( 'dispose', onSceneDispose );
|
|
|
|
-
|
|
|
|
- lists.delete( scene );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
function get( scene, camera ) {
|
|
function get( scene, camera ) {
|
|
|
|
|
|
const cameras = lists.get( scene );
|
|
const cameras = lists.get( scene );
|
|
@@ -19507,8 +19491,6 @@ function WebGLRenderLists( properties ) {
|
|
lists.set( scene, new WeakMap() );
|
|
lists.set( scene, new WeakMap() );
|
|
lists.get( scene ).set( camera, list );
|
|
lists.get( scene ).set( camera, list );
|
|
|
|
|
|
- scene.addEventListener( 'dispose', onSceneDispose );
|
|
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
list = cameras.get( camera );
|
|
list = cameras.get( camera );
|
|
@@ -20045,16 +20027,6 @@ function WebGLRenderStates() {
|
|
|
|
|
|
let renderStates = new WeakMap();
|
|
let renderStates = new WeakMap();
|
|
|
|
|
|
- function onSceneDispose( event ) {
|
|
|
|
-
|
|
|
|
- const scene = event.target;
|
|
|
|
-
|
|
|
|
- scene.removeEventListener( 'dispose', onSceneDispose );
|
|
|
|
-
|
|
|
|
- renderStates.delete( scene );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
function get( scene, camera ) {
|
|
function get( scene, camera ) {
|
|
|
|
|
|
let renderState;
|
|
let renderState;
|
|
@@ -20065,8 +20037,6 @@ function WebGLRenderStates() {
|
|
renderStates.set( scene, new WeakMap() );
|
|
renderStates.set( scene, new WeakMap() );
|
|
renderStates.get( scene ).set( camera, renderState );
|
|
renderStates.get( scene ).set( camera, renderState );
|
|
|
|
|
|
- scene.addEventListener( 'dispose', onSceneDispose );
|
|
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
if ( renderStates.get( scene ).has( camera ) === false ) {
|
|
if ( renderStates.get( scene ).has( camera ) === false ) {
|
|
@@ -44445,93 +44415,93 @@ Object.assign( AnimationObjectGroup.prototype, {
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|
|
-function AnimationAction( mixer, clip, localRoot, blendMode ) {
|
|
|
|
|
|
+class AnimationAction {
|
|
|
|
|
|
- this._mixer = mixer;
|
|
|
|
- this._clip = clip;
|
|
|
|
- this._localRoot = localRoot || null;
|
|
|
|
- this.blendMode = blendMode || clip.blendMode;
|
|
|
|
|
|
+ constructor( mixer, clip, localRoot, blendMode ) {
|
|
|
|
|
|
- const tracks = clip.tracks,
|
|
|
|
- nTracks = tracks.length,
|
|
|
|
- interpolants = new Array( nTracks );
|
|
|
|
|
|
+ this._mixer = mixer;
|
|
|
|
+ this._clip = clip;
|
|
|
|
+ this._localRoot = localRoot || null;
|
|
|
|
+ this.blendMode = blendMode || clip.blendMode;
|
|
|
|
|
|
- const interpolantSettings = {
|
|
|
|
- endingStart: ZeroCurvatureEnding,
|
|
|
|
- endingEnd: ZeroCurvatureEnding
|
|
|
|
- };
|
|
|
|
|
|
+ const tracks = clip.tracks,
|
|
|
|
+ nTracks = tracks.length,
|
|
|
|
+ interpolants = new Array( nTracks );
|
|
|
|
|
|
- for ( let i = 0; i !== nTracks; ++ i ) {
|
|
|
|
|
|
+ const interpolantSettings = {
|
|
|
|
+ endingStart: ZeroCurvatureEnding,
|
|
|
|
+ endingEnd: ZeroCurvatureEnding
|
|
|
|
+ };
|
|
|
|
|
|
- const interpolant = tracks[ i ].createInterpolant( null );
|
|
|
|
- interpolants[ i ] = interpolant;
|
|
|
|
- interpolant.settings = interpolantSettings;
|
|
|
|
|
|
+ for ( let i = 0; i !== nTracks; ++ i ) {
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ const interpolant = tracks[ i ].createInterpolant( null );
|
|
|
|
+ interpolants[ i ] = interpolant;
|
|
|
|
+ interpolant.settings = interpolantSettings;
|
|
|
|
|
|
- this._interpolantSettings = interpolantSettings;
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- this._interpolants = interpolants; // bound by the mixer
|
|
|
|
|
|
+ this._interpolantSettings = interpolantSettings;
|
|
|
|
|
|
- // inside: PropertyMixer (managed by the mixer)
|
|
|
|
- this._propertyBindings = new Array( nTracks );
|
|
|
|
|
|
+ this._interpolants = interpolants; // bound by the mixer
|
|
|
|
|
|
- this._cacheIndex = null; // for the memory manager
|
|
|
|
- this._byClipCacheIndex = null; // for the memory manager
|
|
|
|
|
|
+ // inside: PropertyMixer (managed by the mixer)
|
|
|
|
+ this._propertyBindings = new Array( nTracks );
|
|
|
|
|
|
- this._timeScaleInterpolant = null;
|
|
|
|
- this._weightInterpolant = null;
|
|
|
|
|
|
+ this._cacheIndex = null; // for the memory manager
|
|
|
|
+ this._byClipCacheIndex = null; // for the memory manager
|
|
|
|
|
|
- this.loop = LoopRepeat;
|
|
|
|
- this._loopCount = - 1;
|
|
|
|
|
|
+ this._timeScaleInterpolant = null;
|
|
|
|
+ this._weightInterpolant = null;
|
|
|
|
|
|
- // global mixer time when the action is to be started
|
|
|
|
- // it's set back to 'null' upon start of the action
|
|
|
|
- this._startTime = null;
|
|
|
|
|
|
+ this.loop = LoopRepeat;
|
|
|
|
+ this._loopCount = - 1;
|
|
|
|
|
|
- // scaled local time of the action
|
|
|
|
- // gets clamped or wrapped to 0..clip.duration according to loop
|
|
|
|
- this.time = 0;
|
|
|
|
|
|
+ // global mixer time when the action is to be started
|
|
|
|
+ // it's set back to 'null' upon start of the action
|
|
|
|
+ this._startTime = null;
|
|
|
|
|
|
- this.timeScale = 1;
|
|
|
|
- this._effectiveTimeScale = 1;
|
|
|
|
|
|
+ // scaled local time of the action
|
|
|
|
+ // gets clamped or wrapped to 0..clip.duration according to loop
|
|
|
|
+ this.time = 0;
|
|
|
|
|
|
- this.weight = 1;
|
|
|
|
- this._effectiveWeight = 1;
|
|
|
|
|
|
+ this.timeScale = 1;
|
|
|
|
+ this._effectiveTimeScale = 1;
|
|
|
|
|
|
- this.repetitions = Infinity; // no. of repetitions when looping
|
|
|
|
|
|
+ this.weight = 1;
|
|
|
|
+ this._effectiveWeight = 1;
|
|
|
|
|
|
- this.paused = false; // true -> zero effective time scale
|
|
|
|
- this.enabled = true; // false -> zero effective weight
|
|
|
|
|
|
+ this.repetitions = Infinity; // no. of repetitions when looping
|
|
|
|
|
|
- this.clampWhenFinished = false;// keep feeding the last frame?
|
|
|
|
|
|
+ this.paused = false; // true -> zero effective time scale
|
|
|
|
+ this.enabled = true; // false -> zero effective weight
|
|
|
|
|
|
- this.zeroSlopeAtStart = true;// for smooth interpolation w/o separate
|
|
|
|
- this.zeroSlopeAtEnd = true;// clips for start, loop and end
|
|
|
|
|
|
+ this.clampWhenFinished = false;// keep feeding the last frame?
|
|
|
|
|
|
-}
|
|
|
|
|
|
+ this.zeroSlopeAtStart = true;// for smooth interpolation w/o separate
|
|
|
|
+ this.zeroSlopeAtEnd = true;// clips for start, loop and end
|
|
|
|
|
|
-Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// State & Scheduling
|
|
// State & Scheduling
|
|
|
|
|
|
- play: function () {
|
|
|
|
|
|
+ play() {
|
|
|
|
|
|
this._mixer._activateAction( this );
|
|
this._mixer._activateAction( this );
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- stop: function () {
|
|
|
|
|
|
+ stop() {
|
|
|
|
|
|
this._mixer._deactivateAction( this );
|
|
this._mixer._deactivateAction( this );
|
|
|
|
|
|
return this.reset();
|
|
return this.reset();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- reset: function () {
|
|
|
|
|
|
+ reset() {
|
|
|
|
|
|
this.paused = false;
|
|
this.paused = false;
|
|
this.enabled = true;
|
|
this.enabled = true;
|
|
@@ -44542,45 +44512,45 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this.stopFading().stopWarping();
|
|
return this.stopFading().stopWarping();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- isRunning: function () {
|
|
|
|
|
|
+ isRunning() {
|
|
|
|
|
|
return this.enabled && ! this.paused && this.timeScale !== 0 &&
|
|
return this.enabled && ! this.paused && this.timeScale !== 0 &&
|
|
this._startTime === null && this._mixer._isActiveAction( this );
|
|
this._startTime === null && this._mixer._isActiveAction( this );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// return true when play has been called
|
|
// return true when play has been called
|
|
- isScheduled: function () {
|
|
|
|
|
|
+ isScheduled() {
|
|
|
|
|
|
return this._mixer._isActiveAction( this );
|
|
return this._mixer._isActiveAction( this );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- startAt: function ( time ) {
|
|
|
|
|
|
+ startAt( time ) {
|
|
|
|
|
|
this._startTime = time;
|
|
this._startTime = time;
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- setLoop: function ( mode, repetitions ) {
|
|
|
|
|
|
+ setLoop( mode, repetitions ) {
|
|
|
|
|
|
this.loop = mode;
|
|
this.loop = mode;
|
|
this.repetitions = repetitions;
|
|
this.repetitions = repetitions;
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// Weight
|
|
// Weight
|
|
|
|
|
|
// set the weight stopping any scheduled fading
|
|
// set the weight stopping any scheduled fading
|
|
// although .enabled = false yields an effective weight of zero, this
|
|
// although .enabled = false yields an effective weight of zero, this
|
|
// method does *not* change .enabled, because it would be confusing
|
|
// method does *not* change .enabled, because it would be confusing
|
|
- setEffectiveWeight: function ( weight ) {
|
|
|
|
|
|
+ setEffectiveWeight( weight ) {
|
|
|
|
|
|
this.weight = weight;
|
|
this.weight = weight;
|
|
|
|
|
|
@@ -44589,28 +44559,28 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this.stopFading();
|
|
return this.stopFading();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// return the weight considering fading and .enabled
|
|
// return the weight considering fading and .enabled
|
|
- getEffectiveWeight: function () {
|
|
|
|
|
|
+ getEffectiveWeight() {
|
|
|
|
|
|
return this._effectiveWeight;
|
|
return this._effectiveWeight;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- fadeIn: function ( duration ) {
|
|
|
|
|
|
+ fadeIn( duration ) {
|
|
|
|
|
|
return this._scheduleFading( duration, 0, 1 );
|
|
return this._scheduleFading( duration, 0, 1 );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- fadeOut: function ( duration ) {
|
|
|
|
|
|
+ fadeOut( duration ) {
|
|
|
|
|
|
return this._scheduleFading( duration, 1, 0 );
|
|
return this._scheduleFading( duration, 1, 0 );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- crossFadeFrom: function ( fadeOutAction, duration, warp ) {
|
|
|
|
|
|
+ crossFadeFrom( fadeOutAction, duration, warp ) {
|
|
|
|
|
|
fadeOutAction.fadeOut( duration );
|
|
fadeOutAction.fadeOut( duration );
|
|
this.fadeIn( duration );
|
|
this.fadeIn( duration );
|
|
@@ -44630,15 +44600,15 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- crossFadeTo: function ( fadeInAction, duration, warp ) {
|
|
|
|
|
|
+ crossFadeTo( fadeInAction, duration, warp ) {
|
|
|
|
|
|
return fadeInAction.crossFadeFrom( this, duration, warp );
|
|
return fadeInAction.crossFadeFrom( this, duration, warp );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- stopFading: function () {
|
|
|
|
|
|
+ stopFading() {
|
|
|
|
|
|
let weightInterpolant = this._weightInterpolant;
|
|
let weightInterpolant = this._weightInterpolant;
|
|
|
|
|
|
@@ -44651,53 +44621,53 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// Time Scale Control
|
|
// Time Scale Control
|
|
|
|
|
|
// set the time scale stopping any scheduled warping
|
|
// set the time scale stopping any scheduled warping
|
|
// although .paused = true yields an effective time scale of zero, this
|
|
// although .paused = true yields an effective time scale of zero, this
|
|
// method does *not* change .paused, because it would be confusing
|
|
// method does *not* change .paused, because it would be confusing
|
|
- setEffectiveTimeScale: function ( timeScale ) {
|
|
|
|
|
|
+ setEffectiveTimeScale( timeScale ) {
|
|
|
|
|
|
this.timeScale = timeScale;
|
|
this.timeScale = timeScale;
|
|
this._effectiveTimeScale = this.paused ? 0 : timeScale;
|
|
this._effectiveTimeScale = this.paused ? 0 : timeScale;
|
|
|
|
|
|
return this.stopWarping();
|
|
return this.stopWarping();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// return the time scale considering warping and .paused
|
|
// return the time scale considering warping and .paused
|
|
- getEffectiveTimeScale: function () {
|
|
|
|
|
|
+ getEffectiveTimeScale() {
|
|
|
|
|
|
return this._effectiveTimeScale;
|
|
return this._effectiveTimeScale;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- setDuration: function ( duration ) {
|
|
|
|
|
|
+ setDuration( duration ) {
|
|
|
|
|
|
this.timeScale = this._clip.duration / duration;
|
|
this.timeScale = this._clip.duration / duration;
|
|
|
|
|
|
return this.stopWarping();
|
|
return this.stopWarping();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- syncWith: function ( action ) {
|
|
|
|
|
|
+ syncWith( action ) {
|
|
|
|
|
|
this.time = action.time;
|
|
this.time = action.time;
|
|
this.timeScale = action.timeScale;
|
|
this.timeScale = action.timeScale;
|
|
|
|
|
|
return this.stopWarping();
|
|
return this.stopWarping();
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- halt: function ( duration ) {
|
|
|
|
|
|
+ halt( duration ) {
|
|
|
|
|
|
return this.warp( this._effectiveTimeScale, 0, duration );
|
|
return this.warp( this._effectiveTimeScale, 0, duration );
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- warp: function ( startTimeScale, endTimeScale, duration ) {
|
|
|
|
|
|
+ warp( startTimeScale, endTimeScale, duration ) {
|
|
|
|
|
|
const mixer = this._mixer,
|
|
const mixer = this._mixer,
|
|
now = mixer.time,
|
|
now = mixer.time,
|
|
@@ -44723,9 +44693,9 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- stopWarping: function () {
|
|
|
|
|
|
+ stopWarping() {
|
|
|
|
|
|
let timeScaleInterpolant = this._timeScaleInterpolant;
|
|
let timeScaleInterpolant = this._timeScaleInterpolant;
|
|
|
|
|
|
@@ -44738,31 +44708,31 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return this;
|
|
return this;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// Object Accessors
|
|
// Object Accessors
|
|
|
|
|
|
- getMixer: function () {
|
|
|
|
|
|
+ getMixer() {
|
|
|
|
|
|
return this._mixer;
|
|
return this._mixer;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- getClip: function () {
|
|
|
|
|
|
+ getClip() {
|
|
|
|
|
|
return this._clip;
|
|
return this._clip;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- getRoot: function () {
|
|
|
|
|
|
+ getRoot() {
|
|
|
|
|
|
return this._localRoot || this._mixer._root;
|
|
return this._localRoot || this._mixer._root;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// Interna
|
|
// Interna
|
|
|
|
|
|
- _update: function ( time, deltaTime, timeDirection, accuIndex ) {
|
|
|
|
|
|
+ _update( time, deltaTime, timeDirection, accuIndex ) {
|
|
|
|
|
|
// called by the mixer
|
|
// called by the mixer
|
|
|
|
|
|
@@ -44837,9 +44807,9 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- _updateWeight: function ( time ) {
|
|
|
|
|
|
+ _updateWeight( time ) {
|
|
|
|
|
|
let weight = 0;
|
|
let weight = 0;
|
|
|
|
|
|
@@ -44874,9 +44844,9 @@ Object.assign( AnimationAction.prototype, {
|
|
this._effectiveWeight = weight;
|
|
this._effectiveWeight = weight;
|
|
return weight;
|
|
return weight;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- _updateTimeScale: function ( time ) {
|
|
|
|
|
|
+ _updateTimeScale( time ) {
|
|
|
|
|
|
let timeScale = 0;
|
|
let timeScale = 0;
|
|
|
|
|
|
@@ -44917,9 +44887,9 @@ Object.assign( AnimationAction.prototype, {
|
|
this._effectiveTimeScale = timeScale;
|
|
this._effectiveTimeScale = timeScale;
|
|
return timeScale;
|
|
return timeScale;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- _updateTime: function ( deltaTime ) {
|
|
|
|
|
|
+ _updateTime( deltaTime ) {
|
|
|
|
|
|
const duration = this._clip.duration;
|
|
const duration = this._clip.duration;
|
|
const loop = this.loop;
|
|
const loop = this.loop;
|
|
@@ -45074,9 +45044,9 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
return time;
|
|
return time;
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- _setEndings: function ( atStart, atEnd, pingPong ) {
|
|
|
|
|
|
+ _setEndings( atStart, atEnd, pingPong ) {
|
|
|
|
|
|
const settings = this._interpolantSettings;
|
|
const settings = this._interpolantSettings;
|
|
|
|
|
|
@@ -45111,9 +45081,9 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- _scheduleFading: function ( duration, weightNow, weightThen ) {
|
|
|
|
|
|
+ _scheduleFading( duration, weightNow, weightThen ) {
|
|
|
|
|
|
const mixer = this._mixer, now = mixer.time;
|
|
const mixer = this._mixer, now = mixer.time;
|
|
let interpolant = this._weightInterpolant;
|
|
let interpolant = this._weightInterpolant;
|
|
@@ -45137,7 +45107,7 @@ Object.assign( AnimationAction.prototype, {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-} );
|
|
|
|
|
|
+}
|
|
|
|
|
|
function AnimationMixer( root ) {
|
|
function AnimationMixer( root ) {
|
|
|
|
|
|
@@ -50003,6 +49973,18 @@ Object.assign( ExtrudeBufferGeometry.prototype, {
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
|
|
+Object.assign( Scene.prototype, {
|
|
|
|
+
|
|
|
|
+ dispose: function () {
|
|
|
|
+
|
|
|
|
+ console.error( 'THREE.Scene: .dispose() has been removed.' );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+} );
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+
|
|
Object.defineProperties( Uniform.prototype, {
|
|
Object.defineProperties( Uniform.prototype, {
|
|
|
|
|
|
dynamic: {
|
|
dynamic: {
|