CN111508080A - 基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 - Google Patents
基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 Download PDFInfo
- Publication number
- CN111508080A CN111508080A CN202010511944.0A CN202010511944A CN111508080A CN 111508080 A CN111508080 A CN 111508080A CN 202010511944 A CN202010511944 A CN 202010511944A CN 111508080 A CN111508080 A CN 111508080A
- Authority
- CN
- China
- Prior art keywords
- model
- adhesive tape
- tape
- color ring
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Prostheses (AREA)
Abstract
本发明涉及虚拟现实领域,公开了一种基于UE4引擎的胶带缠绕仿真的实现方法及相关设备。该方法包括:利用UE4引擎创建胶带模型、色环模型和假手模型,在胶带模型与色环模型碰撞后,胶带模型中的胶带纸组件连接至色环模型,当用户的假手模型移动时控制胶带模型中的空组件旋转,胶带纸组件从所述胶带模型中向外延伸;当胶带纸组件的延伸长度达到预设的临界值时,根据实时获取的假手模型的坐标信息计算N个空间坐标位置信息和M个胶带模型中空组件与胶带纸组件的相对坐标信息,根据空间坐标位置信息和相对坐标信息对色环模型进行旋转缠绕。通过本发明,能够真实地模拟胶带缠绕物体效果的效果,提高用户在游戏过程中的操作体验。
Description
技术领域
本发明涉及VR领域,尤其涉及一种基于UE4引擎的胶带缠绕仿真的实现方法及相关设备。
背景技术
虚拟现实(virtual reality,VR)技术是一种可以在虚拟环境中完成一系列动作的计算机技术,随着计算机软硬件的不断发展,虚拟环境的搭建越发完整,功能越发完善。而虚拟现实技术常常会应用到虚幻引擎4(Unreal Engine 4,简称UE4)。
UE4是一款3A级次时代游戏引擎,渲染效果强大,采用物理材质系统,是开发者最喜爱的引擎之一。UE4画面效果完全达到3A游戏水准,光照和物理渲染效果强大。UE4蓝图系统让游戏策划也能编辑代码,各种官方插件齐全也让开发者不用在自编第三方插件并担心兼容接口问题。更重要的是针对虚拟现实游戏,UE4为手柄、VR控制器提供了良好支持。
当前技术在虚拟现实的应用中,模拟使用胶带缠绕物体的效果,基本都是玩家拿着胶带和被缠绕的物体进行碰撞,在碰撞检测事件中播放胶带缠绕动画,直接完成整个缠绕胶带的操作,玩家并没有身临其境的感受。
发明内容
本发明的主要目的在于解决现有的UE4开发虚拟现实应用中,模拟使用胶带缠绕圆柱体效果不真实的技术问题。
本发明第一方面提供了一种基于UE4引擎的胶带缠绕仿真的实现方法,包括:
利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
若存在碰撞事件,则控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
判断所述胶带纸组件的延伸长度是否大于预设的临界值;
若所述延伸长度大于预设的临界值,则根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
可选的,在本发明第一方面的第一种实现方式中,所述相对坐标信息包括相对位置信息、相对旋转信息和相对缩放信息,所述控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸包括:
当所述假手模型进行移动时,获取所述胶带模型的胶带坐标信息和所述色环模型的色环坐标信息;
根据所述胶带坐标信息和所述色环坐标信息,计算所述胶带模型和色环模型的距离值;
将所述距离值减去所述胶带模型的半径,得到长度值,并根据所述长度值调整所述相对缩放信息;
根据所述相对位置信息和相对旋转信息控制所述空组件旋转;
根据调整后的相对缩放信息控制所述胶带模型的缩放,将所述胶带纸组件从所述胶带模型中向外延伸。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述相对位置信息和相对旋转信息控制所述空组件旋转包括:
将所述胶带坐标信息和所述色环坐标信息输入至预置的第一朝向函数,获得旋转值;
根据所述旋转值控制所述空组件的旋转,将所述胶带纸组件向所述色环模型所在的位置上延伸。
可选的,在本发明第一方面的第三种实现方式中,所述根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息包括:
根据所述假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第一映射点;
根据所述第一映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第一映射点的第一向量;
根据所述位置变化曲线,控制所述假手模型进行旋转,并获取所述假手模型旋转过程中多个位置的第二假手坐标信息;
根据所述第二假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第二映射点;
根据所述第二映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第二映射点的第二向量;
计算所述第一向量和所述第二向量的夹角和法向量;
计算所述法向量的单位向量与所述正方向上的单位向量的点积值,将所述点积值的正负乘以所述夹角,得到旋转角度;
根据所述旋转角度和所述位置变化曲线,计算出所述胶带模型的空间坐标位置信息和所述空组件与所述胶带纸组件之间的相对坐标信息。
可选的,在本发明第一方面的第四种实现方式中,在所述根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上之后,还包括:
计算所述色环模型上缠绕的胶带纸组件的圈数;
判断所述圈数是否小于预设的临界圈数;
若否,则停止所述胶带模型的旋转缠绕,并调整所述色环模型上的胶带纸组件的显示状态。
可选的,在本发明第一方面的第五种实现方式中,在所述利用UE4引擎创建胶带模型、色环模型和假手模型之后,在所述判断所述胶带模型与所述色环模型之间是否存在碰撞事件之前,还包括:
设置所述胶带纸组件在所述色环模型上的缠绕形状和所述临界圈数,并生成胶带缠绕模型;
将所述胶带缠绕模型的初始状态设置为透明状态,将完全显示状态设置为最终状态;
根据所述临界圈数设置所述色环模型的显示百分值。
可选的,在本发明第一方面的第六种实现方式中,在所述根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上之后,还包括:
将所述夹角映射到旋转百分比中,当所述旋转百分比等于百分之百时,将所述胶带纸组件缠绕于所述色环模型的圈数加一,并将所述旋转百分比置零,重新计算,其中,所述旋转百分比为所述胶带纸组件缠绕一圈所述色环模型的进度百分比;
将所述圈数加上所述旋转百分比,得到缠绕进度,将所述缠绕进度映射至所述显示百分值;
根据所述显示百分值,将所述胶带缠绕模型在所述初始状态和所述最终状态之间进行显示。
本发明第二方面提供了一种基于UE4引擎的胶带缠绕仿真的实现装置,包括:
创建模块,用于利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
第一判断模块,用于判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
延伸模块,用于当存在碰撞事件时,控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
第二判断模块,用于判断所述胶带纸组件的延伸长度是否大于预设的临界值;
计算模块,用于在判断所述延伸长度大于预设的临界值时,根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
第一旋转模块,用于根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
第二旋转模块,用于根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
可选的,在本发明第二方面的第一种实现方式中,所述延伸模块包括:
获取单元,用于当所述假手模型进行移动时,获取所述胶带模型的胶带坐标信息和所述色环模型的色环坐标信息;
距离计算单元,用于根据所述胶带坐标信息和所述色环坐标信息,计算所述胶带模型和色环模型的距离值;
调整单元,用于将所述距离值减去所述胶带模型的半径,得到长度值,并根据所述长度值调整所述相对缩放信息;
控制单元,用于根据所述相对位置信息和相对旋转信息控制所述空组件旋转;
伸缩单元,用于根据调整后的相对缩放信息控制所述胶带模型的缩放,将所述胶带纸组件从所述胶带模型中向外延伸。
可选的,在本发明第二方面的第二种实现方式中,所述旋转模块具体用于:
将所述胶带坐标信息和所述色环坐标信息输入至预置的第一朝向函数,获得旋转值;
根据所述旋转值控制所述空组件的旋转,将所述胶带纸组件向所述色环模型所在的位置上延伸。
可选的,在本发明第二方面的第三种实现方式中,所述计算模块具体用于:
根据所述假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第一映射点;
根据所述第一映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第一映射点的第一向量;
根据所述位置变化曲线,控制所述假手模型进行旋转,并获取所述假手模型旋转过程中多个位置的第二假手坐标信息;
根据所述第二假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第二映射点;
根据所述第二映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第二映射点的第二向量;
计算所述第一向量和所述第二向量的夹角和法向量;
计算所述法向量的单位向量与所述正方向上的单位向量的点积值,将所述点积值的正负乘以所述夹角,得到旋转角度;
根据所述旋转角度和所述位置变化曲线,计算出所述胶带模型的空间坐标位置信息和所述空组件与所述胶带纸组件之间的相对坐标信息。
可选的,在本发明第二方面的第四种实现方式中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括缠绕停止模块,所述缠绕停止模块具体用于:
计算所述色环模型上缠绕的胶带纸组件的圈数;
判断所述圈数是否小于预设的临界圈数;
若否,则停止所述胶带模型的旋转缠绕,并调整所述色环模型上的胶带纸组件的显示状态。
可选的,在本发明第二方面的第五种实现方式中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括设置模块,所述设置模块具体用于:
设置所述胶带纸组件在所述色环模型上的缠绕形状和所述临界圈数,并生成胶带缠绕模型;
将所述胶带缠绕模型的初始状态设置为透明状态,将完全显示状态设置为最终状态;
根据所述临界圈数设置所述色环模型的显示百分值。
可选的,在本发明第二方面的第六种实现方式中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括显示模块,所述显示模块具体用于:
所述夹角映射到旋转百分比中,当所述旋转百分比等于百分之百时,将所述胶带纸组件缠绕于所述色环模型的圈数加一,并将所述旋转百分比置零,重新计算,其中,所述旋转百分比为所述胶带纸组件缠绕一圈所述色环模型的进度百分比;
将所述圈数加上所述旋转百分比,得到缠绕进度,将所述缠绕进度映射至所述显示百分值;
根据所述显示百分值,将所述胶带缠绕模型在所述初始状态和所述最终状态之间进行显示。
本发明第三方面提供了一种基于UE4引擎的胶带缠绕仿真的实现设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于UE4引擎的胶带缠绕仿真的实现设备执行上述的基于UE4引擎的胶带缠绕仿真的实现方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于UE4引擎的胶带缠绕仿真的实现方法。
本发明提供的技术方案中,利用UE4引擎创建胶带模型、色环模型和假手模型,在胶带模型与色环模型碰撞后,胶带模型中的胶带纸组件连接至色环模型上,当用户控制的假手模型移动时,胶带纸组件的长度进行伸缩;判断所述长度是否到达预设临界值;若是,胶带模型根据假手模型的坐标信息计算胶带模型若干个空间坐标位置信息和若干个胶带模型中空组件与胶带纸组件的相对坐标信息,胶带模型根据空间坐标位置信息和相对坐标信息对色环模型进行缠绕。在本发明提供的技术方案中,用户在操控假手模型的过程中,通过实时获取假手模型的信息,胶带模型能够计算需要旋转的角度以及空间坐标位置信息,根据计算得到的角度和空间坐标位置信息,跟随假手模型进行运动,对色环模型进行旋转缠绕,进而能够真实地模拟胶带缠绕物体效果的效果,提高用户在游戏过程中的操作体验。
附图说明
图1为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第一个实施例示意图;
图2为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第二个实施例示意图;
图3为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第三个实施例示意图;
图4为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第四个实施例示意图;
图5为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第五个实施例示意图;
图6为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的一个流程状态图;
图7为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的另一个流程状态图;
图8为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现装置的一个实施例示意图;
图9为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现装置的另一个实施例示意图;
图10为本发明实施例中基于UE4引擎的胶带缠绕仿真的实现设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于UE4引擎的胶带缠绕仿真的实现方法、装置、设备及存储介质,本发明的技术方案中,利用UE4引擎创建胶带模型、色环模型和假手模型,在胶带模型与色环模型碰撞后,胶带模型中的胶带纸组件连接至色环模型上,当用户的假手模型移动时,胶带纸组件的长度进行伸缩;判断所述长度是否到达预设临界值;若是,胶带模型根据假手模型的坐标信息计算胶带模型若干个空间坐标位置信息和若干个胶带模型中空组件与胶带纸组件的相对坐标信息,胶带模型根据空间坐标位置信息和相对坐标信息对色环模型进行缠绕。在本发明提供的技术方案中,用户在操控假手模型的过程中,通过实时获取假手模型的信息,胶带模型能够计算需要旋转的角度以及空间坐标位置信息,根据计算得到的角度和空间坐标位置信息,跟随假手模型进行运动,对色环模型进行旋转缠绕。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第一个实施例包括:
101、利用UE4引擎创建胶带模型、色环模型和假手模型,其中,胶带模型附着在对应于用户操作物体的假手模型上,胶带模型包括胶带纸组件和空组件;
可以理解的是,本发明的执行主体可以为基于UE4引擎的胶带缠绕仿真的实现装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
在本实施例中,主要通过UE4引擎的蓝图可视化脚本系统实现,蓝图可视化脚本系统是一类完整的游戏性脚本系统,此系统的基础概念是使用基于节点的界面在虚幻编辑器中创建游戏性元素。
在本实施例中,需要先创建两个蓝本代表,分别为胶带模型和色环模型,其中的胶带模型,该模型是一个圆柱体,预设有胶带模型的半径,设为R,以及胶带模型的高,设为H,同时,在胶带模型上还设置有胶带纸组件和空组件,其中,空组件是仅包含位置旋转缩放信息的组件,胶带纸组件为一个立方体,立方体的变长设为W,通过空组件中包含的位置旋转缩放信息,能够调整胶带纸组件的长度大小,使胶带纸组件能够进行伸缩。
在本实施例中,在胶带模型上设置有假手模型,该假手模型由用户通过游戏的客户端进行控制,胶带模型通过计算,跟随假手模型进行移动,达到用户操作胶带模型对色环模型进行缠绕的效果。
102、判断胶带模型与色环模型之间是否存在碰撞事件;
在实际应用中,胶带模型附着在假手模型上,用户控制假手模型进行移动时,胶带模型跟随假手模型进行移动,当用户想要操作假手模型进行缠绕的仿真动作时,胶带模型跟随假手模型移动,直到胶带模型与色环模型进行接触,此时触发碰撞事件。
103、若存在碰撞事件,则控制假手模型进行远离色环模型的运动,并控制空组件旋转,将胶带纸组件从胶带模型中向外延伸;
在本实施例中,当触发碰撞事件时,在胶带模型上的与色环模型碰撞的位置会有碰撞点,从该碰撞点处会伸出胶带纸组件,胶带纸组件与色环模型上的与胶带模型碰撞的位置进行连接。
在实际应用中,胶带纸组件的长度主要是通过空组件的信息的值进行控制的,其中,空组件的信息包括相对位置、相对缩放和相对旋转,所述空组件的相对位置设置为(R,0,0),其中,相对位置的各坐标分别代表相对胶带模型的三个坐标轴方向上的位置偏移值,相对旋转设置为(0,0,-90°),其中,相对旋转的各坐标分别代表相对胶带模型的三个坐标轴方向上的旋转对应的角度,相对缩放设置为(1,1,1),其中,相对缩放的各坐标值分别为相对胶带模型的是三个坐标轴方向上缩放的对应的比例,通过相对位置,能够设置胶带纸组件相对于胶带模型的位置偏移,也就是设置胶带纸组件的位置信息,通过相对旋转,能够设置胶带纸组件不断地向外进行延伸或缩短,通过相对缩放,能过设置胶带纸组件各坐标轴上的缩放比例,使得原先设置的立方体伸缩扩大成为纸带状的物体。
104、判断胶带纸组件的延伸长度是否大于预设的临界值;
在本实施例中,预设的临界值的判断是判断用户的假手模型与胶带模型能够对物体进行缠绕的判断条件,当胶带纸组件的长度小于临界值时,假手模型即便移动了,胶带模型也无法对物体进行缠绕,胶带纸组件与色环模型的连接点会随着假手模型的运动而发生变化,同时,胶带纸组件的长度也会跟随假手模型的位置进行伸缩。
105、若延伸长度大于预设的临界值,则根据实时获取的假手模型的假手坐标信息和以色环模型为圆心实现胶带缠绕的位置变化曲线,计算出胶带模型的N个空间坐标位置信息和空组件与胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
在本实施例中,当胶带纸组件的长度到达一定长度时,表明此时可以对物体进行旋转缠绕,为了实现胶带模型跟随假手模型进行旋转,需要获取假手模型的数据,例如旋转的角度、距离值等,通过一定的计算,得到胶带模型需要跟随旋转的角度,根据该角度让胶带进行旋转,即可使得胶带模型跟随假手模型对物体进行旋转缠绕。
106、根据M个相对坐标信息控制空组件进行二次旋转,将胶带纸组件从胶带模型中继续向外延伸;
在本实施例中,胶带模型在对色环模型进行缠绕的过程中,与色环模型的距离会根据假手模型的移动进行变化,胶带纸组件的长度也会有相应的伸缩,需要计算出相对坐标信息,根据相对坐标信息,也就是相对缩放信息、相对位置信息、相对旋转信息,通过相对位置信息不断变化胶带纸的位置,通过相对旋转信息不断的向外延伸胶带纸组件,通过相对缩放信息不断的对胶带纸组件的长度进行变化,实时操作胶带纸组件,以达到仿真的效果。
107、根据N个空间坐标位置信息控制胶带模型垂直围绕着色环模型旋转,将延伸出来的胶带纸组件缠绕于色环模型上。
在本实施例中,当胶带纸组件的长度到达一定长度时,表明此时可以对物体进行旋转缠绕,为了实现胶带模型跟随假手模型进行旋转,需要获取假手模型的数据,例如旋转的角度、距离值等,通过一定的计算,在用户操作假手模型时实时获取这些信息,计算的到以色环模型为圆心,胶带模型跟随假手模型进行旋转缠绕的位置变化曲线,胶带模型根据该位置变化曲线得到需要跟随假手模型进行运动的若干个空间坐标位置信息,并根据空间坐标位置信息进行跟随假手模型的旋转缠绕运动。
在本实施中,利用UE4引擎创建胶带模型和色环模型,在胶带模型与色环模型碰撞后,胶带模型中的胶带纸组件连接至色环模型上,当用户的假手模型移动时,胶带纸组件的长度进行伸缩;判断所述长度是否到达预设临界值;若是,胶带模型根据假手模型的坐标信息计算胶带模型若干个空间坐标位置信息和若干个胶带模型中空组件与胶带纸组件的相对坐标信息,胶带模型根据空间坐标位置信息和相对坐标信息对色环模型进行缠绕。在本发明提供的技术方案中,用户在操控假手模型的过程中,通过实时获取假手模型的信息,胶带模型能够计算需要旋转的角度以及空间坐标位置信息,根据计算得到的角度和空间坐标位置信息,跟随假手模型进行运动,对色环模型进行旋转缠绕,进而能够真实地模拟胶带缠绕物体效果的效果,提高用户在游戏过程中的操作体验。
请参阅图2,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第二个实施例包括:
201、利用UE4引擎创建胶带缠绕仿真需要的模型,包括胶带模型、假手模型和色环模型,胶带模型包括胶带纸组件和空组件;
202、在用户操作假手模型带动胶带模型与色环模型碰撞后,获取胶带模型的胶带坐标信息和色环模型的色环坐标信息;
在本实施例中,用户在进行缠绕仿真体验时,根据现实生活经验,需要先控制假手模型上的胶带模型与色环模型发生碰撞,在碰撞之后,胶带模型中的胶带纸组件连接在色环模型上,碰撞完成后,用户会控制假手模型远离色环模型,进行缠绕旋转的准备,此时,需要获取色环模型的坐标和胶带模型的坐标。
203、根据胶带坐标信息和色环坐标信息,计算胶带模型和色环模型的距离值;
在本实施例中,根据两个点的坐标信息,能够计算两点间的距离关系,若胶带坐标信息为(c1,d1,e1),色环坐标信息为,(c2,d2,e2),则两点间的距离计算公式为:
其中,D为胶带模型和色环模型的距离值。
204、将距离值减去胶带模型的半径,得到长度值,并根据长度值调整相对缩放信息;
在本实施例中,在计算出胶带模型和色环模型的距离值之后,还需要将该距离值减去胶带模型的半径,这是因为上述计算的是色环模型的中心点与胶带模型中心点的距离值,不能客观的代表为胶带纸组件的长度。
205、将距离值减去胶带模型的半径,得到长度值,并根据长度值调整相对缩放信息;
在本实施例中,会预先设置有一个空组件,通过控制空组件的各项坐标数值,实现对胶带纸组件长度的控制,空组件的坐标信息包括相对位置、相对旋转、相对缩放,分表代表在三个坐标轴方向上相对于胶带模型的位置偏移,旋转角度和缩放比例,分别表示为(R,0,0),(0,0,-90°),(1,1,1),其中,R为胶带模型作为圆柱体的半径,在胶带模型与物体碰撞前,胶带纸作为为一立方体,该立方体的变长设置为W,当胶带模型跟随用户的假手模型进行移动时,空组件的各项坐标信息分别变成(0,W/2,0),(0,0,0),(0.001,1,H/W),其中,H为胶带模型作为以圆柱体的高,同时计算假手模型与色环模型的距离值,通过并将该距离值复制到空组件相对缩放的Y值中,胶带纸组件读取空组件的各项坐标信息,胶带纸组件根据读取的各项坐标信息,通过立方体在各坐标轴的相对缩放,实现从立方体转变为纸带状的形态,以及其他各项坐标信息,实现胶带纸组件的伸缩。
206、将胶带坐标信息和色环坐标信息输入至预置的第一朝向函数,获得旋转值;
207、根据旋转值控制空组件的旋转,将胶带纸组件向色环模型所在的位置上延伸;
在本实施例中,为了使得胶带纸组件能连接胶带模型和色环模型,需使胶带模型伸出胶带纸组件的方向一直朝向色环模型,使用虚幻引擎自带的FindLookatRotation函数,也就是朝向函数,将胶带的位置和色环的位置信息输入到FindLookatRotation函数,返回一个旋转值,赋值给胶带模型,胶带模型根据该旋转值进行自转,就能使胶带模型伸出胶带纸组件的方向一直朝向色环模型。
208、当胶带纸组件的延伸长度大于预设的临界值时,则根据实时获取的假手模型的假手坐标信息和以色环模型为圆心实现胶带缠绕的位置变化曲线,计算出胶带模型的N个空间坐标位置信息和空组件与胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
209、根据M个相对坐标信息控制空组件进行二次旋转,并根据N个空间坐标位置信息控制胶带模型垂直围绕着色环模型旋转,将胶带纸组件延伸缠绕于色环模型上。
本发明实施例在上一实施例的基础上,详细描述了胶带纸组件在胶带模型跟随用户的假手模型进行移动时进行伸缩的过程,通过预先设置一个空组价的形式,在胶带模型与物体碰撞前先设置空组件的信息,包括相对位置、相对缩放、相对旋转,胶带纸组件通过读取复制空组件的信息达到长度伸缩的效果。
请参阅图3,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第三个实施例包括:
301、利用UE4引擎创建胶带缠绕仿真需要的模型;
在该步骤中,这里所述的需要的模型指的是胶带模型、假手模型和色环模型,而胶带模型包括胶带纸组件和空组件。
302、在用户操作假手模型带动胶带模型与色环模型碰撞后,控制空组件旋转,将胶带纸组件从胶带模型中向外延伸;
303、当胶带纸组件的延伸长度大于预设的临界值时,则根据假手坐标信息,计算出假手模型相对于色环模型距离最短的第一映射点;
在本实施例中,为了实现用户手拿着胶带围绕着色环旋转的效果,需要在用户控制假手模型后,实时计算出胶带模型下一帧的位置和旋转角度,并进行位置偏移和旋转,事先需要计算出假手模型在旋转过程中相对于色环模型旋转的夹角。
304、根据第一映射点的坐标信息和假手坐标信息,计算色环模型指向第一映射点的第一向量;
在该步骤中,需要实时获取用户的假手坐标信息,在假手模型进行旋转时获取到的假手模型坐标即为空间坐标位置信息当用户移动假手模型带动胶带纸组件的长度达到临界值时,将获取到的坐标信息以及色环坐标信息,色环的正方向输入到UE4引擎自带的FindClosestPointonLine函数中,即可获取到色环映射到手延色环方向所在直线距离最短的点的坐标,可以将该坐标命名为InitHandPoint也就是第一映射点,并得到色环坐标信息指向该坐标的方向的向量,命名为InitHandPointDi,也就是第一向量。
305、根据位置变化曲线,控制假手模型进行旋转,并获取假手模型旋转过程中多个位置的第二假手坐标信息;
306、根据第二假手坐标信息,计算出假手模型相对于色环模型距离最短的第二映射点;
307、根据第二映射点的坐标信息和假手坐标信息,计算色环模型指向第二映射点的第二向量;
308、计算第一向量和第二向量的夹角和法向量;
309、计算法向量的单位向量与正方向上的单位向量的点积值,将点积值的正负乘以夹角,得到旋转角度;
在该步骤中,在用户移动假手模型带动胶带纸组件的长度达到临界值进行旋转后,通过FindClosestPointonLine函数使用上一步骤相同的方式可以获取到第二映射点和第二向量,根据向量点积的计算公式,能够计算出两向量的夹角,方法是获取第一向量的单位向量和第二向量的单位向量,根据点积的计算公式得知两向量的点积值为两向量的模相乘,再乘以两向量的夹角的余弦值,当两向量的模均为单位向量时,也就是两向量的模均为1时,点积值即为两向量夹角的余弦值,根据反余弦公式,即可得到两向量的夹角。
310根据旋转角度和位置变化曲线,计算出胶带模型的N个空间坐标位置信息和M个空组件与胶带纸组件之间的相对坐标信息;
311、根据M个相对坐标信息控制空组件进行二次旋转,并根据N个空间坐标位置信息控制胶带模型垂直围绕着色环模型旋转,将胶带纸组件延伸缠绕于色环模型上。
在本实施例在前实施例的基础上,详细描述了进入缠绕状态后,胶带模型跟随用户的假手模型对物体进行缠绕的过程,为了实现胶带模型跟随假手模型进行旋转,需要获取假手模型的数据,例如旋转的角度、距离值等,通过一定的计算,得到胶带模型需要跟随旋转的角度,根据该角度让胶带进行旋转,即可使得胶带模型跟随假手模型对物体进行旋转缠绕。
请参阅图4,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第四个实施例包括:
401、利用UE4引擎创建胶带缠绕仿真需要的模型;
在该步骤中,这里所述的需要的模型指的是胶带模型、假手模型和色环模型,而胶带模型包括胶带纸组件和空组件。
402、在用户操作假手模型带动胶带模型与色环模型碰撞后,控制空组件旋转,将胶带纸组件从胶带模型中向外延伸;
403、胶带纸组件的延伸长度大于预设的临界值时,则根据实时获取的假手模型的假手坐标信息和以色环模型为圆心实现胶带缠绕的位置变化曲线,计算出胶带模型的N个空间坐标位置信息和空组件与胶带纸组件之间的M个相对坐标信息;
404、根据M个相对坐标信息控制空组件进行二次旋转,并根据N个空间坐标位置信息控制胶带模型垂直围绕着色环模型旋转,将胶带纸组件延伸缠绕于色环模型上;
405、计算色环模型上缠绕的胶带纸组件的圈数;
在本实施例中,会预先创建四个bool变量,以及将计算出来的旋转的夹角预设到旋转百分比RotatePercent[0,1],如果RotatePercent的值分别在[0,0.25],[0.25,0.5],[0.5,0.75],[0.75,1]之间,则对应的bool变量为true,若四个bool变量全为true,则说明胶带即将转弯一圈,如果RotatePercent大于0.99,则说明胶带已经转弯一圈,将色环模型上缠绕的胶带纸组件的圈数CurrentCircleNum加上1,将上述四个bool变量全设为false,并进行重新计算,即可得到色环模型上缠绕的胶带纸组件的圈数。
406、判断圈数是否小于预设的临界圈数;
407、若否,则停止胶带模型的旋转缠绕,并调整色环模型上的胶带纸组件的显示状态。
本实施例在前实施例的基础上,增加了判断选择缠绕停止的过程,在用户控制假手模型带动胶带模型对色环模型进行旋转缠绕的过程中,实时计算缠绕的圈数,当缠绕的圈数达到一定的圈数时,停止胶带模型对色环模型的缠绕,可以通过调整胶带纸组件的显示状态表明胶带缠绕已经结束,限制用户对色环模型的无限缠绕,增加了仿真的真实感,提高了用户的体验。
请参阅图5,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法的第五个实施例包括:
501、利用UE4引擎创建胶带缠绕仿真需要的模型;
在该步骤中,这里所述的需要的模型指的是胶带模型、假手模型和色环模型,而胶带模型包括胶带纸组件和空组件。
502、设置胶带纸组件在色环模型上的缠绕形状和临界圈数,并生成胶带缠绕模型;
503、将胶带缠绕模型的初始状态设置为透明状态,将完全显示状态设置为最终状态;
504、根据临界圈数设置色环模型的显示百分值;
在本实施例中,胶带纸组件缠绕在色环模型上的形态是事先设计好的,在进行缠绕的过程中,通过设置旋转角度以及旋转一周的缠绕进度,确定缠绕过程中每个旋转进度的显示状态,在未进行缠绕的时候,胶带缠绕模型的初始状态为透明状态,胶带纸组件根据空组件的选择而拉伸,在用户控制假手模型与胶带模型进行碰撞并拉伸后,还未进行旋转缠绕,此时,胶带缠绕模型不显示,当用户控制假手模型与胶带模型进行旋转缠绕时,色环模型上的胶带缠绕模型就会根据缠绕的进入进行显示。
505、在用户操作假手模型带动胶带模型与色环模型碰撞后,控制空组件旋转,将胶带纸组件从胶带模型中向外延伸;
506、判胶带纸组件的延伸长度大于预设的临界值时,则根据实时获取的假手模型的假手坐标信息和以色环模型为圆心实现胶带缠绕的位置变化曲线,计算出胶带模型的N个空间坐标位置信息和空组件与胶带纸组件之间的M个相对坐标信息;
507、根据M个相对坐标信息控制空组件进行二次旋转,并根据N个空间坐标位置信息控制胶带模型垂直围绕着色环模型旋转,将胶带纸组件延伸缠绕于色环模型上;
508、将夹角映射到旋转百分比中,当旋转百分比等于百分之百时,将胶带纸组件缠绕于色环模型的圈数加一,并将旋转百分比置零,重新计算,其中,旋转百分比为胶带纸组件缠绕一圈色环模型的进度百分比;
509、将圈数加上旋转百分比,得到缠绕进度,将缠绕进度映射至显示百分值;
510、根据显示百分值,将胶带缠绕模型在初始状态和最终状态之间进行显示。
下面对本发明完整的技术方案进行说明。如图6和图7,具体实现过程:
利用UE4引擎创建胶带模型602、色环模型605和假手模型601,其中假手模型601是用户通过终端控制的,胶带模型602置于假手模型601上,在进行游戏的过程中,用户控制假手模型601进行移动,胶带模型602跟随假手模型601进行移动,碰撞到色环模型605上,胶带纸组件604连接在色环模型605上,用户在碰撞发生后,控制假手模型601进行移动,根据假手模型601与色环模型605的距离值控制空组件603的参数,空组件603控制胶带纸组件604拉伸,当拉伸到一定长度时,进入缠绕状态,用户控制假手模型601进行旋转,在旋转的过程中,计算得到胶带模型602旋转的角度和坐标,进而跟随假手模型601进行旋转缠绕,在缠绕过程中,预置在色环模型605上的胶带缠绕模型701根据缠绕进度,从透明状态到完全显示状态逐渐的显示出来,提高了仿真的真实感和用户体验。
在本实施例在前实施例的基础上,详细描述了色环在缠绕状态下的显示过程,通过预置色环模型的初始状态和最终显示状态,实时计算胶带模型缠绕物体的进度,使得色环模型能够在不同的缠绕进度进行不同的显示状态,提高仿真的真实度,提高用户的使用体验。
上面对本发明实施例中基于UE4引擎的胶带缠绕仿真的实现方法进行了描述,下面对本发明实施例中基于UE4引擎的胶带缠绕仿真的实现装置进行描述,请参阅图8,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现装置一个实施例包括:
创建模块801,用于利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
第一判断模块802,用于判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
延伸模块803,用于当存在碰撞事件时,控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
第二判断模块804,用于判断所述胶带纸组件的延伸长度是否大于预设的临界值;
计算模块805,用于在判断所述延伸长度大于预设的临界值时,根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
第一旋转模块806,用于根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
第二旋转模块807,用于根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
本发明实施例中,利用UE4引擎创建胶带模型、色环模型和假手模型,在胶带模型与色环模型碰撞后,胶带模型中的胶带纸组件连接至色环模型上,当用户的假手模型移动时,胶带纸组件的长度进行伸缩;判断所述长度是否到达预设临界值;若是,胶带模型根据假手模型的坐标信息计算胶带模型若干个空间坐标位置信息和若干个胶带模型中空组件与胶带纸组件的相对坐标信息,胶带模型根据空间坐标位置信息和相对坐标信息对色环模型进行缠绕。在本发明提供的技术方案中,用户在操控假手模型的过程中,通过实时获取假手模型的信息,胶带模型能够计算需要旋转的角度以及空间坐标位置信息,根据计算得到的角度和空间坐标位置信息,跟随假手模型进行运动,对色环模型进行旋转缠绕,进而能够真实地模拟胶带缠绕物体效果的效果,提高用户在游戏过程中的操作体验。
请参阅图9,本发明实施例中基于UE4引擎的胶带缠绕仿真的实现装置的另一个实施例包括:
创建模块901,用于利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
第一判断模块902,用于判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
延伸模块903,用于当存在碰撞事件时,控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
第二判断模块904,用于判断所述胶带纸组件的延伸长度是否大于预设的临界值;
计算模块905,用于在判断所述延伸长度大于预设的临界值时,根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
第一旋转模块906,用于根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
第二旋转模块907,用于根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
其中,所述延伸模块903包括:
获取单元9031,用于当所述假手模型进行移动时,获取所述胶带模型的胶带坐标信息和所述色环模型的色环坐标信息;
距离计算单元9032,用于根据所述胶带坐标信息和所述色环坐标信息,计算所述胶带模型和色环模型的距离值;
调整单元9033,用于将所述距离值减去所述胶带模型的半径,得到长度值,并根据所述长度值调整所述相对缩放信息;
控制单元9034,用于根据所述相对位置信息和相对旋转信息控制所述空组件旋转;
伸缩单元9035,用于根据调整后的相对缩放信息控制所述胶带模型的缩放,将所述胶带纸组件从所述胶带模型中向外延伸。
可选的,所述控制单元9034具体用于:
将所述胶带坐标信息和所述色环坐标信息输入至预置的第一朝向函数,获得旋转值;
根据所述旋转值控制所述空组件的旋转,将所述胶带纸组件向所述色环模型所在的位置上延伸。
可选的,所述计算模块905具体用于:
根据所述假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第一映射点;
根据所述第一映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第一映射点的第一向量;
根据所述位置变化曲线,控制所述假手模型进行旋转,并获取所述假手模型旋转过程中多个位置的第二假手坐标信息;
根据所述第二假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第二映射点;
根据所述第二映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第二映射点的第二向量;
计算所述第一向量和所述第二向量的夹角和法向量;
计算所述法向量的单位向量与所述正方向上的单位向量的点积值,将所述点积值的正负乘以所述夹角,得到旋转角度;
根据所述旋转角度和所述位置变化曲线,计算出所述胶带模型的空间坐标位置信息和所述空组件与所述胶带纸组件之间的相对坐标信息。
其中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括缠绕停止908模块,所述缠绕停止模块908具体用于:
计算所述色环模型上缠绕的胶带纸组件的圈数;
判断所述圈数是否小于预设的临界圈数;
若否,则停止所述胶带模型的旋转缠绕,并调整所述色环模型上的胶带纸组件的显示状态。
其中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括设置模块909,所述设置模块909具体用于:
设置所述胶带纸组件在所述色环模型上的缠绕形状和所述临界圈数,并生成胶带缠绕模型;
将所述胶带缠绕模型的初始状态设置为透明状态,将完全显示状态设置为最终状态;
根据所述临界圈数设置所述色环模型的显示百分值。
其中,所述基于UE4引擎的胶带缠绕仿真的实现装置还包括显示模块910,所述显示模块910具体用于:
所述夹角映射到旋转百分比中,当所述旋转百分比等于百分之百时,将所述胶带纸组件缠绕于所述色环模型的圈数加一,并将所述旋转百分比置零,重新计算,其中,所述旋转百分比为所述胶带纸组件缠绕一圈所述色环模型的进度百分比;
将所述圈数加上所述旋转百分比,得到缠绕进度,将所述缠绕进度映射至所述显示百分值;
根据所述显示百分值,将所述胶带缠绕模型在所述初始状态和所述最终状态之间进行显示。
本发明实施例在上一实施例的基础上,详细描述了各模块的功能,同时还增加了实现缠绕仿真过程中需要的其他模块,在进行缠绕之前,通过设置模块设置出胶带模型缠绕在色环模型上的胶带缠绕模型,在进行缠绕的过程中,根据设置好的胶带缠绕模型的参数和胶带模型缠绕色环模型的进度,逐渐显示胶带缠绕模型,通过用户控制缠绕进度的方式,增加缠绕过程中的真实感,同时在缠绕过程中,延伸模型能够使得胶带模型伸出胶带纸组件的位置始终朝向所述色环模型,以及色环模型在进入缠绕状态时朝向所述假手模型,以便真实地模拟胶带缠绕物体效果的效果,提高用户在游戏过程中的操作体验,可以通过缠绕结束模块,在胶带缠绕到达一定的圈数时,停止缠绕,以限制玩家在仿真过程中不断的缠绕。
上面图8和图9从模块化功能实体的角度对本发明实施例中的基于UE4引擎的胶带缠绕仿真的实现装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于UE4引擎的胶带缠绕仿真的实现设备进行详细描述。
图10是本发明实施例提供的一种基于UE4引擎的胶带缠绕仿真的实现设备的结构示意图,该基于UE4引擎的胶带缠绕仿真的实现设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1010(例如,一个或一个以上处理器)和存储器1020,一个或一个以上存储应用程序1033或数据1032的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1020和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于UE4引擎的胶带缠绕仿真的实现设备1000中的一系列指令操作。更进一步地,处理器1010可以设置为与存储介质1030通信,在基于UE4引擎的胶带缠绕仿真的实现设备1000上执行存储介质1030中的一系列指令操作。
基于UE4引擎的胶带缠绕仿真的实现设备1000还可以包括一个或一个以上电源1040,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1060,和/或,一个或一个以上操作系统1031,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图10示出的基于UE4引擎的胶带缠绕仿真的实现设备结构并不构成对本申请提供的基于UE4引擎的胶带缠绕仿真的实现设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于UE4引擎的胶带缠绕仿真的实现方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,所述基于UE4引擎的胶带缠绕仿真的实现方法包括:
利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
若存在碰撞事件,则控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
判断所述胶带纸组件的延伸长度是否大于预设的临界值;
若所述延伸长度大于预设的临界值,则根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
2.根据权利要求1所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,所述相对坐标信息包括相对位置信息、相对旋转信息和相对缩放信息,所述控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸包括:
当所述假手模型进行移动时,获取所述胶带模型的胶带坐标信息和所述色环模型的色环坐标信息;
根据所述胶带坐标信息和所述色环坐标信息,计算所述胶带模型和色环模型的距离值;
将所述距离值减去所述胶带模型的半径,得到长度值,并根据所述长度值调整所述相对缩放信息;
根据所述相对位置信息和相对旋转信息控制所述空组件旋转;
根据调整后的相对缩放信息控制所述胶带模型的缩放,将所述胶带纸组件从所述胶带模型中向外延伸。
3.根据权利要求2所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,所述根据所述相对位置信息和相对旋转信息控制所述空组件旋转包括:
将所述胶带坐标信息和所述色环坐标信息输入至预置的第一朝向函数,获得旋转值;
根据所述旋转值控制所述空组件的旋转,将所述胶带纸组件向所述色环模型所在的位置上延伸。
4.根据权利要求3所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,所述根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息包括:
根据所述假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第一映射点;
根据所述第一映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第一映射点的第一向量;
根据所述位置变化曲线,控制所述假手模型进行旋转,并获取所述假手模型旋转过程中多个位置的第二假手坐标信息;
根据所述第二假手坐标信息,计算出所述假手模型相对于所述色环模型距离最短的第二映射点;
根据所述第二映射点的坐标信息和所述假手坐标信息,计算所述色环模型指向所述第二映射点的第二向量;
计算所述第一向量和所述第二向量的夹角和法向量;
计算所述法向量的单位向量与所述正方向上的单位向量的点积值,将所述点积值的正负乘以所述夹角,得到旋转角度;
根据所述旋转角度和所述位置变化曲线,计算出所述胶带模型的空间坐标位置信息和所述空组件与所述胶带纸组件之间的相对坐标信息。
5.根据权利要求1-4任一项所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,在所述根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上之后,还包括:
计算所述色环模型上缠绕的胶带纸组件的圈数;
判断所述圈数是否小于预设的临界圈数;
若否,则停止所述胶带模型的旋转缠绕,并调整所述色环模型上的胶带纸组件的显示状态。
6.根据权利要求1-4任一项所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,在所述利用UE4引擎创建胶带模型、色环模型和假手模型之后,在所述判断所述胶带模型与所述色环模型之间是否存在碰撞事件之前,还包括:
设置所述胶带纸组件在所述色环模型上的缠绕形状和所述临界圈数,并生成胶带缠绕模型;
将所述胶带缠绕模型的初始状态设置为透明状态,将完全显示状态设置为最终状态;
根据所述临界圈数设置所述色环模型的显示百分值。
7.根据权利要求6所述的基于UE4引擎的胶带缠绕仿真的实现方法,其特征在于,在所述根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上之后,还包括:
将所述夹角映射到旋转百分比中,当所述旋转百分比等于百分之百时,将所述胶带纸组件缠绕于所述色环模型的圈数加一,并将所述旋转百分比置零,重新计算,其中,所述旋转百分比为所述胶带纸组件缠绕一圈所述色环模型的进度百分比;
将所述圈数加上所述旋转百分比,得到缠绕进度,将所述缠绕进度映射至所述显示百分值;
根据所述显示百分值,将所述胶带缠绕模型在所述初始状态和所述最终状态之间进行显示。
8.一种基于UE4引擎的胶带缠绕仿真的实现装置,其特征在于,所述基于UE4引擎的胶带缠绕仿真的实现装置包括:
创建模块,用于利用UE4引擎创建胶带模型、色环模型和假手模型,其中,所述胶带模型附着在对应于用户操作物体的所述假手模型上,所述胶带模型包括胶带纸组件和空组件;
第一判断模块,用于判断所述胶带模型与所述色环模型之间是否存在碰撞事件;
延伸模块,用于当存在碰撞事件时,控制所述假手模型进行远离所述色环模型的运动,并控制所述空组件旋转,将所述胶带纸组件从所述胶带模型中向外延伸;
第二判断模块,用于判断所述胶带纸组件的延伸长度是否大于预设的临界值;
计算模块,用于在判断所述延伸长度大于预设的临界值时,根据实时获取的所述假手模型的假手坐标信息和以所述色环模型为圆心实现胶带缠绕的位置变化曲线,计算出所述胶带模型的N个空间坐标位置信息和所述空组件与所述胶带纸组件之间的M个相对坐标信息,其中N和M均为大于2的自然数;
第一旋转模块,用于根据M个所述相对坐标信息控制所述空组件进行二次旋转,将所述胶带纸组件从所述胶带模型中继续向外延伸;
第二旋转模块,用于根据N个所述空间坐标位置信息控制所述胶带模型垂直围绕着所述色环模型旋转,将延伸出来的胶带纸组件缠绕于所述色环模型上。
9.一种基于UE4引擎的胶带缠绕仿真的实现设备,其特征在于,所述基于UE4引擎的胶带缠绕仿真的实现设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于UE4引擎的胶带缠绕仿真的实现设备执行如权利要求1-7中任一项所述的基于UE4引擎的胶带缠绕仿真的实现方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于UE4引擎的胶带缠绕仿真的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010511944.0A CN111508080B (zh) | 2020-06-08 | 2020-06-08 | 基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010511944.0A CN111508080B (zh) | 2020-06-08 | 2020-06-08 | 基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111508080A true CN111508080A (zh) | 2020-08-07 |
CN111508080B CN111508080B (zh) | 2023-06-30 |
Family
ID=71877235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010511944.0A Active CN111508080B (zh) | 2020-06-08 | 2020-06-08 | 基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111508080B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433605A (zh) * | 2020-11-10 | 2021-03-02 | 深圳市瑞立视多媒体科技有限公司 | 一种在虚拟现实环境中实现拧螺丝的方法 |
CN113457153A (zh) * | 2021-06-24 | 2021-10-01 | 深圳市瑞立视多媒体科技有限公司 | 一种基于虚拟引擎的载具平面移动控制方法和装置 |
CN114519780A (zh) * | 2022-04-21 | 2022-05-20 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎实现模拟筒纱卷绕的运动仿真方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820498A (zh) * | 2015-05-14 | 2015-08-05 | 周谆 | 手部虚拟饰品试戴的人机交互方法和系统 |
CN107680162A (zh) * | 2017-10-11 | 2018-02-09 | 江苏电力信息技术有限公司 | 一种基于Unity的VR可交互电线生成方法 |
CN108579085A (zh) * | 2018-03-12 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 障碍物碰撞的处理方法和装置、存储介质及电子装置 |
US10429923B1 (en) * | 2015-02-13 | 2019-10-01 | Ultrahaptics IP Two Limited | Interaction engine for creating a realistic experience in virtual reality/augmented reality environments |
-
2020
- 2020-06-08 CN CN202010511944.0A patent/CN111508080B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10429923B1 (en) * | 2015-02-13 | 2019-10-01 | Ultrahaptics IP Two Limited | Interaction engine for creating a realistic experience in virtual reality/augmented reality environments |
CN104820498A (zh) * | 2015-05-14 | 2015-08-05 | 周谆 | 手部虚拟饰品试戴的人机交互方法和系统 |
CN107680162A (zh) * | 2017-10-11 | 2018-02-09 | 江苏电力信息技术有限公司 | 一种基于Unity的VR可交互电线生成方法 |
CN108579085A (zh) * | 2018-03-12 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 障碍物碰撞的处理方法和装置、存储介质及电子装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433605A (zh) * | 2020-11-10 | 2021-03-02 | 深圳市瑞立视多媒体科技有限公司 | 一种在虚拟现实环境中实现拧螺丝的方法 |
CN113457153A (zh) * | 2021-06-24 | 2021-10-01 | 深圳市瑞立视多媒体科技有限公司 | 一种基于虚拟引擎的载具平面移动控制方法和装置 |
CN114519780A (zh) * | 2022-04-21 | 2022-05-20 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎实现模拟筒纱卷绕的运动仿真方法 |
CN114519780B (zh) * | 2022-04-21 | 2022-07-19 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎实现模拟筒纱卷绕的运动仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111508080B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508080A (zh) | 基于ue4引擎的胶带缠绕仿真的实现方法及相关设备 | |
US5731819A (en) | Deformation of a graphic object to emphasize effects of motion | |
US9449416B2 (en) | Animation processing of linked object parts | |
CN108245890B (zh) | 控制虚拟场景中物体运动的方法和装置 | |
US7230624B2 (en) | Method and apparatus for modeling and real-time rendering of surface detail | |
US7382374B2 (en) | Computerized method and computer system for positioning a pointer | |
US7173622B1 (en) | Apparatus and method for generating 3D images | |
US6326963B1 (en) | Method and apparatus for efficient animation and collision detection using local coordinate systems | |
CN111583367B (zh) | 一种头发模拟方法及系统 | |
CN103679783A (zh) | 基于几何变形的三维动画角色模型皮肤变形方法 | |
US7652670B2 (en) | Polynomial encoding of vertex data for use in computer animation of cloth and other materials | |
CN103413329A (zh) | 一种运动平台与3d视频数据匹配互动方法及系统 | |
US6285379B1 (en) | Virtual body control device | |
CN110458959A (zh) | 体三维显示仿真方法、装置、设备及计算机可读存储介质 | |
CN111773719A (zh) | 虚拟对象的渲染方法和装置、存储介质、电子装置 | |
CN110209540A (zh) | 一种vr设备旋转测试的方法、装置及平台 | |
JP4592917B2 (ja) | 画像生成装置及びゲーム装置 | |
Thiel et al. | Interaction and locomotion techniques for the exploration of massive 3D point clouds in VR environments | |
JPH06236432A (ja) | 仮想現実システムおよび仮想現実像の仮想現実世界生成方法 | |
CN114882153A (zh) | 一种动画生成的方法及装置 | |
JP4229316B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
CN111612883B (zh) | 立方体贴图的处理方法、装置和存储介质 | |
JP2001276414A (ja) | ゲーム装置、および、情報記憶媒体 | |
JP3516377B2 (ja) | 多関節構造体の運動像生成方法及びそれを記録した記録媒体及びそれを使った運動像生成装置 | |
US20090128569A1 (en) | Image display program and image display apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |