bvh动作 舞蹈_kinect动作捕捉初探(下)——bvh文件的处理和应用
bvh是一种动作数据文件,诸如kinect动作捕捉的数据就可以以bvh方式保存。我们可以直接把bvh导入到cinema 4D中:
由此我们可以看到bvh的实质就是一套骨骼在各个关节三向旋转数据的关键帧,及腰部(重心)处三向位移数据的关键帧之和。简而言之,各个关节的旋转及腰部的位移可以定义一个角色动画。我们把这种定义称为fk模式,又名“芭比娃娃”模式。这是与ik模式(提线木偶)对应而言的。
我们现在的问题在于,我们如何把所或得的bvh文件应用到我们绑好骨骼的角色模型上去,一种思路是将bvh转化为可直接应用到mmd的vmd文件,可以在bilibili搜到相关教程。但因为up更熟悉使用c4d,我们来讲如何在c4d中的应用。
当然首先我们要把一个角色模型直接复制到已导入bvh的c4d工程上去。这会存在一个比例问题。我们可以观察bvh骨腰部高度对比已有角色模型的腰部高度比例,然后在编辑>工程设置中修改工程整体比例,然后再复制模型:右边project scale可修改整体比例
我们最好不要直接缩放已绑好骨骼的模型,这可能会出现一些bug,尤其在带有ik的情况下。
接下来,我们要应用c4d中的约束标签,顾名思义,类似AE中的父子关系,它可以始两个物体做同步运动。我们在T姿态下,点中模型关节,选择标签>角色标签>约束,并在约束中点选psr约束,它就给模型关节加上了psr约束标签。
我们在psr中勾上offset,在target中勾上R(旋转),当然腰关节需要勾上P(位移)和R(旋转),然后通过右下角的箭头点选bvh对应关节为目标。依据我们之前的fk定义,我们把主要的十几个关节一一约束到有关键帧的bvh骨骼上,并通过offset调整一些轴向和同步偏差,两套骨骼就能做同样的动作了。psr约束,勾上maintain original,勾上r(腰部勾上p和r),箭头点选目标关节
但是,假如我们有几套bvh数据,如果分别约束到模型,就需要每次一一约束关节,稍显麻烦,为简化操作。我们可以基于这样一个逻辑:先约束好一个bvh作为容器,每次需要更换新的动作数据时,将新的bvh的关键帧,直接复制给容器bvh。
这样做的前提是两套bvh骨拥有完全一样的骨骼名称和顺序,当然,如果你是同样方法获得的数据,它肯定是一样的。然后,我们还需至少完成两个操作:1、选中bvh骨骼的所有关节。2、选中所有关节在时间线上的所有关键帧。
操作1有两个方法,直接右键关节,选全部展开,点第一个关节,按住shift点最后一个关节,即可全选。或左上角选择工具矩形框选,预览界面直接框选骨骼。操作2则需要在1的前提下,时间线下的数字先调整时间线长度,然后在一排关键帧后面处,点击鼠标不动,左侧轻拉,即可拉出一段白条,选中所有关键帧。(蛋疼的操作)。
那么在以上操作基础上,我们删除容器bvh所有关键帧,选中新bvh所有关键帧,crtl c,选中容器骨骼bvh所有关节,crtl v,即可。
以上操作虽然我们成功把bvh动作映射到了已有模型上,并可通过复制关键帧更换动作。但这都需要依赖bvh的存在,原模型骨骼并没有任何关键帧,一旦删去bvh,模型将静止在删去的姿态。为了获得关键帧,我们需要在窗口中,打开时间线窗口,点中骨骼,功能(functions)>烘焙物体,模型骨骼将自动获得所有动作的关键帧,这时就可以把我们的模型复制到应用动画的场景中去了。
时间线窗口>功能>烘焙物体
有些时候,我们更习惯于使用带有ik及控制器的模型,以方便动画的手动调节。这时候需要先将ik控制器约束到关节。(比如手部ik约束到腕关节),然后烘焙动画,结束后删去约束,就可烘焙出ik模式的动作。这其中可能要注意些优先级的问题,可以搜索一下c4d优先级的调整,这里就不再说了。
bvh动作 舞蹈_kinect动作捕捉初探(下)——bvh文件的处理和应用相关推荐
- bvh动作 舞蹈_Unity3D使用BVH动作文件驱动模型
Unity3D数据驱动模型之bvh动作数据驱动3D模型跳舞 实际上,bvh是不能直接在unity3D里面使用,需要转成bvh.怎么转呢?这个就需要MotionBuilder这个软件,步骤如下: 1.打 ...
- CVPR 2020 论文大盘点-动作检测与动作分割篇
本文继 CVPR 2020 论文大盘点-动作识别篇 之后继续总结CVPR 2020 中动作(action)相关的论文. 涉及的方向包括: 动作检测(Action Detection) 动作分割(Act ...
- 又一任务被Transformer攻陷!NVIDIA开源HORST,用Transformer解决早期动作识别和动作预期任务...
关注公众号,发现CV技术之美 本文分享论文『Higher Order Recurrent Space-Time Transformer for Video Action Prediction』,由 N ...
- python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类
效果演示: 视频演示: python行为识别行为骨骼框架检测动作识别动作检测行为动作分类 项目下载链接:https://download.csdn.net/download/babyai996/875 ...
- tableau 集动作_集动作
使用集动作,受众将能直接与您的可视化项或仪表板交互,从而控制其分析的各个方面.当用户在视图中选择标记时,集动作可以更改集中的值.有关如何才能使用集动作的示例,请参见集动作的示例. 集动作使用现有的集, ...
- android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)
Android Studio 下混淆 文件配置 问题 初探(一) 1.参考资料 https://stuff.mit.edu/afs/sipb/project/android/sdk/android-s ...
- 指令于动作之forward动作
指令与动作之forward动作 forward动作: 实行页面的跳转 语法 <jsp:forward page="URL" /> 等同于 request.getPe ...
- Cocos2d-x 动作之变速动作
大部分动作的变化过程是与时间成线性关系的,即一个动作经过相同时间产生的变化相同,例如,CCMoveBy会使节点在同样长的时间内经过同样的位移.这是因为Cocos2d-x把动作的速度变化控制抽离了出来, ...
- focusky如何转成html,Focusky怎样更改交互动作 Focusky交互动作更改办法
Focusky怎样更改交互动作 Focusky交互动作更改办法 发表时间:2018-10-04 来源:必杀器整理 软件安装:装机软件 关于电脑装机必须的软件,比如windows office系列办公软 ...
最新文章
- access数据库删除两个日期之间 的数据 SQL语句
- 如何理解Android中的xmlns
- php 字符串转数组 提取中文 提取英文 字符串类型
- 居然有老板禁止员工热饭:要么吃冷的,要么找人送...
- 求虚拟机11.0密钥
- YARN执行作业报错Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
- Android系统自带样式(android:theme)
- [react] 高阶组件(HOC)有哪些优点和缺点?
- java 裁剪 pdf_PDFBox:使用Java轻松从PDF文件提取内容
- Cesium开发环境搭建的几种方法总结
- 59% 的程序员曾担心自己猝死!
- iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
- 微信要求的android版本是多少,微信发布7.0.15安卓正式版:微信号可以更改,但必须满足条件...
- 2019XUPT_ACM 寒假训练第二期
- 上帝视角学JAVA- 基础07-类05【2021-08-06】
- mac下载、破解、安装webstorm编辑器
- 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(十五)
- 服务器返回的my为空,WCF REST服务:方法参数(对象)为空
- 广西英拓网络,7*24昼夜无差别 提供G空间,首月送产权服务器租用托管!
- 杰瑞学Perl之CPAN(1)