CN117132698A - 模型的处理方法、装置、存储介质和电子装置 - Google Patents
模型的处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN117132698A CN117132698A CN202311119519.7A CN202311119519A CN117132698A CN 117132698 A CN117132698 A CN 117132698A CN 202311119519 A CN202311119519 A CN 202311119519A CN 117132698 A CN117132698 A CN 117132698A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- accessory
- accessory model
- relative
- 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
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 43
- 239000013598 vector Substances 0.000 claims description 111
- 238000006073 displacement reaction Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 22
- 210000004209 hair Anatomy 0.000 description 45
- 238000004364 calculation method Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 25
- 238000001179 sorption measurement Methods 0.000 description 21
- 230000000694 effects Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- DMSMPAJRVJJAGA-UHFFFAOYSA-N benzo[d]isothiazol-3-one Chemical compound C1=CC=C2C(=O)NSC2=C1 DMSMPAJRVJJAGA-UHFFFAOYSA-N 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 210000000720 eyelash Anatomy 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000000115 helium ionisation detection Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Abstract
本申请公开了一种模型的处理方法、装置、存储介质和电子装置。该方法包括:获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;将调整后的附件模型组合至目标模型。本申请解决了模型的处理效率低的技术问题。
Description
技术领域
本公开涉及数据处理领域,具体而言,涉及一种模型的处理方法、装置、存储介质和电子装置。
背景技术
目前,在制作目标模型时,通常需要逐个复制附件模型,移动到新的位置,调整以使其紧贴目标模型的目标表面,然后不断调整附件的角度。但是,调整附件模型的整个过程就像人工插秧一样,漫长且枯燥,且该方法只能逐一移动需要吸附于目标表面的附件模型,从而导致存在模型的处理效率低的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开至少部分实施例提供了一种模型的处理方法、装置、存储介质和电子装置,以至少解决模型的处理效率低的技术问题。
根据本公开其中一实施例,提供了一种模型的处理方法。该方法可以包括:获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;将调整后的附件模型组合至目标模型。
根据本公开其中一实施例,还提供了一种模型的处理装置。该装置可以包括:获取单元,用于获取目标模型对应的附件模型集合,以及所述目标模型的目标表面的参照面,其中,所述附件模型集合中至少一附件模型待组合至所述目标模型;确定单元,用于确定所述附件模型集合中所述附件模型相对于所述参照面的第一相对方位信息,其中,所述第一相对方位信息包括所述附件模型相对于所述参照面的第一相对位置,以及所述附件模型相对于所述参照面的第一相对方向;调整单元,用于基于所述第一相对方位信息调整所述附件模型,直至调整后的所述附件模型相对于所述目标表面的第二相对位置与所述第一相对位置相同,且调整后的所述附件模型相对于所述目标表面的第二相对方向与所述第一相对方向相同;组合单元,用于将调整后的所述附件模型组合至所述目标模型。
根据本公开其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的模型的处理方法。
根据本公开其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的模型的处理方法。
在本公开实施例中,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;将调整后的附件模型组合至目标模型。也就是说,本公开设置参照面,将附件模型在移动前相对于参照面上的第一方位信息(可以为最近点的距离和角度状态),应用至移动后相对于目标表面的方位信息,以完成批量移动模型,自动调整模型的方位信息,避免人工手动调整,从而达到了提高数据处理效率的技术效果,解决了模型的处理效率低的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开实施例的一种模型的处理方法的移动终端的硬件结构框图;
图2是根据本公开其中一实施例的模型的处理方法的流程图;
图3是根据本公开其中一实施例的初始化毛发模型的示意图;
图4是根据本公开其中一实施例的移动初始化后的毛发模型的示意图;
图5是根据本公开其中一实施例的吸附毛发模型的示意图;
图6是根据本公开其中一实施例的曲表面模型批量吸附移动工具的示意图;
图7是根据本公开其中一实施例的获取附件模型集合的示意图;
图8是根据本公开其中一实施例的获取附件模型的示意图;
图9是根据本公开其中一实施例的确定模型吸附至曲面表面后的坐标的示意图;
图10是根据本公开其中一实施例的获取顶点向量的示意图;
图11是本公开其中一实施例的获取投影点坐标的示意图;
图12是本公开其中一实施例的投影点坐标的示意图;
图13是本公开其中一实施例的确定投影长度的示意图;
图14是根据本公开实施例的一种模型的处理装置的结构框图;
图15是根据本公开实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一种可能的实施方式中,在数据处理领域中,针对目标模型的制作,通常有很多个与目标模型适配的附件模型。通常需要逐个复制附件模型,移动到新的位置,调整以使其紧贴目标模型的目标表面,然后不断调整附件的角度。但在发明人经过实践并仔细研究后发现,针对附件模型的调整,只能逐一移动需要吸附于目标表面的附件模型,存在模型的处理效率低的技术问题。基于此,本公开实施例提出了一种模型的处理方法,可以应用于制作目标模型的场景下,该方法可以设置参照面,将附件模型在移动前相对于参照面上的第一方位信息(可以为最近点的距离和角度状态),应用至移动后相对于目标表面的方位信息,以完成批量移动模型,自动调整模型的方位信息,避免人工手动调整,从而达到了提高数据处理效率的技术效果,解决了模型的处理效率低的技术问题。
根据本公开其中一实施例,提供了一种模型的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为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进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本领域技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
在一种可能的实施方式中,本公开实施例提供了一种模型的处理方法,图2是根据本公开其中一实施例的模型的处理方法的流程图,如图2所示,该方法可以包括如下步骤:
步骤S202,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型。
在本公开上述步骤S202提供的技术方案中,可以获取目标模型对应的附件模型集合。其中,目标模型又可以称为吸附目标,可以为虚拟角色的身体模型、头部模型、面部模型等,此处不对目标模型的类型做具体限制。附件模型又可以称为模板附件多边形模型,可以用于表示允许在目标模型的拓扑结构上添加的特征,比如,可以为毛发、睫毛、胡子、眼睛等特征,可以为独立的附件模型,可以用于组合至目标模型中。此处仅为举例说明,不对附件模型的类型做具体限制。附件模型集合可以为包含至少一附件模型的集合,比如,可以为毛发模型集合、睫毛模型集合等,此处仅为举例,不对附件模型集合的类型和表达形式做具体限制,其中,毛发模型集合可以用H表示。
在该实施例中,可以获取目标模型的目标表面的参照面。其中,目标表面可以为待吸附表面、曲面,可以用Mt表示,可以称为曲面表面、目标曲面等,此处仅为举例说明,不对目标表面做具体限制。参照面可以用于识别附件模型的初始状态,可以为基准曲面,可以用Ms表示,可以为选定的一个任意曲面,可以作为识别附件模型的初始状态的基准面。
可选地,制作人员可以预先选定一个任意曲面,作为识别附件模型(比如,毛发模型)初始状态的基准,以得到目标表面的参照面(Ms),同时,可以选定需要批量吸附的一个或以上的毛发模型,得到附件模型集合(H)。初始化模块可以获取目标模型对应的附件模型集合以及目标表面的参照面。其中,初始化模块可以用于记录目标模型对应的附件模型集合、附件模型的现有状态和目标模型。
举例而言,制作人员可以选定一个任意曲面,作为附件模型在后续制作中吸附的目标表面,可以将目标表面(曲面)记为Mt。其中,参照面Ms可以为初始化时选定的曲面,参照面Mt可以为制作过程中选定的曲面,两者可以相同,也可以不同。
步骤S204,确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向。
在本公开上述步骤S204提供的技术方案中,可以确定附件模型集合中附件模型相对于参照面的第一相对方位信息。其中,第一相对方位信息可包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照平面的第一相对方向。第一相对方向可以用于确定附件模型相对于参照平面的角度。
步骤S206,基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同。
在本公开上述步骤S206提供的技术方案中,可以基于第一相对方位信息调整附件模型。直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同。
可选地,可以初始化多个需要移动的附件模型(比如,毛发模型),以确定附件模型自身坐标与目标表面之间的距离(也即第一相对位置),以及相对于目标表面的参照面的角度,其中,相对于目标表面的参照面的角度可以用于表示第一相对方向。在移动后,可以按照这第一相对方向和第一相对位置调整附件模型,以保持调整后的附件模型相对于目标表面的第二相对位置与第一相对位置不发生不变,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向也不发生不变。
举例而言,第二控制模块可以用于移动毛发模型后批量吸附至所选的目标表面。当制作人员移动附件模型集合(H)中所包含的一个或多个毛发模型后,可通过控制程序自动触发或手动点击按钮的方式,将毛发模型吸附至目标曲面的表面,并保持附件模型集合(H)中所包含的附件模型之间及其与曲面表面的相对位置和角度不变,也即,调整后的附件模型相对于目标表面的第二相对位置与第一相对位置保持不变,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同。其中,目标表面又可以称为曲面表面(Mt)。
步骤S208,将调整后的附件模型组合至目标模型。
在本公开上述步骤S208提供的技术方案中,可以将调整后的附件模型组合至目标模型中。其中,组合至目标模型的方式可以为吸附、拼接、紧贴等方式,此处仅为举例说明,不对组合的类型做具体限制。
可选地,可以通过控制模块移动附件模型,以将附件模型批量吸附至目标模型的目标表面上,或者可以将调整后的附件模型相距目标距离的组合至目标模型中。
通过上述步骤S202至S208,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;基于第一相对方位信息调整附件模型,其中,调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;将调整后的附件模型组合至目标模型。也就是说,本公开设置参照面,将附件模型在移动前相对于参照面上的第一方位信息(可以为最近点的距离和角度状态),应用至移动后相对于目标表面的方位信息,以完成批量移动模型,自动调整模型的方位信息,避免人工手动调整,从而达到了提高数据处理效率的技术效果,解决了模型的处理效率低的技术问题。
下面对本公开实施例的上述方法进行进一步介绍。
作为一种可选的实施例,步骤S204,确定附件模型集合中附件模型相对于参照面的第一相对方位信息,包括:确定附件模型上目标顶点在参照面上投影到的第一投影点,且确定目标顶点与第一投影点之间的第一距离,其中,第一距离用于表征第一相对位置;确定参照面在第一投影点处的第一法线向量,其中,第一法线向量用于表征第一相对方向。
在该实施例中,确定附件模型上目标顶点在参照面上投影到的第一投影点。且确定目标顶点与第一投影点之间的第一距离,以及参照面在第一投影处的第一法线。其中,目标顶点可以用顶点V表示,此处仅为举例说明,不对目标顶点的表现形式做具体限制,可以为附件模型上的顶点。第一投影点可以为用于表征距离目标顶点最近的顶点在参照面上的投影,比如,可以为顶点T在参照点M上的投影。第一距离又可以称为最短距离或最近点距离,可以用di表示,可以为偏差值,可以用于表征第一相对位置。第一法线向量可以用于表征第一相对方向,可以为第一投影点的法线角度,可以用表示,又可以称为初始位置曲面法线。
可选地,通过第一计算模块确定参照面M和曲面外一个目标顶点V的坐标返回顶点V在参照面M上与之距离最短的第一投影点的坐标/>及目标顶点在参照面M上的平滑法线向量/>
可选地,开启软选择,设置为线性衰减,令目标顶点V向任意轴(比如,X轴正向)移动一段远超当前目标模型的尺寸的距离,查找在参照面M上的各顶点坐标,获得当前在X轴方向上坐标值最接近目标顶点V的顶点T。因为,软选择设置为线性衰减,因此,顶点T即为原状态下参照面M上距离目标顶点V最近的顶点。
可选地,获取参照面M上与目标顶点V最接近的顶点,通过衰减软选择移动目标顶点V后,参照面M上的顶点会跟随移动,与目标顶点V初始距离越近的顶点的移动距离越大,筛选出最近点后,可以通过还原参照面M与目标顶点V至初始状态,以达到把因为移动而变形的参照面M恢复初始状态的目的。
可选地,确定目标顶点的最近的顶点在参照面上投影到的第一投影点。可以确定参照面在第一投影点处的第一法线向量。
举例而言,可以将和参照面Mt输入第一计算模块中,以获取返回的最近点坐标/>(第一投影点)及参照面Mt在该处的第一法线向量/>可以从位置偏差集合iniDis中读取附件模型集合中附件模型(Actvi)对应的偏差值(di),以确定目标顶点与第一投影点之间的第一距离。
作为一种可选的实施例,基于第一相对方位信息调整附件模型,包括:基于第一距离和第一法线向量调整附件模型,其中,调整后的附件模型上目标顶点在目标表面上投影到第二投影点,调整后的附件模型上目标顶点与第二投影点之间具有第二距离,第二距离与第一距离相同,且用于表征第二相对位置,目标表面在第二投影点处的第二法线向量与第一法线向量相同,且用于表征第二相对方向。
在该实施例中,确定目标顶点与第一投影点之间的第一距离。可以基于第一距离和第一法线向量调整附件模型。其中,调整后的附件模型上目标顶点在目标表面上投影到第二投影点,调整后的附件模型上目标顶点与第二投影点之间具有第二距离,第二距离与为初始化时记录的第一距离相同,且用于表征第二相对位置,目标表面在第二投影点处的第二法线向量与第一法线向量保持相对角度不变,且用于表征第二相对方向。
可选地,确定第一可以确定第一距离和第一法线向量,可以基于第一距离和第一法线向量之间的差或和等方式,调整附件模型。调整后的附件模型上目标顶点在目标表面上投影到第二投影点,调整后的附件模型上目标顶点与第二投影点之间的距离与第一距离相同,且第二距离可以用于表征第二相对位置。目标表面在第二投影点处的第二法线向量与第一法线向量相同,且可以用于表征第二相对方向。需要说明的是,上述基于第一距离和第一法线向量调整附件模型的方式,仅为举例说明,此处不做具体限制,任何基于第一距离和第一法线向量调整附件模型的方法,都应在该实施例的保护范围之内。
作为一种可选的实施例,基于第一距离和第一法线向量调整附件模型,包括:基于第一距离确定第一目标位置,且将附件模型从所处的第二目标位置移动至第一目标位置,其中,移动后的附件模型上目标顶点处于第一目标位置;基于第一法线向量确定旋转角度,且基于旋转角度旋转移动后的附件模型。
在该实施例中,可以基于第一距离确定第一目标位置,且将附件模型从所处的第二目标位置移动至第一目标位置。基于第一法线向量确定旋转角度,且基于旋转角度旋转移动后的附件模型。其中,第一目标位置可以为移动后的新位置,可以用表示。第二目标位置可以为移动后的模型坐标,可以用/>表示。
可选地,基于第一距离(di)确定第一目标位置且可以将附件模型从所处的第二目标位置移动至第一目标位置处。基于第一法线向量/>确定旋转角度,可以按照确定的旋转角度旋转移动至第一目标位置处的附件模型。
举例而言,可以将制作人员选中并移动的一个或多个毛发模型记入集合(比如,集合Actv)中,可以从附件模型集合H中剔除集合Actv,把剩余的附件模型记为集合Pasv。可以初始化整体模型累计位移量令/>从t=1遍历集合Actv,读取附件模型Actvt在集合H中的序号i,获取模型Actvt移动后的世界坐标位置/>若毛发模型初始化时的位置已经紧贴曲面表面,则di为0。可以把附件模型Actvt从第二目标位置移动至坐标/>处。
作为一种可选的实施例,附件模型上处于第二目标位置的目标顶点在目标表面上投影到第二投影点,基于第一距离确定第一目标位置,包括:在第二法线向量上,将距离第二投影点第一距离的位置,确定为第一目标位置。
在该实施例中,附件模型上处于第二目标位置的目标顶点可以在目标表面上投影到第二投影点,可以在第二法线向量上,将距离第二投影点第一距离的位置,确定为第一目标位置。
可选地,可以将和参照面Mt输入第一计算模块中,以获取返回的最近点坐标/>(第二投影点)及参照面Mt在该处的第二法线向量/>可以从位置偏差集合iniDis中读取附件模型集合中附件模型(Actvi)对应的偏差值(di),从而计算出附件模型Actvt吸附至参照面Mt表面后的坐标/>将计算得到的坐标可以确定为第一目标位置。
举例而言,第一计算模块通过参照面和第二目标位置可以确定在参照面M上与之距离最短的第二投影点/>及其在参照面M上的第二法线向量/>第一计算模块可以转化获取第一投影点T的所有邻点,记为T1、T2、T3、…、Tn,以第一投影点T为圆心,按逆时针方向从T1开始对所有邻点排序,把邻点按新的顺序记为T1、T2、T3、…Tn。可以从邻点集合中依次取T1T2、T2T3、…、TnT1,获取顶点T指向相邻顶点Ti和Ti+1(i∈[1,n])向量/>与可以同第一投影点T与目标顶点V的坐标/>与/>一起输入第二计算模块。通过第二计算模块可以获得边TTi和TTi+1所在的多边形与点T最短的投影点距离di和第二投影点的坐标/>遍历邻点后,取返回的di值最小的多边形记为F,把其距离di记为dp,把对应的坐标/>确定为第二投影点/>可以根据多边形F各顶点的法线向量,计算出坐标处的第二法线向量/>最终输出第一距离(dp)、第二投影点坐标/>及第二法线向量/>至第二控制模块中。
再举例而言,第二计算模块可以用于向模块输入TTi和TTi+1所在的多边形上两条相交线段AB、AC的方向向量与/>以及交点A的坐标/>任意一点V的坐标/>则可以求得并输出第一投影点V至线段AB、AC所在的多边形上距离最短的第二投影点及P与V的第一距离dp。其中,两条相交线段AB、AC可以为相邻、共面,且相交与A点的线段。A点的坐标可以为T点的坐标,B点的坐标为TTi,C点的坐标可以为TTi+1。可以计算V点与A点的距离(dva),则/> 且计算V点至平面ABC垂线的向量/>可以通过/>与/>的叉积求得,即:/>可以计算线段VA在/>方向上分量的长度,设投影点为F,即点V至AB、AC所在平面的投影的距离,记为d,则:/>
投影点F的坐标可以为:/>可以计算线段FA在/>与方向上的投影长度,分别记为db、dc(db、dc区分正负),可以通过以下公式确定db、dc:
若db≤0且dc≤0,则多边形上与顶点V最接近的点P是A点,可以输出结果dp=dva、若db>0且dc>0,则多边形上与顶点V最接近的点P是F点,可以输出结果dp=d,若dc≤0,则点P为V点至线段AB的垂足,可以输出结果若db≤0,则点P为V点至线段AC的垂足,可以输出结果/>
可选地,无论投影点F跟曲面上多边形的位置关系如何,都可以获得多边形上距离第一投影点V最接近的第二投影点P的位置坐标及距离,最终输出第一距离(dp)、第二投影点坐标及第二法线向量/>
可选地,可以获取可以将和参照面Mt输入第一计算模块或者第二计算模块中,以获取返回的最近点坐标/>(第二投影点)及参照面Mt在该处的第二法线向量可以从位置偏差集合iniDis中读取附件模型集合中附件模型(Actvi)对应的偏差值(di),从而计算出附件模型Actvt吸附至参照面Mt表面后的坐标/> 将计算得到的坐标可以确定为第一目标位置。
作为一种可选的实施例,基于第一法线向量确定旋转角度,包括:将第一法线向量与第二法线向量之间的夹角,确定为旋转角度。
在该实施例中,确定第一法线与第二法线之间的夹角,可以将第一法线和第二法线之间的夹角,确定为旋转角度。其中,第二法线向量可以用表示,可以用于表征当前位置曲面法线。夹角又可以称为角度差,可以用(Rx,Ry,Rz)表示。
可选地,若附件模型初始化时的位置已经紧贴目标曲面的目标表面,则第一距离di为0。可以把附件模型Actvt移动至坐标处,然后读取iniDir中记录的法线向量/>与当前曲面最近点向量/>的XYZ三轴欧拉角度差(Rx,Ry,Rz),可以基于计算得到的旋转角度旋转移动后的附件模型。
作为一种可选的实施例,步骤S204,基于旋转角度旋转移动后的附件模型,包括:以第一目标位置上目标顶点为旋转中心,按照旋转角度旋转移动后的附件模型。
在该实施例中,可以以第一目标位置上的目标顶点作为旋转中心,按照旋转角度旋转移动后的附件模型。
可选地,以第一目标位置上的目标顶点为圆心,以XYZ为轴旋转移动后的附件模型(Actvi),旋转角度为(Rx,Ry,Rz),最后把Actvi的实际位移/> 加入累计位移量/>用于对集合Pasv中的模型的位移进行计算,从而可以把附件模型Actvt移动前相对于参照面Ms上最近点的距离(第一距离)和角度状态应用至移动后相对于参照面Mt上最近点的距离和角度状态,从而完成模型吸附。其中,/>可以用于表示集合iniPos中第i位所记录的位置坐标向量。
在该实施例中,在初始化时,记录所选定的附件模型与所选定的基准曲面(也即参照面)的最近点距离(也即第一距离)和最近点法线(也即第一法线向量)角度;在移动部分或全部附件模型时,先获取移动后的第一投影点,将第一投影点和参照面一起输入计算模块,获得目标曲面上最接近该坐标的投影点(也即第二投影点)坐标及对应的法线向量(也即第一法线向量);以投影点坐标为基准,计算在法线方向上与该点距离为初始化时所记录的距离的点的坐标(也即第一目标位置);把附件模型移动至该坐标处。并计算当前位置曲面法线(也即第二法线向量)与初始位置曲面法线(也即第一法线向量)的角度差(又可以称为夹角),以此为基准旋转该移动后的附件模型,使之保持与曲面的相对角度不变;将移动后目标模型的平均坐标与原平均坐标进行对比,得到目标模型的整体移动方向及距离,并将初始化时记录过的,未移动的模型按照同样的方向和距离进行移动和调整;整个过程完成后,把初始化时所记录的坐标及曲面对应法线向量替换为现有坐标及法线向量,并以此为基准进行下一次操作,以达到通过工具批量移动附件模型,使其紧贴目标曲面的目标表面,且自动调整附件模型角度,使其与目标曲面的相对角度保持不变的目的,从而解决了对曲面表面的模型进行批量吸附移动的效率低的技术问题,实现了提高对曲面表面的模型进行批量吸附移动的效率的技术效果。
作为一种可选的实施例,该方法还包括:将附件模型从所处的初始位置移动至第二目标位置;确定附件模型上目标顶点在参照面上投影到的第一投影点,包括:确定附件模型上处于初始位置的目标顶点,在参照面上投影到的第一投影点。
在该实施例中,可以将附件模型从所处的初始位置移动至第二目标位置。其中,初始位置可以为世界坐标位置,可以用(xi,yi,zi)表示,可以为初始化时附件模型的自身坐标。
可选地,可以从i=1开始遍历附件模型集合H,可以获取附件模型Hi的世界坐标位置(xi,yi,zi),记入位置集合iniPos中的第i位。可以将坐标(xi,yi,zi)与参照面Ms输入第一计算模块,且把返回的法线向量记入向量集合iniDir的第i位,把Hi的世界坐标位置与Ms表面的距离di记入位置偏差集合iniDis的第i位。
作为一种可选的实施例,附件模型集合包括至少一第一目标附件模型和至少一第二目标附件模型,其中,将附件模型从所处的第二目标位置移动至第一目标位置,包括:将第一目标附件模型从所处的第二目标位置移动至第一目标位置;基于第一法线向量确定旋转角度,且基于旋转角度旋转移动后的附件模型,包括:基于第一目标附件模型对应的第一法线向量确定旋转角度,且基于旋转角度旋转移动后的第一目标附件模型;将附件模型从所处的初始位置移动至第二目标位置,包括:将第一目标附件模型从所处的初始位置移动至第二目标位置;该方法还可以包括:基于第一目标附件模型从初始位置移动至第一目标位置的位移量,调整第二目标附件模型。
在该实施例中,附件模型集合可以包括至少一第一目标附件模型和至少一第二目标附件模型。可以将第一附件模型从所处的第二目标位置移动至第一目标位置。其中,第一目标附件模型可以为部分或全部进行移动的模型集合Actv。第二目标附件模型可以为制作人员并未移动的模型集合Pasv。
可选地,可以基于第一目标附件模型对应的第一法线向量确定旋转角度,且可以基于旋转角度旋转移动后的第一目标附件模型。将第一目标附件模型从所处的初始位置移动至第二目标位置。可以基于第一目标附件模型从初始位置移动至第一目标位置的位移量调整第二目标附件模型。
举例而言,可以将制作人员选中并移动的一个或多个毛发模型记入集合Actv中,可以从集合H中剔除集合Actv,把剩余的模型记为集合Pasv。可以初始化整体模型累计位移量令/>从t=1遍历集合Actv,读取模型Actvt在集合H中的序号i,获取模型Actvt移动后的世界坐标位置/>可以基于第一目标附件模型从初始位置移动至第一目标位置的位移量/>调整第二目标附件模型。
在该实施例中,初始化的附件模型可以包含多个附件模型,可以对其中一根或一个以上的附件模型进行移动,其他已经初始化的模型也会跟着一起移动,以达到快速移动附件模型(比如,毛发模型)的目的。
作为一种可选的实施例,基于位移量调整第二目标附件模型,包括:按照位移量,将第二目标附件模型从所处的初始位置移动至第三目标位置;将第三目标位置确定为第二目标位置,将第二目标附件模型确定为第一目标附件模型,执行以下步骤:将第一目标附件模型从所处的第二目标位置移动至第一目标位置;基于第一目标附件模型对应的第一法线向量确定旋转角度,且基于旋转角度旋转移动后的第一目标附件模型。
在该实施例中,确定第一目标附件模型从初始位置移动至第一目标位置的位移量。按照位移量,可以将第二目标附件模型从所处的初始位置移动至第三目标位置。其中,第三目标位置可以为Pasvt移动后的世界坐标位置。第三目标位置可以用表示,可以为初始位置/>和平均位移量向量/>二者之间的和。
可选地,可以通过以下公式确定第三目标位置
在该实施例中,可以将第三目标位置确定为第二目标位置,将第二目标附件模型确定为第一目标附件模型后,将第一目标附件模型从所处的第二目标位置移动至第一目标位置,基于第一目标附件模型对应的第一法线向量确定旋转角度,且基于旋转角度旋转移动后的第一目标附件模型。
可选地,完成模型的调整后,可以将新的位置坐标更新至附件模型的世界坐标集合iniPos的第i位,把向量/>更新至法线向量集合iniDir的第i位,直至完成集合Actv中模型的吸附后,可以把累计位移量/>除以Actv中包含的模型数,求得平均位移向量,记为新的/>可以从t=1开始遍历集合Pasv,读取模型Pasvt在集合H中的序号i,从集合iniPos中提取模型Pasvt的初始位置/>则模型Pasvt移动后的世界坐标位置/>把/>连同曲面Mt一起输入第一计算模块,获取返回的计算结果/>及向量/>按照Pasv中的模型的位移调整的办法调整模型Pasvt。
可选地,完成模型的调整后,可以将新的位置坐标更新至集合iniPos的第i位,把向量/>更新至集合iniDir的第i位,直至完成集合H中所有模型的调整,以便下一次移动时以此为基准调整附件模型。
作为一种可选的实施例,获取至少一第一目标附件模型对应的至少一位移量之间的平均位移量;基于第一目标附件模型从初始位置移动至第一目标位置的位移量,调整第二目标附件模型,包括:基于平均位移量调整第二目标附件模型。
在该实施例中,可以获取至少一第一目标附件模型对应的至少一位移量之间的平均位移量,可以基于平均位移量调整第二目标附件模型。
可选地,可以把累计位移量除以Actv中包含的模型数,求得平均位移向量,记为新的/>可以基于计算得到的平均位移量调整第二目标附件模型。
作为一种可选的实施例,将第一目标位置确定为初始位置,将第二法线向量确定为第一法线向量,以调整与目标模型组合后的附件模型。
在该实施例中,可以将第一目标位置确定为初始位置,且将第二法线向量确定为第一法线向量,以调整与目标模型组合后的附件模型。
可选地,完成模型的调整后,可以将新的位置坐标更新至集合iniPos的第i位,把初始化时所记录的坐标及曲面对应法线向量替换为现有坐标及法线向量,也即,将第一目标位置确定为初始位置,将第二法线向量确定为第一法线向量,并以此为基准进行下一次操作。其中,下一次操作可以为重新对附件模型进行调整的操作,比如,当想要再次对附件模型进行调整时,可以将此次组合后的附件模型作为基准,进行调整。
在本公开实施例中,设置参照面,将附件模型在移动前相对于参照面上的第一方位信息(可以为最近点的距离和角度状态),应用至移动后相对于目标表面的方位信息,以完成批量移动模型,自动调整模型的方位信息,避免人工手动调整,从而达到了提高数据处理效率的技术效果,解决了模型的处理效率低的技术问题。
下面结合优选的实施方式对本公开实施例的技术方案进行进一步的举例介绍。具体以一种曲表面模型批量吸附移动工具进行进一步说明。
目前,制作目标模型时,通常需要逐个复制毛发模型,移动到新的位置,调整以使其紧贴角色身体表面,然后调整模型的角度,使其根部“垂直”于身体表面,重复这一过程,直至毛发模型覆盖整个曲面的目标区域。整个过程就像人工插秧一样,漫长且枯燥。但是该方法只能逐一移动需要吸附于目标曲面表面的模型,人工调整其使其位置贴合目标曲面,再调整其角度使之适配位置变化后的曲面方向,存在手动操作效率低,效果差的问题,且由于需要针对模型逐一移动调整,消耗时间长,且肉眼估算的位置和角度对比较规整的吸附模型效果较差,需要花费较长时间调整,从而导致存在模型的处理效率低的技术问题。
为解决上述问题,本公开实施例给出一种曲表面模型批量吸附移动工具(以下简称为工具),该工具在初始化时,记录制作人员所选定的附件模型与所选定的基准曲面的最近点距离(也即,附件模型的自身坐标与基准曲面之间的最短距离)和最近点法线角度(也即,基准曲面在最近点处的法线角度)。当制作人员移动部分或全部附件模型时,工具会首先获取移动后的模型坐标,以该坐标和附件模型的目标曲面一起输入计算模块,获得目标曲面上最接近该坐标的投影点坐标及对应的法线向量,以投影点坐标为基准,计算在法线方向上与该点距离为初始化时所记录的距离的点的坐标,把模型移动至该坐标处,并计算当前位置曲面法线与初始位置曲面法线的角度差,以此为基准旋转该模型,使之保持与曲面的相对角度不变。完成对制作人员所移动模型的计算后,获得移动后模型的平均坐标,与移动之前所选定模型的平均坐标(可以简称为原平均坐标)对比获取整体移动方向及距离,把初始化时记录过的,制作人员并未移动的模型按照同样的方向和距离移动,并按上述方法进行调整。整个过程完成后,把初始化时所记录的坐标及曲面对应法线向量替换为现有坐标及法线向量,以此为基准进行下一次操作,从而达到了可以批量移动附件模型,使其紧贴目标曲面表面,且自动调整模型角度,使其与曲面的相对角度保持不变的目的。
举例而言,该实施例可以先初始化多个需要移动的毛发模型,图3是根据本公开其中一实施例的初始化毛发模型的示意图,如图3所示,可以初始化多个需要移动的毛发模型,以确定毛发模型自身坐标与待吸附表面之间的距离,以及相对于待吸附表面的角度,在移动后,可以按照这两个参数调整模型,保持其与待吸附表面的相对位置和角度不变。在初始化后的毛发模型中选择其中部分或全部进行移动,图4是根据本公开其中一实施例的移动初始化后的毛发模型的示意图,如图4所示,初始化的毛发可以包含多个毛发模型,可以对其中一根或以上的毛发进行移动,其他已经初始化的模型也会跟着一起移动,以达到快速移动毛发模型的目的。图5是根据本公开其中一实施例的吸附毛发模型的示意图,如图5所示,工具可以将待移动的毛发模型自动吸附搭配目标曲面表面的模型上,并对其角度进行调整,通过上述步骤实现了提高模型的处理效率的技术效果,解决了模型的处理效率低的技术问题。
下面对本公开实施例中的曲表面模型批量吸附移动工具进行进一步介绍。
在该实施例中,图6是根据本公开其中一实施例的曲表面模型批量吸附移动工具的示意图,如图6所示,曲表面模型批量吸附移动工具可以包括第一控制模块、初始化模块S1、第二控制模块S2、第一计算模块S3和第二计算模块S4。
作为一种可选的实施例,初始化模块可以用于记录毛发模型、吸附目标和毛发模型的现有状态。
在该实施例中,图7是根据本公开其中一实施例的获取附件模型集合的示意图,如图7所示,制作人员可以选定一个任意曲面,作为识别毛发模型初始状态的基准,把曲面记为Ms,且选定需要批量吸附的一个或以上的毛发模型,记为集合H,得到附件模型集合。
可选地,图8是根据本公开其中一实施例的获取附件模型的示意图,如图8所示,可以从i=1开始遍历集合H,获取毛发模型Hi的世界坐标位置(xi,yi,zi),记入位置集合iniPos中的第i位。可以将坐标(xi,yi,zi)与曲面Ms输入第一计算模块S3,且把返回的法线向量记入向量集合iniDir的第i位,把Hi的世界坐标位置与Ms表面的距离di记入位置偏差集合iniDis的第i位。制作人员可以选定一个任意曲面,作为毛发模型在后续制作中吸附的目标表面,可以将目标表面(曲面)记为Mt。
可选地,Ms可以为初始化时选定的曲面,参照面Mt可以为制作过程中选定的曲面,两者可以相同,也可以不同。
作为一种可选的实施例,第二控制模块S2可以用于移动毛发模型后批量吸附至所选曲面表面Mt。当制作人员移动集合H中所包含的一个或多个毛发模型后,可通过控制程序自动触发或手动点击按钮的方式,将毛发模型吸附至目标曲面Mt的表面,并保持集合H中所包含的模型之间及其与曲面表面的相对位置和角度不变。
在该实施例中,可以将制作人员选中并移动的一个或多个毛发模型记入集合(比如,集合Actv)中,可以从集合H中剔除集合Actv,把剩余的模型记为集合Pasv。可以初始化整体模型累计位移量令/>从t=1遍历集合Actv,读取模型Actvt在集合H中的序号i,获取模型Actvt移动后的世界坐标位置/>
可选地,图9是根据本公开其中一实施例的确定模型吸附至曲面表面后的坐标的示意图,如图9所示,可以将和参照面Mt输入第一计算模块中,以获取返回的最近点坐标/>(第一投影点)及参照面Mt在该处的第一法线向量/>可以从位置偏差集合iniDis中读取附件模型集合中附件模型(Actvi)对应的偏差值(di),从而计算出模型Actvt吸附至参照面Mt表面后的坐标/>
可选地,若毛发模型初始化时的位置已经紧贴曲面表面,则di为0。可以把模型Actvt移动至坐标处,然后读取iniDir中记录的法线向量/>与当前曲面最近点向量/>的XYZ三轴欧拉角度差(Rx,Ry,Rz),并以/>为圆心,以XYZ为轴旋转Actvi,角度为(Rx,Ry,Rz),最后把Actvi的实际位移/>加入累计位移量/>用于对集合Pasv中的模型的位移进行计算,从而即可把模型Actvt移动前相对于曲面Ms上最近点的距离和角度状态应用至移动后相对于曲面Mt上最近点的距离和角度状态,从而完成模型吸附。其中,可以用于表示集合iniPos中第i位所记录的位置坐标向量。
可选地,完成模型的调整后,可以将新的位置坐标更新至集合iniPos的第i位,把向量/>更新至集合iniDir的第i位,直至完成集合Actv中模型的吸附后,可以把累计位移量/>除以Actv中包含的模型数,求得平均位移向量,记为新的/>可以从t=1开始遍历集合Pasv,读取模型Pasvt在集合H中的序号i,从集合iniPos中提取模型Pasvt的初始位置/>则模型Pasvt移动后的世界坐标位置/> 把/>连同曲面Mt一起输入计算模块S3,获取返回的计算结果/>及向量/>按照Pasv中的模型的位移调整的办法调整模型Pasvt。
可选地,完成模型的调整后,可以将新的位置坐标更新至集合iniPos的第i位,把向量/>更新至集合iniDir的第i位,直至完成集合H中所有模型的调整,以便下一次移动时以此为基准调整毛发模型。
作为一种可选的实施例,第一计算模块S3可以用于确定参照面M和曲面外一个目标顶点V的坐标返回顶点V在参照面M上与之距离最短的第二投影点的坐标及目标顶点在参照面M上的平滑法线向量/>
在该实施例中,开启软选择,设置为线性衰减,令目标顶点V向任意轴(比如,X轴正向)移动一段远超当前目标模型的尺寸的距离,查找在参照面M上的各顶点坐标,获得当前在X轴方向上坐标值最接近目标顶点V的顶点T。因为,软选择设置为线性衰减,因此,顶点T即为原状态下参照面M上距离目标顶点V最近的顶点点。
可选地,获取参照面M上与目标顶点V最接近的顶点,通过衰减软选择移动目标顶点V后,参照面M上的顶点会跟随移动,与目标顶点V初始距离越近的顶点的移动距离越大,筛选出最近点后,可以通过还原参照面M与目标顶点V至初始状态,以达到把因为移动而变形的参照面M恢复初始状态的目的。
可选地,可以转化获取顶点T的所有邻点,记为T1、T2、T3、…、Tn,以顶点T为圆心,按逆时针方向从T1开始对所有邻点排序,把邻点按新的顺序记为T1、T2、T3、…Tn。图10是根据本公开其中一实施例的获取顶点向量的示意图,如图10所示,可以从邻点集合中依次取T1T2、T2T3、…、TnT1,获取顶点T指向相邻顶点Ti和Ti+1(i∈[1,n])向量与/>可以同顶点T与目标顶点V的坐标/>与/>一起输入第二计算模块S4,图11是本公开其中一实施例的获取投影点坐标的示意图,如图11所示,可以获得边TTi和TTi+1所在的多边形与点T最短的投影点距离di和投影点的坐标/>遍历邻点后,取返回的di值最小的多边形记为F,把其距离di记为dp,把对应的坐标/>记为/>
可选地,可以根据多边形F各顶点的法线向量,计算出在坐标处的平滑法线向量/>最终输出dp、/>及向量/>至上一级模块。其中,上一级模块可以为第二控制模块S2,只要在计算过程中通过调用S3模块获取最近点坐标、距离、法线的都可以算是上一级模块,此处不对上一级模块做具体限制。
作为一种可选的实施例,第二计算模块S4可以用于向模块输入TTi和TTi+1所在的多边形上两条相交线段AB、AC的方向向量与/>以及交点A的坐标/>任意一点V的坐标/>则可以求得并输出点V至线段AB、AC所在的多边形上距离最短的点P坐标/>及P与V的距离dp。其中,两条相交线段AB、AC可以为相邻、共面,且相交与A点的线段。A点的坐标可以为T点的坐标,B点的坐标为TTi,C点的坐标可以为TTi+1。
在该实施例中,可以计算V点与A点的距离(dva),则且计算V点至平面ABC垂线的向量/>可以通过/>与/>的叉积求得,即:/> 可以计算线段VA在/>方向上分量的长度,设投影点为F,即点V至AB、AC所在平面的投影的距离,记为d,则:/>
可选地,图12是本公开其中一实施例的投影点坐标的示意图,如图12所示,投影点F的坐标可以为:/>可以计算线段FA在/>与/>方向上的投影长度,分别记为db、dc(db、dc区分正负),可以通过以下公式确定db、dc:
可选地,图13是本公开其中一实施例的确定投影长度的示意图,如图13所示,若db≤0且dc≤0,则多边形上与顶点V最接近的点P是A点,可以输出结果dp=dva、若db>0且dc>0,则多边形上与顶点V最接近的点P是F点,可以输出结果dp=d,/>若dc≤0,则点P为V点至线段AB的垂足,可以输出结果若db≤0,则点P为V点至线段AC的垂足,可以输出结果/>
可选地,无论投影点F跟曲面上多边形的位置关系如何,都可以获得多边形上离顶点V最接近的点P的位置坐标及距离,最终输出dp、至上一级模块。其中,上一级模块可以指的是调用第二计算模块S4用于计算的所有模块,可以为第一计算模块S3,由于第一计算模块S3计算时,分别计算T1T2、T2T3、T3T4、T4T1时都要调用一次第二计算模块S4。
作为一种可选的实施例,制作人员在使用工具时,可以通过控制模块调用初始化模块S1初始化模型状态,每次检测到物体移动时,可以调用第二控制模块S2,第二控制模块可以根据第一计算模块S3和第二计算模块S4输出的计算结果,吸附选定模型至目标曲面表面。
在该实施例中,在该实施例中,在初始化时,记录所选定的附件模型与所选定的基准曲面(也即参照面)的最近点距离(也即第一距离)和最近点法线(也即第一法线向量)角度;在移动部分或全部附件模型时,先获取移动后的第一投影点,将第一投影点和参照面一起输入计算模块,获得目标曲面上最接近该坐标的投影点(也即第二投影点)坐标及对应的法线向量(也即第一法线向量);以投影点坐标为基准,计算在法线方向上与该点距离为初始化时所记录的距离的点的坐标(也即第一目标位置);把附件模型移动至该坐标处。并计算当前位置曲面法线(也即第二法线向量)与初始位置曲面法线(也即第一法线向量)的角度差(又可以称为夹角),以此为基准旋转该移动后的附件模型,使之保持与曲面的相对角度不变;将移动后目标模型的平均坐标与原平均坐标进行对比,得到目标模型的整体移动方向及距离,并将初始化时记录过的,未移动的模型按照同样的方向和距离进行移动和调整;整个过程完成后,把初始化时所记录的坐标及曲面对应法线向量替换为现有坐标及法线向量,并以此为基准进行下一次操作,以达到通过工具批量移动附件模型,使其紧贴目标曲面的目标表面,且自动调整附件模型角度,使其与目标曲面的相对角度保持不变的目的,从而解决了对曲面表面的模型进行批量吸附移动的效率低的技术问题,实现了提高对曲面表面的模型进行批量吸附移动的效率的技术效果。
在该实施例中,可以通过工具中的控制模块调用S1模块,初始化多个待移动的毛发模型;通过工具中的控制模块调用S2模块,吸附选定的待移动的毛发模型至目标曲面表面,也即,该实施例可用于所有需要在目标曲面上吸附移动的模型,以批量移动并保持相对曲面的位置和角度不变,从而达到了提高模型的处理效率的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
在本实施例中还提供了一种模型的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图14是根据本公开实施例的一种模型的处理装置的结构框图,如图14所示,该模型的处理装置1400可以包括:获取单元1402、确定单元1404、调整单元1406和组合单元1408。
获取单元1402,用于获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型。
确定单元1404,用于确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向。
调整单元1406,用于基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同。
组合单元1408,用于将调整后的附件模型组合至目标模型。
在该实施例中,通过获取单元,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面;通过确定单元,确定附件模型集合中附件模型相对于参照面的第一相对方位信息;通过调整单元,基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;通过组合单元,将调整后的附件模型组合至目标模型,从而达到了提高数据处理效率的技术效果,解决了模型的处理效率低的技术问题。
需要说明的是,上述各个单元是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元均位于同一处理器中;或者,上述各个单元以任意组合的形式分别位于不同的处理器中。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;
S2,确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;
S3,基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;
S4,将调整后的附件模型组合至目标模型。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标模型对应的附件模型集合,以及目标模型的目标表面的参照面,其中,附件模型集合中至少一附件模型待组合至目标模型;
S2,确定附件模型集合中附件模型相对于参照面的第一相对方位信息,其中,第一相对方位信息包括附件模型相对于参照面的第一相对位置,以及附件模型相对于参照面的第一相对方向;
S3,基于第一相对方位信息调整附件模型,直至调整后的附件模型相对于目标表面的第二相对位置与第一相对位置相同,且调整后的附件模型相对于目标表面的第二相对方向与第一相对方向相同;
S4,将调整后的附件模型组合至目标模型。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图15是根据本公开实施例的一种电子装置的示意图。如图15所示,电子装置1500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,电子装置1500以通用计算设备的形式表现。电子装置1500的组件可以包括但不限于:上述至少一个处理器1510、上述至少一个存储器1520、连接不同系统组件(包括存储器1520和处理器1510)的总线1530和显示器1540。
其中,上述存储器1520存储有程序代码,程序代码可以被处理器1510执行,使得处理器1510执行本公开实施例的上述方法部分中描述的根据本公开各种示例性实施方式的步骤。
存储器1520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元15202,还可以进一步包括只读存储单元(ROM)10203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器1520还可以包括具有一组(至少一个)程序模块15205的程序/实用工具15204,这样的程序模块15205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器1520可进一步包括相对于处理器1510远程设置的存储器,这些远程存储器可以通过网络连接至电子装置1500。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线1530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器1510或者使用多种总线结构中的任意总线结构的局域总线。
显示器1540可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置1500的用户界面进行交互。
可选地,电子装置1500也可以与一个或多个外部设备1600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置1500交互的设备通信,和/或与使得该电子装置1500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1550进行。并且,电子装置1500还可以通过网络适配器1560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1560通过总线1530与电子装置1500的其它模块通信。应当明白,尽管图15中未示出,可以结合电子装置1500使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、独立冗余磁盘阵列(Redundant Array of Independent Disk,简称为RAID)系统、磁带驱动器以及数据备份存储系统等。
上述电子装置1500还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置1500还可包括比图15中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器1520可用于存储计算机程序及对应的数据,如本公开实施例中的模型的处理方法对应的计算机程序及对应的数据。处理器1510通过运行存储在存储器1520内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (15)
1.一种模型的处理方法,其特征在于,包括:
获取目标模型对应的附件模型集合,以及所述目标模型的目标表面的参照面,其中,所述附件模型集合中至少一附件模型待组合至所述目标模型;
确定所述附件模型集合中所述附件模型相对于所述参照面的第一相对方位信息,其中,所述第一相对方位信息包括所述附件模型相对于所述参照面的第一相对位置,以及所述附件模型相对于所述参照面的第一相对方向;
基于所述第一相对方位信息调整所述附件模型,直至调整后的所述附件模型相对于所述目标表面的第二相对位置与所述第一相对位置相同,且调整后的所述附件模型相对于所述目标表面的第二相对方向与所述第一相对方向相同;
将调整后的所述附件模型组合至所述目标模型。
2.根据权利要求1所述的方法,其特征在于,确定所述附件模型集合中所述附件模型相对于所述参照面的第一相对方位信息,包括:
确定所述附件模型上目标顶点在所述参照面上投影到的第一投影点,且确定所述目标顶点与所述第一投影点之间的第一距离,其中,所述第一距离用于表征所述第一相对位置;
确定所述参照面在所述第一投影点处的第一法线向量,其中,所述第一法线向量用于表征所述第一相对方向。
3.根据权利要求2所述的方法,其特征在于,基于所述第一相对方位信息调整所述附件模型,包括:
基于所述第一距离和所述第一法线向量调整所述附件模型,其中,调整后的所述附件模型上所述目标顶点在所述目标表面上投影到第二投影点,调整后的所述附件模型上所述目标顶点与所述第二投影点之间具有第二距离,所述第二距离与所述第一距离相同,且用于表征所述第二相对位置,所述目标表面在所述第二投影点处的第二法线向量与所述第一法线向量相同,且用于表征所述第二相对方向。
4.根据权利要求3所述的方法,其特征在于,基于所述第一距离和所述第一法线向量调整所述附件模型,包括:
基于所述第一距离确定第一目标位置,且将所述附件模型从所处的第二目标位置移动至所述第一目标位置,其中,移动后的所述附件模型上所述目标顶点处于所述第一目标位置;
基于所述第一法线向量确定旋转角度,且基于所述旋转角度旋转移动后的所述附件模型。
5.根据权利要求4所述的方法,其特征在于,所述附件模型上处于所述第二目标位置的所述目标顶点在所述目标表面上投影到所述第二投影点,基于所述第一距离确定第一目标位置,包括:
在所述第二法线向量上,将距离所述第二投影点所述第一距离的位置,确定为所述第一目标位置。
6.根据权利要求4所述的方法,其特征在于,基于所述第一法线向量确定旋转角度,包括:
将所述第一法线向量与所述第二法线向量之间的夹角,确定为所述旋转角度。
7.根据权利要求4所述的方法,其特征在于,基于所述旋转角度旋转移动后的所述附件模型,包括:
以所述第一目标位置上所述目标顶点为旋转中心,按照所述旋转角度旋转移动后的所述附件模型。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述附件模型从所处的初始位置移动至所述第二目标位置;
确定所述附件模型上目标顶点在所述参照面上投影到的第一投影点,包括:
确定所述附件模型上处于所述初始位置的所述目标顶点,在所述参照面上投影到的所述第一投影点。
9.根据权利要求8所述的方法,其特征在于,所述附件模型集合包括至少一第一目标附件模型和至少一第二目标附件模型,其中,
将所述附件模型从所处的第二目标位置移动至所述第一目标位置,包括:
将所述第一目标附件模型从所处的所述第二目标位置移动至所述第一目标位置;
基于所述第一法线向量确定旋转角度,且基于所述旋转角度旋转移动后的所述附件模型,包括:基于所述第一目标附件模型对应的所述第一法线向量确定所述旋转角度,且基于所述旋转角度旋转移动后的所述第一目标附件模型;
将所述附件模型从所处的初始位置移动至所述第二目标位置,包括:将所述第一目标附件模型从所处的所述初始位置移动至所述第二目标位置;
所述方法还包括:基于所述第一目标附件模型从所述初始位置移动至所述第一目标位置的位移量,调整所述第二目标附件模型。
10.根据权利要求9所述的方法,其特征在于,基于所述位移量调整所述第二目标附件模型,包括:
按照所述位移量,将所述第二目标附件模型从所处的初始位置移动至第三目标位置;
将所述第三目标位置确定为所述第二目标位置,将所述第二目标附件模型确定为所述第一目标附件模型,执行以下步骤:
将所述第一目标附件模型从所处的所述第二目标位置移动至所述第一目标位置;
基于所述第一目标附件模型对应的所述第一法线向量确定所述旋转角度,且基于所述旋转角度旋转移动后的所述第一目标附件模型。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取至少一所述第一目标附件模型对应的至少一所述位移量之间的平均位移量;
基于所述第一目标附件模型从所述初始位置移动至所述第一目标位置的位移量,调整所述第二目标附件模型,包括:基于所述平均位移量调整所述第二目标附件模型。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将所述第一目标位置确定为所述初始位置,将所述第二法线向量确定为所述第一法线向量,以调整与所述目标模型组合后的所述附件模型。
13.一种模型的处理装置,其特征在于,包括:
获取单元,用于获取目标模型对应的附件模型集合,以及所述目标模型的目标表面的参照面,其中,所述附件模型集合中至少一附件模型待组合至所述目标模型;
确定单元,用于确定所述附件模型集合中所述附件模型相对于所述参照面的第一相对方位信息,其中,所述第一相对方位信息包括所述附件模型相对于所述参照面的第一相对位置,以及所述附件模型相对于所述参照面的第一相对方向;
调整单元,用于基于所述第一相对方位信息调整所述附件模型,直至调整后的所述附件模型相对于所述目标表面的第二相对位置与所述第一相对位置相同,且调整后的所述附件模型相对于所述目标表面的第二相对方向与所述第一相对方向相同;
组合单元,用于将调整后的所述附件模型组合至所述目标模型。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行所述权利要求1至12中任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至12中任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311119519.7A CN117132698A (zh) | 2023-08-31 | 2023-08-31 | 模型的处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311119519.7A CN117132698A (zh) | 2023-08-31 | 2023-08-31 | 模型的处理方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117132698A true CN117132698A (zh) | 2023-11-28 |
Family
ID=88858062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311119519.7A Pending CN117132698A (zh) | 2023-08-31 | 2023-08-31 | 模型的处理方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117132698A (zh) |
-
2023
- 2023-08-31 CN CN202311119519.7A patent/CN117132698A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836843B2 (en) | Enhanced pose generation based on conditional modeling of inverse kinematics | |
AU2017272304B2 (en) | Auto vr: an assistant system for virtual reality painting | |
EP3008540A1 (en) | Locating and orienting device in space | |
CN111295233A (zh) | 控制杆灵敏度调整 | |
CN112927331B (zh) | 角色模型的动画生成方法和装置、存储介质及电子设备 | |
CN110377215B (zh) | 模型展示方法、装置及终端设备 | |
CN113706666A (zh) | 动画数据处理方法、非易失性存储介质及电子装置 | |
CN106681506B (zh) | 一种终端设备中非vr应用的交互方法及终端设备 | |
CN113440848B (zh) | 游戏内信息标记方法、装置及电子装置 | |
CN117115319A (zh) | 模型的处理方法、装置、存储介质和电子装置 | |
CN117132698A (zh) | 模型的处理方法、装置、存储介质和电子装置 | |
KR101739840B1 (ko) | 게임 서비스 제공 장치 및 그 제어 방법 | |
CN113706675B (zh) | 镜像处理方法、装置、存储介质和电子装置 | |
CN110349269A (zh) | 一种目标穿戴物试戴方法及系统 | |
CN114816457A (zh) | 克隆虚拟模型的方法、装置、存储介质及电子装置 | |
KR20230052459A (ko) | 아바타 콘텐츠 생성 방법 및 시스템 | |
CN112416480A (zh) | 窗口编辑方法、装置和系统 | |
CN115115814A (zh) | 信息处理方法、装置、可读存储介质和电子装置 | |
CN117289787A (zh) | 一种手型联动方法、装置、设备及存储介质 | |
KR101605740B1 (ko) | 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법 | |
WO2022127852A1 (zh) | 手指触摸操作显示方法及装置 | |
CN113230657B (zh) | 一种角色交互方法及装置 | |
CN115779415A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN117132734A (zh) | 条带网格的生成方法、装置、存储介质和电子装置 | |
CN116630492A (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 |