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++) {