美文网首页
UNITY Animation Clip 创建 关键函数

UNITY Animation Clip 创建 关键函数

作者: 多罗猫_游戏人 | 来源:发表于2019-12-20 12:07 被阅读0次

    Animation Clip关键函数

    【AnimationClipSettings】

    设置clip loop

        AnimationClipSettings setting = AnimationUtility.GetAnimationClipSettings(clip);
        setting.loopTime = true;
    

    [tip: 通过clip.wrapMode无法设置clip 的类型]

    【AnimationUtility】

    clip curve 曲线key 帧数,
    一般推荐预设帧数,然后设置关键帧的时间

    CODE:

        var rate =30
          clip.frameRate =rate
         //
         var keyFrames = new Keyframe[8];
         keyFrames[0] = new Keyframe(0, 0);
         keyFrames[1] = new Keyframe((float)50 / rate , 0);
         var idleCurve = new AnimationCurve(keyFrames);
         //帧左侧曲线状态
         AnimationUtility.SetKeyLeftTangentMode(idleCurve, 0, AnimationUtility.TangentMode.Linear);
         AnimationUtility.SetKeyLeftTangentMode(idleCurve, 1, AnimationUtility.TangentMode.Linear);
         //帧右侧曲线状态
         AnimationUtility.SetKeyRightTangentMode(idleCurve, 0, AnimationUtility.TangentMode.Linear);
         AnimationUtility.SetKeyRightTangentMode(idleCurve, 1, AnimationUtility.TangentMode.Free);
         //设置一条轨道
         clip.SetCurve(relativePath, typeof(SkinnedMeshRenderer), propertyName, idleCurve);
    

    【AnimatorController】

    Animator Controller 创建layer数据。因为layer是struct 结构,初始化layer 信息需要再次赋值。

                   var ac = new AnimatorController();
                   ac.layers = null;
                    ac.AddLayer("Default");
                    ac.AddLayer("Face");//表情层
                    //
                    ac.parameters = null;
                    var layers = ac.layers;
                    //Default
                    layers[0].defaultWeight = 1;
                    //FACE
                    layers[1].defaultWeight = 1;
                    ac.layers = layers;
    

    相关文章

      网友评论

          本文标题:UNITY Animation Clip 创建 关键函数

          本文链接:https://www.haomeiwen.com/subject/sygbnctx.html