public void Play(string name) { frame = 0; anim = animations[name]; for (int i = 0; i < anim.boneAnimations.Length; i++) { UgData.BoneAnimationCollect bac = anim.boneAnimations[i]; Debug.Log(bac.name); Debug.Log(bac.frames.Length); bones[bac.name].SetAnimData(bac.frames); } for (int i = 0; i < anim.slotAnimations.Length; i++) { UgData.SlotAnimationCollect sac = anim.slotAnimations[i]; slots[sac.name].SetAnimData(sac.frames); } UpdateFrame(0); }
public void UpdateFrame(float deltaTime) { frame += deltaTime * frameRate; frame %= anim.duration; for (int i = 0; i < anim.boneAnimations.Length; i++) { UgData.BoneAnimationCollect bac = anim.boneAnimations[i]; bones[bac.name].UpdateFrame(frame); } for (int i = 0; i < anim.slotAnimations.Length; i++) { UgData.SlotAnimationCollect sac = anim.slotAnimations[i]; slots[sac.name].UpdateFrame(frame); } //foreach (UgTrans trans in children) { // trans.updateMatrix(); //} updateMatrix(); }