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文件的处理和应用相关推荐

  1. bvh动作 舞蹈_Unity3D使用BVH动作文件驱动模型

    Unity3D数据驱动模型之bvh动作数据驱动3D模型跳舞 实际上,bvh是不能直接在unity3D里面使用,需要转成bvh.怎么转呢?这个就需要MotionBuilder这个软件,步骤如下: 1.打 ...

  2. CVPR 2020 论文大盘点-动作检测与动作分割篇

    本文继 CVPR 2020 论文大盘点-动作识别篇 之后继续总结CVPR 2020 中动作(action)相关的论文. 涉及的方向包括: 动作检测(Action Detection) 动作分割(Act ...

  3. 又一任务被Transformer攻陷!NVIDIA开源HORST,用Transformer解决早期动作识别和动作预期任务...

    关注公众号,发现CV技术之美 本文分享论文『Higher Order Recurrent Space-Time Transformer for Video Action Prediction』,由 N ...

  4. python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类

    效果演示: 视频演示: python行为识别行为骨骼框架检测动作识别动作检测行为动作分类 项目下载链接:https://download.csdn.net/download/babyai996/875 ...

  5. tableau 集动作_集动作

    使用集动作,受众将能直接与您的可视化项或仪表板交互,从而控制其分析的各个方面.当用户在视图中选择标记时,集动作可以更改集中的值.有关如何才能使用集动作的示例,请参见集动作的示例. 集动作使用现有的集, ...

  6. android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)

    Android Studio 下混淆 文件配置 问题 初探(一) 1.参考资料 https://stuff.mit.edu/afs/sipb/project/android/sdk/android-s ...

  7. 指令于动作之forward动作

    指令与动作之forward动作 forward动作:   实行页面的跳转 语法 <jsp:forward page="URL" /> 等同于 request.getPe ...

  8. Cocos2d-x 动作之变速动作

    大部分动作的变化过程是与时间成线性关系的,即一个动作经过相同时间产生的变化相同,例如,CCMoveBy会使节点在同样长的时间内经过同样的位移.这是因为Cocos2d-x把动作的速度变化控制抽离了出来, ...

  9. focusky如何转成html,Focusky怎样更改交互动作 Focusky交互动作更改办法

    Focusky怎样更改交互动作 Focusky交互动作更改办法 发表时间:2018-10-04 来源:必杀器整理 软件安装:装机软件 关于电脑装机必须的软件,比如windows office系列办公软 ...

最新文章

  1. access数据库删除两个日期之间 的数据 SQL语句
  2. 如何理解Android中的xmlns
  3. php 字符串转数组 提取中文 提取英文 字符串类型
  4. 居然有老板禁止员工热饭:要么吃冷的,要么找人送...
  5. 求虚拟机11.0密钥
  6. YARN执行作业报错Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
  7. Android系统自带样式(android:theme)
  8. [react] 高阶组件(HOC)有哪些优点和缺点?
  9. java 裁剪 pdf_PDFBox:使用Java轻松从PDF文件提取内容
  10. Cesium开发环境搭建的几种方法总结
  11. 59% 的程序员曾担心自己猝死!
  12. iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
  13. 微信要求的android版本是多少,微信发布7.0.15安卓正式版:微信号可以更改,但必须满足条件...
  14. 2019XUPT_ACM 寒假训练第二期
  15. 上帝视角学JAVA- 基础07-类05【2021-08-06】
  16. mac下载、破解、安装webstorm编辑器
  17. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(十五)
  18. 服务器返回的my为空,WCF REST服务:方法参数(对象)为空
  19. 广西英拓网络,7*24昼夜无差别 提供G空间,首月送产权服务器租用托管!
  20. 杰瑞学Perl之CPAN(1)

热门文章

  1. 第1天-代码随想录刷题训练| 704二分查找、26移除元素
  2. Problem C: 算法4-6:KMP字符串模式匹配算法实现
  3. C语言 | 算法 | BFS
  4. 工业级嵌入式主板助力物联网行业发展
  5. CAD看图如何在电脑上快速找到并打开指定CAD图纸
  6. 运行计算机配置gpedit,组策略(gpeditmsc)学习
  7. 阿里/京东入局,多家年营收过亿公司诞生,解析居家护理市场三大趋势
  8. MySql 数据库10038问题终极解决
  9. 【vi】vi编辑器卡死解决方法
  10. 使用 @Transactional