@galacean/engine-core 0.9.13 → 0.9.15
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 +306 -187
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +306 -187
- package/dist/module.js +306 -187
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/animation/Animator.d.ts +5 -4
- package/types/animation/enums/LayerState.d.ts +3 -1
- package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
package/dist/miniprogram.js
CHANGED
|
@@ -21470,8 +21470,6 @@ var DirtyFlag;
|
|
|
21470
21470
|
* @internal
|
|
21471
21471
|
*/ var AnimationCurveOwner = /*#__PURE__*/ function() {
|
|
21472
21472
|
function AnimationCurveOwner(target, type, property, cureType) {
|
|
21473
|
-
this.crossCurveMark = 0;
|
|
21474
|
-
this.hasSavedDefaultValue = false;
|
|
21475
21473
|
this.baseEvaluateData = {
|
|
21476
21474
|
curKeyframeIndex: 0,
|
|
21477
21475
|
value: null
|
|
@@ -21484,7 +21482,7 @@ var DirtyFlag;
|
|
|
21484
21482
|
this.type = type;
|
|
21485
21483
|
this.property = property;
|
|
21486
21484
|
this.component = target.getComponent(type);
|
|
21487
|
-
this.
|
|
21485
|
+
this.cureType = cureType;
|
|
21488
21486
|
var assemblerType = AnimationCurveOwner.getAssemblerType(type, property);
|
|
21489
21487
|
this._assembler = new assemblerType();
|
|
21490
21488
|
this._assembler.initialize(this);
|
|
@@ -21493,89 +21491,80 @@ var DirtyFlag;
|
|
|
21493
21491
|
}
|
|
21494
21492
|
}
|
|
21495
21493
|
var _proto = AnimationCurveOwner.prototype;
|
|
21496
|
-
_proto.
|
|
21497
|
-
|
|
21498
|
-
if (additive) {
|
|
21499
|
-
var value = curve._evaluateAdditive(time, this.baseEvaluateData);
|
|
21500
|
-
var cureType = this._cureType;
|
|
21501
|
-
if (cureType._isReferenceType) {
|
|
21502
|
-
cureType._additiveValue(value, layerWeight, this.referenceTargetValue);
|
|
21503
|
-
} else {
|
|
21504
|
-
var assembler = this._assembler;
|
|
21505
|
-
var originValue = assembler.getTargetValue();
|
|
21506
|
-
var additiveValue = cureType._additiveValue(value, layerWeight, originValue);
|
|
21507
|
-
assembler.setTargetValue(additiveValue);
|
|
21508
|
-
}
|
|
21509
|
-
} else {
|
|
21510
|
-
var value1 = curve._evaluate(time, this.baseEvaluateData);
|
|
21511
|
-
this._applyValue(value1, layerWeight);
|
|
21512
|
-
}
|
|
21513
|
-
}
|
|
21494
|
+
_proto.evaluateValue = function evaluateValue(curve, time, additive) {
|
|
21495
|
+
return additive ? curve._evaluateAdditive(time, this.baseEvaluateData) : curve._evaluate(time, this.baseEvaluateData);
|
|
21514
21496
|
};
|
|
21515
|
-
_proto.
|
|
21516
|
-
var srcValue = srcCurve && srcCurve.keys.length ? additive ? srcCurve._evaluateAdditive(srcTime, this.baseEvaluateData) : srcCurve._evaluate(srcTime, this.baseEvaluateData) : additive ? this.
|
|
21517
|
-
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.
|
|
21518
|
-
this.
|
|
21497
|
+
_proto.evaluateCrossFadeValue = function evaluateCrossFadeValue(srcCurve, destCurve, srcTime, destTime, crossWeight, additive) {
|
|
21498
|
+
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;
|
|
21499
|
+
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;
|
|
21500
|
+
return this._lerpValue(srcValue, destValue, crossWeight);
|
|
21519
21501
|
};
|
|
21520
|
-
_proto.crossFadeFromPoseAndApplyValue = function crossFadeFromPoseAndApplyValue(destCurve, destTime, crossWeight,
|
|
21521
|
-
var srcValue = additive ? this.
|
|
21522
|
-
var destValue = destCurve && destCurve.keys.length ? additive ? destCurve._evaluateAdditive(destTime, this.crossEvaluateData) : destCurve._evaluate(destTime, this.crossEvaluateData) : additive ? this.
|
|
21523
|
-
this.
|
|
21502
|
+
_proto.crossFadeFromPoseAndApplyValue = function crossFadeFromPoseAndApplyValue(destCurve, destTime, crossWeight, additive) {
|
|
21503
|
+
var srcValue = additive ? this.cureType._subtractValue(this.fixedPoseValue, this.defaultValue, this.baseEvaluateData.value) : this.fixedPoseValue;
|
|
21504
|
+
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;
|
|
21505
|
+
return this._lerpValue(srcValue, destValue, crossWeight);
|
|
21524
21506
|
};
|
|
21525
21507
|
_proto.revertDefaultValue = function revertDefaultValue() {
|
|
21526
21508
|
this._assembler.setTargetValue(this.defaultValue);
|
|
21527
21509
|
};
|
|
21510
|
+
_proto.getEvaluateValue = function getEvaluateValue(out) {
|
|
21511
|
+
if (this.cureType._isReferenceType) {
|
|
21512
|
+
this.cureType._copyValue(this.baseEvaluateData.value, out);
|
|
21513
|
+
return out;
|
|
21514
|
+
} else {
|
|
21515
|
+
return this.baseEvaluateData.value;
|
|
21516
|
+
}
|
|
21517
|
+
};
|
|
21528
21518
|
_proto.saveDefaultValue = function saveDefaultValue() {
|
|
21529
|
-
if (this.
|
|
21530
|
-
this.
|
|
21519
|
+
if (this.cureType._isReferenceType) {
|
|
21520
|
+
this.cureType._copyValue(this.referenceTargetValue, this.defaultValue);
|
|
21531
21521
|
} else {
|
|
21532
21522
|
this.defaultValue = this._assembler.getTargetValue();
|
|
21533
21523
|
}
|
|
21534
|
-
this.hasSavedDefaultValue = true;
|
|
21535
21524
|
};
|
|
21536
21525
|
_proto.saveFixedPoseValue = function saveFixedPoseValue() {
|
|
21537
|
-
if (this.
|
|
21538
|
-
this.
|
|
21526
|
+
if (this.cureType._isReferenceType) {
|
|
21527
|
+
this.cureType._copyValue(this.referenceTargetValue, this.fixedPoseValue);
|
|
21539
21528
|
} else {
|
|
21540
21529
|
this.fixedPoseValue = this._assembler.getTargetValue();
|
|
21541
21530
|
}
|
|
21542
21531
|
};
|
|
21543
|
-
_proto.
|
|
21544
|
-
|
|
21545
|
-
|
|
21546
|
-
|
|
21532
|
+
_proto.applyValue = function applyValue(value, weight, additive) {
|
|
21533
|
+
var cureType = this.cureType;
|
|
21534
|
+
if (additive) {
|
|
21535
|
+
if (cureType._isReferenceType) {
|
|
21536
|
+
cureType._additiveValue(value, weight, this.referenceTargetValue);
|
|
21547
21537
|
} else {
|
|
21548
|
-
this._assembler
|
|
21538
|
+
var assembler = this._assembler;
|
|
21539
|
+
var originValue = assembler.getTargetValue();
|
|
21540
|
+
var additiveValue = cureType._additiveValue(value, weight, originValue);
|
|
21541
|
+
assembler.setTargetValue(additiveValue);
|
|
21549
21542
|
}
|
|
21550
21543
|
} else {
|
|
21551
|
-
if (
|
|
21552
|
-
|
|
21553
|
-
|
|
21544
|
+
if (weight === 1.0) {
|
|
21545
|
+
if (cureType._isReferenceType) {
|
|
21546
|
+
cureType._copyValue(value, this.referenceTargetValue);
|
|
21547
|
+
} else {
|
|
21548
|
+
this._assembler.setTargetValue(value);
|
|
21549
|
+
}
|
|
21554
21550
|
} else {
|
|
21555
|
-
|
|
21556
|
-
|
|
21557
|
-
|
|
21551
|
+
if (cureType._isReferenceType) {
|
|
21552
|
+
var targetValue = this.referenceTargetValue;
|
|
21553
|
+
cureType._lerpValue(targetValue, value, weight, targetValue);
|
|
21554
|
+
} else {
|
|
21555
|
+
var originValue1 = this._assembler.getTargetValue();
|
|
21556
|
+
var lerpValue = cureType._lerpValue(originValue1, value, weight);
|
|
21557
|
+
this._assembler.setTargetValue(lerpValue);
|
|
21558
|
+
}
|
|
21558
21559
|
}
|
|
21559
21560
|
}
|
|
21560
21561
|
};
|
|
21561
|
-
_proto.
|
|
21562
|
-
|
|
21563
|
-
|
|
21564
|
-
out = this.baseEvaluateData.value;
|
|
21565
|
-
this._cureType._lerpValue(srcValue, destValue, crossWeight, out);
|
|
21562
|
+
_proto._lerpValue = function _lerpValue(srcValue, destValue, crossWeight) {
|
|
21563
|
+
if (this.cureType._isReferenceType) {
|
|
21564
|
+
return this.cureType._lerpValue(srcValue, destValue, crossWeight, this.baseEvaluateData.value);
|
|
21566
21565
|
} else {
|
|
21567
|
-
|
|
21568
|
-
|
|
21569
|
-
if (additive) {
|
|
21570
|
-
if (this._cureType._isReferenceType) {
|
|
21571
|
-
this._cureType._additiveValue(out, layerWeight, this.referenceTargetValue);
|
|
21572
|
-
} else {
|
|
21573
|
-
var originValue = this._assembler.getTargetValue();
|
|
21574
|
-
var lerpValue = this._cureType._additiveValue(out, layerWeight, originValue);
|
|
21575
|
-
this._assembler.setTargetValue(lerpValue);
|
|
21576
|
-
}
|
|
21577
|
-
} else {
|
|
21578
|
-
this._applyValue(out, layerWeight);
|
|
21566
|
+
this.baseEvaluateData.value = this.cureType._lerpValue(srcValue, destValue, crossWeight);
|
|
21567
|
+
return this.baseEvaluateData.value;
|
|
21579
21568
|
}
|
|
21580
21569
|
};
|
|
21581
21570
|
AnimationCurveOwner.registerAssembler = function registerAssembler(componentType, property, assemblerType) {
|
|
@@ -21669,6 +21658,27 @@ AnimationCurveOwner.registerAssembler(Transform, "scale", ScaleAnimationCurveOwn
|
|
|
21669
21658
|
}();
|
|
21670
21659
|
AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights", BlendShapeWeightsAnimationCurveOwnerAssembler);
|
|
21671
21660
|
|
|
21661
|
+
/**
|
|
21662
|
+
* @internal
|
|
21663
|
+
*/ var AnimationCurveLayerOwner = /*#__PURE__*/ function() {
|
|
21664
|
+
function AnimationCurveLayerOwner() {
|
|
21665
|
+
this.crossCurveMark = 0;
|
|
21666
|
+
}
|
|
21667
|
+
var _proto = AnimationCurveLayerOwner.prototype;
|
|
21668
|
+
_proto.initFinalValue = function initFinalValue() {
|
|
21669
|
+
var _this_curveOwner = this.curveOwner, cureType = _this_curveOwner.cureType, defaultValue = _this_curveOwner.defaultValue;
|
|
21670
|
+
if (cureType._isReferenceType) {
|
|
21671
|
+
cureType._copyValue(defaultValue, this.finalValue);
|
|
21672
|
+
} else {
|
|
21673
|
+
this.finalValue = defaultValue;
|
|
21674
|
+
}
|
|
21675
|
+
};
|
|
21676
|
+
_proto.saveFinalValue = function saveFinalValue() {
|
|
21677
|
+
this.finalValue = this.curveOwner.getEvaluateValue(this.finalValue);
|
|
21678
|
+
};
|
|
21679
|
+
return AnimationCurveLayerOwner;
|
|
21680
|
+
}();
|
|
21681
|
+
|
|
21672
21682
|
/**
|
|
21673
21683
|
* Associate AnimationCurve and the Entity
|
|
21674
21684
|
*/ var AnimationClipCurveBinding = /*#__PURE__*/ function() {
|
|
@@ -21682,10 +21692,22 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
21682
21692
|
var curveType = this.curve.constructor;
|
|
21683
21693
|
var owner = new AnimationCurveOwner(entity, this.type, this.property, curveType);
|
|
21684
21694
|
curveType._initializeOwner(owner);
|
|
21695
|
+
owner.saveDefaultValue();
|
|
21685
21696
|
return owner;
|
|
21686
21697
|
};
|
|
21687
21698
|
/**
|
|
21688
21699
|
* @internal
|
|
21700
|
+
*/ _proto._createCurveLayerOwner = function _createCurveLayerOwner(owner) {
|
|
21701
|
+
var curveType = this.curve.constructor;
|
|
21702
|
+
var layerOwner = new AnimationCurveLayerOwner();
|
|
21703
|
+
layerOwner.curveOwner = owner;
|
|
21704
|
+
curveType._initializeLayerOwner(layerOwner);
|
|
21705
|
+
// If curve.keys.length is 0, updateFinishedState will assign 0 to the target, causing an error, so initialize by assigning defaultValue to finalValue.
|
|
21706
|
+
layerOwner.initFinalValue();
|
|
21707
|
+
return layerOwner;
|
|
21708
|
+
};
|
|
21709
|
+
/**
|
|
21710
|
+
* @internal
|
|
21689
21711
|
*/ _proto._getTempCurveOwner = function _getTempCurveOwner(entity) {
|
|
21690
21712
|
var instanceId = entity.instanceId;
|
|
21691
21713
|
if (!this._tempCurveOwner[instanceId]) {
|
|
@@ -21765,7 +21787,8 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
21765
21787
|
var targetEntity = entity.findByPath(curveData.relativePath);
|
|
21766
21788
|
if (targetEntity) {
|
|
21767
21789
|
var curveOwner = curveData._getTempCurveOwner(targetEntity);
|
|
21768
|
-
curveOwner.
|
|
21790
|
+
var value = curveOwner.evaluateValue(curveData.curve, time, false);
|
|
21791
|
+
curveOwner.applyValue(value, 1, false);
|
|
21769
21792
|
}
|
|
21770
21793
|
}
|
|
21771
21794
|
};
|
|
@@ -21909,6 +21932,7 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
21909
21932
|
break;
|
|
21910
21933
|
}
|
|
21911
21934
|
}
|
|
21935
|
+
evaluateData.value = value;
|
|
21912
21936
|
return value;
|
|
21913
21937
|
};
|
|
21914
21938
|
/**
|
|
@@ -21965,6 +21989,11 @@ exports.AnimationArrayCurve = (_AnimationArrayCurve = /*#__PURE__*/ function(Ani
|
|
|
21965
21989
|
};
|
|
21966
21990
|
/**
|
|
21967
21991
|
* @internal
|
|
21992
|
+
*/ AnimationArrayCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
21993
|
+
owner.finalValue = [];
|
|
21994
|
+
};
|
|
21995
|
+
/**
|
|
21996
|
+
* @internal
|
|
21968
21997
|
*/ AnimationArrayCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
21969
21998
|
for(var i = 0, n = out.length; i < n; ++i){
|
|
21970
21999
|
var src = srcValue[i];
|
|
@@ -22055,6 +22084,11 @@ exports.AnimationBoolCurve = (_AnimationBoolCurve = /*#__PURE__*/ function(Anima
|
|
|
22055
22084
|
};
|
|
22056
22085
|
/**
|
|
22057
22086
|
* @internal
|
|
22087
|
+
*/ AnimationBoolCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22088
|
+
owner.finalValue = false;
|
|
22089
|
+
};
|
|
22090
|
+
/**
|
|
22091
|
+
* @internal
|
|
22058
22092
|
*/ AnimationBoolCurve._lerpValue = function _lerpValue(srcValue, destValue) {
|
|
22059
22093
|
return destValue;
|
|
22060
22094
|
};
|
|
@@ -22112,6 +22146,11 @@ exports.AnimationColorCurve = (_AnimationColorCurve = /*#__PURE__*/ function(Ani
|
|
|
22112
22146
|
};
|
|
22113
22147
|
/**
|
|
22114
22148
|
* @internal
|
|
22149
|
+
*/ AnimationColorCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22150
|
+
owner.finalValue = new miniprogram.Color();
|
|
22151
|
+
};
|
|
22152
|
+
/**
|
|
22153
|
+
* @internal
|
|
22115
22154
|
*/ AnimationColorCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
22116
22155
|
miniprogram.Color.lerp(srcValue, destValue, weight, out);
|
|
22117
22156
|
return out;
|
|
@@ -22219,6 +22258,12 @@ exports.AnimationFloatArrayCurve = (_AnimationFloatArrayCurve = /*#__PURE__*/ fu
|
|
|
22219
22258
|
};
|
|
22220
22259
|
/**
|
|
22221
22260
|
* @internal
|
|
22261
|
+
*/ AnimationFloatArrayCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22262
|
+
var size = owner.curveOwner.referenceTargetValue.length;
|
|
22263
|
+
owner.finalValue = new Float32Array(size);
|
|
22264
|
+
};
|
|
22265
|
+
/**
|
|
22266
|
+
* @internal
|
|
22222
22267
|
*/ AnimationFloatArrayCurve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
22223
22268
|
for(var i = 0, n = out.length; i < n; ++i){
|
|
22224
22269
|
var src = srcValue[i];
|
|
@@ -22309,6 +22354,11 @@ exports.AnimationFloatCurve = (_AnimationFloatCurve = /*#__PURE__*/ function(Ani
|
|
|
22309
22354
|
};
|
|
22310
22355
|
/**
|
|
22311
22356
|
* @internal
|
|
22357
|
+
*/ AnimationFloatCurve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22358
|
+
owner.finalValue = 0;
|
|
22359
|
+
};
|
|
22360
|
+
/**
|
|
22361
|
+
* @internal
|
|
22312
22362
|
*/ AnimationFloatCurve._lerpValue = function _lerpValue(srcValue, destValue, crossWeight) {
|
|
22313
22363
|
return srcValue + (destValue - srcValue) * crossWeight;
|
|
22314
22364
|
};
|
|
@@ -22378,6 +22428,11 @@ exports.AnimationQuaternionCurve = (_AnimationQuaternionCurve = /*#__PURE__*/ fu
|
|
|
22378
22428
|
};
|
|
22379
22429
|
/**
|
|
22380
22430
|
* @internal
|
|
22431
|
+
*/ AnimationQuaternionCurve1._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22432
|
+
owner.finalValue = new miniprogram.Quaternion();
|
|
22433
|
+
};
|
|
22434
|
+
/**
|
|
22435
|
+
* @internal
|
|
22381
22436
|
*/ AnimationQuaternionCurve1._lerpValue = function _lerpValue(src, dest, weight, out) {
|
|
22382
22437
|
miniprogram.Quaternion.slerp(src, dest, weight, out);
|
|
22383
22438
|
return out;
|
|
@@ -22482,6 +22537,11 @@ exports.AnimationVector2Curve = (_AnimationVector2Curve = /*#__PURE__*/ function
|
|
|
22482
22537
|
};
|
|
22483
22538
|
/**
|
|
22484
22539
|
* @internal
|
|
22540
|
+
*/ AnimationVector2Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22541
|
+
owner.finalValue = new miniprogram.Vector2();
|
|
22542
|
+
};
|
|
22543
|
+
/**
|
|
22544
|
+
* @internal
|
|
22485
22545
|
*/ AnimationVector2Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
22486
22546
|
miniprogram.Vector2.lerp(srcValue, destValue, weight, out);
|
|
22487
22547
|
return out;
|
|
@@ -22567,6 +22627,11 @@ exports.AnimationVector3Curve = (_AnimationVector3Curve = /*#__PURE__*/ function
|
|
|
22567
22627
|
};
|
|
22568
22628
|
/**
|
|
22569
22629
|
* @internal
|
|
22630
|
+
*/ AnimationVector3Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22631
|
+
owner.finalValue = new miniprogram.Vector3();
|
|
22632
|
+
};
|
|
22633
|
+
/**
|
|
22634
|
+
* @internal
|
|
22570
22635
|
*/ AnimationVector3Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
22571
22636
|
miniprogram.Vector3.lerp(srcValue, destValue, weight, out);
|
|
22572
22637
|
return out;
|
|
@@ -22664,6 +22729,11 @@ exports.AnimationVector4Curve = (_AnimationVector4Curve = /*#__PURE__*/ function
|
|
|
22664
22729
|
};
|
|
22665
22730
|
/**
|
|
22666
22731
|
* @internal
|
|
22732
|
+
*/ AnimationVector4Curve._initializeLayerOwner = function _initializeLayerOwner(owner) {
|
|
22733
|
+
owner.finalValue = new miniprogram.Vector4();
|
|
22734
|
+
};
|
|
22735
|
+
/**
|
|
22736
|
+
* @internal
|
|
22667
22737
|
*/ AnimationVector4Curve._lerpValue = function _lerpValue(srcValue, destValue, weight, out) {
|
|
22668
22738
|
miniprogram.Vector4.lerp(srcValue, destValue, weight, out);
|
|
22669
22739
|
return out;
|
|
@@ -22773,6 +22843,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22773
22843
|
LayerState[LayerState[/** Playing state. */ "Playing"] = 1] = "Playing";
|
|
22774
22844
|
LayerState[LayerState[/** CrossFading state. */ "CrossFading"] = 2] = "CrossFading";
|
|
22775
22845
|
LayerState[LayerState[/** FixedCrossFading state. */ "FixedCrossFading"] = 3] = "FixedCrossFading";
|
|
22846
|
+
LayerState[LayerState[/** Finished state. */ "Finished"] = 4] = "Finished";
|
|
22776
22847
|
})(LayerState || (LayerState = {}));
|
|
22777
22848
|
|
|
22778
22849
|
/**
|
|
@@ -22844,12 +22915,14 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22844
22915
|
* @internal
|
|
22845
22916
|
*/ var AnimatorLayerData = /*#__PURE__*/ function() {
|
|
22846
22917
|
function AnimatorLayerData() {
|
|
22918
|
+
this.curveOwnerPool = Object.create(null);
|
|
22847
22919
|
this.animatorStateDataMap = {};
|
|
22848
22920
|
this.srcPlayData = new AnimatorStatePlayData();
|
|
22849
22921
|
this.destPlayData = new AnimatorStatePlayData();
|
|
22850
22922
|
this.layerState = LayerState.Standby;
|
|
22851
22923
|
this.crossCurveMark = 0;
|
|
22852
22924
|
this.manuallyTransition = new AnimatorStateTransition();
|
|
22925
|
+
this.crossLayerOwnerCollection = [];
|
|
22853
22926
|
}
|
|
22854
22927
|
var _proto = AnimatorLayerData.prototype;
|
|
22855
22928
|
_proto.switchPlayData = function switchPlayData() {
|
|
@@ -22864,7 +22937,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22864
22937
|
/**
|
|
22865
22938
|
* @internal
|
|
22866
22939
|
*/ var AnimatorStateData = function AnimatorStateData() {
|
|
22867
|
-
this.
|
|
22940
|
+
this.curveLayerOwner = [];
|
|
22868
22941
|
this.eventHandlers = [];
|
|
22869
22942
|
};
|
|
22870
22943
|
|
|
@@ -22878,8 +22951,8 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22878
22951
|
/** Culling mode of this Animator. */ _this.cullingMode = exports.AnimatorCullingMode.None;
|
|
22879
22952
|
/** The playback speed of the Animator, 1.0 is normal playback speed. */ _this.speed = 1.0;
|
|
22880
22953
|
_this._animatorLayersData = [];
|
|
22881
|
-
_this.
|
|
22882
|
-
_this.
|
|
22954
|
+
_this._curveOwnerPool = Object.create(null);
|
|
22955
|
+
_this._needRevertCurveOwners = [];
|
|
22883
22956
|
_this._animationEventHandlerPool = new ClassPool(AnimationEventHandler);
|
|
22884
22957
|
_this._tempAnimatorStateInfo = {
|
|
22885
22958
|
layerIndex: -1,
|
|
@@ -22902,7 +22975,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22902
22975
|
this._reset();
|
|
22903
22976
|
}
|
|
22904
22977
|
var stateInfo = this._getAnimatorStateInfo(stateName, layerIndex);
|
|
22905
|
-
var state = stateInfo.state;
|
|
22978
|
+
var state = stateInfo.state, playLayerIndex = stateInfo.layerIndex;
|
|
22906
22979
|
if (!state) {
|
|
22907
22980
|
return;
|
|
22908
22981
|
}
|
|
@@ -22911,9 +22984,8 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22911
22984
|
return;
|
|
22912
22985
|
}
|
|
22913
22986
|
var animatorLayerData = this._getAnimatorLayerData(stateInfo.layerIndex);
|
|
22914
|
-
|
|
22915
|
-
|
|
22916
|
-
this._preparePlay(animatorLayerData, state, animatorStateData);
|
|
22987
|
+
var animatorStateData = this._getAnimatorStateData(stateName, state, animatorLayerData, playLayerIndex);
|
|
22988
|
+
this._preparePlay(animatorLayerData, state);
|
|
22917
22989
|
animatorLayerData.layerState = LayerState.Playing;
|
|
22918
22990
|
animatorLayerData.srcPlayData.reset(state, animatorStateData, state._getDuration() * normalizedTimeOffset);
|
|
22919
22991
|
};
|
|
@@ -22964,6 +23036,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
22964
23036
|
return;
|
|
22965
23037
|
}
|
|
22966
23038
|
deltaTime *= this.speed;
|
|
23039
|
+
this._revertCurveOwners();
|
|
22967
23040
|
for(var i1 = 0, n1 = animatorController.layers.length; i1 < n1; i1++){
|
|
22968
23041
|
var animatorLayerData = this._getAnimatorLayerData(i1);
|
|
22969
23042
|
if (animatorLayerData.layerState === LayerState.Standby) {
|
|
@@ -23004,17 +23077,17 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23004
23077
|
/**
|
|
23005
23078
|
* @internal
|
|
23006
23079
|
*/ _proto._reset = function _reset() {
|
|
23007
|
-
var _this = this, animationCurveOwners = _this.
|
|
23080
|
+
var _this = this, animationCurveOwners = _this._curveOwnerPool;
|
|
23008
23081
|
for(var instanceId in animationCurveOwners){
|
|
23009
23082
|
var propertyOwners = animationCurveOwners[instanceId];
|
|
23010
23083
|
for(var property in propertyOwners){
|
|
23011
23084
|
var owner = propertyOwners[property];
|
|
23012
|
-
owner.
|
|
23085
|
+
owner.revertDefaultValue();
|
|
23013
23086
|
}
|
|
23014
23087
|
}
|
|
23015
23088
|
this._animatorLayersData.length = 0;
|
|
23016
|
-
this.
|
|
23017
|
-
this.
|
|
23089
|
+
this._needRevertCurveOwners.length = 0;
|
|
23090
|
+
this._curveOwnerPool = {};
|
|
23018
23091
|
this._animationEventHandlerPool.resetPool();
|
|
23019
23092
|
if (this._controllerUpdateFlag) {
|
|
23020
23093
|
this._controllerUpdateFlag.flag = false;
|
|
@@ -23041,38 +23114,51 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23041
23114
|
stateInfo.state = state;
|
|
23042
23115
|
return stateInfo;
|
|
23043
23116
|
};
|
|
23044
|
-
_proto.
|
|
23045
|
-
var curveOwners = stateData.curveOwners;
|
|
23046
|
-
for(var i = curveOwners.length - 1; i >= 0; i--){
|
|
23047
|
-
var _curveOwners_i;
|
|
23048
|
-
(_curveOwners_i = curveOwners[i]) == null ? void 0 : _curveOwners_i.saveDefaultValue();
|
|
23049
|
-
}
|
|
23050
|
-
};
|
|
23051
|
-
_proto._getAnimatorStateData = function _getAnimatorStateData(stateName, animatorState, animatorLayerData) {
|
|
23117
|
+
_proto._getAnimatorStateData = function _getAnimatorStateData(stateName, animatorState, animatorLayerData, layerIndex) {
|
|
23052
23118
|
var animatorStateDataMap = animatorLayerData.animatorStateDataMap;
|
|
23053
23119
|
var animatorStateData = animatorStateDataMap[stateName];
|
|
23054
23120
|
if (!animatorStateData) {
|
|
23055
23121
|
animatorStateData = new AnimatorStateData();
|
|
23056
23122
|
animatorStateDataMap[stateName] = animatorStateData;
|
|
23057
|
-
this._saveAnimatorStateData(animatorState, animatorStateData);
|
|
23123
|
+
this._saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData, layerIndex);
|
|
23058
23124
|
this._saveAnimatorEventHandlers(animatorState, animatorStateData);
|
|
23059
23125
|
}
|
|
23060
23126
|
return animatorStateData;
|
|
23061
23127
|
};
|
|
23062
|
-
_proto._saveAnimatorStateData = function _saveAnimatorStateData(animatorState, animatorStateData) {
|
|
23063
|
-
var _this = this, entity = _this.entity,
|
|
23064
|
-
var
|
|
23128
|
+
_proto._saveAnimatorStateData = function _saveAnimatorStateData(animatorState, animatorStateData, animatorLayerData, layerIndex) {
|
|
23129
|
+
var _this = this, entity = _this.entity, curveOwnerPool = _this._curveOwnerPool;
|
|
23130
|
+
var curveLayerOwner = animatorStateData.curveLayerOwner;
|
|
23131
|
+
var layerCurveOwnerPool = animatorLayerData.curveOwnerPool;
|
|
23065
23132
|
var _animatorState_clip = animatorState.clip, curves = _animatorState_clip._curveBindings;
|
|
23066
23133
|
for(var i = curves.length - 1; i >= 0; i--){
|
|
23067
23134
|
var curve = curves[i];
|
|
23068
23135
|
var targetEntity = curve.relativePath === "" ? entity : entity.findByPath(curve.relativePath);
|
|
23069
23136
|
if (targetEntity) {
|
|
23137
|
+
var _curveOwnerPool, _instanceId, _propertyOwners, _property, _layerCurveOwnerPool, _instanceId1, _layerPropertyOwners, _property1;
|
|
23070
23138
|
var property = curve.property;
|
|
23071
23139
|
var instanceId = targetEntity.instanceId;
|
|
23072
|
-
var
|
|
23073
|
-
|
|
23140
|
+
var needRevert = false;
|
|
23141
|
+
var baseAnimatorLayerData = this._animatorLayersData[0];
|
|
23142
|
+
var baseLayerCurveOwnerPool = baseAnimatorLayerData.curveOwnerPool;
|
|
23143
|
+
if (this.animatorController.layers[layerIndex].blendingMode === exports.AnimatorLayerBlendingMode.Additive && layerIndex > 0 && !(baseLayerCurveOwnerPool[instanceId] && baseLayerCurveOwnerPool[instanceId][property])) {
|
|
23144
|
+
needRevert = true;
|
|
23145
|
+
}
|
|
23146
|
+
// Get owner
|
|
23147
|
+
var propertyOwners = (_curveOwnerPool = curveOwnerPool)[_instanceId = instanceId] || (_curveOwnerPool[_instanceId] = Object.create(null));
|
|
23148
|
+
var owner = (_propertyOwners = propertyOwners)[_property = property] || (_propertyOwners[_property] = curve._createCurveOwner(targetEntity));
|
|
23149
|
+
//@todo: There is performance waste here, which will be handled together with organizing AnimatorStateData later. The logic is changing from runtime to initialization.
|
|
23150
|
+
if (needRevert) {
|
|
23151
|
+
this._needRevertCurveOwners.push(owner);
|
|
23152
|
+
} else {
|
|
23153
|
+
var index = this._needRevertCurveOwners.indexOf(owner);
|
|
23154
|
+
index > -1 && this._needRevertCurveOwners.splice(index, 1);
|
|
23155
|
+
}
|
|
23156
|
+
// Get layer owner
|
|
23157
|
+
var layerPropertyOwners = (_layerCurveOwnerPool = layerCurveOwnerPool)[_instanceId1 = instanceId] || (_layerCurveOwnerPool[_instanceId1] = Object.create(null));
|
|
23158
|
+
var layerOwner = (_layerPropertyOwners = layerPropertyOwners)[_property1 = property] || (_layerPropertyOwners[_property1] = curve._createCurveLayerOwner(owner));
|
|
23159
|
+
curveLayerOwner[i] = layerOwner;
|
|
23074
23160
|
} else {
|
|
23075
|
-
|
|
23161
|
+
curveLayerOwner[i] = null;
|
|
23076
23162
|
console.warn("The entity don't have the child entity which path is " + curve.relativePath + ".");
|
|
23077
23163
|
}
|
|
23078
23164
|
}
|
|
@@ -23100,65 +23186,60 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23100
23186
|
};
|
|
23101
23187
|
_proto._clearCrossData = function _clearCrossData(animatorLayerData) {
|
|
23102
23188
|
animatorLayerData.crossCurveMark++;
|
|
23103
|
-
|
|
23189
|
+
animatorLayerData.crossLayerOwnerCollection.length = 0;
|
|
23104
23190
|
};
|
|
23105
|
-
_proto.
|
|
23106
|
-
|
|
23107
|
-
|
|
23108
|
-
|
|
23191
|
+
_proto._addCrossOwner = function _addCrossOwner(animatorLayerData, layerOwner, curCurveIndex, nextCurveIndex) {
|
|
23192
|
+
layerOwner.crossSrcCurveIndex = curCurveIndex;
|
|
23193
|
+
layerOwner.crossDestCurveIndex = nextCurveIndex;
|
|
23194
|
+
animatorLayerData.crossLayerOwnerCollection.push(layerOwner);
|
|
23109
23195
|
};
|
|
23110
23196
|
_proto._prepareCrossFading = function _prepareCrossFading(animatorLayerData) {
|
|
23111
|
-
var crossCurveData = this._crossOwnerCollection;
|
|
23112
|
-
var crossCurveMark = animatorLayerData.crossCurveMark;
|
|
23113
23197
|
// Add src cross curve data.
|
|
23114
|
-
this._prepareSrcCrossData(
|
|
23198
|
+
this._prepareSrcCrossData(animatorLayerData, false);
|
|
23115
23199
|
// Add dest cross curve data.
|
|
23116
|
-
this._prepareDestCrossData(
|
|
23200
|
+
this._prepareDestCrossData(animatorLayerData, false);
|
|
23117
23201
|
};
|
|
23118
23202
|
_proto._prepareStandbyCrossFading = function _prepareStandbyCrossFading(animatorLayerData) {
|
|
23119
|
-
var crossOwnerCollection = this._crossOwnerCollection;
|
|
23120
|
-
var srcPlayData = animatorLayerData.srcPlayData, crossCurveMark = animatorLayerData.crossCurveMark;
|
|
23121
23203
|
// Standby have two sub state, one is never play, one is finished, never play srcPlayData.state is null.
|
|
23122
|
-
srcPlayData.state && this._prepareSrcCrossData(
|
|
23204
|
+
animatorLayerData.srcPlayData.state && this._prepareSrcCrossData(animatorLayerData, true);
|
|
23123
23205
|
// Add dest cross curve data.
|
|
23124
|
-
this._prepareDestCrossData(
|
|
23206
|
+
this._prepareDestCrossData(animatorLayerData, true);
|
|
23125
23207
|
};
|
|
23126
23208
|
_proto._prepareFixedPoseCrossFading = function _prepareFixedPoseCrossFading(animatorLayerData) {
|
|
23127
|
-
var
|
|
23209
|
+
var crossLayerOwnerCollection = animatorLayerData.crossLayerOwnerCollection;
|
|
23128
23210
|
// Save current cross curve data owner fixed pose.
|
|
23129
|
-
for(var i =
|
|
23130
|
-
var
|
|
23131
|
-
|
|
23211
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
23212
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
23213
|
+
if (!layerOwner) continue;
|
|
23214
|
+
layerOwner.curveOwner.saveFixedPoseValue();
|
|
23132
23215
|
// Reset destCurveIndex When fixed pose crossFading again.
|
|
23133
|
-
|
|
23216
|
+
layerOwner.crossDestCurveIndex = -1;
|
|
23134
23217
|
}
|
|
23135
23218
|
// prepare dest AnimatorState cross data.
|
|
23136
|
-
this._prepareDestCrossData(
|
|
23137
|
-
};
|
|
23138
|
-
_proto._prepareSrcCrossData = function _prepareSrcCrossData(
|
|
23139
|
-
var
|
|
23140
|
-
for(var i =
|
|
23141
|
-
var
|
|
23142
|
-
if (!
|
|
23143
|
-
|
|
23144
|
-
|
|
23145
|
-
|
|
23146
|
-
|
|
23147
|
-
|
|
23148
|
-
|
|
23149
|
-
|
|
23150
|
-
var
|
|
23151
|
-
|
|
23152
|
-
|
|
23153
|
-
if (
|
|
23154
|
-
|
|
23155
|
-
crossCurveData[owner.crossCurveDataIndex].crossDestCurveIndex = i;
|
|
23219
|
+
this._prepareDestCrossData(animatorLayerData, true);
|
|
23220
|
+
};
|
|
23221
|
+
_proto._prepareSrcCrossData = function _prepareSrcCrossData(animatorLayerData, saveFixed) {
|
|
23222
|
+
var curveLayerOwner = animatorLayerData.srcPlayData.stateData.curveLayerOwner;
|
|
23223
|
+
for(var i = curveLayerOwner.length - 1; i >= 0; i--){
|
|
23224
|
+
var layerOwner = curveLayerOwner[i];
|
|
23225
|
+
if (!layerOwner) continue;
|
|
23226
|
+
layerOwner.crossCurveMark = animatorLayerData.crossCurveMark;
|
|
23227
|
+
saveFixed && layerOwner.curveOwner.saveFixedPoseValue();
|
|
23228
|
+
this._addCrossOwner(animatorLayerData, layerOwner, i, -1);
|
|
23229
|
+
}
|
|
23230
|
+
};
|
|
23231
|
+
_proto._prepareDestCrossData = function _prepareDestCrossData(animatorLayerData, saveFixed) {
|
|
23232
|
+
var curveLayerOwner = animatorLayerData.destPlayData.stateData.curveLayerOwner;
|
|
23233
|
+
for(var i = curveLayerOwner.length - 1; i >= 0; i--){
|
|
23234
|
+
var layerOwner = curveLayerOwner[i];
|
|
23235
|
+
if (!layerOwner) continue;
|
|
23236
|
+
if (layerOwner.crossCurveMark === animatorLayerData.crossCurveMark) {
|
|
23237
|
+
layerOwner.crossDestCurveIndex = i;
|
|
23156
23238
|
} else {
|
|
23157
|
-
owner.
|
|
23239
|
+
var owner = layerOwner.curveOwner;
|
|
23158
23240
|
saveFixed && owner.saveFixedPoseValue();
|
|
23159
|
-
|
|
23160
|
-
|
|
23161
|
-
this._addCrossCurveData(crossCurveData, owner, -1, i);
|
|
23241
|
+
layerOwner.crossCurveMark = animatorLayerData.crossCurveMark;
|
|
23242
|
+
this._addCrossOwner(animatorLayerData, layerOwner, -1, i);
|
|
23162
23243
|
}
|
|
23163
23244
|
}
|
|
23164
23245
|
};
|
|
@@ -23173,7 +23254,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23173
23254
|
var srcPlayData = layerData.srcPlayData, destPlayData = layerData.destPlayData, crossFadeTransitionInfo = layerData.crossFadeTransition;
|
|
23174
23255
|
var additive = blendingMode === exports.AnimatorLayerBlendingMode.Additive;
|
|
23175
23256
|
firstLayer && (weight = 1.0);
|
|
23176
|
-
|
|
23257
|
+
//@todo: All situations should be checked, optimizations will follow later.
|
|
23177
23258
|
layerData.layerState !== LayerState.FixedCrossFading && this._checkTransition(srcPlayData, crossFadeTransitionInfo, layerIndex);
|
|
23178
23259
|
switch(layerData.layerState){
|
|
23179
23260
|
case LayerState.Playing:
|
|
@@ -23185,26 +23266,36 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23185
23266
|
case LayerState.CrossFading:
|
|
23186
23267
|
this._updateCrossFade(srcPlayData, destPlayData, layerData, layerIndex, weight, deltaTime, additive, aniUpdate);
|
|
23187
23268
|
break;
|
|
23269
|
+
case LayerState.Finished:
|
|
23270
|
+
this._updateFinishedState(srcPlayData, weight, additive, aniUpdate);
|
|
23271
|
+
break;
|
|
23188
23272
|
}
|
|
23189
23273
|
};
|
|
23190
23274
|
_proto._updatePlayingState = function _updatePlayingState(playData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
23191
|
-
var _playData_stateData = playData.stateData,
|
|
23275
|
+
var _playData_stateData = playData.stateData, curveLayerOwner = _playData_stateData.curveLayerOwner, eventHandlers = _playData_stateData.eventHandlers;
|
|
23192
23276
|
var state = playData.state, lastPlayState = playData.playState, lastClipTime = playData.clipTime;
|
|
23193
23277
|
var _state_clip = state.clip, curveBindings = _state_clip._curveBindings;
|
|
23194
23278
|
playData.update(this.speed < 0);
|
|
23195
|
-
if (!aniUpdate) {
|
|
23196
|
-
return;
|
|
23197
|
-
}
|
|
23198
23279
|
var clipTime = playData.clipTime, playState = playData.playState;
|
|
23199
|
-
|
|
23200
|
-
|
|
23201
|
-
var
|
|
23202
|
-
|
|
23280
|
+
var finished = playState === AnimatorStatePlayState.Finished;
|
|
23281
|
+
if (aniUpdate || finished) {
|
|
23282
|
+
for(var i = curveBindings.length - 1; i >= 0; i--){
|
|
23283
|
+
var layerOwner = curveLayerOwner[i];
|
|
23284
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
23285
|
+
if (!owner) continue;
|
|
23286
|
+
var curve = curveBindings[i].curve;
|
|
23287
|
+
if (curve.keys.length) {
|
|
23288
|
+
var value = owner.evaluateValue(curve, clipTime, additive);
|
|
23289
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
23290
|
+
finished && layerOwner.saveFinalValue();
|
|
23291
|
+
}
|
|
23292
|
+
}
|
|
23203
23293
|
}
|
|
23204
23294
|
playData.frameTime += state.speed * delta;
|
|
23205
23295
|
if (playState === AnimatorStatePlayState.Finished) {
|
|
23206
|
-
layerData.layerState = LayerState.
|
|
23296
|
+
layerData.layerState = LayerState.Finished;
|
|
23207
23297
|
}
|
|
23298
|
+
eventHandlers.length && this._fireAnimationEvents(playData, eventHandlers, lastClipTime, clipTime);
|
|
23208
23299
|
if (lastPlayState === AnimatorStatePlayState.UnStarted) {
|
|
23209
23300
|
this._callAnimatorScriptOnEnter(state, layerIndex);
|
|
23210
23301
|
}
|
|
@@ -23215,7 +23306,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23215
23306
|
}
|
|
23216
23307
|
};
|
|
23217
23308
|
_proto._updateCrossFade = function _updateCrossFade(srcPlayData, destPlayData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
23218
|
-
var
|
|
23309
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
23219
23310
|
var _srcPlayData_state_clip = srcPlayData.state.clip, srcCurves = _srcPlayData_state_clip._curveBindings;
|
|
23220
23311
|
var srcState = srcPlayData.state, srcStateData = srcPlayData.stateData, lastSrcPlayState = srcPlayData.playState;
|
|
23221
23312
|
var srcEventHandlers = srcStateData.eventHandlers;
|
|
@@ -23224,18 +23315,27 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23224
23315
|
var _destState_clip = destState.clip, destCurves = _destState_clip._curveBindings;
|
|
23225
23316
|
var lastSrcClipTime = srcPlayData.clipTime;
|
|
23226
23317
|
var lastDestClipTime = destPlayData.clipTime;
|
|
23227
|
-
var
|
|
23228
|
-
crossWeight
|
|
23318
|
+
var duration = destState._getDuration() * layerData.crossFadeTransition.duration;
|
|
23319
|
+
var crossWeight = Math.abs(destPlayData.frameTime) / duration;
|
|
23320
|
+
(crossWeight >= 1.0 || duration === 0) && (crossWeight = 1.0);
|
|
23229
23321
|
srcPlayData.update(this.speed < 0);
|
|
23230
23322
|
destPlayData.update(this.speed < 0);
|
|
23231
|
-
var srcPlayState = srcPlayData.playState;
|
|
23232
|
-
var destPlayState = destPlayData.playState;
|
|
23233
|
-
|
|
23234
|
-
if (
|
|
23235
|
-
|
|
23323
|
+
var srcClipTime = srcPlayData.clipTime, srcPlayState = srcPlayData.playState;
|
|
23324
|
+
var destClipTime = destPlayData.clipTime, destPlayState = destPlayData.playState;
|
|
23325
|
+
var finished = destPlayData.playState === AnimatorStatePlayState.Finished;
|
|
23326
|
+
if (aniUpdate || finished) {
|
|
23327
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
23328
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
23329
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
23330
|
+
if (!owner) continue;
|
|
23331
|
+
var srcCurveIndex = layerOwner.crossSrcCurveIndex;
|
|
23332
|
+
var destCurveIndex = layerOwner.crossDestCurveIndex;
|
|
23333
|
+
var value = owner.evaluateCrossFadeValue(srcCurveIndex >= 0 ? srcCurves[srcCurveIndex].curve : null, destCurveIndex >= 0 ? destCurves[destCurveIndex].curve : null, srcClipTime, destClipTime, crossWeight, additive);
|
|
23334
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
23335
|
+
finished && layerOwner.saveFinalValue();
|
|
23336
|
+
}
|
|
23236
23337
|
}
|
|
23237
|
-
|
|
23238
|
-
var destClipTime = destPlayData.clipTime;
|
|
23338
|
+
this._updateCrossFadeData(layerData, crossWeight, delta, false);
|
|
23239
23339
|
srcEventHandlers.length && this._fireAnimationEvents(srcPlayData, srcEventHandlers, lastSrcClipTime, srcClipTime);
|
|
23240
23340
|
destEventHandlers.length && this._fireAnimationEvents(destPlayData, destEventHandlers, lastDestClipTime, destClipTime);
|
|
23241
23341
|
if (lastSrcPlayState === AnimatorStatePlayState.UnStarted) {
|
|
@@ -23254,28 +23354,34 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23254
23354
|
} else {
|
|
23255
23355
|
this._callAnimatorScriptOnUpdate(destState, layerIndex);
|
|
23256
23356
|
}
|
|
23257
|
-
for(var i = crossCurveDataCollection.length - 1; i >= 0; i--){
|
|
23258
|
-
var crossCurveData = crossCurveDataCollection[i];
|
|
23259
|
-
var crossSrcCurveIndex = crossCurveData.crossSrcCurveIndex, crossDestCurveIndex = crossCurveData.crossDestCurveIndex;
|
|
23260
|
-
crossCurveData.crossFadeAndApplyValue(crossSrcCurveIndex >= 0 ? srcCurves[crossSrcCurveIndex].curve : null, crossDestCurveIndex >= 0 ? destCurves[crossDestCurveIndex].curve : null, srcClipTime, destClipTime, crossWeight, weight, additive);
|
|
23261
|
-
}
|
|
23262
23357
|
};
|
|
23263
|
-
_proto._updateCrossFadeFromPose = function _updateCrossFadeFromPose(destPlayData, layerData, layerIndex,
|
|
23264
|
-
var
|
|
23358
|
+
_proto._updateCrossFadeFromPose = function _updateCrossFadeFromPose(destPlayData, layerData, layerIndex, weight, delta, additive, aniUpdate) {
|
|
23359
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
23265
23360
|
var state = destPlayData.state, stateData = destPlayData.stateData, lastPlayState = destPlayData.playState;
|
|
23266
23361
|
var eventHandlers = stateData.eventHandlers;
|
|
23267
23362
|
var _state_clip = state.clip, curveBindings = _state_clip._curveBindings;
|
|
23268
23363
|
var lastDestClipTime = destPlayData.clipTime;
|
|
23269
|
-
var
|
|
23270
|
-
crossWeight
|
|
23364
|
+
var duration = state._getDuration() * layerData.crossFadeTransition.duration;
|
|
23365
|
+
var crossWeight = Math.abs(destPlayData.frameTime) / duration;
|
|
23366
|
+
(crossWeight >= 1.0 || duration === 0) && (crossWeight = 1.0);
|
|
23271
23367
|
destPlayData.update(this.speed < 0);
|
|
23272
23368
|
var playState = destPlayData.playState;
|
|
23273
23369
|
this._updateCrossFadeData(layerData, crossWeight, delta, true);
|
|
23274
|
-
if (!aniUpdate) {
|
|
23275
|
-
return;
|
|
23276
|
-
}
|
|
23277
23370
|
var destClipTime = destPlayData.clipTime;
|
|
23278
|
-
|
|
23371
|
+
var finished = playState === AnimatorStatePlayState.Finished;
|
|
23372
|
+
// 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.
|
|
23373
|
+
if (aniUpdate || finished) {
|
|
23374
|
+
for(var i = crossLayerOwnerCollection.length - 1; i >= 0; i--){
|
|
23375
|
+
var layerOwner = crossLayerOwnerCollection[i];
|
|
23376
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
23377
|
+
if (!owner) continue;
|
|
23378
|
+
var curveIndex = layerOwner.crossDestCurveIndex;
|
|
23379
|
+
var value = layerOwner.curveOwner.crossFadeFromPoseAndApplyValue(curveIndex >= 0 ? curveBindings[curveIndex].curve : null, destClipTime, crossWeight, additive);
|
|
23380
|
+
aniUpdate && owner.applyValue(value, weight, additive);
|
|
23381
|
+
finished && layerOwner.saveFinalValue();
|
|
23382
|
+
}
|
|
23383
|
+
}
|
|
23384
|
+
//@todo: srcState is missing the judgment of the most recent period."
|
|
23279
23385
|
eventHandlers.length && this._fireAnimationEvents(destPlayData, eventHandlers, lastDestClipTime, destClipTime);
|
|
23280
23386
|
if (lastPlayState === AnimatorStatePlayState.UnStarted) {
|
|
23281
23387
|
this._callAnimatorScriptOnEnter(state, layerIndex);
|
|
@@ -23285,10 +23391,18 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23285
23391
|
} else {
|
|
23286
23392
|
this._callAnimatorScriptOnUpdate(state, layerIndex);
|
|
23287
23393
|
}
|
|
23288
|
-
|
|
23289
|
-
|
|
23290
|
-
|
|
23291
|
-
|
|
23394
|
+
};
|
|
23395
|
+
_proto._updateFinishedState = function _updateFinishedState(playData, weight, additive, aniUpdate) {
|
|
23396
|
+
if (!aniUpdate) {
|
|
23397
|
+
return;
|
|
23398
|
+
}
|
|
23399
|
+
var curveLayerOwner = playData.stateData.curveLayerOwner;
|
|
23400
|
+
var _playData_state_clip = playData.state.clip, curveBindings = _playData_state_clip._curveBindings;
|
|
23401
|
+
for(var i = curveBindings.length - 1; i >= 0; i--){
|
|
23402
|
+
var layerOwner = curveLayerOwner[i];
|
|
23403
|
+
var owner = layerOwner == null ? void 0 : layerOwner.curveOwner;
|
|
23404
|
+
if (!owner) continue;
|
|
23405
|
+
owner.applyValue(layerOwner.finalValue, weight, additive);
|
|
23292
23406
|
}
|
|
23293
23407
|
};
|
|
23294
23408
|
_proto._updateCrossFadeData = function _updateCrossFadeData(layerData, crossWeight, delta, fixed) {
|
|
@@ -23296,7 +23410,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23296
23410
|
destPlayData.frameTime += destPlayData.state.speed * delta;
|
|
23297
23411
|
if (crossWeight === 1.0) {
|
|
23298
23412
|
if (destPlayData.playState === AnimatorStatePlayState.Finished) {
|
|
23299
|
-
layerData.layerState = LayerState.
|
|
23413
|
+
layerData.layerState = LayerState.Finished;
|
|
23300
23414
|
} else {
|
|
23301
23415
|
layerData.layerState = LayerState.Playing;
|
|
23302
23416
|
}
|
|
@@ -23306,25 +23420,24 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23306
23420
|
fixed || (layerData.srcPlayData.frameTime += layerData.srcPlayData.state.speed * delta);
|
|
23307
23421
|
}
|
|
23308
23422
|
};
|
|
23309
|
-
_proto._preparePlay = function _preparePlay(layerData, playState
|
|
23423
|
+
_proto._preparePlay = function _preparePlay(layerData, playState) {
|
|
23310
23424
|
if (layerData.layerState === LayerState.Playing) {
|
|
23311
23425
|
var srcPlayData = layerData.srcPlayData;
|
|
23312
23426
|
if (srcPlayData.state !== playState) {
|
|
23313
|
-
var
|
|
23314
|
-
for(var i =
|
|
23315
|
-
var
|
|
23316
|
-
|
|
23427
|
+
var curveLayerOwner = srcPlayData.stateData.curveLayerOwner;
|
|
23428
|
+
for(var i = curveLayerOwner.length - 1; i >= 0; i--){
|
|
23429
|
+
var _curveLayerOwner_i;
|
|
23430
|
+
var owner = (_curveLayerOwner_i = curveLayerOwner[i]) == null ? void 0 : _curveLayerOwner_i.curveOwner;
|
|
23431
|
+
owner.revertDefaultValue();
|
|
23317
23432
|
}
|
|
23318
|
-
this._saveDefaultValues(playStateData);
|
|
23319
23433
|
}
|
|
23320
23434
|
} else {
|
|
23321
|
-
// layerState is CrossFading, FixedCrossFading, Standby
|
|
23322
|
-
var
|
|
23323
|
-
for(var i1 =
|
|
23324
|
-
var owner1 =
|
|
23325
|
-
owner1.
|
|
23435
|
+
// layerState is CrossFading, FixedCrossFading, Standby, Finished
|
|
23436
|
+
var crossLayerOwnerCollection = layerData.crossLayerOwnerCollection;
|
|
23437
|
+
for(var i1 = crossLayerOwnerCollection.length - 1; i1 >= 0; i1--){
|
|
23438
|
+
var owner1 = crossLayerOwnerCollection[i1].curveOwner;
|
|
23439
|
+
owner1.revertDefaultValue();
|
|
23326
23440
|
}
|
|
23327
|
-
this._saveDefaultValues(playStateData);
|
|
23328
23441
|
}
|
|
23329
23442
|
};
|
|
23330
23443
|
_proto._checkTransition = function _checkTransition(stateData, crossFadeTransition, layerIndex) {
|
|
@@ -23341,7 +23454,7 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23341
23454
|
_proto._crossFadeByTransition = function _crossFadeByTransition(transition, layerIndex) {
|
|
23342
23455
|
var name = transition.destinationState.name;
|
|
23343
23456
|
var stateInfo = this._getAnimatorStateInfo(name, layerIndex);
|
|
23344
|
-
var crossState = stateInfo.state;
|
|
23457
|
+
var crossState = stateInfo.state, playLayerIndex = stateInfo.layerIndex;
|
|
23345
23458
|
if (!crossState) {
|
|
23346
23459
|
return;
|
|
23347
23460
|
}
|
|
@@ -23349,21 +23462,21 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23349
23462
|
console.warn("The state named " + name + " has no AnimationClip data.");
|
|
23350
23463
|
return;
|
|
23351
23464
|
}
|
|
23352
|
-
var animatorLayerData = this._getAnimatorLayerData(
|
|
23465
|
+
var animatorLayerData = this._getAnimatorLayerData(playLayerIndex);
|
|
23353
23466
|
var layerState = animatorLayerData.layerState;
|
|
23354
23467
|
var destPlayData = animatorLayerData.destPlayData;
|
|
23355
|
-
var animatorStateData = this._getAnimatorStateData(name, crossState, animatorLayerData);
|
|
23468
|
+
var animatorStateData = this._getAnimatorStateData(name, crossState, animatorLayerData, playLayerIndex);
|
|
23356
23469
|
var duration = crossState._getDuration();
|
|
23357
23470
|
var offset = duration * transition.offset;
|
|
23358
23471
|
destPlayData.reset(crossState, animatorStateData, offset);
|
|
23359
23472
|
switch(layerState){
|
|
23360
|
-
// Maybe not play, maybe end.
|
|
23361
23473
|
case LayerState.Standby:
|
|
23362
23474
|
animatorLayerData.layerState = LayerState.FixedCrossFading;
|
|
23363
23475
|
this._clearCrossData(animatorLayerData);
|
|
23364
23476
|
this._prepareStandbyCrossFading(animatorLayerData);
|
|
23365
23477
|
break;
|
|
23366
23478
|
case LayerState.Playing:
|
|
23479
|
+
case LayerState.Finished:
|
|
23367
23480
|
animatorLayerData.layerState = LayerState.CrossFading;
|
|
23368
23481
|
this._clearCrossData(animatorLayerData);
|
|
23369
23482
|
this._prepareCrossFading(animatorLayerData);
|
|
@@ -23460,6 +23573,12 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
23460
23573
|
}
|
|
23461
23574
|
}
|
|
23462
23575
|
};
|
|
23576
|
+
_proto._revertCurveOwners = function _revertCurveOwners() {
|
|
23577
|
+
var curveOwners = this._needRevertCurveOwners;
|
|
23578
|
+
for(var i = 0, n = curveOwners.length; i < n; ++i){
|
|
23579
|
+
curveOwners[i].revertDefaultValue();
|
|
23580
|
+
}
|
|
23581
|
+
};
|
|
23463
23582
|
_create_class(Animator, [
|
|
23464
23583
|
{
|
|
23465
23584
|
key: "animatorController",
|
|
@@ -23491,10 +23610,10 @@ __decorate([
|
|
|
23491
23610
|
], Animator.prototype, "_animatorLayersData", void 0);
|
|
23492
23611
|
__decorate([
|
|
23493
23612
|
ignoreClone
|
|
23494
|
-
], Animator.prototype, "
|
|
23613
|
+
], Animator.prototype, "_curveOwnerPool", void 0);
|
|
23495
23614
|
__decorate([
|
|
23496
23615
|
ignoreClone
|
|
23497
|
-
], Animator.prototype, "
|
|
23616
|
+
], Animator.prototype, "_needRevertCurveOwners", void 0);
|
|
23498
23617
|
__decorate([
|
|
23499
23618
|
ignoreClone
|
|
23500
23619
|
], Animator.prototype, "_animationEventHandlerPool", void 0);
|