一种基于Unity3D引擎的虚拟智能骑行系统技术方案

技术编号:21442895 阅读:22 留言:0更新日期:2019-06-26 01:44
一种基于Unity3D引擎的虚拟智能骑行系统,包括:基于Unity3D引擎的虚拟3D场景,用于利用Unity3D中的模型和动画创建虚拟场景以作为骑行赛道;虚拟场景阻力模拟模块,用于根据不同地形的不同阻力系数和所处位置的相应坡度值,模拟出合理真实的骑行阻力感受;虚拟自行车的运动控制模块包括基于Unity3D中transform类中Translate方法的自行车模型移动控制部分,基于transform类中Rotate方法的自行车模型转向控制部分以及用于运动状态更新和同步协同部分。本发明专利技术视觉体验更生动、骑行路感更真实、运动控制更流畅,一定程度地满足了用户对智能骑行的新需求。

A Virtual Intelligent Biking System Based on Unity3D Engine

A virtual intelligent riding system based on Unity3D engine includes: a virtual 3D scene based on Unity3D engine, which is used to create a virtual scene using the model and animation in Unity3D as a riding track; a virtual scene resistance simulation module, which is used to simulate a reasonable and real riding resistance feeling according to the different resistance coefficients of different terrain and the corresponding gradient value of its location; The motion control module of quasi-bicycle includes the mobile control part of bicycle model based on Translate method in Unity3D transformation class, the steering control part of bicycle model based on Rotate method in transformation class, and the part for motion state updating and synchronization. The invention has a more vivid visual experience, a more realistic sense of riding, and a smoother motion control, which to a certain extent meets the new needs of users for intelligent riding.

