基于惯性动捕的动画应用解决方案——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

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库