Unity Kinect结合VisualGestureBuilder进行姿势学习(未完)

前言

文中使用插件为KinectForUnity

如要支持Unity2019或更高需自行升级插件,文末会提供方法
百度云 https://pan.baidu.com/s/1dAEhJgXbXL0_ZtQdWd-ATA
提取码 3nsv

需安装Kinect Studio,Visual Gesture Builder

若安装KinectStudio则自带Visual Gesture Builder
百度云 https://pan.baidu.com/s/1s6oFAmcTJVHj1l8icwP6VQ
提取码 2vs7

录制训练视频

打开Kinect Studio

参考链接: https://docs.microsoft.com/en-us/previous-versions/windows/kinect/dn785306(v=ieb.10)

修改录制视频路径

参考链接: https://docs.microsoft.com/en-us/previous-versions/windows/kinect/dn785518(v=ieb.10)

录制训练视频

参考链接: https://docs.microsoft.com/en-us/previous-versions/windows/kinect/dn785516(v=ieb.10)

参考链接: https://blog.csdn.net/nijiayy/article/details/68926979

生成VG1

参考链接: https://blog.csdn.net/nijiayy/article/details/68926979

VG库导入Unity

找到Build出来的VG库

VG库

拖入Unity的StreamingAssets文件夹内

如果不进行下面可选操作,需要将VG库放到Resources根目录下
拖入Unity的StreamingAssets文件夹内

更改VG文件读取路径(可选)

此处为可选操作,为了后面更方便的获取和使用VG库
如果不进行此处操作,需要将VG库放到Resources根目录下
打开VisualGestureManager脚本

第一处修改 注释默认读取文件方法

打开VisualGestureManager脚本,注释默认的获取VG文件代码
注释代码

第二处修改 修改文件读取路径

修改完成后
将上图

using (VisualGestureBuilderDatabase database = VisualGestureBuilderDatabase.Create(gestureDatabase))

代码改为

using (VisualGestureBuilderDatabase database = VisualGestureBuilderDatabase.Create(System.IO.Path.Combine(Application.streamingAssetsPath,gestureDatabase)))

参考链接: https://blog.csdn.net/gheartsea/article/details/85849719

Unity监听动作

挂载VGM组件

首先在KinectManager上挂载Visual Gesture Manager组件
挂载VGM组件

参数意义
PlayerIndex该组件跟踪的播放器索引。 0表示第一个玩家,1 - 第2个,2 - 第3个等。
GestureDatabaseVG数据库的文件名,由视觉手势识别器使用。(要写全称带文件名后缀)
GestureNames追踪的视觉手势列表。如果留空,则将跟踪VG数据库中的所有手势。
MinConfidence需要最小的完成度阈值,以考虑完成的离散手势。可信度在0.0和1.0之间变化。越低手势完成度就越低,越容易触发监听,越高手势完成度越高,越不容易触发监听。
VisualGestureListeners场景中的视觉手势侦听器列表。如果列表为空,则会在场景启动时检测可用的手势侦听器。
DebugTextGUI文本显示VG-Manager调试消息。

这里的GestureDatabase需要注意,如果没有按照之前步骤更改VG库读取位置则将VG库放置于Resouces文件根目录下,如果修改了,放在StreamingAssets文件根目录下

挂载监听组件

之后创建脚本GestureController并挂载在KinectManager上,如果触发手势则可以在此脚本中监听到消息。
创建脚本并挂载

修改监听组件

增加VG监听接口

增加VisualGestureListenerInterface接口
增加VG监听接口

增加手势完成监听

增加手势完成监听打印
增加手势完成监听打印

参数意义
gesture手势名称
userIndex用户编号

当动作完成后,将自动触发此函数。

(附)在Unity2019或更高版本使用KinectForUnity

将所有脚本中的GUI函数替换为UGUI函数即可。

示例1

替换示例

示例2

替换示例

示例3

替换示例

示例4

替换示例


  1. 由Visual Gesture Builder建立自定义姿势识别训练库 ↩︎

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: Unity Kinect 教程是一种用于学习和掌握在Unity引擎中使用Kinect传感器的教学材料。Kinect传感器是一种能够感知和追踪人体动作的设备,可用于许多虚拟现实和增强现实应用。 Unity是一种广泛应用于游戏开发和交互式内容制作的跨平台引擎。通过结合Kinect传感器和Unity引擎,开发者可以创建逼真的虚拟现实体验,使用户可以使用身体动作来与虚拟场景交互。 Unity Kinect教程可以包含以下内容: 1. 环境设置:教程会指导开发者如何在Unity中导入Kinect的软件开发工具包(SDK),并将其与Kinect硬件连接。 2. 传感器数据获取:学习如何获取Kinect传感器的深度图像、颜色图像和骨骼数据等信息。 3. 动作捕捉:了解如何使用Kinect传感器来捕捉用户的身体动作,并将其应用于虚拟角色或场景。 4. 手势识别:学习如何使用Kinect传感器来识别和跟踪用户的手势,例如手势交互、手势控制等。 5. 虚拟现实应用:教程可能会包含如何使用Kinect传感器和Unity引擎来创建虚拟现实应用,如虚拟游戏、虚拟旅游和虚拟演艺等。 通过学习Unity Kinect教程,开发者可以掌握使用Kinect传感器进行身体动作捕捉和手势识别的技术,从而实现更加生动和互动的虚拟现实体验。这对于创造游戏、教育和娱乐应用都具有潜在的价值和创新性。 ### 回答2: Unity Kinect教程是一种以Unity引擎为基础的教学资源,它教授使用Kinect技术进行游戏或应用程序开发的方法和技巧。 这个教程的目的是教会学习者如何利用Kinect传感器的能力,以及如何结合Unity引擎的功能来创建交互式的应用。学习者将了解Kinect的基本原理和工作方式,以及如何在Unity中编写脚本来捕获和处理Kinect传感器的数据。 教程的内容通常包括以下几个方面: 1. Kinect传感器介绍:学习者将了解Kinect传感器的功能和特点,包括图像、深度和骨骼追踪等功能,以及如何获取和使用这些数据。 2. Unity基础知识:学习者将掌握Unity引擎的基本操作和功能,包括场景编辑器、对象管理、脚本编写等。 3. KinectUnity的集成:学习者将学习如何在Unity中集成Kinect传感器,建立与传感器的连接并获取Kinect传感器的数据。 4. 游戏或应用程序开发:学习者将学习如何使用Kinect数据来创建交互式的游戏或应用程序。他们可以学习如何利用Kinect的骨骼追踪功能来实现角色控制,或者如何使用Kinect的图像和深度数据来实现手势识别和物体追踪。 总之,Unity Kinect教程是一个系统性的学习资源,它将KinectUnity技术相结合,帮助学习者掌握利用Kinect传感器进行交互式游戏或应用程序开发的方法和技巧。通过这个教程,学习者可以快速入门并开始使用KinectUnity进行创作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值