using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//[ExecuteInEditMode]
public class AnimationSample : MonoBehaviour {
private Animation anim;
private AnimationState A1;
private AnimationState A2;
[Range(0,1),Tooltip("动画1采样")]
public float SampleA1;
public bool isSampleA1;
public bool isSampleA2;
public bool isMixSample;
// Use this for initialization
void Awake () {
this.anim=GetComponent<Animation>();
this.A1=this.anim["A1"];
this.A2=this.anim["A2"];
}
void Start(){
this.A1.enabled=false;
this.A2.enabled=false;
}
// Update is called once per frame
void Update () {
if(isSampleA1){
this.A1.enabled=true;
this.A1.normalizedTime=this.SampleA1;
this.A1.weight=1;
this.anim.Sample();
this.A1.enabled=false;
}
if(isSampleA2){
this.A2.enabled=true;
this.A2.normalizedTime=this.SampleA1;
this.A2.weight=1;
this.anim.Sample();
this.A2.enabled=false;
}
if(isMixSample){
this.A2.enabled=true;
this.A2.normalizedTime=this.SampleA1;
this.A2.weight=0.5f;
this.A1.enabled=true;
this.A1.normalizedTime=this.SampleA1;
this.A1.weight=0.5f;
this.anim.Sample();
this.A2.enabled=false;
this.A1.enabled=false;
}
}
}
Animation.Sample()采样设置好参数的动画姿态
效果就是可以实现自定义播放效果