【技术实现步骤摘要】
一种基于Unity3D引擎的虚拟智能骑行系统
本专利技术涉及自动化领域以及3D游戏设计领域,具体涉及一种基于Unity3D引擎的虚拟智能骑行系统。
技术介绍
随着经济水平的提高,人们对身体健康的需求急速增加,骑行健身市场随之广阔起来,自行车再不仅仅是一种交通工具,也成为了一种健身器材,一种愉悦心灵的方式。许多年轻男女为了强健体魄、减肥塑形,选择了骑行运动。不仅如此,据近年来多项研究结果表明,骑行运动和跑步、游泳一样,是一种最能改善人们心肺功能的耐力性锻炼方式之一。坚持科学合理的骑行运动,不但能预防大脑老化,提高神经系统的敏捷性,还能提高心肺功能,锻炼下肢肌力和增强全身耐力。然而,户外骑行受诸多因素的制约,如多变的天气、复杂的道路情况等等。而且骑行时间多限制在白天,因为如果在夜间骑行,那么不佳的视野有可能导致骑行者意外受伤。在此背景下,不受场地、天气条件和时间约束的室内骑行台应运而生。传统的骑行台是机械式,功能单一,操作也是机械式的调节。并且,机械骑行台没有任何辅助设备,也不能将训练数据具体地呈现给用户,因此用户无法进行科学有效的锻炼健身。随着信息技术的发展,骑行台开始智能化、信息化,能实时显示骑行数据的智能骑行台渐渐取代了机械式骑行台受到骑友们的青睐。智能骑行台将智能穿戴设备与机械骑行台结合起来,将训练数据如心率、骑行功率等直观地呈现给用户。然而,单单只有孤零零的、冷冰冰的数据呈现在屏幕上,骑行用户无法获得沉浸式的体验感;长时间局限于闭塞的房间内的进行骑行训练,也会使骑行用户感到乏味。Unity3D是由UnityTechnologies开发的一个让开发者轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。骑行系统与Unity3D相结合,或许也能带给骑行者更身临其境的体验。一款视觉体验更生动、骑行路感更真实、运动控制更流畅的智能骑行系统,是用户所期待的。
技术实现思路
为了弥补现有的智能骑行训练系统的真实感和趣味性较差的不足,本专利技术设计了一种骑行路感真实、运动控制流畅精确的虚拟智能骑行系统,包括基于Unity3D引擎的虚拟3D场景、阻力模拟算法和运动控制算法,可满足骑行用户在设计的虚拟场景中进行骑行挑战的需求。本专利技术主要采用的技术方案为:一种基于Unity3D引擎的虚拟智能骑行系统,包括基于Unity3D引擎的虚拟3D场景、虚拟场景阻力模拟模块和虚拟自行车的运动控制模块;其中,所述基于Unity3D引擎的虚拟3D场景,用于利用Unity3D中的模型和动画创建虚拟场景,以作为骑行赛道;所述虚拟场景阻力模拟模块,用于根据不同地形的不同阻力系数和所处位置的相应坡度值,模拟出合理真实的骑行阻力感受;所述虚拟自行车的运动控制模块包括:基于Unity3D中transform类中Translate方法的自行车模型移动控制部分,基于transform类中Rotate方法的自行车模型转向控制部分,以及用于运动状态更新和同步协同部分。进一步,所述虚拟场景阻力模拟模块中,计算骑行用户所处虚拟场景位置的阻力档位以传递给下位机,包含以下步骤:步骤1.1,首先要为搭建好的虚拟场景赋予不同地表的摩擦阻力系数n;在不考虑坡度的情况下,不同的地表有着不同的摩擦阻力系数。如公路地形的阻力系数就可以设置成4,而沙地的阻力系数就设置为6;步骤1.2,场景初始化时获取整个场景所有的坡度值p,坡度值p为用户骑行方向与水平正方向夹角,上坡时为正,下坡时为负,场景初始化时,获取到整个场景中的所有坡度值数列p;步骤1.3,计算获得场景单个档位的坡度值,即该场景的一个坡度单位,记录最大坡度值pMax和最小值pMin,上坡的档位划分单位值就可以表示为pMax/(Max(A,B)-1),下坡的划分为pMin/(Min(A,B)),其中A和B为该场景的坡度系数,这里A和B中,上坡档位系数为正数,下坡档位系数为负数;步骤1.4,用户骑行过程中,通过触发器时会判断其所处位置地表,获取相应的摩擦阻力系数n;步骤1.5,用户骑行过程中,通过固定物理时间轴FixedUpdate()实时判断其所处位置地表,获取相应的坡度值数据Slope;步骤1.6,依据获取到的摩擦阻力系数n和坡度值数据Slope,精确模拟出骑行阻力,计算用户所处位置的阻力档位Stalls;步骤1.7,将阻力档位信息传递给下位机,下位机的阻力模拟模块依据阻力档位模拟出对应强度的阻力;再进一步,所述步骤1.4中,获取地表摩擦阻力系数的步骤为:步骤1.4.1:假设虚拟骑行场景包含i个不同路面场景:R1,R2…Ri,路面R1是场景的基础路面形态,初始化时直接将路面R1的摩擦阻力系数保存为自行车的摩擦阻力系数的默认值;步骤1.4.2:设置i-1个全局触发器,每个触发器的范围都覆盖对应一个路面场景的所有控件;步骤1.4.3:当自行车模型进入某个路面Rj的瞬间,便会触发该触发器的功能函数OnTriggerEnter,将路面Rj的摩擦阻力系数赋给自行车的摩擦阻力系数,并传给下位机;步骤1.4.4:当自行车模型离开某个路面Rj的瞬间,便会触发该触发器的功能函数OnTriggerExit,自行车的摩擦阻力系数恢复为默认值,并传给下位机;步骤1.4.5:如此循环1.4.3、1.4.4直到骑行终点,触发所有i-1个触发器,实时获取过程中不同路面的摩擦阻力系数;所述步骤1.5中,获取的坡度值数据Slope的方法如下:步骤1.5.1:自行车模型的Transform组件中的Rotation属性中以四元数的形式存储着模型的三维角度信息,其中z属性值恰好对应着自行车在斜坡上的角度。为了获取欧拉角度,调用localEulerAngles方法以欧拉角度形式读取当前位置的自行车模型位置的z属性值;步骤1.5.2:自行车模型与水平正方向与夹角A即为坡度Slope,上坡时A和实际倾斜角度z之和为360度,下坡时A即为实际倾斜角度z;步骤1.5.3:通过固定物理时间轴的FixedUpdate()定时刷新,实时获取到当前自行车模型位置的坡度信息;所述虚拟自行车模型的运动控制模块,包含虚拟自行车模型的前进速度控制和用于转弯的角速度控制,步骤如下:步骤2.1:通过固定物理时间轴的FixedUpdate()定时刷新整个工程;获取下位机的运动信息;步骤2.2:使用transform组件中的Translate方法,来控制自行车模型的前进中运动;使用transform组件中的Rotate方法,来控制自行车模型的转向运动;步骤2.3:协同程序对固定时间轴函数进行调整,让动画的更新能在图形渲染时间轴上进行更新,即Update()。进一步,步骤2.2中,使用transform组件中的Translate方法来控制自行车模型的前进运动,需要设置两个参数为物体运动的距离或方程s,以及坐标系,其中第一个参数为物体运动速度方程,这里的速度结果为矢量:s=Vector3.forward×Time.deltaTime×speed×speedCoefficientVector3(x,y,z)存储的是自行车模型的位置信息,这里将单位方向设置为Vector3.forward,即保证速度方向和虚拟自行车方向一致,本文档来自技高网
...

