UE4引擎中手拧虚拟物品的信息处理方法和装置制造方法及图纸

技术编号:27014738 阅读:22 留言:0更新日期:2021-01-12 10:57
本发明专利技术涉及一种UE4引擎中手拧虚拟物品的信息处理方法、装置、计算机设备和存储介质,所述方法包括:在UE4引擎的虚拟物品上创建骨骼模型,在骨骼模型的手腕骨骼节点添加插槽;获取用户手腕正右方的方向向量,获取骨骼模型手腕正右方的方向向量;在骨骼模型中添加箭头组件;将用户手腕正右方的方向向量与骨骼模型手腕正右方的方向向量投影在以箭头组件的指向为法向量的平面,得到骨骼模型手腕正右方的方向向量的投影向量和用户手腕正右方的方向向量的投影向量;获取两个投影向量的夹角以及两个投影向量的叉乘所得到的向量;将夹角和向量叠加到骨骼模型中。上述方法能够在UE4引擎的虚拟环境中将玩家用户手拧虚拟物品的虚拟效果更真实。

【技术实现步骤摘要】
UE4引擎中手拧虚拟物品的信息处理方法和装置
本专利技术涉及虚拟现实
,特别是涉及一种UE4引擎中手拧虚拟物品的信息处理方法、装置、计算机设备和存储介质。
技术介绍
UE4是美国Epic游戏公司研发的一款3A级次时代游戏引擎,渲染效果强大,采用物理材质系统,是开发者最喜爱的引擎之一。UE4画面效果完全达到3A游戏水准,光照和物理渲染效果强大。UE4蓝图系统让游戏策划也能编辑代码,各种官方插件齐全也让开发者不用在自编第三方插件并担心兼容接口问题。更重要的是针对虚拟现实游戏,UE4为手柄、VR控制器提供了良好支持。当前技术在虚拟现实的应用中,模拟用手拧物品的效果。比如拧旋钮,螺丝等,基本都是玩家用手去触碰该物品,在碰撞检测事件中播放物品旋转的动画,直接完成整个拧物品的操作。然而,玩家并没有身临其境的感受。也即是,UE4开发虚拟现实应用中,模拟手拧虚拟物品的效果不真实。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了一种UE4引擎中手拧虚拟物品的信息处理方法、装置、计算机设备和存储介质,能够使得在UE4引擎的虚拟环境中将玩家用户手拧虚拟物品的虚拟效果更真实。为了解决上述中至少一个技术问题,本专利技术实施例提供了一种UE4引擎中手拧虚拟物品的信息处理方法,所述方法包括:在UE4引擎的虚拟物品上创建骨骼模型,在所述骨骼模型的手腕骨骼节点添加插槽Socket;通过UE4的函数GetSocketRotation=>GetRightVector获取到用户手腕正右方的方向向量,命名为ReallyHandRightDir,通过UE4的函数GetRightVector获取到所述骨骼模型手腕正右方的方向向量,命名为VirtualHandRightDir;在所述骨骼模型中添加箭头组件,所述箭头组件的指向与所述虚拟物品的旋转轴一致;将所述ReallyHandRightDir与所述VirtualHandRightDir投影在以所述箭头组件的指向为法向量的平面上,得到所述VirtualHandRightDir的投影向量VirtualHandRightProjectDir和所述ReallyHandRightDir的投影向量ReallyHandRightProjectDir;通过UE4的函数RotatorfromAxisAndAngle获取所述VirtualHandRightProjectDir和所述ReallyHandRightProjectDir的夹角以及VirtualHandRightProjectDir叉乘ReallyHandRightProjectDir所得到的向量;通过UE4的函数AddWorldRotation将所述夹角和所述向量叠加到所述骨骼模型中。在其中一个实施例中,所述骨骼模型为所述虚拟物品的双手的骨骼模型,所述在所述骨骼模型的手腕骨骼节点添加插槽Socket,包括:在所述双手的骨骼模型上分别添加插槽Socket。在其中一个实施例中,所述方法还包括:在所述虚拟物品上创建scene组件,命名为VirtualHandRightDirScene,将所述VirtualHandRightDirScene设置在跟组件的位置与所述ReallyHandRightProjectDir*100的位置上;将所述VirtualHandRightDirScene的位置与所述跟组件的位置的差值作为所述ReallyHandRightProjectDir的当前帧的位置;获取下一帧的所述ReallyHandRightProjectDir的位置;获取所述ReallyHandRightProjectDir的当前帧的位置与所述下一帧的所述ReallyHandRightProjectDir的位置的角度,获取当前帧的所述ReallyHandRightProjectDir与下一帧的所述ReallyHandRightProjectDir的向量的叉乘,得到正负;使用UE4的函数AddRelativeRotation将计算出正负的角度差值附加给所述虚拟物品的旋转组件。在其中一个实施例中,所述方法还包括:根据所述计算出正负的角度差值确定所述ReallyHandRightProjectDir在当前帧转到下一帧时的旋转值;根据所述旋转值控制所述虚拟物品的所述旋转组件进行旋转。在其中一个实施例中,所述根据所述旋转值控制所述虚拟物品的所述旋转组件进行旋转,包括:若所述旋转值大于0,在所述旋转值中添加判断条件;当所述旋转值大于0时,根据所述旋转值的判断条件控制所述虚拟物品的所述旋转组件进行旋转。在其中一个实施例中,所述方法还包括:当所述旋转值小于或等于0时,控制所述虚拟物品的所述旋转组件不发生旋转。在其中一个实施例中,所述旋转值为多个,所述方法还包括:在预设的旋转条件下计算多个旋转值的累加值,得到总旋转度;若所述总旋转度大于预期值,确定所述UE4引擎中手拧虚拟物品结束。本申请还提供一种UE4引擎中手拧虚拟物品的信息处理装置,所述装置包括:第一添加模块,用于在UE4引擎的虚拟物品上创建骨骼模型,在所述骨骼模型的手腕骨骼节点添加插槽Socket;获取模块,用于通过UE4的函数GetSocketRotation=>GetRightVector获取到用户手腕正右方的方向向量,命名为ReallyHandRightDir,通过UE4的函数GetRightVector获取到所述骨骼模型手腕正右方的方向向量,命名为VirtualHandRightDir;第二添加模块,用于在所述骨骼模型中添加箭头组件,所述箭头组件的指向与所述虚拟物品的旋转轴一致;投影模块,用于将所述ReallyHandRightDir与所述VirtualHandRightDir投影在以所述箭头组件的指向为法向量的平面上,得到所述VirtualHandRightDir的投影向量VirtualHandRightProjectDir和所述ReallyHandRightDir的投影向量ReallyHandRightProjectDir;计算模块,用于通过UE4的函数RotatorfromAxisAndAngle获取所述VirtualHandRightProjectDir和所述ReallyHandRightProjectDir的夹角以及VirtualHandRightProjectDir叉乘ReallyHandRightProjectDir所得到的向量;叠加模块,用于通过UE4的函数AddWorldRotation将所述夹角和所述向量叠加到所述骨骼模型中。另外,本专利技术实施例还提供了一种计算机设备,其包括:存储器、处理器及存储在存储器上并可在处理器上运行的应用程序,处理器执行应用程序时实现上述任一实施例方法的步骤。另外,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有应用程序,应用程序被本文档来自技高网...

