leap?motion的手掌骨骼识别的应用
近年来,科学技术的发展愈加创新发达,各种混合现实(虚拟现实与增强现实)的产品技术逐渐涌入荧屏。但是处于起步阶段的软硬件结合的混合现实技术不进需要强大的硬件支持,还需要便捷的软件平台,开发给人们生活带来足不出户的精神体验。本应用就基于硬件leap motion,用软件Unity3d游戏引擎开发的一款给人山川游历,听音奏曲的贴近自然的体验。 应用主要实现的功能是在PC端实现把人类的双手带入虚拟的世界,体验双手操控的三维按钮来播发、暂停古筝乐曲,通过拍手实现Ktv 切歌的效果,切换场景等效果,并且附加游历虚拟世界,弹奏古筝的功能。硬件上主要采用leap motion 的红外拍摄来识别手掌的29块骨头,采用Unity3d软件实现手掌识别的SDK与应用的衔接,并采用Unity3d实现虚拟漫游和三维应用功能的开发。针对两个虚拟按钮采用plane添加碰撞体,通过检测按钮的碰撞体与手指碰撞的退出事件,达到控制应用响应的效果。关键词:leap motion;Unity3d;混合现实;碰撞检测系统目录
第一章 绪论 1
1.1 选题背景和意义 1
1.2 国内外研究现状 1
1.3 本文的主要工作 2
第二章 技术和开发环境 3
2.1 关键技术 3
2.1.1 Unity Shader 3
2.1.2 Unity 生命周期 10
2.2 开发工具 12
2.2.1 Leap motion简介 12
2.2.2 Unity简介 15
2.2.3 MonoDevelop简介 17
2.3 应用环境 18
第三章 应用分析 19
3.1应用目标 19
3.2混合现实应用可行性分析 19
3.3 混合现实应用需求分析 20
3.4 应用功能模块分析 21
3.4.1 音乐虚拟操控分析 22
3.4.2 虚拟体验分析 23
第四章 应用设计与实现方法 25
4.1应用模块设计 25
4.2应用UI设计 26
4.2.1 UI样式的设计与实现 26
*好棒文|www.hbsrm.com +Q: ^351916072*
性分析 19
3.3 混合现实应用需求分析 20
3.4 应用功能模块分析 21
3.4.1 音乐虚拟操控分析 22
3.4.2 虚拟体验分析 23
第四章 应用设计与实现方法 25
4.1应用模块设计 25
4.2应用UI设计 26
4.2.1 UI样式的设计与实现 26
4.2.2 UI组件的设计与实现 28
4.3代码设计 40
4.3.1 音乐虚拟操控模块 40
4.3.2 虚拟弹奏模块 46
第五章 结论与期望 49
5.1 结论 49
5.2 期望 49
致谢 51
参考文献 52
第一章 绪论
1.1 选题背景和意义
混合现实(虚拟现实与增强现实,VR&AR)技术是近年来一项十分活跃的研究。虚拟现实(VR)也叫人工环境,主要是有电脑模拟生成的一个三维立体空间的虚拟世界,给用户虚拟体验听觉、视觉、触觉等感官系统,给用户身临其境的感觉,可以实时任意角度方式的观察三维虚拟世界的一切对象事物。主要有三个特点,沉浸、交互、幻想。增强现实是一种结合虚拟化技术再现观察世界的方式,也就是增强现实(AR)提供给用户现实中无法直接获取的信息,也就是说,AR带给我们的信息实际上能让每个用户眼中的世界更加多样性。
互联网飞速发展的时代,二次元的游戏和应用已无法满足人类日益增长的体验需求。3D,4D的时代已经到来,通常3D的应用和游戏,标示着立体的三维体验,4D是基于3D的基础上增强了体感等交互的行为。通过4D的应用,可以给人在足不出户的前提下,体验身临其境的感官享受。
1.2 国内外研究现状
目前,iPhone手机,Windows Phone手机以及Google Android手机上,已经出现了不少的混合现实的应用。工业上的应用也出现了不少,目前已知的用于大型器械的维修和制造上,只要维修人员装备头戴式显示器,就可以在维修时轻松获取可用帮助信息。此外,Google眼镜,微软开发的Kinect,还有Leap Motion等硬件交互设备,为混合现实的发展奠定了良好的硬件基础。
1.3 本文的主要工作
首先,对于该应用,做了大量的研究调查工作,搜集了很多相关网络资料,了解本应用开发的目的和意义,也进一步确定了实现应用时所需的开发工具以及硬件,技术支持。
然后,我们将概要的介绍该应用以及所需的应用工具和支持,主要包括对leap motion,Unity3D,软硬结合API,实际碰撞体检测等内容的介绍。
紧接着对该应用进行可行性分析、需求分析并简单介绍体感识别。
本文最重要的部分是对虚拟古筝应用功能的详细设计和实现,对应用的设计与流程进行详细描述。
最后,实现两大模块功能:第一部分是音乐的虚拟操作,可以根据手掌的碰撞实现音乐的播放,暂停,切歌等功能。第二部分是实现古筝的虚拟弹奏,通过指尖与不同琴弦的碰撞,发出不同弦音,弹奏乐曲。
第二章 技术和开发环境
通过了解,本应用有两种环境选择开发,一种是Unity3d,另一种是Unreal engine。由于更熟悉Unity3d,本应用就采用Unity3d开发,实现可视化开发,提高开发效率和渲染美观的界面。
Unity3d游戏引擎,一般用于创建像三维视频游戏、建筑可视化、实时三维动画等类型互动内容的综合性创作工具。Unity类似于Director,Blender,Virtools或Torque Game Builder等利用交互图形化开发环境为首要方式的软件其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Wii、OSX或iOS平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。
2.1 关键技术
2.1.1 Unity Shader
(1)Shader的基本概念
一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,并进行计算变换,产生输出而已。
(2)Shader分类
表面着色器(Surface Shader):为你做了大部分的工作,只需要简单的技巧即可实现很多不错的效果。类比卡片机。上手以后不需要很多努力就能拍出不错的效果。
片段着色器(Fragment Shader):可以做的事情更多,但是也比较难写。使用也比较难写。使用片段着色器的主要目的的是可以在比较低的层级上进行更复杂(或者针对目标设备更高效)的开发。
主要说表面着色器:
结构:如图21
第一章 绪论 1
1.1 选题背景和意义 1
1.2 国内外研究现状 1
1.3 本文的主要工作 2
第二章 技术和开发环境 3
2.1 关键技术 3
2.1.1 Unity Shader 3
2.1.2 Unity 生命周期 10
2.2 开发工具 12
2.2.1 Leap motion简介 12
2.2.2 Unity简介 15
2.2.3 MonoDevelop简介 17
2.3 应用环境 18
第三章 应用分析 19
3.1应用目标 19
3.2混合现实应用可行性分析 19
3.3 混合现实应用需求分析 20
3.4 应用功能模块分析 21
3.4.1 音乐虚拟操控分析 22
3.4.2 虚拟体验分析 23
第四章 应用设计与实现方法 25
4.1应用模块设计 25
4.2应用UI设计 26
4.2.1 UI样式的设计与实现 26
*好棒文|www.hbsrm.com +Q: ^351916072*
性分析 19
3.3 混合现实应用需求分析 20
3.4 应用功能模块分析 21
3.4.1 音乐虚拟操控分析 22
3.4.2 虚拟体验分析 23
第四章 应用设计与实现方法 25
4.1应用模块设计 25
4.2应用UI设计 26
4.2.1 UI样式的设计与实现 26
4.2.2 UI组件的设计与实现 28
4.3代码设计 40
4.3.1 音乐虚拟操控模块 40
4.3.2 虚拟弹奏模块 46
第五章 结论与期望 49
5.1 结论 49
5.2 期望 49
致谢 51
参考文献 52
第一章 绪论
1.1 选题背景和意义
混合现实(虚拟现实与增强现实,VR&AR)技术是近年来一项十分活跃的研究。虚拟现实(VR)也叫人工环境,主要是有电脑模拟生成的一个三维立体空间的虚拟世界,给用户虚拟体验听觉、视觉、触觉等感官系统,给用户身临其境的感觉,可以实时任意角度方式的观察三维虚拟世界的一切对象事物。主要有三个特点,沉浸、交互、幻想。增强现实是一种结合虚拟化技术再现观察世界的方式,也就是增强现实(AR)提供给用户现实中无法直接获取的信息,也就是说,AR带给我们的信息实际上能让每个用户眼中的世界更加多样性。
互联网飞速发展的时代,二次元的游戏和应用已无法满足人类日益增长的体验需求。3D,4D的时代已经到来,通常3D的应用和游戏,标示着立体的三维体验,4D是基于3D的基础上增强了体感等交互的行为。通过4D的应用,可以给人在足不出户的前提下,体验身临其境的感官享受。
1.2 国内外研究现状
目前,iPhone手机,Windows Phone手机以及Google Android手机上,已经出现了不少的混合现实的应用。工业上的应用也出现了不少,目前已知的用于大型器械的维修和制造上,只要维修人员装备头戴式显示器,就可以在维修时轻松获取可用帮助信息。此外,Google眼镜,微软开发的Kinect,还有Leap Motion等硬件交互设备,为混合现实的发展奠定了良好的硬件基础。
1.3 本文的主要工作
首先,对于该应用,做了大量的研究调查工作,搜集了很多相关网络资料,了解本应用开发的目的和意义,也进一步确定了实现应用时所需的开发工具以及硬件,技术支持。
然后,我们将概要的介绍该应用以及所需的应用工具和支持,主要包括对leap motion,Unity3D,软硬结合API,实际碰撞体检测等内容的介绍。
紧接着对该应用进行可行性分析、需求分析并简单介绍体感识别。
本文最重要的部分是对虚拟古筝应用功能的详细设计和实现,对应用的设计与流程进行详细描述。
最后,实现两大模块功能:第一部分是音乐的虚拟操作,可以根据手掌的碰撞实现音乐的播放,暂停,切歌等功能。第二部分是实现古筝的虚拟弹奏,通过指尖与不同琴弦的碰撞,发出不同弦音,弹奏乐曲。
第二章 技术和开发环境
通过了解,本应用有两种环境选择开发,一种是Unity3d,另一种是Unreal engine。由于更熟悉Unity3d,本应用就采用Unity3d开发,实现可视化开发,提高开发效率和渲染美观的界面。
Unity3d游戏引擎,一般用于创建像三维视频游戏、建筑可视化、实时三维动画等类型互动内容的综合性创作工具。Unity类似于Director,Blender,Virtools或Torque Game Builder等利用交互图形化开发环境为首要方式的软件其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Wii、OSX或iOS平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。
2.1 关键技术
2.1.1 Unity Shader
(1)Shader的基本概念
一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,并进行计算变换,产生输出而已。
(2)Shader分类
表面着色器(Surface Shader):为你做了大部分的工作,只需要简单的技巧即可实现很多不错的效果。类比卡片机。上手以后不需要很多努力就能拍出不错的效果。
片段着色器(Fragment Shader):可以做的事情更多,但是也比较难写。使用也比较难写。使用片段着色器的主要目的的是可以在比较低的层级上进行更复杂(或者针对目标设备更高效)的开发。
主要说表面着色器:
结构:如图21
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1452.html