首页 > 其他分享 >AnimationClip获取关键帧信息

AnimationClip获取关键帧信息

时间:2024-05-17 23:08:14浏览次数:35  
标签:关键帧 kf curve 获取 propName var path AnimationClip

1,关键帧数据都保存在AnimationCurve上,所以首先要获取到这个

public static AnimationCurve GetAnimCurve(AnimationClip clip, string path, string propName)
{
    EditorCurveBinding[] bindings = AnimationUtility.GetCurveBindings(clip);
    foreach (var b in bindings)
    {
        if (b.path == path)
        {
            //Debug.Log($"path:{b.path}, propName:{b.propertyName}, discrete:{b.isDiscreteCurve}, pptr:{b.isPPtrCurve}");
            if (b.propertyName == propName)
            {
                var result = AnimationUtility.GetEditorCurve(clip, b);
                return result;
            }
        }
    }
    return null;
}

path和propName

 

2, 关键帧数据

public static void PrintCurve(AnimationCurve curve)
{
    Debug.Log($"preWrap:{curve.preWrapMode}, postWrap:{curve.postWrapMode}, kfCnt:{curve.length}");

    for (var i = 0; i < curve.keys.Length; ++i)
    {
        var kf = curve.keys[i];
        Debug.Log($"keyFrame:{i}, t:{kf.time}, v:{kf.value}, mode:{kf.weightedMode}, in:{kf.inTangent}, inW:{kf.inWeight}, out:{kf.outTangent}, outW:{kf.outWeight}");
    }
}

 

标签:关键帧,kf,curve,获取,propName,var,path,AnimationClip
From: https://www.cnblogs.com/sailJs/p/17001511.html

相关文章

  • 从栈溢出到获取栈大小
    从栈溢出到获取栈大小Author:[email protected]:2024-05-1423:22:38UpdateTime:2024-05-1722:39:39目录从栈溢出到获取栈大小1.栈溢出是一个运行时报错2.为什么会出现栈溢出2.1运行时的栈大小被限定了2.2栈是怎么被消耗的2.3栈溢出的几种典型......
  • Golang初学:获取程序内存使用情况,std runtime
    goversiongo1.22.1windows/amd64Windows11+amd64x86_64x86_64GNU/Linux--- 序章本文介绍golang程序占用内存的监控:使用stdruntime的ReadMemStats函数。 ReadMemStats函数https://pkg.go.dev/[email protected]//函数funcReadMemStats(m*MemStats......
  • iOS获取.ips文件并通过Xcode自带的symbolicatecrash解析
    文章讲述如下问题:1.如何获取.ips文件2.如何获取symbolicatecrash3.解析前的准备工作4.如何将.ips转为.crash文件5.如何使用symbolicatecrash解析.crash文件6.异常错误处理1.如何获取.ips文件?在iOS中,你可以通过几种方式找到应用程序的.ips文件,具体取决于你是在开发......
  • 通过mybatisflex获取多数据源mapper
    基于mybatisflex1.8.4:@NoArgsConstructor(access=AccessLevel.PRIVATE)@Slf4jpublicclassDataSource{publicstaticfinalStringA="a";publicstaticfinalStringB="b";publicstaticfinalStringC="c";pub......
  • 微信开发-获取AccessToken授权
    获取微信授权有两种方式1:通过AppID和AppSecret,后台可以直接获取2:通过网页授权(主要应用场景是Web端例如公众号等需要获取用户基本信息,需要用户授权,最终通过Code换取access_token)由于目前Senparc等框架都比较重量级,往往使用其开发时不光要理解微信官方的开发文档,还要理解其类库......
  • C# GridView根据列名获取某行某列的数据
    前台代码前台代码<cimesui:cimesgridviewid="gvReIQC"runat="server"enablemodelvalidation="True"allowpaging="True"autogeneratecolumns="False"Style="background-col......
  • 青龙面板京东CK获取助手
    该程序起源主要是用于获取京东CK,免去了从浏览器中频繁的查找CK、点击、重登账号、变量内容的更换主要包含以下功能能够保存更多的账号配置并且自动输入,方便登入时繁琐的输入账号密码支持一键获取CK支持一键更换Key值支持一键提交到青龙面板中更多功能待续.....使用教......
  • 【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
    问题描述对于Azure资源进行配置操作,门户上可以正常操作。但是想通过Python代码实现,这样可以批量处理。那么在没有SDK的情况下,是否有快速办法呢? 问题解答当然可以,AzurePortal上操作的所有资源都是通过RESTAPI来实现的,所以只要找到正确的API,就可以通过浏览器中抓取到的请求B......
  • msvc 获取c++类内存布局 /d1 reportAllClassLayout
     visualstudio配置获取所有类内存布局/d1reportAllClassLayout或者指定类/d1reportSingleClassLayoutXXXclass  编译时输出:     ps:https://www.openrce.org/articles/full_view/23   【原文地址】https://blog.csdn.net/qq_29542611/article......
  • Selenium4自动化测试8--控件获取数据--上传、下载、https和切换分页
    系列导航一、Selenium4自动化测试1--Chrome浏览器和chromedriver二、Selenium4自动化测试2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME三、Selenium4自动化测试3--元素定位By.NAME,By.LINK_TEXT和通过链接部分文本定位,By.PARTIAL_LINK_TEXT,css_selector定位,By.CSS_SELECTOR四、j......