@galacean/engine-core 1.0.0-beta.12 → 1.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +291 -162
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +291 -162
- package/dist/module.js +291 -162
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/Engine.d.ts +2 -0
- package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
- package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
- package/types/animation/Animator.d.ts +3 -1
- package/types/animation/enums/LayerState.d.ts +3 -1
- package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +0 -1
- package/types/utils/BoolUpdateFlag.d.ts +0 -12
- package/types/utils/DisorderedArray.d.ts +0 -18
- package/types/utils/UpdateFlag.d.ts +0 -20
- package/types/utils/UpdateFlagManager.d.ts +0 -1
- package/types/utils/Utils.d.ts +0 -31
package/dist/module.js
CHANGED
|
@@ -2302,29 +2302,7 @@ var /** @internal */ PromiseState;
|
|
|
2302
2302
|
* @remarks The release principle is that it is not referenced by the components, including direct and indirect reference.
|
|
2303
2303
|
*/ _proto.gc = function gc() {
|
|
2304
2304
|
this._gc(false);
|
|
2305
|
-
|
|
2306
|
-
engine._renderElementPool.garbageCollection();
|
|
2307
|
-
engine._meshRenderDataPool.garbageCollection();
|
|
2308
|
-
engine._spriteRenderDataPool.garbageCollection();
|
|
2309
|
-
engine._spriteMaskRenderDataPool.garbageCollection();
|
|
2310
|
-
engine._textRenderDataPool.garbageCollection();
|
|
2311
|
-
var _componentsManager = engine._componentsManager, _lightManager = engine._lightManager;
|
|
2312
|
-
_componentsManager._renderers.garbageCollection();
|
|
2313
|
-
// @ts-ignore
|
|
2314
|
-
_componentsManager._onStartScripts.garbageCollection();
|
|
2315
|
-
// @ts-ignore
|
|
2316
|
-
_componentsManager._onUpdateScripts.garbageCollection();
|
|
2317
|
-
// @ts-ignore
|
|
2318
|
-
_componentsManager._onLateUpdateScripts.garbageCollection();
|
|
2319
|
-
// @ts-ignore
|
|
2320
|
-
_componentsManager._onPhysicsUpdateScripts.garbageCollection();
|
|
2321
|
-
// @ts-ignore
|
|
2322
|
-
_componentsManager._onUpdateAnimations.garbageCollection();
|
|
2323
|
-
// @ts-ignore
|
|
2324
|
-
_componentsManager._onUpdateRenderers.garbageCollection();
|
|
2325
|
-
_lightManager._spotLights.garbageCollection();
|
|
2326
|
-
_lightManager._pointLights.garbageCollection();
|
|
2327
|
-
_lightManager._directLights.garbageCollection();
|
|
2305
|
+
this.engine._pendingGC();
|
|
2328
2306
|
};
|
|
2329
2307
|
/**
|
|
2330
2308
|
* Add content restorer.
|
|
@@ -3250,6 +3228,17 @@ var GLCapabilityType;
|
|
|
3250
3228
|
componentContainer.length = 0;
|
|
3251
3229
|
this._componentsContainerPool.push(componentContainer);
|
|
3252
3230
|
};
|
|
3231
|
+
/**
|
|
3232
|
+
* @internal
|
|
3233
|
+
*/ _proto._gc = function _gc() {
|
|
3234
|
+
this._renderers.garbageCollection();
|
|
3235
|
+
this._onStartScripts.garbageCollection();
|
|
3236
|
+
this._onUpdateScripts.garbageCollection();
|
|
3237
|
+
this._onLateUpdateScripts.garbageCollection();
|
|
3238
|
+
this._onPhysicsUpdateScripts.garbageCollection();
|
|
3239
|
+
this._onUpdateAnimations.garbageCollection();
|
|
3240
|
+
this._onUpdateRenderers.garbageCollection();
|
|
3241
|
+
};
|
|
3253
3242
|
return ComponentsManager;
|
|
3254
3243
|
}();
|
|
3255
3244
|
|
|
@@ -5881,6 +5870,11 @@ var Collision = function Collision() {
|
|
|
5881
5870
|
elements[i]._onLateUpdate();
|
|
5882
5871
|
}
|
|
5883
5872
|
};
|
|
5873
|
+
/**
|
|
5874
|
+
* @internal
|
|
5875
|
+
*/ _proto._gc = function _gc() {
|
|
5876
|
+
this._colliders.garbageCollection();
|
|
5877
|
+
};
|
|
5884
5878
|
_proto._setGravity = function _setGravity() {
|
|
5885
5879
|
this._nativePhysicsManager.setGravity(this._gravity);
|
|
5886
5880
|
};
|
|
@@ -8458,6 +8452,13 @@ __decorate([
|
|
|
8458
8452
|
shaderData.disableMacro("SCENE_SPOT_LIGHT_COUNT");
|
|
8459
8453
|
}
|
|
8460
8454
|
};
|
|
8455
|
+
/**
|
|
8456
|
+
* @internal
|
|
8457
|
+
*/ _proto._gc = function _gc() {
|
|
8458
|
+
this._spotLights.garbageCollection();
|
|
8459
|
+
this._pointLights.garbageCollection();
|
|
8460
|
+
this._directLights.garbageCollection();
|
|
8461
|
+
};
|
|
8461
8462
|
return LightManager;
|
|
8462
8463
|
}();
|
|
8463
8464
|
|
|
@@ -16907,6 +16908,7 @@ ShaderPool.init();
|
|
|
16907
16908
|
_this._frameInProcess = false;
|
|
16908
16909
|
_this._waitingDestroy = false;
|
|
16909
16910
|
_this._isDeviceLost = false;
|
|
16911
|
+
_this._waitingGC = false;
|
|
16910
16912
|
_this._animate = function() {
|
|
16911
16913
|
if (_this._vSyncCount) {
|
|
16912
16914
|
_this._requestId = requestAnimationFrame(_this._animate);
|
|
@@ -17010,6 +17012,10 @@ ShaderPool.init();
|
|
|
17010
17012
|
if (this._waitingDestroy) {
|
|
17011
17013
|
this._destroy();
|
|
17012
17014
|
}
|
|
17015
|
+
if (this._waitingGC) {
|
|
17016
|
+
this._gc();
|
|
17017
|
+
this._waitingGC = false;
|
|
17018
|
+
}
|
|
17013
17019
|
this._frameInProcess = false;
|
|
17014
17020
|
};
|
|
17015
17021
|
/**
|
|
@@ -17168,6 +17174,15 @@ ShaderPool.init();
|
|
|
17168
17174
|
};
|
|
17169
17175
|
/**
|
|
17170
17176
|
* @internal
|
|
17177
|
+
*/ _proto._pendingGC = function _pendingGC() {
|
|
17178
|
+
if (this._frameInProcess) {
|
|
17179
|
+
this._waitingGC = true;
|
|
17180
|
+
} else {
|
|
17181
|
+
this._gc();
|
|
17182
|
+
}
|
|
17183
|
+
};
|
|
17184
|
+
/**
|
|
17185
|
+
* @internal
|
|
17171
17186
|
*/ _proto._initialize = function _initialize(configuration) {
|
|
17172
17187
|
var _this = this;
|
|
17173
17188
|
var physics = configuration.physics;
|
|
@@ -17230,6 +17245,16 @@ ShaderPool.init();
|
|
|
17230
17245
|
console.error(error);
|
|
17231
17246
|
});
|
|
17232
17247
|
};
|
|
17248
|
+
_proto._gc = function _gc() {
|
|
17249
|
+
this._renderElementPool.garbageCollection();
|
|
17250
|
+
this._meshRenderDataPool.garbageCollection();
|
|
17251
|
+
this._spriteRenderDataPool.garbageCollection();
|
|
17252
|
+
this._spriteMaskRenderDataPool.garbageCollection();
|
|
17253
|
+
this._textRenderDataPool.garbageCollection();
|
|
17254
|
+
this._componentsManager._gc();
|
|
17255
|
+
this._lightManager._gc();
|
|
17256
|
+
this.physicsManager._gc();
|
|
17257
|
+
};
|
|
17233
17258
|
_create_class(Engine, [
|
|
17234
17259
|
{
|
|
17235
17260
|
key: "settings",
|
|
@@ -22645,7 +22670,6 @@ var DirtyFlag;
|
|
|
22645
22670
|
* @internal
|
|
22646
22671
|
*/ var AnimationCurveOwner = /*#__PURE__*/ function() {
|
|
22647
22672
|
function AnimationCurveOwner(target, type, property, cureType) {
|
|
22648
|
-
this.hasSavedDefaultValue = false;
|
|
22649
22673
|
this.baseEvaluateData = {
|
|
22650
22674
|
curKeyframeIndex: 0,
|
|
22651
22675
|
value: null
|
|
@@ -22658,7 +22682,7 @@ var DirtyFlag;
|
|
|
22658
22682
|
this.type = type;
|
|
22659
22683
|
this.property = property;
|
|
22660
22684
|
this.component = target.getComponent(type);
|
|
22661
|
-
this.
|
|
22685
|
+
this.cureType = cureType;
|
|
22662
22686
|
var assemblerType = AnimationCurveOwner.getAssemblerType(type, property);
|
|
22663
22687
|
this._assembler = new assemblerType();
|
|
22664
22688
|
this._assembler.initialize(this);
|
|
@@ -22667,89 +22691,80 @@ var DirtyFlag;
|
|
|
22667
22691
|
}
|
|
22668
22692
|
}
|
|
22669
22693
|
var _proto = AnimationCurveOwner.prototype;
|
|
22670
|
-
_proto.
|
|
22671
|
-
|
|
22672
|
-
if (additive) {
|
|
22673
|
-
var value = curve._evaluateAdditive(time, this.baseEvaluateData);
|
|
22674
|
-
var cureType = this._cureType;
|
|
22675
|
-
if (cureType._isReferenceType) {
|
|
22676
|
-
cureType._additiveValue(value, layerWeight, this.referenceTargetValue);
|
|
22677
|
-
} else {
|
|
22678
|
-
var assembler = this._assembler;
|
|
22679
|
-
var originValue = assembler.getTargetValue();
|
|
22680
|
-
var additiveValue = cureType._additiveValue(value, layerWeight, originValue);
|
|
22681
|
-
assembler.setTargetValue(additiveValue);
|
|
22682
|
-
}
|
|
22683
|
-
} else {
|
|
22684
|
-
var value1 = curve._evaluate(time, this.baseEvaluateData);
|
|
22685
|
-
this._applyValue(value1, layerWeight);
|
|
22686
|
-
}
|
|
22687
|
-
}
|
|
22694
|
+
_proto.evaluateValue = function evaluateValue(curve, time, additive) {
|
|
22695
|
+
return additive ? curve._evaluateAdditive(time, this.baseEvaluateData) : curve._evaluate(time, this.baseEvaluateData);
|
|
22688
22696
|
};
|
|
22689
|
-
_proto.
|
|
22690
|
-
var srcValue = srcCurve && srcCurve.keys.length ? additive ? srcCurve._evaluateAdditive(srcTime, this.baseEvaluateData) : srcCurve._evaluate(srcTime, this.baseEvaluateData) : additive ? this.
|
|
22691
|
-
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.
|
|
22692
|
-
this.
|
|
22697
|
+
_proto.evaluateCrossFadeValue = function evaluateCrossFadeValue(srcCurve, destCurve, srcTime, destTime, crossWeight, additive) {
|
|
22698
|
+
var srcValue = srcCurve && srcCurve.keys.length ? additive ? srcCurve._evaluateAdditive(srcTime, this.baseEvaluateData) : srcCurve._evaluate(srcTime, this.baseEvaluateData) : additive ? this.cureType._getZeroValue(this.baseEvaluateData.value) : this.defaultValue;
|
|
22699
|
+
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.cureType._getZeroValue(this.crossEvaluateData.value) : this.defaultValue;
|
|
22700
|
+
return this._lerpValue(srcValue, destValue, crossWeight);
|
|
22693
22701
|
};
|
|
22694
|
-
_proto.crossFadeFromPoseAndApplyValue = function crossFadeFromPoseAndApplyValue(destCurve, destTime, crossWeight,
|
|
22695
|
-
var srcValue = additive ? this.
|
|
22696
|
-
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.
|
|
22697
|
-
this.
|
|
22702
|
+
_proto.crossFadeFromPoseAndApplyValue = function crossFadeFromPoseAndApplyValue(destCurve, destTime, crossWeight, additive) {
|
|
22703
|
+
var srcValue = additive ? this.cureType._subtractValue(this.fixedPoseValue, this.defaultValue, this.baseEvaluateData.value) : this.fixedPoseValue;
|
|
22704
|
+
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.cureType._getZeroValue(this.crossEvaluateData.value) : this.defaultValue;
|
|
22705
|
+
return this._lerpValue(srcValue, destValue, crossWeight);
|
|
22698
22706
|
};
|
|
22699
22707
|
_proto.revertDefaultValue = function revertDefaultValue() {
|
|
22700
22708
|
this._assembler.setTargetValue(this.defaultValue);
|
|
22701
22709
|
};
|
|
22710
|
+
_proto.getEvaluateValue = function getEvaluateValue(out) {
|
|
22711
|
+
if (this.cureType._isReferenceType) {
|
|
22712
|
+
this.cureType._copyValue(this.baseEvaluateData.value, out);
|
|
22713
|
+
return out;
|
|
22714
|
+
} else {
|
|
22715
|
+
return this.baseEvaluateData.value;
|
|
22716
|
+
}
|
|
22717
|
+
};
|
|
22702
22718
|
_proto.saveDefaultValue = function saveDefaultValue() {
|
|
22703
|
-
if (this.
|
|
22704
|
-
this.
|
|
22719
|
+
if (this.cureType._isReferenceType) {
|
|
22720
|
+
this.cureType._copyValue(this.referenceTargetValue, this.defaultValue);
|
|
22705
22721
|
} else {
|
|
22706
22722
|
this.defaultValue = this._assembler.getTargetValue();
|
|
22707
22723
|
}
|
|
22708
|
-
this.hasSavedDefaultValue = true;
|
|
22709
22724
|
};
|
|
22710
22725
|
_proto.saveFixedPoseValue = function saveFixedPoseValue() {
|
|
22711
|
-
if (this.
|
|
22712
|
-
this.
|
|
22726
|
+
if (this.cureType._isReferenceType) {
|
|
22727
|
+
this.cureType._copyValue(this.referenceTargetValue, this.fixedPoseValue);
|
|
22713
22728
|
} else {
|
|
22714
22729
|
this.fixedPoseValue = this._assembler.getTargetValue();
|
|
22715
22730
|
}
|
|
22716
22731
|
};
|
|
22717
|
-
_proto.
|
|
22718
|
-
|
|
22719
|
-
|
|
22720
|
-
|
|
22732
|
+
_proto.applyValue = function applyValue(value, weight, additive) {
|
|
22733
|
+
var cureType = this.cureType;
|
|
22734
|
+
if (additive) {
|
|
22735
|
+
if (cureType._isReferenceType) {
|
|
22736
|
+
cureType._additiveValue(value, weight, this.referenceTargetValue);
|
|
22721
22737
|
} else {
|
|
22722
|
-
this._assembler
|
|
22738
|
+
var assembler = this._assembler;
|
|
22739
|
+
var originValue = assembler.getTargetValue();
|
|
22740
|
+
var additiveValue = cureType._additiveValue(value, weight, originValue);
|
|
22741
|
+
assembler.setTargetValue(additiveValue);
|
|
22723
22742
|
}
|
|
22724
22743
|
} else {
|
|
22725
|
-
if (
|
|
22726
|
-
|
|
22727
|
-
|
|
22744
|
+
if (weight === 1.0) {
|
|
22745
|
+
if (cureType._isReferenceType) {
|
|
22746
|
+
cureType._copyValue(value, this.referenceTargetValue);
|
|
22747
|
+
} else {
|
|
22748
|
+
this._assembler.setTargetValue(value);
|
|
22749
|
+
}
|
|
22728
22750
|
} else {
|
|
22729
|
-
|
|
22730
|
-
|
|
22731
|
-
|
|
22751
|
+
if (cureType._isReferenceType) {
|
|
22752
|
+
var targetValue = this.referenceTargetValue;
|
|
22753
|
+
cureType._lerpValue(targetValue, value, weight, targetValue);
|
|
22754
|
+
} else {
|
|
22755
|
+
var originValue1 = this._assembler.getTargetValue();
|
|
22756
|
+
var lerpValue = cureType._lerpValue(originValue1, value, weight);
|
|
22757
|
+
this._assembler.setTargetValue(lerpValue);
|
|
22758
|
+
}
|
|
22732
22759
|
}
|
|
22733
22760
|
}
|
|
22734
22761
|
};
|
|
22735
|
-
_proto.
|
|
22736
|
-
|
|
22737
|
-
|
|
22738
|
-
out = this.baseEvaluateData.value;
|
|
22739
|
-
this._cureType._lerpValue(srcValue, destValue, crossWeight, out);
|
|
22740
|
-
} else {
|
|
22741
|
-
out = this._cureType._lerpValue(srcValue, destValue, crossWeight);
|
|
22742
|
-
}
|
|
22743
|
-
if (additive) {
|
|
22744
|
-
if (this._cureType._isReferenceType) {
|
|
22745
|
-
this._cureType._additiveValue(out, layerWeight, this.referenceTargetValue);
|
|
22746
|
-
} else {
|
|
22747
|
-
var originValue = this._assembler.getTargetValue();
|
|
22748
|
-
var lerpValue = this._cureType._additiveValue(out, layerWeight, originValue);
|
|
22749
|
-
this._assembler.setTargetValue(lerpValue);
|
|
22750
|
-
}
|
|
22762
|
+
_proto._lerpValue = function _lerpValue(srcValue, destValue, crossWeight) {
|
|
22763
|
+
if (this.cureType._isReferenceType) {
|
|
22764
|
+
return this.cureType._lerpValue(srcValue, destValue, crossWeight, this.baseEvaluateData.value);
|
|
22751
22765
|
} else {
|
|
22752
|
-
this.
|
|
22766
|
+
this.baseEvaluateData.value = this.cureType._lerpValue(srcValue, destValue, crossWeight);
|
|
22767
|
+
return this.baseEvaluateData.value;
|
|
22753
22768
|
}
|
|
22754
22769
|
};
|
|
22755
22770
|
AnimationCurveOwner.registerAssembler = function registerAssembler(componentType, property, assemblerType) {
|
|
@@ -22845,9 +22860,24 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
22845
22860
|
|
|
22846
22861
|
/**
|
|
22847
22862
|
* @internal
|
|
22848
|
-
*/ var AnimationCurveLayerOwner = function
|
|
22849
|
-
|
|
22850
|
-
|
|
22863
|
+
*/ var AnimationCurveLayerOwner = /*#__PURE__*/ function() {
|
|
22864
|
+
function AnimationCurveLayerOwner() {
|
|
22865
|
+
this.crossCurveMark = 0;
|
|
22866
|
+
}
|
|
22867
|
+
var _proto = AnimationCurveLayerOwner.prototype;
|
|
22868
|
+
_proto.initFinalValue = function initFinalValue() {
|
|
22869
|
+
var _this_curveOwner = this.curveOwner, cureType = _this_curveOwner.cureType, defaultValue = _this_curveOwner.defaultValue;
|
|
22870
|
+
if (cureType._isReferenceType) {
|
|
22871
|
+
cureType._copyValue(defaultValue, this.finalValue);
|
|
22872
|
+
} else {
|
|
22873
|
+
this.finalValue = defaultValue;
|
|
22874
|
+
}
|
|
22875
|
+
};
|
|
22876
|
+
_proto.saveFinalValue = function saveFinalValue() {
|
|
22877
|
+
this.finalValue = this.curveOwner.getEvaluateValue(this.finalValue);
|
|
22878
|
+
};
|
|
22879
|
+
return AnimationCurveLayerOwner;
|
|
22880
|
+
}();
|
|
22851
22881
|
|
|
22852
22882
|
/**
|
|
22853
22883
|
* Associate AnimationCurve and the Entity
|
|
@@ -22862,13 +22892,18 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
22862
22892
|
var curveType = this.curve.constructor;
|
|
22863
22893
|
var owner = new AnimationCurveOwner(entity, this.type, this.property, curveType);
|
|
22864
22894
|
curveType._initializeOwner(owner);
|
|
22895
|
+
owner.saveDefaultValue();
|
|
22865
22896
|
return owner;
|
|
22866
22897
|
};
|
|
22867
22898
|
/**
|
|
22868
22899
|
* @internal
|
|
22869
22900
|
*/ _proto._createCurveLayerOwner = function _createCurveLayerOwner(owner) {
|
|
22901
|
+
var curveType = this.curve.constructor;
|
|
22870
22902
|
var layerOwner = new AnimationCurveLayerOwner();
|
|
22871
22903
|
layerOwner.curveOwner = owner;
|
|
22904
|
+
curveType._initializeLayerOwner(layerOwner);
|
|
22905
|
+
// If curve.keys.length is 0, updateFinishedState will assign 0 to the target, causing an error, so initialize by assigning defaultValue to finalValue.
|
|
22906
|
+
layerOwner.initFinalValue();
|
|
22872
22907
|
return layerOwner;
|
|
22873
22908
|
};
|
|
22874
22909
|
/**
|
|
@@ -22956,7 +22991,8 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
22956
22991
|
var targetEntity = entity.findByPath(curveData.relativePath);
|
|
22957
22992
|
if (targetEntity) {
|
|
22958
22993
|
var curveOwner = curveData._getTempCurveOwner(targetEntity);
|
|
22959
|
-
curveOwner.
|
|
22994
|
+
var value = curveOwner.evaluateValue(curveData.curve, time, false);
|
|
22995
|
+
curveOwner.applyValue(value, 1, false);
|
|
22960
22996
|
}
|
|
22961
22997
|
}
|
|
22962
22998
|
};
|
|
@@ -23100,6 +23136,7 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
23100
23136
|
break;
|
|
23101
23137
|
}
|
|
23102
23138
|
}
|
|
23139
|
+
evaluateData.value = value;
|
|
23103
23140
|
return value;
|
|
23104
23141
|
};
|
|
23105
23142
|
/**
|
|
@@ -23156,6 +23193,11 @@ var AnimationArrayCurve = (_AnimationArrayCurve = /*#__PURE__*/ function(Animati
|
|
|
23156
23193
|
};
|
|
23157
23194
|
/**
|
|
23158
23195
|
* @internal
|
|
23196
|
+
*/ AnimationArrayCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23197
|
+
owner.finalValue = [];
|
|
23198
|
+
};
|
|
23199
|
+
/**
|
|
23200
|
+
* @internal
|
|
23159
23201
|
*/ AnimationArrayCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23160
23202
|
for(var i = 0, n = out.length; i < n; ++i){
|
|
23161
23203
|
var src = srcValue[i];
|
|
@@ -23246,6 +23288,11 @@ var AnimationBoolCurve = (_AnimationBoolCurve = /*#__PURE__*/ function(Animation
|
|
|
23246
23288
|
};
|
|
23247
23289
|
/**
|
|
23248
23290
|
* @internal
|
|
23291
|
+
*/ AnimationBoolCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23292
|
+
owner.finalValue = false;
|
|
23293
|
+
};
|
|
23294
|
+
/**
|
|
23295
|
+
* @internal
|
|
23249
23296
|
*/ AnimationBoolCurve._lerpValue = function _lerpValue(srcValue, destValue) {
|
|
23250
23297
|
return destValue;
|
|
23251
23298
|
};
|
|
@@ -23303,6 +23350,11 @@ var AnimationColorCurve = (_AnimationColorCurve = /*#__PURE__*/ function(Animati
|
|
|
23303
23350
|
};
|
|
23304
23351
|
/**
|
|
23305
23352
|
* @internal
|
|
23353
|
+
*/ AnimationColorCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23354
|
+
owner.finalValue = new Color$1();
|
|
23355
|
+
};
|
|
23356
|
+
/**
|
|
23357
|
+
* @internal
|
|
23306
23358
|
*/ AnimationColorCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23307
23359
|
Color$1.lerp(srcValue, destValue, weight, out);
|
|
23308
23360
|
return out;
|
|
@@ -23409,6 +23461,12 @@ var AnimationFloatArrayCurve = (_AnimationFloatArrayCurve = /*#__PURE__*/ functi
|
|
|
23409
23461
|
};
|
|
23410
23462
|
/**
|
|
23411
23463
|
* @internal
|
|
23464
|
+
*/ AnimationFloatArrayCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23465
|
+
var size = owner.curveOwner.referenceTargetValue.length;
|
|
23466
|
+
owner.finalValue = new Float32Array(size);
|
|
23467
|
+
};
|
|
23468
|
+
/**
|
|
23469
|
+
* @internal
|
|
23412
23470
|
*/ AnimationFloatArrayCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23413
23471
|
for(var i = 0, n = out.length; i < n; ++i){
|
|
23414
23472
|
var src = srcValue[i];
|
|
@@ -23499,6 +23557,11 @@ var AnimationFloatCurve = (_AnimationFloatCurve = /*#__PURE__*/ function(Animati
|
|
|
23499
23557
|
};
|
|
23500
23558
|
/**
|
|
23501
23559
|
* @internal
|
|
23560
|
+
*/ AnimationFloatCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23561
|
+
owner.finalValue = 0;
|
|
23562
|
+
};
|
|
23563
|
+
/**
|
|
23564
|
+
* @internal
|
|
23502
23565
|
*/ AnimationFloatCurve._lerpValue = function _lerpValue(srcValue, destValue, crossWeight) {
|
|
23503
23566
|
return srcValue + (destValue - srcValue) * crossWeight;
|
|
23504
23567
|
};
|
|
@@ -23568,6 +23631,11 @@ var AnimationQuaternionCurve = (_AnimationQuaternionCurve = /*#__PURE__*/ functi
|
|
|
23568
23631
|
};
|
|
23569
23632
|
/**
|
|
23570
23633
|
* @internal
|
|
23634
|
+
*/ AnimationQuaternionCurve1._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23635
|
+
owner.finalValue = new Quaternion();
|
|
23636
|
+
};
|
|
23637
|
+
/**
|
|
23638
|
+
* @internal
|
|
23571
23639
|
*/ AnimationQuaternionCurve1._lerpValue = function _lerpValue(src, dest, weight, out) {
|
|
23572
23640
|
Quaternion.slerp(src, dest, weight, out);
|
|
23573
23641
|
return out;
|
|
@@ -23672,6 +23740,11 @@ var AnimationVector2Curve = (_AnimationVector2Curve = /*#__PURE__*/ function(Ani
|
|
|
23672
23740
|
};
|
|
23673
23741
|
/**
|
|
23674
23742
|
* @internal
|
|
23743
|
+
*/ AnimationVector2Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23744
|
+
owner.finalValue = new Vector2();
|
|
23745
|
+
};
|
|
23746
|
+
/**
|
|
23747
|
+
* @internal
|
|
23675
23748
|
*/ AnimationVector2Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23676
23749
|
Vector2.lerp(srcValue, destValue, weight, out);
|
|
23677
23750
|
return out;
|
|
@@ -23757,6 +23830,11 @@ var AnimationVector3Curve = (_AnimationVector3Curve = /*#__PURE__*/ function(Ani
|
|
|
23757
23830
|
};
|
|
23758
23831
|
/**
|
|
23759
23832
|
* @internal
|
|
23833
|
+
*/ AnimationVector3Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23834
|
+
owner.finalValue = new Vector3();
|
|
23835
|
+
};
|
|
23836
|
+
/**
|
|
23837
|
+
* @internal
|
|
23760
23838
|
*/ AnimationVector3Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23761
23839
|
Vector3.lerp(srcValue, destValue, weight, out);
|
|
23762
23840
|
return out;
|
|
@@ -23854,6 +23932,11 @@ var AnimationVector4Curve = (_AnimationVector4Curve = /*#__PURE__*/ function(Ani
|
|
|
23854
23932
|
};
|
|
23855
23933
|
/**
|
|
23856
23934
|
* @internal
|
|
23935
|
+
*/ AnimationVector4Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
23936
|
+
owner.finalValue = new Vector4();
|
|
23937
|
+
};
|
|
23938
|
+
/**
|
|
23939
|
+
* @internal
|
|
23857
23940
|
*/ AnimationVector4Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
23858
23941
|
Vector4.lerp(srcValue, destValue, weight, out);
|
|
23859
23942
|
return out;
|
|
@@ -23963,6 +24046,7 @@ var AnimatorLayerBlendingMode;
|
|
|
23963
24046
|
LayerState[LayerState[/** Playing state. */ "Playing"] = 1] = "Playing";
|
|
23964
24047
|
LayerState[LayerState[/** CrossFading state. */ "CrossFading"] = 2] = "CrossFading";
|
|
23965
24048
|
LayerState[LayerState[/** FixedCrossFading state. */ "FixedCrossFading"] = 3] = "FixedCrossFading";
|
|
24049
|
+
LayerState[LayerState[/** Finished state. */ "Finished"] = 4] = "Finished";
|
|
23966
24050
|
})(LayerState || (LayerState = {}));
|
|
23967
24051
|
|
|
23968
24052
|
/**
|
|
@@ -24039,7 +24123,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24039
24123
|
this.layerState = LayerState.Standby;
|
|
24040
24124
|
this.crossCurveMark = 0;
|
|
24041
24125
|
this.manuallyTransition = new AnimatorStateTransition();
|
|
24042
|
-
this.
|
|
24126
|
+
this.crossLayerOwnerCollection = [];
|
|
24043
24127
|
}
|
|
24044
24128
|
var _proto = AnimatorLayerData.prototype;
|
|
24045
24129
|
_proto.switchPlayData = function switchPlayData() {
|
|
@@ -24069,6 +24153,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24069
24153
|
/** The playback speed of the Animator, 1.0 is normal playback speed. */ _this.speed = 1.0;
|
|
24070
24154
|
_this._animatorLayersData = [];
|
|
24071
24155
|
_this._curveOwnerPool = Object.create(null);
|
|
24156
|
+
_this._needRevertCurveOwners = [];
|
|
24072
24157
|
_this._animationEventHandlerPool = new ClassPool(AnimationEventHandler);
|
|
24073
24158
|
_this._tempAnimatorStateInfo = {
|
|
24074
24159
|
layerIndex: -1,
|
|
@@ -24091,7 +24176,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24091
24176
|
this._reset();
|
|
24092
24177
|
}
|
|
24093
24178
|
var stateInfo = this._getAnimatorStateInfo(stateName, layerIndex);
|
|
24094
|
-
var state = stateInfo.state;
|
|
24179
|
+
var state = stateInfo.state, playLayerIndex = stateInfo.layerIndex;
|
|
24095
24180
|
if (!state) {
|
|
24096
24181
|
return;
|
|
24097
24182
|
}
|
|
@@ -24100,8 +24185,8 @@ var AnimatorLayerBlendingMode;
|
|
|
24100
24185
|
return;
|
|
24101
24186
|
}
|
|
24102
24187
|
var animatorLayerData = this._getAnimatorLayerData(stateInfo.layerIndex);
|
|
24103
|
-
var animatorStateData = this._getAnimatorStateData(stateName, state, animatorLayerData);
|
|
24104
|
-
this._preparePlay(animatorLayerData, state
|
|
24188
|
+
var animatorStateData = this._getAnimatorStateData(stateName, state, animatorLayerData, playLayerIndex);
|
|
24189
|
+
this._preparePlay(animatorLayerData, state);
|
|
24105
24190
|
animatorLayerData.layerState = LayerState.Playing;
|
|
24106
24191
|
animatorLayerData.srcPlayData.reset(state, animatorStateData, state._getDuration() * normalizedTimeOffset);
|
|
24107
24192
|
};
|
|
@@ -24152,6 +24237,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24152
24237
|
return;
|
|
24153
24238
|
}
|
|
24154
24239
|
deltaTime *= this.speed;
|
|
24240
|
+
this._revertCurveOwners();
|
|
24155
24241
|
for(var i1 = 0, n1 = animatorController.layers.length; i1 < n1; i1++){
|
|
24156
24242
|
var animatorLayerData = this._getAnimatorLayerData(i1);
|
|
24157
24243
|
if (animatorLayerData.layerState === LayerState.Standby) {
|
|
@@ -24195,10 +24281,11 @@ var AnimatorLayerBlendingMode;
|
|
|
24195
24281
|
var propertyOwners = animationCurveOwners[instanceId];
|
|
24196
24282
|
for(var property in propertyOwners){
|
|
24197
24283
|
var owner = propertyOwners[property];
|
|
24198
|
-
owner.
|
|
24284
|
+
owner.revertDefaultValue();
|
|
24199
24285
|
}
|
|
24200
24286
|
}
|
|
24201
24287
|
this._animatorLayersData.length = 0;
|
|
24288
|
+
this._needRevertCurveOwners.length = 0;
|
|
24202
24289
|
this._curveOwnerPool = {};
|
|
24203
24290
|
this._animationEventHandlerPool.resetPool();
|
|
24204
24291
|
if (this._controllerUpdateFlag) {
|
|
@@ -24226,25 +24313,18 @@ var AnimatorLayerBlendingMode;
|
|
|
24226
24313
|
stateInfo.state = state;
|
|
24227
24314
|
return stateInfo;
|
|
24228
24315
|
};
|
|
24229
|
-
_proto.
|
|
24230
|
-
var curveLayerOwner = stateData.curveLayerOwner;
|
|
24231
|
-
for(var i = curveLayerOwner.length - 1; i >= 0; i--){
|
|
24232
|
-
var _curveLayerOwner_i;
|
|
24233
|
-
(_curveLayerOwner_i = curveLayerOwner[i]) == null ? void 0 : _curveLayerOwner_i.curveOwner.saveDefaultValue();
|
|
24234
|
-
}
|
|
24235
|
-
};
|
|
24236
|
-
_proto._getAnimatorStateData = function _getAnimatorStateData(stateName, animatorState, animatorLayerData) {
|
|
24316
|
+
_proto._getAnimatorStateData = function _getAnimatorStateData(stateName, animatorState, animatorLayerData, layerIndex) {
|
|
24237
24317
|
var animatorStateDataMap = animatorLayerData.animatorStateDataMap;
|
|
24238
24318
|
var animatorStateData = animatorStateDataMap[stateName];
|
|
24239
24319
|
if (!animatorStateData) {
|
|
24240
24320
|
animatorStateData = new AnimatorStateData();
|
|
24241
24321
|
animatorStateDataMap[stateName] = animatorStateData;
|
|
24242
|
-
this._saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData);
|
|
24322
|
+
this._saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData, layerIndex);
|
|
24243
24323
|
this._saveAnimatorEventHandlers(animatorState, animatorStateData);
|
|
24244
24324
|
}
|
|
24245
24325
|
return animatorStateData;
|
|
24246
24326
|
};
|
|
24247
|
-
_proto._saveAnimatorStateData = function _saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData) {
|
|
24327
|
+
_proto._saveAnimatorStateData = function _saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData, layerIndex) {
|
|
24248
24328
|
var _this = this, entity = _this.entity, curveOwnerPool = _this._curveOwnerPool;
|
|
24249
24329
|
var curveLayerOwner = animatorStateData.curveLayerOwner;
|
|
24250
24330
|
var layerCurveOwnerPool = animatorLayerData.curveOwnerPool;
|
|
@@ -24256,9 +24336,22 @@ var AnimatorLayerBlendingMode;
|
|
|
24256
24336
|
var _curveOwnerPool, _instanceId, _propertyOwners, _property, _layerCurveOwnerPool, _instanceId1, _layerPropertyOwners, _property1;
|
|
24257
24337
|
var property = curve.property;
|
|
24258
24338
|
var instanceId = targetEntity.instanceId;
|
|
24339
|
+
var needRevert = false;
|
|
24340
|
+
var baseAnimatorLayerData = this._animatorLayersData[0];
|
|
24341
|
+
var baseLayerCurveOwnerPool = baseAnimatorLayerData.curveOwnerPool;
|
|
24342
|
+
if (this.animatorController.layers[layerIndex].blendingMode === AnimatorLayerBlendingMode.Additive && layerIndex > 0 && !(baseLayerCurveOwnerPool[instanceId] && baseLayerCurveOwnerPool[instanceId][property])) {
|
|
24343
|
+
needRevert = true;
|
|
24344
|
+
}
|
|
24259
24345
|
// Get owner
|
|
24260
24346
|
var propertyOwners = (_curveOwnerPool = curveOwnerPool)[_instanceId = instanceId] || (_curveOwnerPool[_instanceId] = Object.create(null));
|
|
24261
24347
|
var owner = (_propertyOwners = propertyOwners)[_property = property] || (_propertyOwners[_property] = curve._createCurveOwner(targetEntity));
|
|
24348
|
+
//@todo: There is performance waste here, which will be handled together with organizing AnimatorStateData later. The logic is changing from runtime to initialization.
|
|
24349
|
+
if (needRevert) {
|
|
24350
|
+
this._needRevertCurveOwners.push(owner);
|
|
24351
|
+
} else {
|
|
24352
|
+
var index = this._needRevertCurveOwners.indexOf(owner);
|
|
24353
|
+
index > -1 && this._needRevertCurveOwners.splice(index, 1);
|
|
24354
|
+
}
|
|
24262
24355
|
// Get layer owner
|
|
24263
24356
|
var layerPropertyOwners = (_layerCurveOwnerPool = layerCurveOwnerPool)[_instanceId1 = instanceId] || (_layerCurveOwnerPool[_instanceId1] = Object.create(null));
|
|
24264
24357
|
var layerOwner = (_layerPropertyOwners = layerPropertyOwners)[_property1 = property] || (_layerPropertyOwners[_property1] = curve._createCurveLayerOwner(owner));
|
|
@@ -24292,12 +24385,12 @@ var AnimatorLayerBlendingMode;
|
|
|
24292
24385
|
};
|
|
24293
24386
|
_proto._clearCrossData = function _clearCrossData(animatorLayerData) {
|
|
24294
24387
|
animatorLayerData.crossCurveMark++;
|
|
24295
|
-
animatorLayerData.
|
|
24388
|
+
animatorLayerData.crossLayerOwnerCollection.length = 0;
|
|
24296
24389
|
};
|
|
24297
24390
|
_proto._addCrossOwner = function _addCrossOwner(animatorLayerData, layerOwner, curCurveIndex, nextCurveIndex) {
|
|
24298
24391
|
layerOwner.crossSrcCurveIndex = curCurveIndex;
|
|
24299
24392
|
layerOwner.crossDestCurveIndex = nextCurveIndex;
|
|
24300
|
-
animatorLayerData.
|
|
24393
|
+
animatorLayerData.crossLayerOwnerCollection.push(layerOwner);
|
|
24301
24394
|
};
|
|
24302
24395
|
_proto._prepareCrossFading = function _prepareCrossFading(animatorLayerData) {
|
|
24303
24396
|
// Add src cross curve data.
|
|
@@ -24312,10 +24405,10 @@ var AnimatorLayerBlendingMode;
|
|
|
24312
24405
|
this._prepareDestCrossData(animatorLayerData, true);
|
|
24313
24406
|
};
|
|
24314
24407
|
_proto._prepareFixedPoseCrossFading = function _prepareFixedPoseCrossFading(animatorLayerData) {
|
|
24315
|
-
var
|
|
24408
|
+
var crossLayerOwnerCollection = animatorLayerData.crossLayerOwnerCollection;
|
|
24316
24409
|
// Save current cross curve data owner fixed pose.
|
|
24317
|
-
for(var i =
|
|
24318
|
-
var layerOwner =
|
|
24410
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
24411
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
24319
24412
|
if (!layerOwner) continue;
|
|
24320
24413
|
layerOwner.curveOwner.saveFixedPoseValue();
|
|
24321
24414
|
// Reset destCurveIndex When fixed pose crossFading again.
|
|
@@ -24343,7 +24436,6 @@ var AnimatorLayerBlendingMode;
|
|
|
24343
24436
|
layerOwner.crossDestCurveIndex = i;
|
|
24344
24437
|
} else {
|
|
24345
24438
|
var owner = layerOwner.curveOwner;
|
|
24346
|
-
owner.saveDefaultValue();
|
|
24347
24439
|
saveFixed && owner.saveFixedPoseValue();
|
|
24348
24440
|
layerOwner.crossCurveMark = animatorLayerData.crossCurveMark;
|
|
24349
24441
|
this._addCrossOwner(animatorLayerData, layerOwner, -1, i);
|
|
@@ -24361,7 +24453,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24361
24453
|
var srcPlayData = layerData.srcPlayData, destPlayData = layerData.destPlayData, crossFadeTransitionInfo = layerData.crossFadeTransition;
|
|
24362
24454
|
var additive = blendingMode === AnimatorLayerBlendingMode.Additive;
|
|
24363
24455
|
firstLayer && (weight = 1.0);
|
|
24364
|
-
|
|
24456
|
+
//@todo: All situations should be checked, optimizations will follow later.
|
|
24365
24457
|
layerData.layerState !== LayerState.FixedCrossFading && this._checkTransition(srcPlayData, crossFadeTransitionInfo, layerIndex);
|
|
24366
24458
|
switch(layerData.layerState){
|
|
24367
24459
|
case LayerState.Playing:
|
|
@@ -24373,6 +24465,9 @@ var AnimatorLayerBlendingMode;
|
|
|
24373
24465
|
case LayerState.CrossFading:
|
|
24374
24466
|
this._updateCrossFade(srcPlayData, destPlayData, layerData, layerIndex, weight, deltaTime, additive, aniUpdate);
|
|
24375
24467
|
break;
|
|
24468
|
+
case LayerState.Finished:
|
|
24469
|
+
this._updateFinishedState(srcPlayData, weight, additive, aniUpdate);
|
|
24470
|
+
break;
|
|
24376
24471
|
}
|
|
24377
24472
|
};
|
|
24378
24473
|
_proto._updatePlayingState = function _updatePlayingState(playData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
@@ -24380,19 +24475,26 @@ var AnimatorLayerBlendingMode;
|
|
|
24380
24475
|
var state = playData.state, lastPlayState = playData.playState, lastClipTime = playData.clipTime;
|
|
24381
24476
|
var _state_clip = state.clip, curveBindings = _state_clip._curveBindings;
|
|
24382
24477
|
playData.update(this.speed < 0);
|
|
24383
|
-
if (!aniUpdate) {
|
|
24384
|
-
return;
|
|
24385
|
-
}
|
|
24386
24478
|
var clipTime = playData.clipTime, playState = playData.playState;
|
|
24387
|
-
|
|
24388
|
-
|
|
24389
|
-
var
|
|
24390
|
-
|
|
24479
|
+
var finished = playState === AnimatorStatePlayState.Finished;
|
|
24480
|
+
if (aniUpdate || finished) {
|
|
24481
|
+
for(var i = curveBindings.length - 1; i >= 0; i--){
|
|
24482
|
+
var layerOwner = curveLayerOwner[i];
|
|
24483
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
24484
|
+
if (!owner) continue;
|
|
24485
|
+
var curve = curveBindings[i].curve;
|
|
24486
|
+
if (curve.keys.length) {
|
|
24487
|
+
var value = owner.evaluateValue(curve, clipTime, additive);
|
|
24488
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
24489
|
+
finished && layerOwner.saveFinalValue();
|
|
24490
|
+
}
|
|
24491
|
+
}
|
|
24391
24492
|
}
|
|
24392
24493
|
playData.frameTime += state.speed * delta;
|
|
24393
24494
|
if (playState === AnimatorStatePlayState.Finished) {
|
|
24394
|
-
layerData.layerState = LayerState.
|
|
24495
|
+
layerData.layerState = LayerState.Finished;
|
|
24395
24496
|
}
|
|
24497
|
+
eventHandlers.length && this._fireAnimationEvents(playData, eventHandlers, lastClipTime, clipTime);
|
|
24396
24498
|
if (lastPlayState === AnimatorStatePlayState.UnStarted) {
|
|
24397
24499
|
this._callAnimatorScriptOnEnter(state, layerIndex);
|
|
24398
24500
|
}
|
|
@@ -24403,7 +24505,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24403
24505
|
}
|
|
24404
24506
|
};
|
|
24405
24507
|
_proto._updateCrossFade = function _updateCrossFade(srcPlayData, destPlayData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
24406
|
-
var
|
|
24508
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
24407
24509
|
var _srcPlayData_state_clip = srcPlayData.state.clip, srcCurves = _srcPlayData_state_clip._curveBindings;
|
|
24408
24510
|
var srcState = srcPlayData.state, srcStateData = srcPlayData.stateData, lastSrcPlayState = srcPlayData.playState;
|
|
24409
24511
|
var srcEventHandlers = srcStateData.eventHandlers;
|
|
@@ -24412,18 +24514,27 @@ var AnimatorLayerBlendingMode;
|
|
|
24412
24514
|
var _destState_clip = destState.clip, destCurves = _destState_clip._curveBindings;
|
|
24413
24515
|
var lastSrcClipTime = srcPlayData.clipTime;
|
|
24414
24516
|
var lastDestClipTime = destPlayData.clipTime;
|
|
24415
|
-
var
|
|
24416
|
-
crossWeight
|
|
24517
|
+
var duration = destState._getDuration() * layerData.crossFadeTransition.duration;
|
|
24518
|
+
var crossWeight = Math.abs(destPlayData.frameTime) / duration;
|
|
24519
|
+
(crossWeight >= 1.0 || duration === 0) && (crossWeight = 1.0);
|
|
24417
24520
|
srcPlayData.update(this.speed < 0);
|
|
24418
24521
|
destPlayData.update(this.speed < 0);
|
|
24419
|
-
var srcPlayState = srcPlayData.playState;
|
|
24420
|
-
var destPlayState = destPlayData.playState;
|
|
24421
|
-
|
|
24422
|
-
if (
|
|
24423
|
-
|
|
24522
|
+
var srcClipTime = srcPlayData.clipTime, srcPlayState = srcPlayData.playState;
|
|
24523
|
+
var destClipTime = destPlayData.clipTime, destPlayState = destPlayData.playState;
|
|
24524
|
+
var finished = destPlayData.playState === AnimatorStatePlayState.Finished;
|
|
24525
|
+
if (aniUpdate || finished) {
|
|
24526
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
24527
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
24528
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
24529
|
+
if (!owner) continue;
|
|
24530
|
+
var srcCurveIndex = layerOwner.crossSrcCurveIndex;
|
|
24531
|
+
var destCurveIndex = layerOwner.crossDestCurveIndex;
|
|
24532
|
+
var value = owner.evaluateCrossFadeValue(srcCurveIndex >= 0 ? srcCurves[srcCurveIndex].curve : null, destCurveIndex >= 0 ? destCurves[destCurveIndex].curve : null, srcClipTime, destClipTime, crossWeight, additive);
|
|
24533
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
24534
|
+
finished && layerOwner.saveFinalValue();
|
|
24535
|
+
}
|
|
24424
24536
|
}
|
|
24425
|
-
|
|
24426
|
-
var destClipTime = destPlayData.clipTime;
|
|
24537
|
+
this._updateCrossFadeData(layerData, crossWeight, delta, false);
|
|
24427
24538
|
srcEventHandlers.length && this._fireAnimationEvents(srcPlayData, srcEventHandlers, lastSrcClipTime, srcClipTime);
|
|
24428
24539
|
destEventHandlers.length && this._fireAnimationEvents(destPlayData, destEventHandlers, lastDestClipTime, destClipTime);
|
|
24429
24540
|
if (lastSrcPlayState === AnimatorStatePlayState.UnStarted) {
|
|
@@ -24442,30 +24553,34 @@ var AnimatorLayerBlendingMode;
|
|
|
24442
24553
|
} else {
|
|
24443
24554
|
this._callAnimatorScriptOnUpdate(destState, layerIndex);
|
|
24444
24555
|
}
|
|
24445
|
-
for(var i = crossOwnerLayerDataCollection.length - 1; i >= 0; i--){
|
|
24446
|
-
var layerOwner = crossOwnerLayerDataCollection[i];
|
|
24447
|
-
if (!layerOwner) continue;
|
|
24448
|
-
var srcCurveIndex = layerOwner.crossSrcCurveIndex;
|
|
24449
|
-
var destCurveIndex = layerOwner.crossDestCurveIndex;
|
|
24450
|
-
layerOwner.curveOwner.crossFadeAndApplyValue(srcCurveIndex >= 0 ? srcCurves[srcCurveIndex].curve : null, destCurveIndex >= 0 ? destCurves[destCurveIndex].curve : null, srcClipTime, destClipTime, crossWeight, weight, additive);
|
|
24451
|
-
}
|
|
24452
24556
|
};
|
|
24453
|
-
_proto._updateCrossFadeFromPose = function _updateCrossFadeFromPose(destPlayData, layerData, layerIndex,
|
|
24454
|
-
var
|
|
24557
|
+
_proto._updateCrossFadeFromPose = function _updateCrossFadeFromPose(destPlayData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
24558
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
24455
24559
|
var state = destPlayData.state, stateData = destPlayData.stateData, lastPlayState = destPlayData.playState;
|
|
24456
24560
|
var eventHandlers = stateData.eventHandlers;
|
|
24457
24561
|
var _state_clip = state.clip, curveBindings = _state_clip._curveBindings;
|
|
24458
24562
|
var lastDestClipTime = destPlayData.clipTime;
|
|
24459
|
-
var
|
|
24460
|
-
crossWeight
|
|
24563
|
+
var duration = state._getDuration() * layerData.crossFadeTransition.duration;
|
|
24564
|
+
var crossWeight = Math.abs(destPlayData.frameTime) / duration;
|
|
24565
|
+
(crossWeight >= 1.0 || duration === 0) && (crossWeight = 1.0);
|
|
24461
24566
|
destPlayData.update(this.speed < 0);
|
|
24462
24567
|
var playState = destPlayData.playState;
|
|
24463
24568
|
this._updateCrossFadeData(layerData, crossWeight, delta, true);
|
|
24464
|
-
if (!aniUpdate) {
|
|
24465
|
-
return;
|
|
24466
|
-
}
|
|
24467
24569
|
var destClipTime = destPlayData.clipTime;
|
|
24468
|
-
|
|
24570
|
+
var finished = playState === AnimatorStatePlayState.Finished;
|
|
24571
|
+
// When the animator is culled (aniUpdate=false), if the play state has finished, the final value needs to be calculated and saved to be applied directly.
|
|
24572
|
+
if (aniUpdate || finished) {
|
|
24573
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
24574
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
24575
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
24576
|
+
if (!owner) continue;
|
|
24577
|
+
var curveIndex = layerOwner.crossDestCurveIndex;
|
|
24578
|
+
var value = layerOwner.curveOwner.crossFadeFromPoseAndApplyValue(curveIndex >= 0 ? curveBindings[curveIndex].curve : null, destClipTime, crossWeight, additive);
|
|
24579
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
24580
|
+
finished && layerOwner.saveFinalValue();
|
|
24581
|
+
}
|
|
24582
|
+
}
|
|
24583
|
+
//@todo: srcState is missing the judgment of the most recent period."
|
|
24469
24584
|
eventHandlers.length && this._fireAnimationEvents(destPlayData, eventHandlers, lastDestClipTime, destClipTime);
|
|
24470
24585
|
if (lastPlayState === AnimatorStatePlayState.UnStarted) {
|
|
24471
24586
|
this._callAnimatorScriptOnEnter(state, layerIndex);
|
|
@@ -24475,11 +24590,18 @@ var AnimatorLayerBlendingMode;
|
|
|
24475
24590
|
} else {
|
|
24476
24591
|
this._callAnimatorScriptOnUpdate(state, layerIndex);
|
|
24477
24592
|
}
|
|
24478
|
-
|
|
24479
|
-
|
|
24480
|
-
|
|
24481
|
-
|
|
24482
|
-
|
|
24593
|
+
};
|
|
24594
|
+
_proto._updateFinishedState = function _updateFinishedState(playData, weight, additive, aniUpdate) {
|
|
24595
|
+
if (!aniUpdate) {
|
|
24596
|
+
return;
|
|
24597
|
+
}
|
|
24598
|
+
var curveLayerOwner = playData.stateData.curveLayerOwner;
|
|
24599
|
+
var _playData_state_clip = playData.state.clip, curveBindings = _playData_state_clip._curveBindings;
|
|
24600
|
+
for(var i = curveBindings.length - 1; i >= 0; i--){
|
|
24601
|
+
var layerOwner = curveLayerOwner[i];
|
|
24602
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
24603
|
+
if (!owner) continue;
|
|
24604
|
+
owner.applyValue(layerOwner.finalValue, weight, additive);
|
|
24483
24605
|
}
|
|
24484
24606
|
};
|
|
24485
24607
|
_proto._updateCrossFadeData = function _updateCrossFadeData(layerData, crossWeight, delta, fixed) {
|
|
@@ -24487,7 +24609,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24487
24609
|
destPlayData.frameTime += destPlayData.state.speed * delta;
|
|
24488
24610
|
if (crossWeight === 1.0) {
|
|
24489
24611
|
if (destPlayData.playState === AnimatorStatePlayState.Finished) {
|
|
24490
|
-
layerData.layerState = LayerState.
|
|
24612
|
+
layerData.layerState = LayerState.Finished;
|
|
24491
24613
|
} else {
|
|
24492
24614
|
layerData.layerState = LayerState.Playing;
|
|
24493
24615
|
}
|
|
@@ -24497,7 +24619,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24497
24619
|
fixed || (layerData.srcPlayData.frameTime += layerData.srcPlayData.state.speed * delta);
|
|
24498
24620
|
}
|
|
24499
24621
|
};
|
|
24500
|
-
_proto._preparePlay = function _preparePlay(layerData, playState
|
|
24622
|
+
_proto._preparePlay = function _preparePlay(layerData, playState) {
|
|
24501
24623
|
if (layerData.layerState === LayerState.Playing) {
|
|
24502
24624
|
var srcPlayData = layerData.srcPlayData;
|
|
24503
24625
|
if (srcPlayData.state !== playState) {
|
|
@@ -24505,18 +24627,16 @@ var AnimatorLayerBlendingMode;
|
|
|
24505
24627
|
for(var i = curveLayerOwner.length - 1; i >= 0; i--){
|
|
24506
24628
|
var _curveLayerOwner_i;
|
|
24507
24629
|
var owner = (_curveLayerOwner_i = curveLayerOwner[i]) == null ? void 0 : _curveLayerOwner_i.curveOwner;
|
|
24508
|
-
|
|
24630
|
+
owner.revertDefaultValue();
|
|
24509
24631
|
}
|
|
24510
|
-
this._saveDefaultValues(playStateData);
|
|
24511
24632
|
}
|
|
24512
24633
|
} else {
|
|
24513
|
-
// layerState is CrossFading, FixedCrossFading, Standby
|
|
24514
|
-
var
|
|
24515
|
-
for(var i1 =
|
|
24516
|
-
var owner1 =
|
|
24517
|
-
owner1.
|
|
24634
|
+
// layerState is CrossFading, FixedCrossFading, Standby, Finished
|
|
24635
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
24636
|
+
for(var i1 = crossLayerOwnerCollection.length - 1; i1 >= 0; i1--){
|
|
24637
|
+
var owner1 = crossLayerOwnerCollection[i1].curveOwner;
|
|
24638
|
+
owner1.revertDefaultValue();
|
|
24518
24639
|
}
|
|
24519
|
-
this._saveDefaultValues(playStateData);
|
|
24520
24640
|
}
|
|
24521
24641
|
};
|
|
24522
24642
|
_proto._checkTransition = function _checkTransition(stateData, crossFadeTransition, layerIndex) {
|
|
@@ -24533,7 +24653,7 @@ var AnimatorLayerBlendingMode;
|
|
|
24533
24653
|
_proto._crossFadeByTransition = function _crossFadeByTransition(transition, layerIndex) {
|
|
24534
24654
|
var name = transition.destinationState.name;
|
|
24535
24655
|
var stateInfo = this._getAnimatorStateInfo(name, layerIndex);
|
|
24536
|
-
var crossState = stateInfo.state;
|
|
24656
|
+
var crossState = stateInfo.state, playLayerIndex = stateInfo.layerIndex;
|
|
24537
24657
|
if (!crossState) {
|
|
24538
24658
|
return;
|
|
24539
24659
|
}
|
|
@@ -24541,21 +24661,21 @@ var AnimatorLayerBlendingMode;
|
|
|
24541
24661
|
console.warn("The state named " + name + " has no AnimationClip data.");
|
|
24542
24662
|
return;
|
|
24543
24663
|
}
|
|
24544
|
-
var animatorLayerData = this._getAnimatorLayerData(
|
|
24664
|
+
var animatorLayerData = this._getAnimatorLayerData(playLayerIndex);
|
|
24545
24665
|
var layerState = animatorLayerData.layerState;
|
|
24546
24666
|
var destPlayData = animatorLayerData.destPlayData;
|
|
24547
|
-
var animatorStateData = this._getAnimatorStateData(name, crossState, animatorLayerData);
|
|
24667
|
+
var animatorStateData = this._getAnimatorStateData(name, crossState, animatorLayerData, playLayerIndex);
|
|
24548
24668
|
var duration = crossState._getDuration();
|
|
24549
24669
|
var offset = duration * transition.offset;
|
|
24550
24670
|
destPlayData.reset(crossState, animatorStateData, offset);
|
|
24551
24671
|
switch(layerState){
|
|
24552
|
-
// Maybe not play, maybe end.
|
|
24553
24672
|
case LayerState.Standby:
|
|
24554
24673
|
animatorLayerData.layerState = LayerState.FixedCrossFading;
|
|
24555
24674
|
this._clearCrossData(animatorLayerData);
|
|
24556
24675
|
this._prepareStandbyCrossFading(animatorLayerData);
|
|
24557
24676
|
break;
|
|
24558
24677
|
case LayerState.Playing:
|
|
24678
|
+
case LayerState.Finished:
|
|
24559
24679
|
animatorLayerData.layerState = LayerState.CrossFading;
|
|
24560
24680
|
this._clearCrossData(animatorLayerData);
|
|
24561
24681
|
this._prepareCrossFading(animatorLayerData);
|
|
@@ -24652,6 +24772,12 @@ var AnimatorLayerBlendingMode;
|
|
|
24652
24772
|
}
|
|
24653
24773
|
}
|
|
24654
24774
|
};
|
|
24775
|
+
_proto._revertCurveOwners = function _revertCurveOwners() {
|
|
24776
|
+
var curveOwners = this._needRevertCurveOwners;
|
|
24777
|
+
for(var i = 0, n = curveOwners.length; i < n; ++i){
|
|
24778
|
+
curveOwners[i].revertDefaultValue();
|
|
24779
|
+
}
|
|
24780
|
+
};
|
|
24655
24781
|
_create_class(Animator, [
|
|
24656
24782
|
{
|
|
24657
24783
|
key: "animatorController",
|
|
@@ -24684,6 +24810,9 @@ __decorate([
|
|
|
24684
24810
|
__decorate([
|
|
24685
24811
|
ignoreClone
|
|
24686
24812
|
], Animator.prototype, "_curveOwnerPool", void 0);
|
|
24813
|
+
__decorate([
|
|
24814
|
+
ignoreClone
|
|
24815
|
+
], Animator.prototype, "_needRevertCurveOwners", void 0);
|
|
24687
24816
|
__decorate([
|
|
24688
24817
|
ignoreClone
|
|
24689
24818
|
], Animator.prototype, "_animationEventHandlerPool", void 0);
|