【技术保护点】
1.一种UE4引擎中手拧虚拟物品的信息处理方法,其特征在于,所述方法包括:/n在UE4引擎的虚拟物品上创建骨骼模型,在所述骨骼模型的手腕骨骼节点添加插槽Socket;/n通过UE4的函数GetSocketRotation=>GetRightVector获取到用户手腕正右方的方向向量,命名为ReallyHandRightDir,通过UE4的函数GetRightVector获取到所述骨骼模型手腕正右方的方向向量,命名为VirtualHandRightDir;/n在所述骨骼模型中添加箭头组件,所述箭头组件的指向与所述虚拟物品的旋转轴一致;/n将所述ReallyHandRightDir与所述VirtualHandRightDir投影在以所述箭头组件的指向为法向量的平面上,得到所述VirtualHandRightDir的投影向量VirtualHandRightProjectDir和所述ReallyHandRightDir的投影向量ReallyHandRightProjectDir;/n通过UE4的函数RotatorfromAxisAndAngle获取所述VirtualHandRightProjectDir和所述ReallyHandRightProjectDir的夹角以及VirtualHandRightProjectDir叉乘ReallyHandRightProjectDir所得到的向量;/n通过UE4的函数AddWorldRotation将所述夹角和所述向量叠加到所述骨骼模型中。/n...

【技术特征摘要】
1.一种UE4引擎中手拧虚拟物品的信息处理方法,其特征在于,所述方法包括:
在UE4引擎的虚拟物品上创建骨骼模型,在所述骨骼模型的手腕骨骼节点添加插槽Socket;
通过UE4的函数GetSocketRotation=>GetRightVector获取到用户手腕正右方的方向向量,命名为ReallyHandRightDir,通过UE4的函数GetRightVector获取到所述骨骼模型手腕正右方的方向向量,命名为VirtualHandRightDir;
在所述骨骼模型中添加箭头组件,所述箭头组件的指向与所述虚拟物品的旋转轴一致;
将所述ReallyHandRightDir与所述VirtualHandRightDir投影在以所述箭头组件的指向为法向量的平面上,得到所述VirtualHandRightDir的投影向量VirtualHandRightProjectDir和所述ReallyHandRightDir的投影向量ReallyHandRightProjectDir;
通过UE4的函数RotatorfromAxisAndAngle获取所述VirtualHandRightProjectDir和所述ReallyHandRightProjectDir的夹角以及VirtualHandRightProjectDir叉乘ReallyHandRightProjectDir所得到的向量;
通过UE4的函数AddWorldRotation将所述夹角和所述向量叠加到所述骨骼模型中。


2.根据权利要求1所述的方法,其特征在于,所述骨骼模型为所述虚拟物品的双手的骨骼模型,所述在所述骨骼模型的手腕骨骼节点添加插槽Socket,包括:在所述双手的骨骼模型上分别添加插槽Socket。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟物品上创建scene组件,命名为VirtualHandRightDirScene,将所述VirtualHandRightDirScene设置在跟组件的位置与所述ReallyHandRightProjectDir*100的位置上;
将所述VirtualHandRightDirScene的位置与所述跟组件的位置的差值作为所述ReallyHandRightProjectDir的当前帧的位置;
获取下一帧的所述ReallyHandRightProjectDir的位置;
获取所述ReallyHandRightProjectDir的当前帧的位置与所述下一帧的所述ReallyHandRightProjectDir的位置的角度,获取当前帧的所述ReallyHandRightProjectDir与下一帧的所述ReallyHandRightProjectDir的向量的叉乘,得到正负;
使用UE4的函数AddRelativeRotation将计算出正负的角度差值附加给所述虚拟物品的旋转组件。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
...

【专利技术属性】
技术研发人员:夏露辉许秋子
申请(专利权)人:深圳市瑞立视多媒体科技有限公司
类型:发明
国别省市:广东;44

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

1