基于惯性动捕的动画应用解决方案——Unity篇

2023-12-06 07:59

本文主要是介绍基于惯性动捕的动画应用解决方案——Unity篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解决方案流程:
在这里插入图片描述

一、穿戴动捕设备

此教程以VDSuit Full为例,具体穿戴请观看对应的穿戴视频或使用说明。
在这里插入图片描述

图1.1

二、连接设备并进行标定

2.1设备与软件连接
选择VDSuit Full类型,然后点击连接按钮连接软件,如下图2.1-2.2。
在这里插入图片描述

图2.1
在这里插入图片描述

图2.2

2.2标定
连接软件后进行姿态标定,使用前必须根据提示严格依据标定动作进行标定,否则会影响使用的姿态效果。
在这里插入图片描述

图2.3

三、根据需求记录动作数据

3.1点击记录按钮,记录文件的文件属性,下图所示
按钮“灰色”状态时为未记录数据,按钮为“红色”状态时为数据记录中,如下图3.1所示
在这里插入图片描述

图3.1

3.2保存动作数据
再次点击“记录”按钮,按钮由“红色”变为“灰色”时,数据即被保存。
在这里插入图片描述

图3.2

四、导出FBX动捕数据文件

点击数据导出按钮,设置需要导出的数据文件的属性,此处建议直接选择FBX,本教程是基于标准骨骼绑定的模型示范的,导出的步骤如下图4.1-4.2。
在这里插入图片描述

图4.1
在这里插入图片描述

图4.2

五、将模型与数据导入Unity

5.1导入模型到Unity中,并对其设置相关参数。
在Rig 面板中更改 Animation Type 为 Humanoid,Avatar Definition 为 Create From This Model,如下图5.1。
在这里插入图片描述

图5.1

5.1将FBX数据导入Unity中,并对其设置相关参数。
在Rig 面板中更改 Animation Type 为 Humanoid,Avatar Definition 为 Create From This Model,如下图5.2。
在这里插入图片描述

图5.2

六、创建动画控制器Animator Controller

对FBX动捕数据创建动画控制器,并将控制器拖入动画控制面板中,如下图6.1-6.2。
在这里插入图片描述

图6.1
在这里插入图片描述

图6.2

七、预览动画

将动画控制器的拖入场景模型中的动画选项卡中,然后运行即可查看动画效果,如下图7.1-7.2。
在这里插入图片描述

图7.1
在这里插入图片描述

图7.2

八、修改数据骨骼位置

若预览动画的时模型手部的手指姿态不正确,修改FBX数据与模型的骨骼节点的位置,使其一一对应。Unity骨骼标准手指为三节,所以匹配时须注意大拇指外其余四指的三节手指不能匹配在掌心上方(特别注意是FBX数据的匹配),且FBX数据的关节点与模型的关节点要保持一致且都为三节。

8.1匹配模型关节
在这里插入图片描述

图8.1
在这里插入图片描述

图8.2

8.2匹配FBX数据中骨骼位置
在这里插入图片描述

图8.3
在这里插入图片描述

图8.4

九、Unity特效

部分模型头发或裙子若需要飘动等碰撞效果,可添加动力学。V Chan裙子以权重方式实现,所以这里以头发作为示范例子。

9.1给头发添加动力学脚本,并调节相关的参数
在这里插入图片描述

图9.1

9.2对身体或其他关节需要与头发接触的关节添加碰撞体,并设置碰撞体大小等相关参数
在这里插入图片描述

图9.2

这篇关于基于惯性动捕的动画应用解决方案——Unity篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461057

相关文章

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired