CN113706675B - 镜像处理方法、装置、存储介质和电子装置 - Google Patents

镜像处理方法、装置、存储介质和电子装置 Download PDF

Info

Publication number
CN113706675B
CN113706675B CN202110943444.9A CN202110943444A CN113706675B CN 113706675 B CN113706675 B CN 113706675B CN 202110943444 A CN202110943444 A CN 202110943444A CN 113706675 B CN113706675 B CN 113706675B
Authority
CN
China
Prior art keywords
mirror image
vertex
face
symmetrical
target
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.)
Active
Application number
CN202110943444.9A
Other languages
English (en)
Other versions
CN113706675A (zh
Inventor
关贞贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110943444.9A priority Critical patent/CN113706675B/zh
Publication of CN113706675A publication Critical patent/CN113706675A/zh
Application granted granted Critical
Publication of CN113706675B publication Critical patent/CN113706675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种镜像处理方法、装置、存储介质和电子装置。该方法包括:获取虚拟三维模型的对称拓扑信息和作用面集合;基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理和/或对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。本发明解决了相关技术中针对蒙皮后的虚拟三维模型所提供的模型镜像处理方式操作复杂度较高、无法有效地利用模型的对称拓扑结构的技术问题。

Description

镜像处理方法、装置、存储介质和电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种镜像处理方法、装置、存储介质和电子装置。
背景技术
在美术人员的日常工作中,经常会遇到具有完全或部分对称拓扑结构的虚拟三维模型。特别是在虚拟角色的制作过程中,在模型蒙皮后的迭代修改阶段通常会对虚拟三维模型进行多次修改,其可以包括但不限于:虚拟三维模型的顶点位置、顶点法线、顶点颜色等属性的修改。
相关技术所提供的镜像工具通常是将虚拟三维模型整体作为镜像源操作。可选地,将镜像结果与镜像原始虚拟三维模型合并成新的虚拟三维模型,其通常用于模型制作阶段。因此,对于蒙皮后具有完全或部分对称拓扑的虚拟三维模型,为了避免破环蒙皮信息,目前只能通过美术人员通过手工方式来修改虚拟三维模型的属性,由此导致美术人员在修改拓扑结构不对称的虚拟三维模型与修改拓扑结构对称的虚拟三维模型所耗费的时间和精力几乎相同。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种镜像处理方法、装置、存储介质和电子装置,以至少部分地解决相关技术中针对蒙皮后的虚拟三维模型所提供的模型镜像处理方式操作复杂度较高、无法有效地利用模型的对称拓扑结构的技术问题。
根据本发明其中一实施例,提供了一种镜像处理方法,包括:
获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
可选地,镜像方向由虚拟三维模型的模型局部坐标系下的坐标轴方向确定。
可选地,镜像属性包括以下至少之一:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向。
可选地,镜像目标面集合的每个镜像目标面与镜像源面集合中对应的镜像源面沿镜像平面呈镜像对称,其中,镜像平面由虚拟三维模型的模型局部坐标系下的坐标轴取值确定,或者,由第一顶点和第二顶点构成的法向量确定。
可选地,基于对称拓扑信息从作用面集合中获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合包括:基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边;利用对称顶点和对称边分别从作用面集合中重复获取第一面的第一邻接面与第二面的第二邻接面,其中,第一邻接面与第二邻接面的顶点数一致;通过第一邻接面与第二邻接面获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合。
可选地,基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边包括:创建第一面集合、第二面集合、第一顶点集合、第二顶点集合以及将虚拟三维模型对应的蒙皮用网格中除作用面集合之外其余面标记为已访问状态;基于第一顶点沿第一方向遍历第一面以及基于第二顶点沿第二方向遍历第二面,获取第一面与第二面中的对称顶点和第一面与第二面中的对称边,其中,第一方向与第二方向为相反方向;将对称顶点分别存储至第一顶点集合和第二顶点集合,将第一面与第二面分别存储至第一面集合和第二面集合,并将第一面与第二面标记为已访问状态。
可选地,利用对称顶点和对称边分别从作用面集合中重复获取第一邻接面与第二邻接面包括:创建第一队列和第二队列;将对称边分别存储至第一队列和第二队列;当第一队列和第二队列均不为空时,获取第一队列的第一队头元素和第二队列的第二队头元素;获取第一队头元素的第一邻接面和第二队头元素的第二邻接面,并将第一邻接面和第二邻接面标记为已访问状态;当第一邻接面和第二邻接面均存在,并且第一邻接面和第二邻接面的顶点数一致时,获取第一邻接面与第二邻接面中的对称顶点和第一面与第二面中的对称边;将对称顶点分别存储至第一顶点集合和第二顶点集合,并将对称边分别存储至第一队列和第二队列;当第一队列和第二队列中至少之一为空时,将第一面集合确定为镜像源面集合,将第二面集合确定为镜像目标面集合,将第一顶点集合确定为镜像源顶点集合以及将第二顶点集合确定为镜像目标顶点集合。
可选地,上述镜像处理方法还包括:采用第一标注方式对镜像源面集合中的边进行标注,以及采用第二标注方式对镜像目标面集合中的边进行标注,其中,第一标注方式不同于第二标注方式。
根据本发明其中一实施例,还提供了一种镜像处理装置,包括:
第一获取模块,用于获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;第二获取模块,用于基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;处理模块,用于按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
可选地,镜像方向由虚拟三维模型的模型局部坐标系下的坐标轴方向确定。
可选地,镜像属性包括以下至少之一:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向。
可选地,镜像目标面集合的每个镜像目标面与镜像源面集合中对应的镜像源面沿镜像平面呈镜像对称,其中,镜像平面由虚拟三维模型的模型局部坐标系下的坐标轴取值确定,或者,由第一顶点和第二顶点构成的法向量确定。
可选地,第二获取模块,用于基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边;利用对称顶点和对称边分别从作用面集合中重复获取第一面的第一邻接面与第二面的第二邻接面,其中,第一邻接面与第二邻接面的顶点数一致;通过第一邻接面与第二邻接面获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合。
可选地,第二获取模块,用于创建第一面集合、第二面集合、第一顶点集合、第二顶点集合以及将虚拟三维模型对应的蒙皮用网格中除作用面集合之外其余面标记为已访问状态;基于第一顶点沿第一方向遍历第一面以及基于第二顶点沿第二方向遍历第二面,获取第一面与第二面中的对称顶点和第一面与第二面中的对称边,其中,第一方向与第二方向为相反方向;将对称顶点分别存储至第一顶点集合和第二顶点集合,将第一面与第二面分别存储至第一面集合和第二面集合,并将第一面与第二面标记为已访问状态。
可选地,第二获取模块,用于创建第一队列和第二队列;将对称边分别存储至第一队列和第二队列;当第一队列和第二队列均不为空时,获取第一队列的第一队头元素和第二队列的第二队头元素;获取第一队头元素的第一邻接面和第二队头元素的第二邻接面,并将第一邻接面和第二邻接面标记为已访问状态;当第一邻接面和第二邻接面均存在,并且第一邻接面和第二邻接面的顶点数一致时,获取第一邻接面与第二邻接面中的对称顶点和第一面与第二面中的对称边;将对称顶点分别存储至第一顶点集合和第二顶点集合,并将对称边分别存储至第一队列和第二队列;当第一队列和第二队列中至少之一为空时,将第一面集合确定为镜像源面集合,将第二面集合确定为镜像目标面集合,将第一顶点集合确定为镜像源顶点集合以及将第二顶点集合确定为镜像目标顶点集合。
可选地,处理模块,还用于采用第一标注方式对镜像源面集合中的边进行标注,以及采用第二标注方式对镜像目标面集合中的边进行标注,其中,第一标注方式不同于第二标注方式。
根据本发明其中一实施例,还提供了一种计算机可读存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的镜像处理方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的镜像处理方法。
在本发明至少部分实施例中,采用获取虚拟三维模型的对称拓扑信息和作用面集合,该虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括第一面和第二面的方式,通过对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合,以及按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理,达到了充分利用虚拟三维模型的对称拓扑结构来镜像模型属性的目的,从而实现了通过只修改虚拟三维模型中指定顶点或面的属性(包括:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向),而不会对虚拟三维模型的顶点索引及其他属性进行修改来确保蒙皮信息不被改变,由此提高美术人员制作效率的技术效果,进而解决了相关技术中针对蒙皮后的虚拟三维模型所提供的模型镜像处理方式操作复杂度较高、无法有效地利用模型的对称拓扑结构的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种镜像处理方法的移动终端的硬件结构框图;
图2是根据本发明其中一实施例的镜像处理方法的流程图;
图3是根据本发明其中一可选实施例的调整虚拟披风模型的正面与背面的三角形分割方向示意图;
图4是根据本发明其中一可选实施例的采用层序遍历方式进行面访问的示意图;
图5是根据本发明其中一可选实施例的获取顶点对称关系和边对称关系的示意图;
图6是根据本发明其中一可选实施例的修改面的三角形分割方向的示意图;
图7是根据本发明其中一可选实施例的获取模型对称拓扑信息的流程图;
图8是根据本发明其中一实施例的镜像处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明至少部分实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
(1)拓扑结构(Topology)是指虚拟三维模型中边的分布与结构,其可以确定虚拟三维模型的点、边、面的连接结构。虚拟三维模型的每条边上存在两个顶点,每个面由多条边组成,每条边所属的面为该条边的邻接面。当一条边为虚拟三维模型的边界边时,该条边的邻接面的个数为1;当一条边为虚拟三维模型的非边界边时,该条边的邻接面的个数为2。
(2)镜像(Mirror)是指将虚拟三维模型的属性按照指定对称轴或对称平面进行对称处理。属性可以包括但不限于:顶点位置、顶点法线、顶点颜色等。
(3)镜像源是指需要被镜像模型属性的顶点或面。
(4)镜像目标是指需要通过修改属性来确保与镜像源的对应属性相对称的顶点或面。
(5)应用程序接口(Application Programming Interface,简称为API)是指预先定义的接口,例如:函数接口。
在本发明其中一种实施例中的镜像处理方法可以运行于终端设备或者是服务器。终端设备可以为本地终端设备。当镜像处理方法运行于服务器时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,镜像处理方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
在一种可能的实施方式中,本发明实施例提供了一种镜像处理方法,通过第一终端设备提供图形用户界面,其中,第一终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备。
以运行在本地终端设备中的移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,简称为MID)、PAD、游戏机等终端设备。图1是本发明实施例的一种镜像处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的镜像处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的镜像处理方法。存储器104可包括高速随机存储器,还可包括计算机可读存储器,如一个或者多个磁性存储装置、闪存、或者其他计算机可读固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述移动终端的镜像处理方法,图2是根据本发明其中一实施例的镜像处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S20,获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;
上述虚拟三维模型可以是蒙皮后三维模型,该虚拟三维模型具有部分或完整对称拓扑结构,例如:虚拟三维头部模型。针对具有部分或完整对称拓扑结构的虚拟三维模型,在蒙皮后进行的模型修改阶段,为了便于美术人员快速地对虚拟三维模型进行修改,需要获取一对对称顶点vs(即上述第一顶点)与vt(即上述第二顶点)、一对对称面fs(即上述第一面)与ft(即上述第二面)以及作用面集合F={f0,f1,...,fn]作为输入参数。作用面(即待镜像的面)集合可以包含镜像源面与镜像目标面。上述作用面集合既可以包含多个完全连续的面,也可以分为不连续的两个部分。
步骤S21,基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;
采用类似于层序遍历的方式,根据输入参数自动查找作用面集合F中所包含的镜像源面集合Fs与镜像目标面集合Ft、镜像源顶点集合Vs与镜像目标顶点集合Vt,其中,fs∈Fs,ft∈Ft,vs∈Vs,vt∈Vt,且Ft中的每个元素依次为Fs中每个元素的对称面索引,Vt中每个元素依次为Vs中每个元素的对称顶点索引。
步骤S22,按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
上述镜像属性可以包括但不限于以下至少之一:顶点位置(Position)、顶点法线(Normal)、顶点颜色(Color)以及面的三角形分割方向。需要说明的是,选中的顶点需要位于对称面上,否则将不会产生镜像效果。
顶点颜色可选指定通道进行镜像,顶点颜色支持RGBA四个通道,并且可以指定镜像部分或全部通道,例如:镜像RG通道或者单独镜像A通道。镜像面的三角行分割方向通常用于较薄的虚拟三维模型来避免运动时出现面的穿插。需要说明的是,上述镜像属性仅为示例性说明,其可以根据美术人员的实际需求进行灵活性地扩展。
对于需要进行运动计算的厚度较薄的虚拟三维模型(例如:虚拟披风模型)。为了减少运动过程中面片的穿插,通常需要将虚拟披风模型的正面与背面的三角形分割方向调整为一致。图3是根据本发明其中一可选实施例的调整虚拟披风模型的正面与背面的三角形分割方向示意图,如图3所示,在左侧显示的原始虚拟披风模型中,虚线表示面的三角形分割方向,虚拟披风模型的正面与背面的三角形分割方向并不一致。在右侧显示的目标虚拟披风模型中,虚拟披风模型的正面与背面的三角形分割方向被调整为一致。
上述镜像目标面集合的每个镜像目标面与镜像源面集合中对应的镜像源面沿镜像平面呈镜像对称,其中,镜像平面由虚拟三维模型的模型局部坐标系下的坐标轴取值确定,或者,由第一顶点和第二顶点构成的法向量确定。即,镜像平面可以采用模型局部坐标系下的平面x=0、y=0、z=0,例如:在虚拟三维模型的本地(local)模式下枢轴(pivot)中心所在的平面x=0、y=0、z=0,或者以输入的对称顶点vs与vt构成的向量作为法向量的平面。
上述镜像方向由虚拟三维模型的模型局部坐标系下的坐标轴方向确定。镜像方向可以分为以下6种:
x→-x,-x→x,y→-y,-y→y,z→-z,-z→z。
以x→-x为例,顶点vs与vt的局部坐标的x值较大的顶点所属顶点集合Vs或Vt将作为真正的镜像源,顶点vs与vt的局部坐标的x值较小的顶点所属顶点集合Vs或Vt将作为镜像目标。当需要镜像面属性时,这两个顶点坐标的x值较大的顶点所属面集合Fs或Ft将作为真正的镜像源,这两个顶点坐标的x值较小的顶点所属面集合Fs或Ft将作为镜像目标。
通过上述步骤,可以采用获取虚拟三维模型的对称拓扑信息和作用面集合,该虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括第一面和第二面的方式,通过对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合,以及按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理,达到了充分利用虚拟三维模型的对称拓扑结构来镜像模型属性的目的,从而实现了通过只修改虚拟三维模型中指定顶点或面的属性(包括:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向),而不会对虚拟三维模型的顶点索引及其他属性进行修改来确保蒙皮信息不被改变,由此提高美术人员制作效率的技术效果,进而解决了相关技术中针对蒙皮后的虚拟三维模型所提供的模型镜像处理方式操作复杂度较高、无法有效地利用模型的对称拓扑结构的技术问题。
可选地,在步骤S21中,基于对称拓扑信息从作用面集合中获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合可以包括以下执行步骤:
步骤S210,基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边;
步骤S211,利用对称顶点和对称边分别从作用面集合中重复获取第一面的第一邻接面与第二面的第二邻接面,其中,第一邻接面与第二邻接面的顶点数一致;
步骤S212,通过第一邻接面与第二邻接面获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合。
基于对称顶点vs与vt获取对称面fs与ft中的对称顶点和对称面fs与ft中的对称边。利用对称顶点和对称边分别从作用面集合中重复获取fs的第一邻接面fi与ft的第二邻接面f′i。fi与f′i的顶点数一致。通过fi与f′i获取镜像源面集合Fs与镜像目标面集合Ft,镜像源顶点集合Vs与镜像目标顶点集合Vt
图4是根据本发明其中一可选实施例的采用层序遍历方式进行面访问的示意图,如图4所示,对称顶点vs与vt分别位于对称面fs与ft上,由此可以确定fs与ft这两个面的对称信息。通过API能够获取蒙皮用网格的每条边的邻接面、每个面上的边、每个面上的顶点、每条边上的顶点、每个顶点关联的边等信息,由此可以查找到面fs与ft上每个顶点的对称顶点索引以及每条边的对称边索引。通过面fs与ft上每个顶点的对称顶点索引以及每条边的对称边索引,可以获取到面fs与ft的边的未访问的邻接面的对称信息,然后再不断地通过邻接面的对称信息获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合。
可选地,在步骤S210中,基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边可以包括以下执行步骤:
步骤S2100,创建第一面集合、第二面集合、第一顶点集合、第二顶点集合以及将虚拟三维模型对应的蒙皮用网格中除作用面集合之外其余面标记为已访问状态;
步骤S2101,基于第一顶点沿第一方向遍历第一面以及基于第二顶点沿第二方向遍历第二面,获取第一面与第二面中的对称顶点和第一面与第二面中的对称边,其中,第一方向与第二方向为相反方向;
步骤S2102,将对称顶点分别存储至第一顶点集合和第二顶点集合,将第一面与第二面分别存储至第一面集合和第二面集合,并将第一面与第二面标记为已访问状态。
创建用于存储对称面的集合Fs(即上述第一面集合)与Ft(即上述第二面集合)和用于存储对称顶点的集合Vs(即上述第一顶点集合)与Vt(即上述第二顶点集合)。集合Fs与Ft,以及集合Vs与Vt在初始状态下中至少之一为空集合。另外,除了作用面集合之外的其他面均标记为已访问状态。即,针对用户无需修改的面而言,可以预先标记为已访问状态,从而在后续镜像处理过程中不再访问这些面。
上述第一方向可以为逆时针方向,上述第二方向可以为顺时针方向。在面ft上查找面fs上每个顶点的对称顶点,并将每对对称顶点分别存储至集合Vs与Vt中。在面ft上查找面fs上边的对称边,将这两个面标记为已访问状态,并将这两个面分别存入集合Fs与Ft中。
在一个可选实施例中,面上的顶点索引以逆时针顺序存储在数组中,其存储的起始顶点索引具有不确定性。图5是根据本发明其中一可选实施例的获取顶点对称关系和边对称关系的示意图,如图5所示,面fs的顶点索引数组为A={0,1,3,5};而ft的顶点索引数组为B={10,16,13,11}。当然,顶点索引数组A还可以是{1,3,5,0}或者{3,5,0,1},顶点索引数组B也类似。即存储的起始顶点索引具有不确定性。
在确定顶点对称关系的过程中,需要预先指定一组顶点对应关系,例如:vs-vt的顶点对应关系为顶点1-顶点13,这样便可以获取到完整的对应关系。由于这两个数组均采用逆时针存储方式,因此在顶点索引数组A中顶点1的下一个顶点是3,那么顶点索引数组B中顶点13的上一个顶点16即为3的对称点,然后顶点索引数组A中顶点5对应于顶点索引数组B中顶点10,顶点索引数组A中顶点0(设置数组循环访问)对应于顶点索引数组B中顶点11,由此便可以完整地获取到面fs-ft的顶点对称关系。
另外,在上述过程中还能够获取到边对称关系,面fs的边索引数组为C={3,2,5,7},面ft的边索引数组为D={10,23,24,12}。由于每条边上会有两个顶点,因此只要能够确定上述查找到的每两个顶点属于哪条边,例如:顶点1与顶点3属于边2,顶点13与顶点16属于边23,那么边2与边23之间便存在对称关系。
然后再访问其他面,例如:边2的另一个邻接面为f1,边23的另一个邻接面为f2。如果面f1与f2的顶点数一致,那么f1与f2即为对称面。如果面f1与f2的顶点数不一致,那么f1与f2便不是对称面。当然,还有可能f1不存在,或者f2不存在,或者f1与f2均不存在。此时,便可以跳过访问其他尚未访问的对称边关联的对称面。
可选地,在步骤S211中,利用对称顶点和对称边分别从作用面集合中重复获取第一邻接面与第二邻接面可以包括以下执行步骤:
步骤S2110,创建第一队列和第二队列;将对称边分别存储至第一队列和第二队列;
步骤S2111,当第一队列和第二队列均不为空时,获取第一队列的第一队头元素和第二队列的第二队头元素;
步骤S2112,获取第一队头元素的第一邻接面和第二队头元素的第二邻接面,并将第一邻接面和第二邻接面标记为已访问状态;
步骤S2113,当第一邻接面和第二邻接面均存在,并且第一邻接面和第二邻接面的顶点数一致时,获取第一邻接面与第二邻接面中的对称顶点和第一面与第二面中的对称边;
步骤S2114,将对称顶点分别存储至第一顶点集合和第二顶点集合,并将对称边分别存储至第一队列和第二队列;
步骤S2115,当第一队列和第二队列中至少之一为空时,将第一面集合确定为镜像源面集合,将第二面集合确定为镜像目标面集合,将第一顶点集合确定为镜像源顶点集合以及将第二顶点集合确定为镜像目标顶点集合。
在一个可选实施例中,以队列实现整个遍历过程,使用两个队列Qs与Qt分别进行镜像源边与镜像目标边的遍历,队列存储的是已查找到的对称边索引。通过创建队列Qs与Qt,将查找到的对称边分别存储至队列Qs与Qt中,然后再判断队列Qs与Qt是否均不为空。当队列Qs与Qt均不为空时,针对队列Qs的队头元素ei和Qt的队头元素e′i,均进行出队操作。获取边ei未被访问的邻接面fi,获取边e′i未被访问的邻接面f′i,并将这两个面标记为已访问状态。
然后,可以先比较两个面的顶点数是否一致,如果两个面的顶点数不一致,则表示这两个面不对称,这两个面将被忽略。如果两个面的顶点数一致,则查找面上顶点的对称顶点以及面上边的对称边,如此循环可以依次访问作用面集合F中的所有对称面,进而查找到镜像源面集合Fs与镜像目标面集合Ft、镜像源顶点集合Vs与镜像目标顶点集合Vt
在查找到对称信息(即镜像源顶点与镜像目标顶点及其顶点对称关系,镜像源面与镜像目标面及其面对称关系)之后,按照预先设定的镜像方向和镜像属性对镜像目标面的属性或该镜像目标面所包含的顶点的属性进行修改,由此确保镜像源面的属性或该镜像源面包含的顶点的属性与镜像目标面或该镜像目标面包含的顶点的对应属性对称。
图6是根据本发明其中一可选实施例的修改面的三角形分割方向的示意图,如图6所示,以对称面fs、ft为例,假设这两个面为四边面,获取面fs的第一个三角形的三个顶点v0、v1、v2。当面ft上存在关于这三个顶点的对称顶点v’0、v’1、v’2构成的三角形时,表明这两个面的三角形分割方向对称。当面ft上未存在关于这三个顶点的对称顶点v’0、v’1、v’2构成的三角形时,表明这两个面的三角形分割方向一致,此时需要对这两个面的三角形分割方向进行修改。如果面fs为多边形面,其包含m条边(m>3),则需要检查该面的m-3个三角形在面ft中是否均存在对称的三角形。当该面的m-3个三角形在面ft中均存在对称的三角形时,表明这两个面的分割方向对称。
可选地,上述镜像处理方法还可以包括以下执行步骤:
步骤S23,采用第一标注方式对镜像源面集合中的边进行标注,以及采用第二标注方式对镜像目标面集合中的边进行标注,其中,第一标注方式不同于第二标注方式。
为了便于用户进行观察,镜像结果可以使用不同的标注方式。上述第一标注方式与第二标注方式可以包括但不限于以下至少之一:不同颜色、不同亮度、不同透明度等。当采用不同颜色进行区分显示时,可以采用绿色边表示查找到的镜像源面的边,以及采用黄色边表示查找到的镜像目标面的边。
图7是根据本发明其中一可选实施例的获取模型对称拓扑信息的流程图,如图7所示,该过程可以包括以下执行步骤:
步骤S702,获取对称顶点vs与vt,对称面fs与ft和作用面集合F,其中,vs在面fs上,vt在面ft上,以及创建用于存储对称面的集合Fs与Ft和用于存储对称顶点的集合Vs与Vt
集合Fs与Ft,以及集合Vs与Vt在初始状态下中至少之一为空集合。另外,除了作用面之外的其他面均标记为已访问状态。
步骤S704,在面ft上查找面fs上每个顶点的对称顶点,并将每对对称顶点分别存储至集合Vs与Vt中。在面ft上查找面fs上边的对称边,将这两个面标记为已访问状态,并将这两个面分别存入集合Fs与Ft中。
步骤S706,创建队列Qs与Qt,并将查找到的对称边分别存储至队列Qs与Qt中。
步骤S708,判断队列Qs与Qt是否均不为空。如果是,则继续执行步骤S710;如果否,则跳转至步骤S716。
步骤S710,针对队列Qs的队头元素ei和Qt的队头元素e′i,均进行出队操作。获取边ei未被访问的邻接面fi,获取边e′i未被访问的邻接面f′i,并将这两个面标记为已访问状态。
步骤S712,面fi与面f′i是否均存在且这两个面的顶点数一致。如果是,则继续执行步骤S714;如果否,则跳转至步骤S708。
步骤S714,根据边ei的一个顶点从Vt中获取该顶点的对称顶点,以获取这两个面的对称顶点和对称边,将对称顶点分别存储至集合Vs与Vt中,以及将对称边分别存储至队列Qs与Qt中。
步骤S716,获得镜像源面集合Fs与镜像目标面集合Ft,镜像源顶点集合Vs与镜像目标顶点集合Vt
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种镜像处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本发明其中一实施例的镜像处理装置的结构框图,通过第一终端设备提供一图形用户界面,如图8所示,该装置包括:第一获取模块10,用于获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;第二获取模块20,用于基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;处理模块30,用于按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
可选地,镜像方向由虚拟三维模型的模型局部坐标系下的坐标轴方向确定。
可选地,镜像属性包括以下至少之一:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向。
可选地,镜像目标面集合的每个镜像目标面与镜像源面集合中对应的镜像源面沿镜像平面呈镜像对称,其中,镜像平面由虚拟三维模型的模型局部坐标系下的坐标轴取值确定,或者,由第一顶点和第二顶点构成的法向量确定。
可选地,第二获取模块20,用于基于第一顶点与第二顶点获取第一面与第二面中的对称顶点和第一面与第二面中的对称边;利用对称顶点和对称边分别从作用面集合中重复获取第一面的第一邻接面与第二面的第二邻接面,其中,第一邻接面与第二邻接面的顶点数一致;通过第一邻接面与第二邻接面获取镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合。
可选地,第二获取模块20,用于创建第一面集合、第二面集合、第一顶点集合、第二顶点集合以及将虚拟三维模型对应的蒙皮用网格中除作用面集合之外其余面标记为已访问状态;基于第一顶点沿第一方向遍历第一面以及基于第二顶点沿第二方向遍历第二面,获取第一面与第二面中的对称顶点和第一面与第二面中的对称边,其中,第一方向与第二方向为相反方向;将对称顶点分别存储至第一顶点集合和第二顶点集合,将第一面与第二面分别存储至第一面集合和第二面集合,并将第一面与第二面标记为已访问状态。
可选地,第二获取模块20,用于创建第一队列和第二队列;将对称边分别存储至第一队列和第二队列;当第一队列和第二队列均不为空时,获取第一队列的第一队头元素和第二队列的第二队头元素;获取第一队头元素的第一邻接面和第二队头元素的第二邻接面,并将第一邻接面和第二邻接面标记为已访问状态;当第一邻接面和第二邻接面均存在,并且第一邻接面和第二邻接面的顶点数一致时,获取第一邻接面与第二邻接面中的对称顶点和第一面与第二面中的对称边;将对称顶点分别存储至第一顶点集合和第二顶点集合,并将对称边分别存储至第一队列和第二队列;当第一队列和第二队列中至少之一为空时,将第一面集合确定为镜像源面集合,将第二面集合确定为镜像目标面集合,将第一顶点集合确定为镜像源顶点集合以及将第二顶点集合确定为镜像目标顶点集合。
可选地,处理模块30,还用于采用第一标注方式对镜像源面集合中的边进行标注,以及采用第二标注方式对镜像目标面集合中的边进行标注,其中,第一标注方式不同于第二标注方式。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;
S2,基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;
S3,按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取虚拟三维模型的对称拓扑信息和作用面集合,其中,虚拟三维模型为蒙皮后三维模型,对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,第一面与第二面为对称面,第一顶点位于第一面上,第二顶点位于第二面上,第一顶点与第二顶点为对称顶点,作用面集合包括:第一面和第二面;
S2,基于对称拓扑信息从作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;
S3,按照镜像方向、镜像属性对镜像目标面集合中镜像目标面的目标属性与镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种镜像处理方法,其特征在于,包括:
获取虚拟三维模型的对称拓扑信息和作用面集合,其中,所述虚拟三维模型为蒙皮后三维模型,所述对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,所述第一面与所述第二面为对称面,所述第一顶点位于所述第一面上,所述第二顶点位于所述第二面上,所述第一顶点与所述第二顶点为对称顶点,所述作用面集合包括:所述第一面和所述第二面;
基于所述对称拓扑信息从所述作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;
按照镜像方向、镜像属性对所述镜像目标面集合中镜像目标面的目标属性与所述镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对所述镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与所述镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理,所述镜像方向由所述虚拟三维模型的模型局部坐标系下的坐标轴方向确定,所述镜像属性包括以下至少之一:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向。
2.根据权利要求1所述的镜像处理方法,其特征在于,所述镜像目标面集合的每个镜像目标面与所述镜像源面集合中对应的镜像源面沿镜像平面呈镜像对称,其中,所述镜像平面由所述虚拟三维模型的模型局部坐标系下的坐标轴取值确定,或者,由所述第一顶点和所述第二顶点构成的法向量确定。
3.根据权利要求1所述的镜像处理方法,其特征在于,基于所述对称拓扑信息从所述作用面集合中获取所述镜像源面集合、所述镜像目标面集合、所述镜像源顶点集合以及所述镜像目标顶点集合包括:
基于所述第一顶点与所述第二顶点获取所述第一面与所述第二面中的对称顶点和所述第一面与所述第二面中的对称边;
利用所述对称顶点和所述对称边分别从所述作用面集合中重复获取所述第一面的第一邻接面与所述第二面的第二邻接面,其中,所述第一邻接面与所述第二邻接面的顶点数一致;
通过所述第一邻接面与所述第二邻接面获取所述镜像源面集合、所述镜像目标面集合、所述镜像源顶点集合以及所述镜像目标顶点集合。
4.根据权利要求3所述的镜像处理方法,其特征在于,基于所述第一顶点与所述第二顶点获取所述第一面与所述第二面中的对称顶点和所述第一面与所述第二面中的对称边包括:
创建第一面集合、第二面集合、第一顶点集合、第二顶点集合以及将所述虚拟三维模型对应的蒙皮用网格中除所述作用面集合之外其余面标记为已访问状态;
基于所述第一顶点沿第一方向遍历所述第一面以及基于所述第二顶点沿第二方向遍历所述第二面,获取所述第一面与所述第二面中的对称顶点和所述第一面与所述第二面中的对称边,其中,所述第一方向与所述第二方向为相反方向;
将所述对称顶点分别存储至所述第一顶点集合和所述第二顶点集合,将所述第一面与所述第二面分别存储至所述第一面集合和所述第二面集合,并将所述第一面与所述第二面标记为已访问状态。
5.根据权利要求3所述的镜像处理方法,其特征在于,利用所述对称顶点和所述对称边分别从所述作用面集合中重复获取所述第一邻接面与所述第二邻接面包括:
创建第一队列和第二队列;
将所述对称边分别存储至所述第一队列和所述第二队列;
当所述第一队列和所述第二队列均不为空时,获取所述第一队列的第一队头元素和所述第二队列的第二队头元素;
获取所述第一队头元素的所述第一邻接面和所述第二队头元素的所述第二邻接面,并将所述第一邻接面和所述第二邻接面标记为已访问状态;
当所述第一邻接面和所述第二邻接面均存在,并且所述第一邻接面和所述第二邻接面的顶点数一致时,获取所述第一邻接面与所述第二邻接面中的对称顶点和所述第一面与所述第二面中的对称边;
将所述对称顶点分别存储至所述第一顶点集合和所述第二顶点集合,并将所述对称边分别存储至所述第一队列和所述第二队列;
当所述第一队列和所述第二队列中至少之一为空时,将所述第一面集合确定为所述镜像源面集合,将所述第二面集合确定为所述镜像目标面集合,将所述第一顶点集合确定为所述镜像源顶点集合以及将所述第二顶点集合确定为所述镜像目标顶点集合。
6.根据权利要求1所述的镜像处理方法,其特征在于,所述镜像处理方法还包括:
采用第一标注方式对所述镜像源面集合中的边进行标注,以及采用第二标注方式对所述镜像目标面集合中的边进行标注,其中,所述第一标注方式不同于所述第二标注方式。
7.一种镜像处理装置,其特征在于,包括:
第一获取模块,用于获取虚拟三维模型的对称拓扑信息和作用面集合,其中,所述虚拟三维模型为蒙皮后三维模型,所述对称拓扑信息包括:第一面和第二面,第一顶点和第二顶点,所述第一面与所述第二面为对称面,所述第一顶点位于所述第一面上,所述第二顶点位于所述第二面上,所述第一顶点与所述第二顶点为对称顶点,所述作用面集合包括:所述第一面和所述第二面;
第二获取模块,用于基于所述对称拓扑信息从所述作用面集合中获取拓扑对称的镜像源面集合、镜像目标面集合、镜像源顶点集合以及镜像目标顶点集合;
处理模块,用于按照镜像方向、镜像属性对所述镜像目标面集合中镜像目标面的目标属性与所述镜像源面集合中镜像源面的对应属性进行镜像处理,和/或,对所述镜像目标面集合中镜像目标面所包含的镜像目标顶点的目标属性与所述镜像源面集合中镜像源面所包含的镜像源顶点的对应属性进行镜像处理,所述镜像方向由所述虚拟三维模型的模型局部坐标系下的坐标轴方向确定,所述镜像属性包括以下至少之一:顶点位置、顶点法线、顶点颜色以及面的三角形分割方向。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的镜像处理方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的镜像处理方法。
CN202110943444.9A 2021-08-17 2021-08-17 镜像处理方法、装置、存储介质和电子装置 Active CN113706675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110943444.9A CN113706675B (zh) 2021-08-17 2021-08-17 镜像处理方法、装置、存储介质和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110943444.9A CN113706675B (zh) 2021-08-17 2021-08-17 镜像处理方法、装置、存储介质和电子装置

