CN115131478A - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115131478A CN115131478A CN202210837536.3A CN202210837536A CN115131478A CN 115131478 A CN115131478 A CN 115131478A CN 202210837536 A CN202210837536 A CN 202210837536A CN 115131478 A CN115131478 A CN 115131478A
- Authority
- CN
- China
- Prior art keywords
- collision
- point
- target
- bone
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例提供了一种图像处理方法、装置、电子设备及存储介质,该方法包括:将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,骨骼链包括至少一个骨骼点;确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息;基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于所述待处理视频帧。本公开实施例的技术方案,实现了当显示界面中虚拟对象的骨骼点与碰撞体存在碰撞时,可以调整相应骨骼点于显示界面中的显示位置,从而达到提高显示画面真实度的效果。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着虚拟现实(Virtual Reality,VR)技术的快速发展,用户通过佩戴VR设备体验虚拟世界已经成为比较常见的休闲娱乐方式。
在一些虚拟场景中,虚拟对象之间、虚拟物体之间、或对象与物体之间因碰撞会导致互相穿透叠加。尤其当虚拟对象做出相应的肢体动作时,可能会发生肢体之间的碰撞,从而引起肢体之间遮挡或者相应模型穿模的情形,从而引起画面显示真实度较低的问题。
发明内容
本公开提供一种图像处理方法、装置、电子设备及存储介质,以实现在显示界面中虚拟对象的骨骼点与碰撞体存在碰撞时,可以调整相应骨骼点于显示界面中的显示位置,从而达到提高显示画面真实度的效果。
第一方面,本公开实施例提供了一种图像处理方法,包括:
将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,骨骼链包括至少一个骨骼点;
确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息;
基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧。
第二方面,本公开实施例还提供了一种图像处理装置,包括:
骨骼链划分模块,用于将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,骨骼链包括至少一个骨骼点;
碰撞信息确定模块,用于确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息;
目标虚拟对象显示模块,用于基于至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于待处理视频帧。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的图像处理方法。
第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的图像处理方法。
本公开实施例的技术方案,通过将待处理视频帧中目标虚拟对象划分为多条骨骼链,进一步的,确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,最后,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,解决了由于目标虚拟对象的骨骼点与碰撞体发生碰撞,导致骨骼点与碰撞体互相穿透叠加,从而引起动画显示效果不佳的问题,通过当检测到显示界面中存在穿模问题时,对目标虚拟对象的骨骼点于显示界面中的显示位置进行自动调整,达到了提高显示画面真实度的效果,进一步提高了动画的显示效果,提升了用户体验。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例所提供的一种图像处理方法流程示意图;
图2为本公开实施例所提供的一种图像处理方法流程示意图;
图3为本公开实施例提供的一种球形碰撞体的平面示意图;
图4为本公开实施例提供的一种球形碰撞体的平面示意图;
图5为本公开实施例提供的一种球形碰撞体的平面示意图;
图6为本公开实施例所提供的一种图像处理方法流程示意图;
图7为本公开实施例提供的一种长方体碰撞体的平面示意图;
图8为本公开实施例提供的一种长方体碰撞体的平面示意图;
图9为本公开实施例提供的一种长方体碰撞体的平面示意图;
图10为本公开实施例提供的一种图像处理方法流程示意图;
图11为本公开实施例提供的一种骨骼点碰撞调节的平面示意图;
图12为本公开实施例所提供的一种图像处理装置结构示意图;
图13为本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
在介绍本技术方案之前,可以先对本公开实施例的应用场景进行示例性说明。可以将本公开技术方案应用在显示界面中存在肢体动画的场景,例如:动画重定向、人工智能肢体识别等。肢体动画可以通过显示界面上显示的按键来触发,也可以通过目标对象的目标部位预设的连续运动过程来触发。例如:在游戏中,用户通过按键或触摸等方式控制显示界面中的目标角色释放技能,可以令目标角色的目标部位产生运动以展示技能特效,此时,在显示界面中显示肢体动画时,可以采用本公开实施例所提供的方案,以实现骨骼部位重定位的效果。也就是说,只要显示界面中的目标虚拟对象在运动的过程中,存在某个肢体的骨骼点与其他肢体所属碰撞体发生碰撞时,就可以采用本公开实施例所提供的方案来调整该骨骼点于显示界面中的显示位置,从而达到避免穿模或者被遮挡显示的效果。
执行本公开实施例提供的图像处理方法的装置,可以集成在具有图像处理功能的应用软件中,且该软件可以安装至电子设备中,可选的,电子设备可以是移动终端或者PC端等。应用软件可以是对图像/视频处理的一类软件,其具体的应用软件在此不再一一赘述,只要可以实现图像/视频处理即可。
图1为本公开实施例所提供的一种图像处理方法流程示意图,本公开实施例适用于实时或周期性的获取目标虚拟对象中各骨骼点与碰撞体之间的碰撞信息,进而基于碰撞信息调整相应骨骼点于显示界面中显示位置的情形,该方法可以由图像处理装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。
如图1所示,所述方法包括:
S110、将待处理视频帧中目标虚拟对象划分为多条骨骼链。
需要说明的是,可以对预先采集或者生成的视频进行处理,此时,在视频播放过程中,可以将每一个视频帧作为待处理视频帧;或者视频为实时生成的,如,在接入外部游戏时,为了使该游戏画面在播放的过程中避免出现穿模的情形,可以将实时播放或者采集的视频帧,作为待处理视频帧。待处理视频帧可以包含目标虚拟对象,也可以不包括目标虚拟对象。当待处理视频帧中包括目标虚拟对象时,可以采用本公开实施例所提供的技术方案确定目标虚拟对象的骨骼点与碰撞体是否发生碰撞。若没有发生碰撞,则直接显示即可;若发生碰撞,则可以采用本公开实施例所提供的技术方案确定发生碰撞的骨骼点于显示界面中的显示位置。目标虚拟对象可以为在虚拟场景中构建的三维对象。例如,目标虚拟对象可以是虚拟人物或虚拟动物等。
骨骼链可以是构成目标虚拟对象的骨骼模型。骨骼链可以包括至少一个骨骼点。骨骼点对应骨骼链上的不同关节点。示例性的,当骨骼链为手臂骨骼链时,则骨骼点可以是肩膀骨骼点、大臂骨骼点、手肘骨骼点、小臂骨骼点、手腕骨骼点。
在实际应用中,目标虚拟对象由至少一个部位构成,例如,肩部、手部或腿部等,因此,在将目标虚拟对象划分为多骨骼链时,可以根据相应的部位进行划分。
可选的,将待处理视频帧中目标虚拟对象划分为多条骨骼链,包括:基于预先设定的部位划分规则将目标虚拟对象划分为多个检测部位;确定与多个检测部位相对应的骨骼链。
其中,部位划分规则为将目标虚拟对象划分为多条骨骼链的划分依据。检测部位可以为目标虚拟对象中的任意部位。示例性的,检测部位可以为脸部、肩部、手部以及腿部等。
在本实施例中,目标虚拟对象的整个骨骼为树状结构,可以划分为躯干骨骼链、两条手臂骨骼链及两条腿骨骼链共5条骨骼链。
具体的,可以获取待处理视频帧,确定待处理视频帧中的目标虚拟对象,进一步的,按照预先设定的身体部位划分标对目标虚拟对象进行身体部位划分,得到至少一个检测部位,再确定与各个检测部位相对应的骨骼链,以便可以针对不同检测部位进行对应分析。这样设置的好处在于:可以准确的对骨骼链上每个骨骼点的碰撞信息以及相应的目标显示信息进行确定,以确保目标虚拟对象的骨骼点进行准确修正。
S120、确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息。
其中,碰撞体可以是待处理视频帧中其他组件所对应的碰撞体,也可以是目标虚拟对象自身所对应的碰撞体。示例性的,目标虚拟对象的不同部位对应不同的碰撞体,当目标虚拟对象在挥手的过程中,手臂会与其躯干所对应的碰撞体发生碰撞,进而导致目标虚拟对象的身体部位被遮挡显示,此时,碰撞体即为目标虚拟对象的躯干所对应的碰撞体。碰撞信息可以用于表征骨骼点是否与碰撞体发生碰撞。由于骨骼点在虚拟场景中的所属组件也为碰撞体,因此,骨骼点与碰撞体的碰撞信息可以体现在两个模型之间是否会出现重叠或穿模的情形。一般情况下,在进行各骨骼点与碰撞体之间的碰撞检测,并确定相对应的碰撞信息时,为了解决该碰撞问题,则需要根据碰撞信息,对发生碰撞问题的骨骼点于显示界面中显示位置进行移动,以使该骨骼点与相应的碰撞体处于未穿过彼此的状态,并以骨骼点当前显示位置信息显示在待处理视频帧中,可以将骨骼点最终于显示界面中显示的位置信息作为目标显示信息。
具体的,当目标虚拟对象中的至少一条骨骼链与待处理视频帧中其他组件所对应的碰撞体发生碰撞,或与自身身体部位所对应的碰撞体发生碰撞时,均需要确定发生碰撞的骨骼点与碰撞体的相对位置信息,以便可以根据该相对位置信息,确定骨骼点在待处理视频帧中的目标显示信息。
S130、基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧。
具体的,在确定至少一个骨骼点的目标显示信息之后,可以根据目标显示信息对骨骼点于显示界面中的显示位置进行调整,以解决由碰撞导致的穿模问题,提高画面显示效果和真实度。
可选的,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,包括:基于至少一个骨骼点调整后的目标显示位置,将目标虚拟对象渲染于待处理视频帧中。
其中,目标显示位置可以为各骨骼点未与碰撞体产生碰撞,并最终显示在待处理视频帧中的位置信息。
在具体实施中,可以根据各骨骼点的目标显示位置将各骨骼点于显示界面中的显示位置从初始显示位置调整至目标显示位置,进一步的,将目标虚拟对象渲染在待处理视频帧中,以将目标虚拟对象按照骨骼点于显示界面中的目标显示位置显示在待处理视频中,以提高目标虚拟对象在待处理视频帧中的显示效果和真实性。
本公开实施例的技术方案,通过将待处理视频帧中目标虚拟对象划分为多条骨骼链,进一步的,确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,最后,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,解决了由于目标虚拟对象的骨骼点与碰撞体发生碰撞,导致骨骼点与碰撞体互相穿透叠加,从而引起动画显示效果不佳的问题,通过当检测到显示界面中存在穿模问题时,对目标虚拟对象的骨骼点于显示界面中的显示位置进行自动调整,达到了提高显示画面真实度的效果,进一步提高了动画的显示效果,提升了用户体验。
图2为本公开实施例所提供的一种图像处理方法的流程示意图,在前述实施例的基础上,对于不同类型的碰撞体来说,确定骨骼点的目标显示信息的方式是存在一定差异的,此实施例以球形碰撞体为例来进行说明,其具体实施方式可以参见本技术方案的详细阐述。其中,与上述各实施例相同或相应的术语的解释在此不再阐述。
如图2所示,该方法具体包括如下步骤:
S210、将待处理视频帧中目标虚拟对象划分为多条骨骼链。
S220、确定与目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型。
其中,目标碰撞体可以为在虚拟场景中与目标虚拟对象产生碰撞的物体。示例性的,当待处理视频帧中显示的目标虚拟对象在跨过某个箱子时,与该箱子产生碰撞,则该箱子即为目标碰撞体;当待处理视频中显示的目标虚拟对象穿过虚拟场景中的某面墙壁时,则该墙壁即为目标碰撞体。碰撞体类型可以为根据碰撞体在虚拟场景中的显示形状所划分的各个类型。
需要说明的是,目标碰撞体的数量可以为一个,也可以为多个。当显示界面中的目标虚拟对象在做相应的肢体动作的过程中,可能会与其自身所属的一个或多个碰撞体发生碰撞。示例性的,当目标虚拟对象在做挥手的动作时,可能会根据挥手幅度的不同,与该目标虚拟对象的肩膀骨骼点所属碰撞体,和/或多个躯干骨骼点所属碰撞体发生碰撞。本公开实施例在此仅以骨骼点与一个目标碰撞体发生碰撞时,对骨骼点与显示界面中的显示位置进行调整为例来进行说明,当存在多个目标碰撞体时,均可以通过本公开实施例所提供的技术方法来对骨骼点于显示界面中的显示位置进行调整。
在具体实施例中,在将目标虚拟对象划分为多条骨骼链之后,由于不同形状的碰撞体所对应的碰撞信息不同,并且对于碰撞后的骨骼点的调整方式也不同,因此,在确定各骨骼点与碰撞体的碰撞信息时,需要确定与目标虚拟对象产生碰撞的至少一个碰撞体,以及这些碰撞体所对应的碰撞体类型,以便可以根据不同类型的碰撞体,确定相应的碰撞信息,提高目标虚拟对象的显示效果。
S230、根据至少一个骨骼点与球形碰撞体,确定骨骼点与至少一个目标碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息。
需要说明的是,针对不同类型的目标碰撞体,各骨骼点与相应的目标碰撞体之间的碰撞信息的确定方法不同,并且,对产生碰撞的骨骼点的调整方法也不同,因此,在确定骨骼点与目标碰撞体的碰撞信息时,可以根据不同碰撞体类型执行不同的碰撞信息确定方法。
可选的,根据至少一个骨骼点与碰撞体类型,确定骨骼点与至少一个目标碰撞体的碰撞信息,包括:对于同一骨骼链上沿第一方向上的相邻两个骨骼点,根据目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定骨骼点与目标碰撞体的碰撞信息。
其中,第一方向可以是骨骼链中由父骨骼点指向子骨骼点的方向。父骨骼点与子骨骼点可以为同一骨骼链上具有父子关系的相邻的两个节点。父骨骼点为背离第一方向的骨骼点,子骨骼点为第一方向指向的骨骼点。在同一骨骼链上,父骨骼点和子骨骼点是相对而言的。示例性的,手臂骨骼链在第一方向上包括肩膀骨骼点、手肘骨骼点和手腕骨骼点等,对于肩膀骨骼点和手肘骨骼点这一对骨骼点来说,肩膀骨骼点即为父骨骼点,手肘骨骼点为子骨骼点;对于手肘骨骼点和手腕骨骼点这一对骨骼点来说,手肘骨骼点即为父骨骼点,手腕骨骼点即为子骨骼点。父骨骼点所属第一碰撞体可以为以父骨骼点为中心所构建的碰撞体。相应的,子骨骼点所属第二碰撞体可以为以子骨骼点为中心所构建的碰撞体。需要说明的是,第一碰撞体和第二碰撞体均为目标虚拟对象中的身体部位。示例性的,当目标虚拟对象为虚拟人物,且父骨骼点为肩膀骨骼点,子骨骼点为上臂关节骨骼点,则第一碰撞体则为目标虚拟对象的肩膀,第二碰撞体则为目标虚拟对象的上臂。
在实际应用中,对于同一骨骼链上相邻的一对父骨骼点和子骨骼点,由于父骨骼点所属第一碰撞体与子骨骼点所属第二碰撞体与目标碰撞体产生碰撞时所确定的碰撞信息不同,因此,在确定骨骼点与目标碰撞体的碰撞信息时,针对父骨骼点和子骨骼点可以分别确定。这样设置的好处在于:可以确定不同骨骼点所对应的碰撞体与目标碰撞体的相对位置,准确地确定骨骼点与目标碰撞体的碰撞信息,从而提高目标虚拟对象在待处理视频帧中显示的真实度。
示例性的,如图3所示,S点所属球体为目标碰撞体,B点为子骨骼点,以该点为球心所构建的球体为第二碰撞体,A点为父骨骼点,以该点为球心所构建的球体为第一碰撞体。
可选的,根据目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定骨骼点与目标碰撞体的碰撞信息,包括:对于父骨骼点,确定第一碰撞体与目标碰撞体的第一球心距,并根据第一球心距和目标碰撞体的目标球体半径,确定父骨骼点和/或子骨骼点与目标碰撞体的碰撞信息;对于子骨骼点,确定第二碰撞体与目标碰撞体的第二球心距,并根据第二球心距、目标球体半径以及第二碰撞体的第二球体半径,确定子骨骼点与目标碰撞体的碰撞信息。
其中,第一球心距可以为父骨骼点与目标碰撞体的球心所在节点之间的直线距离。目标球体半径可以为连接目标碰撞体的球心与其球面上任意一点的线段。第二球心距可以为子骨骼点与目标碰撞体的球心所在节点之间的直线距离。第二球体半径可以为连接子骨骼点与第二碰撞体表面上任意一点的线段。
在实际应用中,在确定父骨骼点以及子骨骼点与目标碰撞体之间的碰撞信息时,可以确定父骨骼点所属第一碰撞体与目标碰撞体之间的相对距离,并将该距离与目标碰撞体的半径进行比对,根据比对结果确定父骨骼点和/或子骨骼点与目标碰撞体的碰撞信息。这样设置的好处在于:对于骨骼链中相邻的一对父骨骼点和子骨骼点,根据不同的相对位置信息确定相应的碰撞信息,可以提高碰撞信息的准确度,从而提高目标虚拟对象在待处理视频帧中显示的真实度。
示例性的,如图3所示,第一球心距|SA|为S点与A点之间的距离,第二球心距|BS|为S点与B点之间的距离。
可选的,根据第一球心距和目标碰撞体的目标球体半径,确定父骨骼点和/或子骨骼点与目标碰撞体的碰撞信息,包括:若第一球心距小于目标球体半径,则确定父骨骼点的碰撞信息为第一碰撞信息;若第一球心距大于目标球体半径,则确定子骨骼点的碰撞信息为第二碰撞信息。
其中,第一碰撞信息为父骨骼点位于目标碰撞体内部;第二碰撞信息为子骨骼点位于目标碰撞体内部。
在具体实施中,为了更加准确且快速地确定各骨骼点与目标碰撞体的碰撞信息,在确定第一碰撞体与目标碰撞体的第一球心距之后,将第一球心距与目标球体半径进行比对,以确定父骨骼点以及子骨骼点与目标碰撞体的碰撞信息。当第一球心距小于目标球体半径时,则可以表明父骨骼点位于目标碰撞体内部,其对应的碰撞信息为第一碰撞信息;当第一球心距大于目标球体半径时,由于当前骨骼链上至少一个骨骼点与目标碰撞体产生碰撞,对于同一骨骼链上相邻的父骨骼点和子骨骼点,父骨骼点与子骨骼点之间是处于相互连接状态的,因此,当父骨骼点与目标碰撞体的球心之间的距离大于目标球体半径时,则可以表明与该父骨骼点相邻的子骨骼点位于目标碰撞体的内部,其对应的碰撞信息为第二碰撞信息。
示例性的,如图3所示,碰撞体S的半径为Sr,碰撞体A和碰撞体B的半径均为Br。若|SA|<Sr,则说明A点位于碰撞体S的内部;若|SA|>Sr,则说明B点位于碰撞体S的内部。
可选的,根据第二球心距、目标球体半径以及第二碰撞体的第二球体半径,确定子骨骼点与目标碰撞体的碰撞信息,包括:基于目标球体半径和第二球体半径,确定第一和半径;若第二球心距大于第一和半径,则确定碰撞信息为第三碰撞信息;若第二球心距小于第一和半径,则确定碰撞信息为第二碰撞信息。
其中,第一和半径可以为目标球体半径与第二球体半径相加之后的距离。第三碰撞信息为子骨骼点未与目标碰撞体碰撞;第二碰撞信息为子骨骼点位于目标碰撞体的内部。
具体的,为了更加准确且快速的确定子骨骼点与目标碰撞体的碰撞信息,可以对目标球体半径和子骨骼点所属的第二碰撞体的第二球体半径进行相加处理,以得到第一和半径,进一步的,将第一和半径与第二球心距进行比对,以根据比对结果确定子骨骼点与目标碰撞体的碰撞信息。当第二球心距大于第一和半径时,则表明子骨骼点所属第二碰撞体与目标碰撞体没有相互接触而产生碰撞,因此,可以确定子骨骼点与目标碰撞体的碰撞信息为第三碰撞信息,即子骨骼点未与目标碰撞体发生碰撞;当第二球心距小于第一和半径时,则表明子骨骼点所属第二碰撞体与目标碰撞体处于相互接触,并且两个碰撞体的其中一部分处于重叠状态,因此,可以确定子骨骼点与目标碰撞体的碰撞信息为第二碰撞信息,即子骨骼点位于目标碰撞体的内部。
示例性的,如图3所示,若|BS|>Sr+Br时,则说明B点与碰撞体S无碰撞,则无需对该骨骼点进行处理,可以将该骨骼点以其相应的初始位置信息进行显示。若|BS|<Sr+Br时,则说明B点位于碰撞体S的内部。
进一步的,由于各骨骼点与目标碰撞体的碰撞信息不同,因此,在基于碰撞信息,确定各骨骼点在待处理视频帧中的目标显示信息时,可以根据不同的碰撞信息进行分别确定。
可选的,基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,包括:若碰撞信息为第一碰撞信息,则根据目标碰撞体的目标球心坐标、第一碰撞体的第一球心坐标、第二碰撞体的第二球心坐标、第一和半径,调整父骨骼点于待处理视频帧中的目标显示位置。
在实际应用中,可以根据目标碰撞体、第一碰撞体以及第二碰撞体在三维空间中构建空间坐标系。其中,目标碰撞体的球心位置坐标即为目标球心坐标,第一碰撞体的球心位置坐标即为第一球心坐标,第二碰撞体的球心位置坐标即为第二球心坐标。其中,父骨骼点对应于第一球心坐标,子骨骼点对应于第二球心坐标,目标显示信息中包括目标显示位置。
具体的,当碰撞信息为第一碰撞信息,即父骨骼点位于目标碰撞体的内部时,由于在同一骨骼链上的相邻的一对父骨骼点与子骨骼点之间的方向为父骨骼点指向子骨骼点,因此,为了调整父骨骼点在待处理视频帧中的显示位置,可以首先根据第一球心半径和第二球心半径,确定两个球心之间的第一向量,该向量的方向为父骨骼点执行子骨骼点,然后,将第一向量与其相对应的模长进行相除处理,即可得到模长为1,且向量方向与第一向量的向量方向相同的单位向量,进一步的,确定单位向量与第一和半径之间的数量积,即可得到模长为第一和半径所对应的线段长度,方向为第一向量的向量方向的中间值,将目标球心坐标与中间值进行相加处理,即可确定父骨骼点更新后在待处理视频帧中的目标显示位置。这样设置的好处在于:可以根据相应的碰撞信息,准确地确定父骨骼点在待处理视频帧中的目标显示位置,以将父骨骼点快速调整至目标显示位置处,提高动画的显示效果。
示例性的,父骨骼点在待处理视频帧中的目标显示位置可以通过如下公式确定:
A′=S+Normalize(AB)*(Sr+Br)
其中,A′表示父骨骼点更新后的目标显示位置坐标,S表示目标球心坐标,A表示第一球心坐标,B表示第二球心坐标,Sr+Br表示第一和半径,*表示数量积处理。
可选的,基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,包括:若碰撞信息为第二碰撞信息,则根据第一和半径、第一球心距、父骨骼点的第一球心坐标、以及子骨骼点的第二球心坐标,确定子骨骼点于待处理视频帧中的目标显示信息。
具体的,当碰撞信息为第二碰撞信息,即子骨骼点位于目标碰撞体的内部时,则需要父骨骼点的相关位置信息、子骨骼点的相关位置信息以及父骨骼点与目标碰撞体之间的位置信息,确定子骨骼点更新后在待处理视频帧中的目标显示位置。这样设置的好处在于:可以根据相应的碰撞信息,准确地确定子骨骼点在待处理视频帧中的目标显示位置,以将子骨骼点快速调整至目标显示位置处,提高动画的显示效果。
可选的,根据第一和半径、第一球心距、父骨骼点的第一球心坐标、以及子骨骼点的第二球心坐标,确定子骨骼点于待处理视频帧中的目标显示信息,包括:基于第一球心距、第一和半径、第一球心坐标和第二球心坐标之间的第三球心距,确定第一过渡值;根据第一球心坐标和目标球心坐标,确定第一单位向量;基于第一过渡值、第一球心坐标以及第一单位向量,确定第二过渡值;基于第二过渡值,第一单位向量以及第二球心坐标,确定目标显示信息。
其中,第三球心距可以为父骨骼点与子骨骼点之间的距离。
示例性的,如图4和图5所示,可以构建相应的辅助圆用于计算子骨骼点在待处理视频帧中的目标显示位置。
在实际应用中,为了更加准确地确定子骨骼点的目标显示信息,可以分别对第一球心距、第一和半径和第三球心距进行求平方处理,得到第一距离值、第二距离值和第三距离值,然后,将第一距离值与第二距离值进行相减,再将相减之后的结果与第三距离值进行相加,并将相加之后的结果与二倍的第一球心距进行相除,从而得到一个距离值,可以将该距离值作为第一过渡值。
进一步的,将目标球心坐标中的各个坐标值与第一球心坐标中的各个坐标值进行相减,确定两个球心坐标之间的向量,然后,确定该向量的单位向量,即可作为第一单位向量,然后,确定第一单位向量与第一过渡值所对应的向量之间的数量积,即可得到一个坐标,再将该坐标与第一球心坐标进行相加,即可确定第二过渡值,最后,根据第二过渡值、第一单位向量和第二球心坐标,确定子骨骼点的目标显示信息。
可选的,基于第二过渡值、第一单位向量以及第二球心坐标,确定目标显示信息,包括:根据第一球心距、第三球心距以及第一和半径,确定第三过渡值;基于第三过渡值、第二球心坐标、第一单位向量、第二过渡值与第二球心坐标构成的第二单位向量,确定第四过渡值;基于第四过渡值、第二过渡值以及第三过渡值,确定子骨骼点的目标显示信息。
具体的,为了更加准确地确定子骨骼点的目标显示信息,可以分别对第一球心距、第一和半径以及第三球心距进行求平方处理,得到第一距离值、第二距离值和第三距离值,然后,将第一距离值与第二距离值进行相减,再将相减之后的结果与第三距离值进行相加,并将相加之后的结果进行求平方处理,得到第一待处理值,同时,将第一距离值与第三距离值进行相乘处理,并对相乘之后的结果进行4倍相乘处理,得到第二待处理值,进一步的,将第二待处理值与第一待处理值进行相减,并对相减之后的结果进行开平方处理,得到第三待处理值,将第三待处理值与2倍的第一球半径进行相除处理,即可得到第三过渡值。
进一步的,由于第二过渡值是由两个坐标相加得到,因此,第二过渡值的表示形式也为坐标,将第二球心坐标中的各个坐标值与第二过渡值中的各个坐标值进行相减处理,即可得到第二单位向量,确定第一单位向量与第二单位向量的数量积,并将该数量积与第一单位向量进行相乘处理,得到一个待处理向量,将第二球心坐标与该向量进行相减处理,即可得到第四过渡值。
最后,由于第四过渡值是由两个坐标相减得到的,因此,第四过渡值的表示形式也为坐标,将第四过渡值中的各个坐标值与第二过渡值中的各个坐标值进行相减处理,并确定相减之后的坐标所对应的单位向量,并确定该单位向量与第三过渡值所对应的向量之间的数量积,将该数量积与第二过渡值进行相加,即可得到子骨骼点更新后的目标显示位置。
S240、基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧。
本公开实施例的技术方案,通过将待处理视频帧中目标虚拟对象划分为多条骨骼链,然后,确定与目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型,进一步的,根据至少一个骨骼点与球形碰撞体,确定骨骼点与至少一个目标碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,最后,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,解决了当骨骼点与球形碰撞体发生碰撞时,发生碰撞的碰撞体之间被遮挡显示或出现穿模的情形,从而导致动画显示效果不佳的问题,实现了准确且快速的确定骨骼点与球形碰撞体之间的碰撞信息以及骨骼点于显示界面中的目标显示信息,进而根据目标显示信息调整骨骼点于显示界面中的显示位置,从而提高了动画的显示效果。
图6为本公开实施例所提供的一种图像处理方法的流程示意图,在前述实施例的基础上,对于不同类型的碰撞体来说,确定骨骼点的目标显示信息的方式是存在一定差异的,此实施例以长方体碰撞体为例来进行说明,其具体实施方式可以参见本技术方案的详细阐述。其中,与上述各实施例相同或相应的术语的解释在此不再阐述。
如图6所示,该方法具体包括如下步骤:
S310、将待处理视频帧中目标虚拟对象划分为多条骨骼链。
S320、确定与目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型。
S330、根据至少一个骨骼点与长方体碰撞体,确定骨骼点与至少一个目标碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息。
在实际应用中,当碰撞体类型为长方体碰撞体时,确定骨骼点与碰撞体的碰撞信息的方式与球形碰撞体所对应的确定方式不同,并且,骨骼点的目标显示信息的确定方式也会相应的发生变化。
可选的,根据至少一个骨骼点与碰撞体类型,确定与骨骼点与至少一个目标碰撞体的碰撞信息,包括:对于同一骨骼链上沿第一方向上骨骼点,根据骨骼点的子坐标和预设函数,确定骨骼点与目标碰撞体的碰撞信息。
其中,第一方向可以为同一骨骼链上父骨骼点指向子骨骼点的方向。子坐标可以为同一骨骼链上子骨骼点所对应的坐标信息。预设函数可以为预先设置的,用于确定骨骼点与目标碰撞体的碰撞信息的函数。示例性的,预设函数可以为Abs函数,其对应的功能为计算整数的绝对值。
在实际应用中,当目标碰撞体为长方体碰撞体时,对于同一骨骼链上沿父骨骼点指向子骨骼点的方向上的骨骼点,可以将骨骼点的子坐标代入预设函数中,从而确定骨骼点与目标碰撞体的碰撞信息。这样设置的好处在于:可以根据不同类型的碰撞体确定相应的碰撞信息确定方式,以实现更加准确且快速地确定骨骼点与目标碰撞体的碰撞情况,并确定相应的解决方案。
可选的,根据骨骼点的子坐标和预设函数,确定骨骼点与目标碰撞体的碰撞信息,包括:基于子坐标和预设函数,确定骨骼点在各维度上的深度值;若最大深度值小于预设数值,则确定骨骼点与目标碰撞体的碰撞信息为第四碰撞信息。
一般情况下,由于目标碰撞体为长方体碰撞体,为三维立体碰撞体,其维度为长度、宽度和高度,因此,骨骼点在各维度上的深度值包括长度上的深度值、宽度上的深度值和高度上的深度值。需要说明的是,在空间坐标系中,维度可以用坐标轴来表示,X轴可以表示长度,Y轴可以表示宽度,Z轴可以表示高度。其中,深度值可以为骨骼点在目标碰撞体中的位置与目标碰撞体表面的垂直距离。在实际应用中,对骨骼点在各维度上的深度值进行大小比较,将这些深度值中数值最大的那个值作为最大深度值。预设数值可以为预先设定的,用于对骨骼点与目标碰撞体的碰撞信息所属类型进行判断的标准。示例性的,预设数值可以为0。当最大深度值小于预设数值,则可以认为骨骼点与目标碰撞体相交,即第四碰撞信息为骨骼点与目标碰撞体相交。
示例性的,如图7所示,假设目标碰撞体在X轴、Y轴和Z轴方向的长度分别为Kx,Ky,Kz,骨骼点所属碰撞体的半径为Br,目标碰撞体的中心坐标C为(0,0,0),骨骼点的子坐标为则骨骼点在各维度上的深度值可以通过如下公式确定:
DepthX=Abs(B.x-C.x)-Kx-Br
DepthY=Abs(B.y-C.y)-Ky-Br
DepthZ=Abs(B.z-C.z)-Kz-Br
其中,DepthX表示X轴方向上的深度值,DepthY表示Y轴方向上的深度值,DepthZ表示Z轴方向上的深度值,B表示骨骼点的子坐标,Abs表示求整数的绝对值。
当DepthX<0,则说明在X轴方向上,骨骼点与目标碰撞体相交。
示例性的,最大深度值可以用T=max(DepthX,DepthY,DepthZ)表示,当T<0,则说明骨骼点与目标碰撞体相交。
具体的,确定骨骼点的子坐标以及预设函数,根据该子坐标和预设函数,确定骨骼点在各维度上的深度值,然后,比较各维度上的深度值,并将数值最大的那个值作为最大深度值,当最大深度值小于预设数值时,则可以确定骨骼点与目标碰撞体的碰撞信息为第四碰撞信息。这样设置的好处在于:可以准确的确定骨骼点与目标碰撞体的相对位置关系,以根据该相对位置关系确定骨骼点与目标碰撞体的碰撞情况。
需要说明的是,当目标碰撞体为长方体碰撞体,且骨骼点与目标碰撞体的碰撞信息为第四碰撞信息时,在根据当前碰撞信息确定骨骼点在待处理视频帧中的目标显示信息时,则需要根据该骨骼点的位置信息、与该骨骼点相连的父骨骼点的位置信息以及目标碰撞体的位置信息确定该骨骼点更新后的目标显示信息。
在上述实施例的基础上,为了更加准确的确定骨骼点在待处理视频帧中的目标显示信息,具体可以是:
若碰撞信息为第四碰撞信息,则根据骨骼点前依赖的父骨骼点的父坐标信息、子坐标信息、以及目标碰撞体在各维度上的长度信息,确定骨骼点于待处理视频帧中的目标显示信息。
其中,前依赖的父骨骼点可以为与骨骼点相邻,且需要根据骨骼点的移动来驱动进行相应移动的骨骼点。父坐标信息可以为父骨骼点在三维空间中的坐标。目标碰撞体在各维度上的长度信息可以为目标碰撞体的尺寸信息,即目标碰撞体的长度值、宽度值以及高度值,在三维坐标系中,可以为目标碰撞体在X轴方向上的长度值,在Y轴方向上的长度值以及在Z轴方向上的长度值。
示例性的,如图8和图9所示,水平方向为X轴,竖直方向为Y轴,且DepthX为最大值,通过sign=(A.x-C.x)/Abs(A.x-C.x),则该平面为(Kx,0,0)*sign,其中,sign函数为符号函数,其功能为取某个数的符号,由图可以看出,sign=1,因此,该平面的平面向量为(Kx,0,0),将图中长方形的右边线段作为该平面的横截面。
如图9所示,OA垂直于OB′,则O点与A点之间的距离可以基于A点在X轴上的坐标值、C点在X轴上的坐标值以及骨骼点所属碰撞体的半径进行相减处理得到。由于OA垂直于OB′,根据勾股定理,则O点与B′点之间的距离可以通过如下计算过程得到:首先确定A点与B点之间的距离,并对该距离进行平方处理,得到第一待处理平方值,然后,对O点与A点之间的距离进行平方处理,得到第二待处理平方值,进一步的,将第一待处理平方值与第二待处理平方值进行相减处理,并对相减之后的结果进行求平方根处理,从而最终确定O点与B′点之间的距离。进一步的,根据O点与B′点之间的距离,可以确定最终点B′的坐标,即骨骼点在待处理视频帧中目标显示信息为图中B′所在位置。
S340、基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧。
本公开实施例的技术方案,通过将待处理视频帧中目标虚拟对象划分为多条骨骼链,然后,确定与目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型,进一步的,根据至少一个骨骼点与球形碰撞体,确定骨骼点与至少一个目标碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,最后,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,解决了当骨骼点与长方体碰撞体发生碰撞时,发生碰撞的碰撞体之间被遮挡显示或出现穿模的情形,从而导致动画显示效果不佳的问题,实现了准确且快速的确定骨骼点与长方体碰撞体之间的碰撞信息以及骨骼点于显示界面中的目标显示信息,进而根据目标显示信息调整骨骼点于显示界面中的显示位置,从而提高了动画的显示效果。
图10为本公开实施例所提供的一种图像处理方法的流程示意图,在前述实施例的基础上,在确定骨骼点于显示界面中的目标显示信息时,为了实现同一骨骼链上的各骨骼点的平滑过渡,可以采用本实施所提供的方式确定各骨骼点在平滑过渡时的旋转角度,其具体实施方式可以参见本技术方案的详细阐述。其中,与上述各实施例相同或相应的术语的解释在此不再阐述。
需要说明的是,在调整骨骼点于显示界面中的显示位置时,与该骨骼点隶属于同一骨骼链上的其他骨骼点可能并未与碰撞体发生碰撞,为了实现各骨骼点的平滑过渡,可以采用下述方式调整骨骼点于显示界面上的旋转角度。
如图10所示,该方法具体包括如下步骤:
S410、将待处理视频帧中目标虚拟对象划分为多条骨骼链。
S420、确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息。
S430、根据当前骨骼点的初始位置信息和目标显示信息,确定目标位移。
其中,当前骨骼点可以为当前与目标碰撞体产生碰撞,并处于目标碰撞体内部的骨骼点。初始位置信息可以为当前骨骼点在目标碰撞体内部时所处的位置信息。目标显示信息可以为当前骨骼点在调整后显示在待处理视频帧中目标位置信息。目标位移可以为当前骨骼点于显示界面中的显示位置从初始位置至目标显示位置的位置变化量。
需要说明的是,在根据骨骼点的初始位置信息和目标显示信息进行骨骼点的位置调节时,可以通过FABRIK(Forward and Backward Reaching Inverse Kinematics,前向后向抵达)进行调节,然而,虽然普通的FABRIK可以设置每个关节骨骼点的角度约束,但最终效果可能导致部分关节骨骼点的强烈扭曲,和原始动作相比畸变严重,如果出现特定关节骨骼点(如,手腕)可能导致更严重的反人体骨骼扭曲。基于此,可以将由于碰撞带来的扭曲变化均匀的分配至整条骨骼链,以避免出现骨骼链中部分关节扭曲,且与原始动作相比畸变严重的问题。
具体的,当确定当前骨骼点位于目标碰撞体的内部时,确定当前骨骼点的初始位置信息,以及该骨骼点经过调节后的目标显示信息,以基于初始位置信息和目标显示信息确定当前骨骼点在显示界面中需要移动的目标位移。这样设置的好处在于:可以准确的将骨骼点于显示界面中的显示位置从初始显示位置移动至目标显示位置,进而提高了骨骼动画动作的平滑性以及动画显示效果。
S440、获取与当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向所关联的至少一个待使用骨骼点的目标显示信息,并将至少一个待使用骨骼点的目标显示信息作为待使用目标显示信息。
其中,待使用骨骼点可以为与当前骨骼点相邻的骨骼点,也可以为与当前骨骼点同属于一条骨骼链上的其他骨骼点。需要说明的是,待使用骨骼点可以包括但不限于1个、2个、3个或4个等。示例性的,当前骨骼点为手关节骨骼点,则待使用骨骼点可以为与该手关节骨骼点隶属于同一骨骼链上的大臂关节骨骼点、小臂关节骨骼点和肩部关节骨骼点。第一方向的反方向可以为由当前骨骼点指向各待使用骨骼点的方向。待使用骨骼点的目标显示信息为当前骨骼点位于目标碰撞体内部时,与其相连的各个待使用骨骼点的显示位置信息。
在实际应用中,确定与当前骨骼点隶属于同一骨骼链上的父骨骼点的目标显示信息,并将各个目标显示信息作为将当前碰撞点从初始位置移动到目标显示位置时的参考信息,可以将这些参考信息作为待使用目标显示信息。
S450、根据待使用目标显示信息、当前骨骼点的初始位置信息、目标显示信息以及目标位移,确定至少一个待使用骨骼点和当前骨骼点的旋转角度。
其中,旋转角度可以为各个骨骼点在进行碰撞调节时所旋转的微小角度。一般情况下,在骨骼点与目标碰撞体产生碰撞之后,需要进行碰撞调节,在调节过程中,该骨骼点以及与该骨骼点隶属于同一骨骼链上的其他骨骼点均会旋转微小的角度,以实现骨骼动画的相似性和平滑性。
可选的,根据待使用目标显示信息、当前骨骼点的目标显示信息以及目标位移,确定至少一个待使用骨骼点和当前骨骼点的旋转角度,包括:对于至少一个待使用目标显示信息,根据待使用目标显示信息与初始位置信息,确定第一偏移向量;根据当前骨骼点的初始显示位置和目标显示信息,确定第二偏移向量;基于至少一个第一偏移向量、第二偏移向量以及目标位移,确定旋转角度。
其中,第一偏移向量可以为各待使用骨骼点于显示界面中在调节之前的显示位置与当前骨骼点于显示界面中的初始显示位置之间的向量。需要说明的是,第一偏移向量的方向为由各待使用骨骼点指向当前骨骼点,第一偏移向量的数量与待使用骨骼点的数量相关联。示例性的,当与当前骨骼点隶属于同一骨骼链上的待使用骨骼点的个数为3个时,则对于每个待使用骨骼点均有其对应的第一偏移向量。第二偏移向量可以为由当前骨骼点的初始显示位置指向当前骨骼点的目标显示位置的向量。第二偏移向量的数值大小与目标位移相同。
在具体实施中,对于各待使用目标显示信息,根据待使用目标显示信息以及当前骨骼点的初始位置信息,确定第一偏移向量,然后,根据当前骨骼点的初始显示位置以及其相应的目标显示位置,确定第二偏移向量,确定第一偏移向量与第二偏移向量之间的向量积,并与第一偏移向量的模长和目标位移相乘之后的结果进行相除处理,确定该商值与第一偏移向量之间的数量积,即可得到第一待使用向量。需要说明的是,当第一偏移向量的数量为多个时,均需要进行上述计算过程,得到多个第一待使用向量。进一步的,将各个第一待使用向量进行相加处理,并将相加之后的结果与目标位移进行求商处理,从而最终得到旋转角度。这样设置的好处在于:提高了骨骼动画动作的相似性和平滑性,从而提高动画显示效果和真实度。
示例性的,如图11所示,待使用骨骼点为3个,其对应的第一偏移向量的数量也为3个,即L1,L2,L3,d为第二偏移向量,则旋转角度可以通过如下公式确定:
其中,a表示旋转角度。
S460、基于旋转角度和预设矫正率,确定至少一个待使用骨骼点的偏移角度。
其中,预设矫正率可以为预先设定的,用于对待使用骨骼点进行调节的调节依据。预设矫正率可以是任意值,可选的,可以是0.7。在实际应用中,当将当前骨骼点从初始位置调节至目标位置,以使骨骼点与目标碰撞体不在碰撞时,与当前骨骼点隶属于同一骨骼链的待使用骨骼点也需要进行相应的偏移,可以将该过程中待使用骨骼点移动的角度作为该待使用骨骼点的偏移角度。
具体的,在确定当前骨骼点以及各待使用骨骼点的旋转角度之后,可以将各个旋转角度与预设矫正率进行相乘,以得到各待使用骨骼点的偏移角度,以使各待使用骨骼点可以根据相应的偏移角度进行移动。
需要说明的是,在确定待使用骨骼点的偏移角度,以矫正各待使用骨骼点时,可以使用迭代法进行多次矫正,可以根据骨骼链上骨骼点的数量确定迭代次数,在前几次矫正调节时,可以将旋转角度与相应的预设矫正率进行相乘,以实现各待使用骨骼点的矫正,最后一次迭代时,仅对父骨骼点进行更新从而保证无穿透约束。
还需说明的是,如果在迭代过程中,骨骼链上的各骨骼点与目标碰撞体不在产生碰撞时,则可以提前结束迭代过程。
S470、基于各待使用骨骼点的偏移角度和当前骨骼点的旋转角度,更新当前骨骼点与至少一个待使用骨骼点于待处理视频帧中的目标显示信息。
在具体实施中,在根据旋转角度确定各待使用骨骼点的偏移角度之后,则可以根据已确定的偏移角度以及当前骨骼点的旋转角度,对当前骨骼点以及至少一个待使用骨骼点于显示界面中的显示位置进行调节,从而更新当前骨骼点和各待使用骨骼点在待处理视频帧中的目标显示信息,以使各骨骼点与目标碰撞体不再产生碰撞,完成碰撞调节过程。
S480、基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧。
需要说明的是,由于当骨骼链上的骨骼点与目标碰撞体产生碰撞时,位于目标碰撞体内部的骨骼点的数量可以会出现多个的情况,在此种情况下,进行矫正调节时,容易出现当骨骼点移出目标碰撞体时,出现跳跃的情况。
基于此,在上述技术方案的基础上,还包括:若当前骨骼点为骨骼链上第N个连续位于目标碰撞体内部的骨骼点,则在确定当前骨骼点下一骨骼点的旋转角度时,将下一骨骼点作为初始骨骼点。
其中,N为预设数值,初始骨骼点为不依赖待使用骨骼点的目标显示信息确定旋转角度的骨骼点。
在具体实施中,当位于目标碰撞体内部的骨骼点数量为多个时,若在确定骨骼链上位于碰撞体内部的第N个当前骨骼点的下一骨骼点的旋转角度时,需要将下一骨骼点作为不依赖待使用骨骼点的目标显示信息确定旋转角度的骨骼点。这样设置的好处在于:避免出现骨骼点在移动过程中出现关节扭曲的问题,提高了骨骼动作的平滑性。
在上述技术方案的基础上,还包括:若与当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向位于当前骨骼点之前的待使用骨骼点未位于目标碰撞体内部,则将当前骨骼点作为初始骨骼点。
在具体实施中,位于目标碰撞体内部的当前骨骼点为多个,且在根据当前骨骼点对与其隶属于同一骨骼链上,沿第一方向的反方向位于当前骨骼点之前的各待使用骨骼点进行矫正调节时,需要确定进行调节的待使用骨骼点与当前骨骼点的位置关系,当待使用骨骼点未位于目标碰撞体内部时,则将与该待使用骨骼点相邻的当前骨骼点作为初始骨骼点,以根据该初始骨骼点进行选择角度计算,并基于该旋转角度确定待使用骨骼点的偏移角度,以实现各个骨骼点的矫正调节。这样设置的好处在于:避免出现骨骼点在移动过程中出现关节扭曲的问题,提高了骨骼动作的平滑性。
本公开实施例的技术方案,通过在确定当前骨骼点位于目标碰撞体的内部,并确定当前骨骼点所对应的目标显示信息之后,更新当前骨骼点在待处理视频帧中的目标显示信息,解决了在对骨骼点于显示界面中的显示位置进行碰撞调整时,调整后的虚拟对象动作与原始动作相比畸变严重的问题,实现了在对骨骼点于显示界面中的显示位置进行调整时,确保调整后的骨骼动作的连贯性和平滑性,从而提高了动画的显示效果和真实性。
图12为本公开实施例所提供的一种图像处理装置结构示意图,如图12所示,所述装置包括:骨骼链划分模块510、碰撞信息确定模块520以及目标虚拟对象显示模块530。
骨骼链划分模块510,用于将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,骨骼链包括至少一个骨骼点;
碰撞信息确定模块520,用于确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息;
目标虚拟对象显示模块530,用于基于至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于待处理视频帧。
在上述各技术方案的基础上,骨骼链划分模块510包括检测部位划分单元和骨骼链确定单元。
检测部位划分单元,用于基于预先设定的部位划分规则将所述目标虚拟对象划分为多个检测部位;
骨骼链确定单元,用于确定与所述多个检测部位相对应的骨骼链。
在上述各技术方案的基础上,碰撞信息确定模块520包括碰撞体类型确定子模块、碰撞信息确定子模块。
碰撞体类型确定子模块,用于确定与所述目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型;
碰撞信息确定子模块,用于根据所述至少一个骨骼点与所述碰撞体类型,确定所述骨骼点与所述至少一个目标碰撞体的碰撞信息。
在上述各技术方案的基础上,所述碰撞体类型为球形碰撞体,碰撞信息确定子模块,还用于对于同一骨骼链上沿第一方向上的相邻两个骨骼点,根据所述目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定所述骨骼点与所述目标碰撞体的碰撞信息;其中,所述父骨骼点为背离所述第一方向的骨骼点,所述子骨骼点为所述第一方向指向的骨骼点。
在上述各技术方案的基础上,碰撞信息确定子模块包括父骨骼点碰撞信息确定单元和子骨骼点碰撞信息确定单元。
父骨骼点碰撞信息确定单元,用于对于父骨骼点,确定所述第一碰撞体与所述目标碰撞体的第一球心距,并根据所述第一球心距和所述目标碰撞体的目标球体半径,确定所述父骨骼点与所述目标碰撞体的碰撞信息;
子骨骼点碰撞信息确定单元,用于对于子骨骼点,确定所述第二碰撞体与所述目标碰撞体的第二球心距,并根据所述第二球心距、所述目标球体半径以及所述第二碰撞体的第二球体半径,确定所述子骨骼点与所述目标碰撞体的碰撞信息。
在上述各技术方案的基础上,父骨骼点碰撞信息确定单元包括第一碰撞信息确定子单元和第二碰撞信息确定子单元。
第一碰撞信息确定子单元,用于若所述第一球心距小于所述目标球体半径,则确定所述父骨骼点的碰撞信息为第一碰撞信息,所述第一碰撞信息为所述父骨骼点位于所述目标碰撞体内部;
第二碰撞信息确定子单元,用于若所述第一球心距大于所述目标球体半径,则确定所述子骨骼点的碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体内部。
在上述各技术方案的基础上,子骨骼点碰撞信息确定单元包括第一和半径确定子单元、第三碰撞信息确定子单元和第二碰撞信息确定子单元。
第一和半径确定子单元,用于基于所述目标球体半径和所述第二球体半径,确定第一和半径;第三碰撞信息确定子单元,用于若所述第二球心距大于所述第一和半径,则确定所述碰撞信息为第三碰撞信息,所述第三碰撞信息为所述子骨骼点未与所述目标碰撞体碰撞;第二碰撞信息确定子单元,用于若所述第二球心距小于所述第一和半径,则确定所述碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体的内部。
在上述各技术方案的基础上,碰撞信息确定模块520包括目标显示位置调整子模块,用于若所述碰撞信息为第一碰撞信息,则根据所述目标碰撞体的目标球心坐标、所述第一碰撞体的第一球心坐标、所述第二碰撞体的第二球心坐标、第一和半径,调整所述父骨骼点于所述待处理视频帧中的目标显示位置;
其中,所述父骨骼点对应于所述第一球心坐标,所述子骨骼点对应于第二球心坐标,所述目标显示信息中包括目标显示位置。
在上述各技术方案的基础上,碰撞信息确定模块520包括目标显示信息确定子模块,用于若所述碰撞信息为第二碰撞信息,则根据第一和半径、第一球心距、所述父骨骼点的第一球心坐标、以及所述子骨骼点的第二球心坐标,确定所述子骨骼点于所述待处理视频帧中的目标显示信息。
在上述各技术方案的基础上,目标显示信息确定子模块包括第一过渡值确定单元、第一单位向量确定单元、第二过渡值确定单元和目标显示信息确定单元。
第一过渡值确定单元,用于基于所述第一球心距、第一和半径、所述第一球心坐标和所述第二球心坐标之间的第三球心距,确定第一过渡值;
第一单位向量确定单元,用于根据所述第一球心坐标和所述目标球心坐标,确定第一单位向量;
第二过渡值确定单元,用于基于所述第一过渡值、所述第一球心坐标以及所述第一单位向量,确定第二过渡值;
目标显示信息确定单元,用于基于所述第二过渡值,所述第一单位向量以及第二球心坐标,确定所述目标显示信息。
在上述各技术方案的基础上,目标显示信息确定单元包括第三过渡值确定子单元、第四过渡值确定子单元和目标显示信息确定子单元。
第三过渡值确定子单元,用于根据所述第一球心距、第三球心距以及第一和半径,确定第三过渡值;
第四过渡值确定子单元,用于基于所述第三过渡值、第二球心坐标、第一单位向量、第二过渡值与所述第二球心坐标构成的第二单位向量,确定第四过渡值;
目标显示信息确定子单元,用于基于所述第四过渡值、第二过渡值以及所述第三过渡值,确定所述子骨骼点的目标显示信息。
在上述各技术方案的基础上,所述碰撞体类型为长方体碰撞体,碰撞信息确定子模块,还用于对于同一骨骼链上沿第一方向上骨骼点,根据所述骨骼点的子坐标和预设函数,确定所述骨骼点与所述目标碰撞体的碰撞信息。
在上述各技术方案的基础上,碰撞信息确定子模块包括深度值确定单元和第四碰撞信息确定单元。
深度值确定单元,用于基于所述子坐标和预设函数,确定所述骨骼点在各维度上的深度值;
第四碰撞信息确定单元,用于若最大深度值小于预设数值,则确定所述骨骼点与所述目标碰撞体的碰撞信息为第四碰撞信息。
在上述各技术方案的基础上,碰撞信息确定模块520,还用于若所述碰撞信息为所述第四碰撞信息,则根据所述骨骼点前依赖的父骨骼点的父坐标信息、所述子坐标信息、以及所述目标碰撞体在各维度上的长度信息,确定所述骨骼点于所述待处理视频帧中的目标显示信息。
在上述各技术方案的基础上,在当前骨骼点位于所述目标碰撞体的内部,并在确定所述当前骨骼点所对应的目标显示信息之后,所述装置还包括:目标位移确定模块、待使用目标显示信息确定模块、旋转角度确定模块、偏移角度确定模块和目标显示信息更新模块。
目标位移确定模块,用于根据当前骨骼点的初始位置信息和所述目标显示信息,确定目标位移;
待使用目标显示信息确定模块,用于获取与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向所关联的至少一个待使用骨骼点的目标显示信息,并将所述至少一个待使用骨骼点的目标显示信息作为待使用目标显示信息;
旋转角度确定模块,用于根据所述待使用目标显示信息、所述当前骨骼点的目标显示信息以及所述目标位移,确定所述至少一个待使用骨骼点和所述当前骨骼点的旋转角度;
偏移角度确定模块,用于基于所述旋转角度和预设矫正率,确定所述至少一个待使用骨骼点的偏移角度;
目标显示信息更新模块,用于基于各待使用骨骼点的偏移角度和所述当前骨骼点的旋转角度,更新所述当前骨骼点与所述至少一个待使用骨骼点于所述待处理视频帧中的目标显示信息。
在上述各技术方案的基础上,所述装置还包括:初始骨骼点确定第一模块。
初始骨骼点确定第一模块,用于若所述当前骨骼点为所述骨骼链上第N个连续位于所述目标碰撞体内部的骨骼点,则在确定当前骨骼点下一骨骼点的旋转角度时,将所述下一骨骼点作为初始骨骼点;
其中,N为预设数值,所述初始骨骼点为不依赖待使用骨骼点的目标显示信息确定旋转角度的骨骼点。
在上述各技术方案的基础上,所述装置还包括:初始骨骼点确定第二模块。
初始骨骼点确定第二模块,用于若与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向位于所述当前骨骼点之前的待使用骨骼点未位于所述目标碰撞体内部,则将所述当前骨骼点作为初始骨骼点。
本公开实施例的技术方案,通过将待处理视频帧中目标虚拟对象划分为多条骨骼链,进一步的,确定多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于碰撞信息,确定至少一个骨骼点于待处理视频帧中的目标显示信息,最后,基于至少一个骨骼点的目标显示信息,控制目标虚拟对象显示于待处理视频帧,解决了由于目标虚拟对象的骨骼点与碰撞体发生碰撞,导致骨骼点与碰撞体互相穿透叠加,从而引起动画显示效果不佳的问题,通过当检测到显示界面中存在穿模问题时,对目标虚拟对象的骨骼点于显示界面中的显示位置进行自动调整,达到了提高显示画面真实度的效果,进一步提高了动画的显示效果,提升了用户体验。
本公开实施例所提供的图像处理装置可执行本公开任意实施例所提供的图像处理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图13为本公开实施例所提供的一种电子设备的结构示意图。下面参考图13,其示出了适于用来实现本公开实施例的电子设备(例如图13中的终端设备或服务器)300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图13示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,电子设备300可以包括处理装置(例如中央处理器、图案处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置306加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。编辑/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的编辑装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图13示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置306被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的电子设备与上述实施例提供的图像处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的图像处理方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,所述骨骼链包括至少一个骨骼点;
确定所述多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息;
基于所述至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于所述待处理视频帧。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,【示例一】提供了一种图像处理方法,该方法包括:
将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,所述骨骼链包括至少一个骨骼点;
确定所述多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息;
基于所述至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于所述待处理视频帧。
根据本公开的一个或多个实施例,【示例二】提供了一种图像处理方法,该方法,还包括:
可选的,基于预先设定的部位划分规则将所述目标虚拟对象划分为多个检测部位;
确定与所述多个检测部位相对应的骨骼链。
根据本公开的一个或多个实施例,【示例三】提供了一种图像处理方法,该方法,还包括:
可选的,确定与所述目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型;
根据所述至少一个骨骼点与所述碰撞体类型,确定所述骨骼点与所述至少一个目标碰撞体的碰撞信息。
根据本公开的一个或多个实施例,【示例四】提供了一种图像处理方法,该方法,还包括:
可选的,对于同一骨骼链上沿第一方向上的相邻两个骨骼点,根据所述目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定所述骨骼点与所述目标碰撞体的碰撞信息;
其中,所述父骨骼点为背离所述第一方向的骨骼点,所述子骨骼点为所述第一方向指向的骨骼点。
根据本公开的一个或多个实施例,【示例五】提供了一种图像处理方法,该方法,还包括:
可选的,对于父骨骼点,确定所述第一碰撞体与所述目标碰撞体的第一球心距,并根据所述第一球心距和所述目标碰撞体的目标球体半径,确定所述父骨骼点和/或子骨骼点与所述目标碰撞体的碰撞信息;
对于子骨骼点,确定所述第二碰撞体与所述目标碰撞体的第二球心距,并根据所述第二球心距、所述目标球体半径以及所述第二碰撞体的第二球体半径,确定所述子骨骼点与所述目标碰撞体的碰撞信息。
根据本公开的一个或多个实施例,【示例六】提供了一种图像处理方法,该方法,还包括:
可选的,若所述第一球心距小于所述目标球体半径,则确定所述父骨骼点的碰撞信息为第一碰撞信息,所述第一碰撞信息为所述父骨骼点位于所述目标碰撞体内部;
若所述第一球心距大于所述目标球体半径,则确定所述子骨骼点的碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体内部。
根据本公开的一个或多个实施例,【示例七】提供了一种图像处理方法,该方法,还包括:
可选的,基于所述目标球体半径和所述第二球体半径,确定第一和半径;
若所述第二球心距大于所述第一和半径,则确定所述碰撞信息为第三碰撞信息,所述第三碰撞信息为所述子骨骼点未与所述目标碰撞体碰撞;
若所述第二球心距小于所述第一和半径,则确定所述碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体的内部。
根据本公开的一个或多个实施例,【示例八】提供了一种图像处理方法,该方法,还包括:
可选的,若所述碰撞信息为第一碰撞信息,则根据所述目标碰撞体的目标球心坐标、所述第一碰撞体的第一球心坐标、所述第二碰撞体的第二球心坐标、第一和半径,调整所述父骨骼点于所述待处理视频帧中的目标显示位置;
其中,所述父骨骼点对应于所述第一球心坐标,所述子骨骼点对应于第二球心坐标,所述目标显示信息中包括目标显示位置。
根据本公开的一个或多个实施例,【示例九】提供了一种图像处理方法,该方法,还包括:
可选的,若所述碰撞信息为第二碰撞信息,则根据第一和半径、第一球心距、所述父骨骼点的第一球心坐标、以及所述子骨骼点的第二球心坐标,确定所述子骨骼点于所述待处理视频帧中的目标显示信息。
根据本公开的一个或多个实施例,【示例十】提供了一种图像处理方法,该方法,还包括:
可选的,基于所述第一球心距、第一和半径、所述第一球心坐标和所述第二球心坐标之间的第三球心距,确定第一过渡值;
根据所述第一球心坐标和所述目标球心坐标,确定第一单位向量;
基于所述第一过渡值、所述第一球心坐标以及所述第一单位向量,确定第二过渡值;
基于所述第二过渡值,所述第一单位向量以及第二球心坐标,确定所述目标显示信息。
根据本公开的一个或多个实施例,【示例十一】提供了一种图像处理方法,该方法,还包括:
可选的,根据所述第一球心距、第三球心距以及第一和半径,确定第三过渡值;
基于所述第三过渡值、第二球心坐标、第一单位向量、第二过渡值与所述第二球心坐标构成的第二单位向量,确定第四过渡值;
基于所述第四过渡值、第二过渡值以及所述第三过渡值,确定所述子骨骼点的目标显示信息。
根据本公开的一个或多个实施例,【示例十二】提供了一种图像处理方法,该方法,还包括:
可选的,对于同一骨骼链上沿第一方向上骨骼点,根据所述骨骼点的子坐标和预设函数,确定所述骨骼点与所述目标碰撞体的碰撞信息。
根据本公开的一个或多个实施例,【示例十三】提供了一种图像处理方法,该方法,还包括:
可选的,基于所述子坐标和预设函数,确定所述骨骼点在各维度上的深度值;
若最大深度值小于预设数值,则确定所述骨骼点与所述目标碰撞体的碰撞信息为第四碰撞信息。
根据本公开的一个或多个实施例,【示例十四】提供了一种图像处理方法,该方法,还包括:
可选的,若所述碰撞信息为所述第四碰撞信息,则根据所述骨骼点前依赖的父骨骼点的父坐标信息、所述子坐标信息、以及所述目标碰撞体在各维度上的长度信息,确定所述骨骼点于所述待处理视频帧中的目标显示信息。
根据本公开的一个或多个实施例,【示例十五】提供了一种图像处理方法,该方法,还包括:
可选的,基于至少一个骨骼点调整后的目标显示位置,将所述目标虚拟对象渲染于所述待处理视频帧中。
根据本公开的一个或多个实施例,【示例十六】提供了一种图像处理方法,该方法,还包括:
可选的,根据当前骨骼点的初始位置信息和所述目标显示信息,确定目标位移;
获取与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向所关联的至少一个待使用骨骼点的目标显示信息,并将所述至少一个待使用骨骼点的目标显示信息作为待使用目标显示信息;
根据所述待使用目标显示信息、所述当前骨骼点的目标显示信息以及所述目标位移,确定所述至少一个待使用骨骼点和所述当前骨骼点的旋转角度;
基于所述旋转角度和预设矫正率,确定所述至少一个待使用骨骼点的偏移角度;
基于各待使用骨骼点的偏移角度和所述当前骨骼点的旋转角度,更新所述当前骨骼点与所述至少一个待使用骨骼点于所述待处理视频帧中的目标显示信息。
根据本公开的一个或多个实施例,【示例十七】提供了一种图像处理方法,该方法,还包括:
可选的,对于所述至少一个待使用目标显示信息,根据所述待使用目标显示信息与所述初始位置信息,确定第一偏移向量;
根据所述当前骨骼点的初始显示位置和所述目标显示信息,确定第二偏移向量;
基于至少一个第一偏移向量、第二偏移向量以及所述目标位移,确定所述旋转角度。
根据本公开的一个或多个实施例,【示例十八】提供了一种图像处理方法,该方法,还包括:
若所述当前骨骼点为所述骨骼链上第N个连续位于所述目标碰撞体内部的骨骼点,则在确定当前骨骼点下一骨骼点的旋转角度时,将所述下一骨骼点作为初始骨骼点;
其中,N为预设数值,所述初始骨骼点为不依赖待使用骨骼点的目标显示信息确定旋转角度的骨骼点。
根据本公开的一个或多个实施例,【示例十九】提供了一种图像处理方法,该方法,还包括:
若与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向位于所述当前骨骼点之前的待使用骨骼点未位于所述目标碰撞体内部,则将所述当前骨骼点作为初始骨骼点。
根据本公开的一个或多个实施例,【示例二十】提供了一种图像处理装置,该装置包括:
骨骼链划分模块,用于将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,所述骨骼链包括至少一个骨骼点;
碰撞信息确定模块,用于确定所述多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息;
目标虚拟对象显示模块,用于基于所述至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于所述待处理视频帧。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
1.一种图像处理方法,其特征在于,包括:
将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,所述骨骼链包括至少一个骨骼点;
确定所述多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息;
基于所述至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于所述待处理视频帧。
2.根据权利要求1所述的方法,其特征在于,所述将待处理视频帧中目标虚拟对象划分为多条骨骼链,包括:
基于预先设定的部位划分规则将所述目标虚拟对象划分为多个检测部位;
确定与所述多个检测部位相对应的骨骼链。
3.根据权利要求1所述的方法,其特征在于,所述确定所述至少一条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,包括:
确定与所述目标虚拟对象相对应的至少一个目标碰撞体以及相应的碰撞体类型;
根据所述至少一个骨骼点与所述碰撞体类型,确定与所述骨骼点与所述至少一个目标碰撞体的碰撞信息。
4.根据权利要求3所述的方法,其特征在于,所述碰撞体类型为球形碰撞体,所述根据所述至少一个骨骼点与所述碰撞体类型,确定与所述骨骼点与所述至少一个目标碰撞体的碰撞信息,包括:
对于同一骨骼链上沿第一方向上的相邻两个骨骼点,根据所述目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定所述骨骼点与所述目标碰撞体的碰撞信息;
其中,所述父骨骼点为背离所述第一方向的骨骼点,所述子骨骼点为所述第一方向指向的骨骼点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标碰撞体、父骨骼点所属第一碰撞体以及子骨骼点所属第二碰撞体,确定所述骨骼点与所述目标碰撞体的碰撞信息,包括:
对于父骨骼点,确定所述第一碰撞体与所述目标碰撞体的第一球心距,并根据所述第一球心距和所述目标碰撞体的目标球体半径,确定所述父骨骼点和/或子骨骼点与所述目标碰撞体的碰撞信息;
对于子骨骼点,确定所述第二碰撞体与所述目标碰撞体的第二球心距,并根据所述第二球心距、所述目标球体半径以及所述第二碰撞体的第二球体半径,确定所述子骨骼点与所述目标碰撞体的碰撞信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一球心距和所述目标碰撞体的目标球体半径,确定所述父骨骼点与所述目标碰撞体的碰撞信息,包括:
若所述第一球心距小于所述目标球体半径,则确定所述父骨骼点的碰撞信息为第一碰撞信息,所述第一碰撞信息为所述父骨骼点位于所述目标碰撞体内部;
若所述第一球心距大于所述目标球体半径,则确定所述子骨骼点的碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体内部。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第二球心距、所述目标球体半径以及所述第二碰撞体的第二球体半径,确定所述子骨骼点与所述目标碰撞体的碰撞信息,包括:
基于所述目标球体半径和所述第二球体半径,确定第一和半径;
若所述第二球心距大于所述第一和半径,则确定所述碰撞信息为第三碰撞信息,所述第三碰撞信息为所述子骨骼点未与所述目标碰撞体碰撞;
若所述第二球心距小于所述第一和半径,则确定所述碰撞信息为第二碰撞信息,所述第二碰撞信息为所述子骨骼点位于所述目标碰撞体的内部。
8.根据权利要求6所述的方法,其特征在于,所述基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息,包括:
若所述碰撞信息为第一碰撞信息,则根据所述目标碰撞体的目标球心坐标、所述第一碰撞体的第一球心坐标、所述第二碰撞体的第二球心坐标、第一和半径,调整所述父骨骼点于所述待处理视频帧中的目标显示位置;
其中,所述父骨骼点对应于所述第一球心坐标,所述子骨骼点对应于第二球心坐标,所述目标显示信息中包括目标显示位置。
9.根据权利要求6或7所述的方法,其特征在于,所述基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息,包括:
若所述碰撞信息为第二碰撞信息,则根据第一和半径、第一球心距、所述父骨骼点的第一球心坐标、以及所述子骨骼点的第二球心坐标,确定所述子骨骼点于所述待处理视频帧中的目标显示信息。
10.根据权利要求9所述的方法,其特征在于,所述根据第一和半径、第一球心距、所述父骨骼点的第一球心坐标、以及所述子骨骼点的第二球心坐标,确定所述子骨骼点于所述待处理视频帧中的目标显示信息,包括:
基于所述第一球心距、第一和半径、所述第一球心坐标和所述第二球心坐标之间的第三球心距,确定第一过渡值;
根据所述第一球心坐标和所述目标球心坐标,确定第一单位向量;
基于所述第一过渡值、所述第一球心坐标以及所述第一单位向量,确定第二过渡值;
基于所述第二过渡值,所述第一单位向量以及第二球心坐标,确定所述目标显示信息。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第二过渡值、所述第一单位向量以及第二球心坐标,确定所述目标显示信息,包括:
根据所述第一球心距、第三球心距以及第一和半径,确定第三过渡值;
基于所述第三过渡值、第二球心坐标、第一单位向量、第二过渡值与所述第二球心坐标构成的第二单位向量,确定第四过渡值;
基于所述第四过渡值、第二过渡值以及所述第三过渡值,确定所述子骨骼点的目标显示信息。
12.根据权利要求3所述的方法,其特征在于,所述碰撞体类型为长方体碰撞体,所述根据所述至少一个骨骼点与所述碰撞体类型,确定与所述骨骼点与所述至少一个目标碰撞体的碰撞信息,包括:
对于同一骨骼链上沿第一方向上骨骼点,根据所述骨骼点的子坐标和预设函数,确定所述骨骼点与所述目标碰撞体的碰撞信息。
13.根据权利要求12所述的方法,其特征在于,所述根据所述骨骼点的子坐标和预设函数,确定所述骨骼点与所述目标碰撞体的碰撞信息,包括:
基于所述子坐标和预设函数,确定所述骨骼点在各维度上的深度值;
若最大深度值小于预设数值,则确定所述骨骼点与所述目标碰撞体的碰撞信息为第四碰撞信息。
14.根据权利要求13所述的方法,其特征在于,所述基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息,包括:
若所述碰撞信息为所述第四碰撞信息,则根据所述骨骼点前依赖的父骨骼点的父坐标信息、所述子坐标信息、以及所述目标碰撞体在各维度上的长度信息,确定所述骨骼点于所述待处理视频帧中的目标显示信息。
15.根据权利要求1所述的方法,其特征在于,在当前骨骼点位于所述目标碰撞体的内部,并在确定所述当前骨骼点所对应的目标显示信息之后,还包括:
根据当前骨骼点的初始位置信息和所述目标显示信息,确定目标位移;
获取与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向所关联的至少一个待使用骨骼点的目标显示信息,并将所述至少一个待使用骨骼点的目标显示信息作为待使用目标显示信息;
根据所述待使用目标显示信息、所述当前骨骼点的初始位置信息、目标显示信息以及所述目标位移,确定所述至少一个待使用骨骼点和所述当前骨骼点的旋转角度;
基于所述旋转角度和预设矫正率,确定所述至少一个待使用骨骼点的偏移角度;
基于各待使用骨骼点的偏移角度和所述当前骨骼点的旋转角度,更新所述当前骨骼点与所述至少一个待使用骨骼点于所述待处理视频帧中的目标显示信息。
16.根据权利要求15所述的方法,其特征在于,还包括:
若所述当前骨骼点为所述骨骼链上第N个连续位于所述目标碰撞体内部的骨骼点,则在确定当前骨骼点下一骨骼点的旋转角度时,将所述下一骨骼点作为初始骨骼点;
其中,N为预设数值,所述初始骨骼点为不依赖待使用骨骼点的目标显示信息确定旋转角度的骨骼点。
17.根据权利要求15所述的方法,其特征在于,还包括:
若与所述当前骨骼点隶属于同一骨骼链,且沿第一方向的反方向位于所述当前骨骼点之前的待使用骨骼点未位于所述目标碰撞体内部,则将所述当前骨骼点作为初始骨骼点。
18.一种图像处理装置,其特征在于,包括:
骨骼链划分模块,用于将待处理视频帧中目标虚拟对象划分为多条骨骼链;其中,所述骨骼链包括至少一个骨骼点;
碰撞信息确定模块,用于确定所述多条骨骼链中至少一个骨骼点与碰撞体的碰撞信息,并基于所述碰撞信息,确定所述至少一个骨骼点于所述待处理视频帧中的目标显示信息;
目标虚拟对象显示模块,用于基于所述至少一个骨骼点的目标显示信息,控制所述目标虚拟对象显示于所述待处理视频帧。
19.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-17中任一所述的图像处理方法。
20.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-17中任一所述的图像处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210837536.3A CN115131478A (zh) | 2022-07-15 | 2022-07-15 | 图像处理方法、装置、电子设备及存储介质 |
EP22868422.1A EP4332904A4 (en) | 2022-07-15 | 2022-11-03 | IMAGE PROCESSING METHOD AND DEVICE, ELECTRONIC DEVICE AND STORAGE MEDIUM |
PCT/CN2022/129460 WO2024011792A1 (zh) | 2022-07-15 | 2022-11-03 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210837536.3A CN115131478A (zh) | 2022-07-15 | 2022-07-15 | 图像处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131478A true CN115131478A (zh) | 2022-09-30 |
Family
ID=83383341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210837536.3A Pending CN115131478A (zh) | 2022-07-15 | 2022-07-15 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4332904A4 (zh) |
CN (1) | CN115131478A (zh) |
WO (1) | WO2024011792A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116152404A (zh) * | 2023-04-19 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 动画重定向方法、装置、计算机设备及存储介质 |
WO2024011792A1 (zh) * | 2022-07-15 | 2024-01-18 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798415B2 (en) * | 2001-06-21 | 2004-09-28 | Intel Corporation | Rendering collisions of three-dimensional models |
EP2674913B1 (en) * | 2012-06-14 | 2014-07-23 | Softkinetic Software | Three-dimensional object modelling fitting & tracking. |
CN105976418A (zh) * | 2016-06-28 | 2016-09-28 | 珠海金山网络游戏科技有限公司 | 一种人物动态骨骼的设计系统和方法 |
US10751621B2 (en) * | 2017-09-01 | 2020-08-25 | Square Enix Limited | Method and system for rendering video game images |
CN108133505A (zh) * | 2017-12-28 | 2018-06-08 | 北京像素软件科技股份有限公司 | 骨骼柔体实现方法、装置及电子设备 |
JP7005788B2 (ja) * | 2018-10-22 | 2022-01-24 | 株式会社ソニー・インタラクティブエンタテインメント | スケルトンモデル更新装置、スケルトンモデル更新方法及びプログラム |
CN114602177A (zh) * | 2022-03-28 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 虚拟角色的动作控制方法、装置、设备和存储介质 |
CN114742952A (zh) * | 2022-04-26 | 2022-07-12 | 咪咕动漫有限公司 | 三维服装仿真方法、装置、终端设备以及存储介质 |
CN115131478A (zh) * | 2022-07-15 | 2022-09-30 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-15 CN CN202210837536.3A patent/CN115131478A/zh active Pending
- 2022-11-03 WO PCT/CN2022/129460 patent/WO2024011792A1/zh unknown
- 2022-11-03 EP EP22868422.1A patent/EP4332904A4/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024011792A1 (zh) * | 2022-07-15 | 2024-01-18 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN116152404A (zh) * | 2023-04-19 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 动画重定向方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4332904A4 (en) | 2024-05-22 |
EP4332904A1 (en) | 2024-03-06 |
WO2024011792A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115131478A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
CN108771866B (zh) | 虚拟现实中的虚拟对象控制方法及装置 | |
EP4049245B1 (en) | Augmented reality 3d reconstruction | |
CN106504315A (zh) | 模拟全局光照的方法和装置 | |
CN108153417B (zh) | 画面补偿方法及采用该方法的头戴式显示装置 | |
US9652879B2 (en) | Animation of a virtual object | |
CN110458943B (zh) | 移动对象旋转方法及装置、控制设备及存储介质 | |
CN112991444B (zh) | 位置确定方法及设备 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
US20240220406A1 (en) | Collision processing method and apparatus for virtual object, and electronic device and storage medium | |
CN114470786B (zh) | 帧同步数据处理方法、装置、可读介质和电子设备 | |
CN116188742A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN114494658B (zh) | 特效展示方法、装置、设备和存储介质 | |
CN115756231A (zh) | 特效处理方法、装置、设备、计算机可读存储介质及产品 | |
CN114116081B (zh) | 交互式动态流体效果处理方法、装置及电子设备 | |
CN114797096A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN110264568B (zh) | 一种三维虚拟模型交互方法和装置 | |
CN111275799B (zh) | 动画的生成方法、装置和电子设备 | |
CN114663553A (zh) | 特效视频生成方法、装置、设备及存储介质 | |
CN112473138A (zh) | 游戏的显示控制方法及装置、可读存储介质、电子设备 | |
CN114063761A (zh) | 注视点显示方法及相关装置 | |
CN111784810B (zh) | 虚拟地图显示方法及装置、存储介质、电子设备 | |
CN114089833A (zh) | 一种虚拟现实身体所有权的量化方法、系统及电子设备 | |
CN115756687A (zh) | 界面显示方法、装置、设备、介质及产品 |
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 |