【技术保护点】
1.一种基于Unity3D引擎的虚拟智能骑行系统,其特征在于:所述系统包括基于Unity3D引擎的虚拟3D场景、虚拟场景阻力模拟模块和虚拟自行车的运动控制模块;其中,所述基于Unity3D引擎的虚拟3D场景,用于利用Unity3D中的模型和动画创建虚拟场景,以作为骑行赛道;所述虚拟场景阻力模拟模块,用于根据不同地形的不同阻力系数和所处位置的相应坡度值,模拟出合理真实的骑行阻力感受;所述虚拟自行车的运动控制模块包括:基于Unity3D中transform类中Translate方法的自行车模型移动控制部分,基于transform类中Rotate方法的自行车模型转向控制部分,以及用于运动状态更新和同步协同部分。

【技术特征摘要】
1.一种基于Unity3D引擎的虚拟智能骑行系统,其特征在于:所述系统包括基于Unity3D引擎的虚拟3D场景、虚拟场景阻力模拟模块和虚拟自行车的运动控制模块;其中,所述基于Unity3D引擎的虚拟3D场景,用于利用Unity3D中的模型和动画创建虚拟场景,以作为骑行赛道;所述虚拟场景阻力模拟模块,用于根据不同地形的不同阻力系数和所处位置的相应坡度值,模拟出合理真实的骑行阻力感受;所述虚拟自行车的运动控制模块包括:基于Unity3D中transform类中Translate方法的自行车模型移动控制部分,基于transform类中Rotate方法的自行车模型转向控制部分,以及用于运动状态更新和同步协同部分。2.如权利要求1所述的基于Unity3D引擎的虚拟智能骑行系统,其特征在于:所述虚拟场景阻力模拟模块中,计算骑行用户所处虚拟赛道中位置的阻力档位以传递给下位机,步骤如下:步骤1.1,首先要为搭建好的虚拟场景赋予不同地表的摩擦阻力系数n;步骤1.2,场景初始化时获取整个场景所有的坡度值p,坡度值p为用户骑行方向与水平正方向夹角,上坡时为正,下坡时为负,场景初始化时,获取到整个场景中的所有坡度值数列p;步骤1.3,计算获得场景单个档位的坡度值,即该场景的一个坡度单位,记录最大坡度值pMax和最小值pMin,上坡的档位划分单位值就可以表示为pMax/(Max(A,B)-1),下坡的划分为pMin/(Min(A,B)),其中A和B为该场景的坡度系数,这里A和B中,上坡档位系数为正数,下坡档位系数为负数;步骤1.4,用户骑行过程中,通过触发器时会判断其所处位置地表,获取相应的摩擦阻力系数n;步骤1.5,用户骑行过程中,通过固定物理时间轴FixedUpdate()实时判断其所处位置地表,获取相应的坡度值数据Slope;步骤1.6,依据获取到的摩擦阻力系数n和坡度值数据Slope,精确模拟出骑行阻力,计算用户所处位置的阻力档位Stalls,公式如下:步骤1.7,将阻力档位信息传递给下位机,下位机的阻力模拟模块依据阻力档位模拟出对应强度的阻力。3.如权利要求2所述的基于Unity3D引擎的虚拟智能骑行系统,其特征在于,所述步骤1.4中,获取摩擦阻力系数的方法如下:步骤1.4.1:假设虚拟骑行场景包含i个不同路面场景:R1,R2…Ri,路面R1是场景的基础路面形态,初始化时直接将路面R1的摩擦阻力系数保存为自行车的摩擦阻力系数的默认值;步骤1.4.2:设置i-1个全局触发器,每个触发器的范围都覆盖对应一个路面场景的所有控件;步骤1.4.3:当自行车模型进入某个路面Rj的瞬间,便会触发该触发器的功能函数OnTriggerEnter,将路面Rj的摩擦阻力系数赋给自行车的摩擦阻力系数,并传给下位机;步骤1.4.4:当自行车模型离开某个路面Rj的瞬间,便会触发该触发器的功能函数OnTriggerExit,自行车的摩擦阻力系数恢复为默认值,并传给下位机;步骤1.4.5:如此循环1.4.3、1.4.4直到骑行终点,触发所有i-1个触发器,实时获取过程中不同路面的摩擦阻力系数。4.如权利要求2所述的基于Unity3D引擎的虚拟智能骑行系统,其特征在于,所述步骤1.5中,获取的坡度值数据Slope的方法如下:步骤1.5.1:自行车模型的Transform组件中的Rotation属性中以四元数的形式存储着模型的三维角度信息,其中z属性值恰好对应着自行车在斜坡上的角度,为了获取欧拉角度,调用...

【专利技术属性】
技术研发人员:冯远静田英傲朱涛郑天驰王玺铭
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1