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