diff --git a/src/layaAir/laya/d3/component/Animator.ts b/src/layaAir/laya/d3/component/Animator.ts
index 9f43263f5c..dcfde96369 100644
--- a/src/layaAir/laya/d3/component/Animator.ts
+++ b/src/layaAir/laya/d3/component/Animator.ts
@@ -31,9 +31,13 @@ import { SimpleSingletonList } from "./SimpleSingletonList";
* Animator
类用于创建动画组件。
*/
export class Animator extends Component {
+ /**@internal */
private static _tempVector30: Vector3 = new Vector3();
+ /**@internal */
private static _tempVector31: Vector3 = new Vector3();
+ /**@internal */
private static _tempQuaternion0: Quaternion = new Quaternion();
+ /**@internal */
private static _tempQuaternion1: Quaternion = new Quaternion();
/** 裁剪模式_始终播放动画。*/
@@ -53,16 +57,19 @@ export class Animator extends Component {
}
}
+ /**@internal */
private _speed: number;
-
+ /**@internal */
private _keyframeNodeOwnerMap: any;
+ /**@internal */
private _keyframeNodeOwners: KeyframeNodeOwner[] = [];
+ /**@internal */
private _updateMark: number;
+ /**@internal */
private _controllerLayers: AnimatorControllerLayer[];
/**@internal */
_linkSprites: any;
-
/**@internal */
_avatarNodeMap: any;
/**@internal */
@@ -108,7 +115,6 @@ export class Animator extends Component {
constructor() {
super();
this._controllerLayers = [];
-
this._linkSprites = {};
this._speed = 1.0;
this._keyframeNodeOwnerMap = {};
@@ -116,6 +122,9 @@ export class Animator extends Component {
}
+ /**
+ * @internal
+ */
private _linkToSprites(linkSprites: any): void {
for (var k in linkSprites) {
var nodeOwner: Sprite3D = (this.owner);
@@ -134,6 +143,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _addKeyframeNodeOwner(clipOwners: KeyframeNodeOwner[], node: KeyframeNode, propertyOwner: any): void {
var nodeIndex: number = node._indexInList;
var fullPath: string = node.fullPath;
@@ -222,6 +234,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _updatePlayer(animatorState: AnimatorState, playState: AnimatorPlayState, elapsedTime: number, islooping: boolean): void {
var clipDuration: number = animatorState._clip._duration * (animatorState.clipEnd - animatorState.clipStart);
var lastElapsedTime: number = playState._elapsedTime;
@@ -253,6 +268,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _eventScript(scripts: Script3D[], events: AnimationEvent[], eventIndex: number, endTime: number, front: boolean): number {
if (front) {
for (var n: number = events.length; eventIndex < n; eventIndex++) {
@@ -284,6 +302,9 @@ export class Animator extends Component {
return eventIndex;
}
+ /**
+ * @internal
+ */
private _updateEventScript(stateInfo: AnimatorState, playStateInfo: AnimatorPlayState): void {
var scripts: Script3D[] = ((this.owner))._scripts;
if (scripts) {//TODO:play是否也换成此种计算
@@ -321,6 +342,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _updateClipDatas(animatorState: AnimatorState, addtive: boolean, playStateInfo: AnimatorPlayState, scale: number): void {
var clip: AnimationClip = animatorState._clip;
var clipDuration: number = clip._duration;
@@ -331,6 +355,9 @@ export class Animator extends Component {
clip._evaluateClipDatasRealTime(clip._nodes, curPlayTime, currentFrameIndices, addtive, frontPlay);
}
+ /**
+ * @internal
+ */
private _applyFloat(pro: any, proName: string, nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, data: number): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
@@ -356,6 +383,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _applyPositionAndRotationEuler(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, data: Vector3, out: Vector3): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
@@ -400,6 +430,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _applyRotation(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, clipRot: Quaternion, localRotation: Quaternion): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
@@ -435,6 +468,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _applyScale(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, clipSca: Vector3, localScale: Vector3): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
@@ -473,6 +509,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _applyCrossData(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, srcValue: any, desValue: any, crossWeight: number): void {
var pro: any = nodeOwner.propertyOwner;
if (pro) {
@@ -528,6 +567,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _setClipDatasToNode(stateInfo: AnimatorState, additive: boolean, weight: number, isFirstLayer: boolean): void {
var nodes: KeyframeNodeList = stateInfo._clip._nodes;
var nodeOwners: KeyframeNodeOwner[] = stateInfo._nodeOwners;
@@ -574,6 +616,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _setCrossClipDatasToNode(controllerLayer: AnimatorControllerLayer, srcState: AnimatorState, destState: AnimatorState, crossWeight: number, isFirstLayer: boolean): void {
//TODO:srcNodes、destNodes未使用
var nodeOwners: KeyframeNodeOwner[] = controllerLayer._crossNodesOwners;
@@ -601,6 +646,9 @@ export class Animator extends Component {
}
+ /**
+ * @internal
+ */
private _setFixedCrossClipDatasToNode(controllerLayer: AnimatorControllerLayer, destState: AnimatorState, crossWeight: number, isFirstLayer: boolean): void {
var nodeOwners: KeyframeNodeOwner[] = controllerLayer._crossNodesOwners;
var ownerCount: number = controllerLayer._crossNodesOwnersCount;
@@ -620,6 +668,9 @@ export class Animator extends Component {
}
}
+ /**
+ * @internal
+ */
private _revertDefaultKeyframeNodes(clipStateInfo: AnimatorState): void {
var nodeOwners: KeyframeNodeOwner[] = clipStateInfo._nodeOwners;
for (var i: number = 0, n: number = nodeOwners.length; i < n; i++) {