Publications (2)

Publication Number Publication Date
CN113706675A CN113706675A (zh) 2021-11-26
CN113706675B true CN113706675B (zh) 2023-07-21

Family

ID=78653048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110943444.9A Active CN113706675B (zh) 2021-08-17 2021-08-17 镜像处理方法、装置、存储介质和电子装置

Country Status (1)

Country Link
CN (1) CN113706675B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114862990B (zh) * 2022-04-22 2024-04-30 网易(杭州)网络有限公司 一种镜像参数获取方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6844877B1 (en) * 2001-11-05 2005-01-18 Solidworks Corporation Automated mirroring of components
CN109801362A (zh) * 2018-12-29 2019-05-24 广州明珞汽车装备有限公司 一种镜像方法、系统、存储介质及镜像数据的处理方法
CN111444573A (zh) * 2020-03-23 2020-07-24 江南造船(集团)有限责任公司 船舶对称分段模型生成方法及装置、存储介质和终端
CN112580120A (zh) * 2020-12-22 2021-03-30 杭州电子科技大学 一种设计意图自动感知的cad模型高效修改方法
CN112965442A (zh) * 2021-02-01 2021-06-15 中国航空制造技术研究院 一种用于镜像铣削加工的协同运动控制方法和系统
CN113223135A (zh) * 2021-04-15 2021-08-06 中山大学 一种基于特殊复合平面镜虚像成像的三维重建装置和方法
CN113209625A (zh) * 2021-05-21 2021-08-06 珠海金山网络游戏科技有限公司 数据处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1495447A1 (en) * 2002-03-26 2005-01-12 KIM, So-Woon System and method for 3-dimension simulation of glasses
US20050052720A1 (en) * 2003-09-08 2005-03-10 Kenneth Tetterington Two-dimensional laser projection system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6844877B1 (en) * 2001-11-05 2005-01-18 Solidworks Corporation Automated mirroring of components
CN109801362A (zh) * 2018-12-29 2019-05-24 广州明珞汽车装备有限公司 一种镜像方法、系统、存储介质及镜像数据的处理方法
CN111444573A (zh) * 2020-03-23 2020-07-24 江南造船(集团)有限责任公司 船舶对称分段模型生成方法及装置、存储介质和终端
CN112580120A (zh) * 2020-12-22 2021-03-30 杭州电子科技大学 一种设计意图自动感知的cad模型高效修改方法
CN112965442A (zh) * 2021-02-01 2021-06-15 中国航空制造技术研究院 一种用于镜像铣削加工的协同运动控制方法和系统
CN113223135A (zh) * 2021-04-15 2021-08-06 中山大学 一种基于特殊复合平面镜虚像成像的三维重建装置和方法
CN113209625A (zh) * 2021-05-21 2021-08-06 珠海金山网络游戏科技有限公司 数据处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
产品CAD模型对称性识别研究;李现党;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;全文 *
镜像等距不变量的构造及其应用;胡平;李海洋;曹伟国;李华;;计算机辅助设计与图形学学报(第07期);第77-83页 *
顶点代数发展及在镜像对称中的应用的综述;周寅威;《中国优秀硕士学位论文全文数据库(电子期刊)基础科学辑》;全文 *

