Animation组件的属性和方法介绍

        // Animation
        animation.AddClip(new AnimationClip(), "NewAnimName");
        animation.AddClip(new AnimationClip(), "NewAnimName", 1/*首帧*/, 2/*尾帧*/);
        animation.AddClip(new AnimationClip(), "NewAnimName", 1, 2, true/*是否应该在最后插入一个额外的帧匹配第一帧?如果你在制作一个循环的动画,那么可以打开这个选项*/);
        animation.clip = null;  // 默认动画
        // 淡入淡出
        animation.CrossFade("AnimName");
        animation.CrossFade("AnimName", 1f/*混合时长*/);
        animation.CrossFade("AnimName", 1f, PlayMode.StopAll/*立即开始播放重复的动画状态*/);
        animation.CrossFade("AnimName", 1f, PlayMode.StopSameLayer/*停止相同动画层级的动画*/);
        animation.CrossFadeQueued("AnimName");
        animation.CrossFadeQueued("AnimName", 1f/*混合时长*/);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.CompleteOthers/*等待其它动画停止后淡入淡出*/);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.CompleteOthers, PlayMode.StopAll/*立即开始播放重复的动画状态*/);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.CompleteOthers, PlayMode.StopSameLayer/*停止相同动画层级的动画*/);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.PlayNow/*立即开始播放重复的动画状态*/);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.PlayNow, PlayMode.StopAll);
        animation.CrossFadeQueued("AnimName", 1f, QueueMode.PlayNow, PlayMode.StopSameLayer);
        animation.cullingType = AnimationCullingType.AlwaysAnimate; // 不管在不在视窗内都播放
        animation.cullingType = AnimationCullingType.BasedOnRenderers;  // 只在渲染该物体时才播放
        animation.enabled = false;
        animation.GetClip("AnimName");
        animation.GetClipCount();
        animation.IsPlaying("AnimName");
        bool bIsPlaying = animation.isPlaying;
        Bounds bounds = animation.localBounds;
        animation.Play(PlayMode.StopAll/*停止其它*/);   // 播放默认动画
        animation.Play(PlayMode.StopSameLayer/*停止相同动画层级的动画*/);  // 播放默认动画
        animation.Play("AnimName");
        animation.Play("AnimName", PlayMode.StopAll/*停止其它*/);
        animation.Play("AnimName", PlayMode.StopSameLayer/*停止相同动画层级的动画*/);
        animation.playAutomatically = false;    // 是否应该在启动时自动开始播放
        animation.PlayQueued("AnimName");
        animation.PlayQueued("AnimName", QueueMode.CompleteOthers/*等待其它动画停止后淡入淡出*/);
        animation.PlayQueued("AnimName", QueueMode.PlayNow/*等待其它动画停止后立即开始播放*/);
        animation.RemoveClip("AnimName");
        animation.Rewind(); // 倒播所有动画
        animation.Rewind("AnimName");   // 倒播名为name的动画
        animation.SyncLayer(1); // 同步某层中所有动画的播放速度
        // 如何处理超出剪辑播放范围的时间
        animation.wrapMode = WrapMode.Clamp;/*停在尾帧*/
        animation.wrapMode = WrapMode.ClampForever/*停在尾帧并保持播放*/;
        animation.wrapMode = WrapMode.Default/*从动画剪辑中读取循环模式(默认是Once)*/;
        animation.wrapMode = WrapMode.Loop/*循环播放*/;
        animation.wrapMode = WrapMode.Once/*播完停止*/;
        animation.wrapMode = WrapMode.PingPong/*往复式循环播放*/;
        AnimationState MyAnimationState = animation["AnimName"];
        AnimationClip MyAnimationClip = animationState.clip;
        AnimationClip MyAnimationClip2 = animation.GetClip("AnimName");
        animationState.AddMixingTransform(transform);   // 给某个节点及其子节点播放动画 animation["wave_hand"].AddMixingTransform(transform.Find("root/upper_body/left_shoulder"));
        animationState.AddMixingTransform(transform, true/*是否影响子节点*/);
        animationState.RemoveMixingTransform(transform);
        animationState.blendMode = AnimationBlendMode.Additive; // 叠加混合
        animationState.blendMode = AnimationBlendMode.Blend;    // 混合
        animationState.enabled = false;
        animationState.layer = 1;   // 动画层级高代表权重高
        float fLength = animationState.length;  // 时长(秒)
        animationState.name = "AnimStateName";
        animationState.normalizedSpeed = 1f;    // 同步播放速度 请用SyncLayer代替
        animationState.normalizedTime = 1f; // 把时间标准化为0f ~ 1f
        animationState.speed = 1f;
        animationState.time = 1f;   // 当前时间
        animationState.weight = 1f; // 权重
        // 结束方式
        animationState.wrapMode = WrapMode.Clamp;/*停在尾帧*/
        animationState.wrapMode = WrapMode.ClampForever;/*停在尾帧并保持播放*/
        animationState.wrapMode = WrapMode.Default;/*从动画剪辑中读取循环模式(默认是Once)*/
        animationState.wrapMode = WrapMode.Loop;/*循环播放*/
        animationState.wrapMode = WrapMode.Once;/*播完停止*/
        animationState.wrapMode = WrapMode.PingPong;/*往复式循环播放*/

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值