Also Published As

Publication number Publication date
CN113706675A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US11631229B2 (en) Comparative virtual asset adjustment systems and methods
CN108459704B (zh) 用于三维数字内容的笔画操作预测
US11494980B2 (en) Virtual asset map and index generation systems and methods
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
CN107077746A (zh) 用于网络传输和实时渲染的3d纹理模型的自动优化的系统、方法和计算机程序产品
KR20210142200A (ko) 애니메이팅된 캐릭터의 수정
CN115375822A (zh) 云模型的渲染方法、装置、存储介质及电子装置
CN113706675B (zh) 镜像处理方法、装置、存储介质和电子装置
CN113318428A (zh) 游戏的显示控制方法、非易失性存储介质及电子装置
KR101403579B1 (ko) 사용자에 의한 아이템 외형 변경을 지원하는 온라인 게임 제공 방법 및 그 시스템
CN106716500B (zh) 一种信息处理装置及深度定义方法
CN114299203A (zh) 虚拟模型的处理方法和装置
CN114816457A (zh) 克隆虚拟模型的方法、装置、存储介质及电子装置
CN115115814A (zh) 信息处理方法、装置、可读存储介质和电子装置
CN114742970A (zh) 虚拟三维模型的处理方法、非易失性存储介质及电子装置
CN111111154B (zh) 虚拟游戏对象的建模方法、装置、处理器及电子装置
CN114283230A (zh) 植被模型渲染方法、装置、可读存储介质和电子装置
CN114049472A (zh) 三维模型调整方法、装置、电子设备、介质
US11978152B2 (en) Computer-assisted graphical development tools
Shao Research on the Digital Promotion and Development of the Achang Forging Skills in Yunnan
CN114299211A (zh) 信息处理方法、装置、可读存储介质和电子装置
JP3178808B2 (ja) オブジェクト再構成方法及びオブジェクト近似方法及び空間描画方法
CN114504825A (zh) 调整虚拟角色模型的方法、装置、存储介质及电子装置
CN116452704A (zh) 镜头光晕特效的生成方法、装置、存储介质及电子装置
CN114816629A (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
GR01 Patent grant
GR01 Patent grant