CN113058268B - 蒙皮数据生成方法、装置、设备及计算机可读存储介质 - Google Patents
蒙皮数据生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113058268B CN113058268B CN202110480555.0A CN202110480555A CN113058268B CN 113058268 B CN113058268 B CN 113058268B CN 202110480555 A CN202110480555 A CN 202110480555A CN 113058268 B CN113058268 B CN 113058268B
- Authority
- CN
- China
- Prior art keywords
- model
- vertex
- skinned
- candidate
- grid
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6607—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种蒙皮数据生成方法、装置、设备及计算机可读存储介质;涉及计算机图形学技术;该方法包括:获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型;其中,基准模型是细节程度最高的网格模型,待蒙皮模型为等待蒙皮的网格模型;针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点;基于基准蒙皮数据中与匹配顶点相对应的蒙皮信息,生成待蒙皮模型的目标蒙皮数据。通过本申请,能够提高蒙皮数据生成的效率。
Description
技术领域
本申请涉及计算机图形学技术,尤其涉及一种蒙皮数据生成方法、装置、设备及计算机可读存储介质。
背景技术
蒙皮数据记录有虚拟对象所对应的网格模型中的各个面片栅格的顶点造成影响骨骼,以及骨骼所造成的影响权重。为网格模型确定蒙皮数据,是虚拟对象的创建过程中必不可少的一步。
相关技术中,对虚拟对象的网络模型的蒙皮,是十分繁琐的,特别是在多细节层次模型的数量成倍增加时,会使得蒙皮所需要的操作大幅上升,从而生成蒙皮数据所需要的时间也会大幅上升,最终使得蒙皮数据生成的效率较低。
发明内容
本申请实施例提供一种蒙皮数据生成方法、装置、设备及计算机可读存储介质,能够提高蒙皮数据生成的效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种蒙皮数据生成方法,包括:
获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型;其中,所述基准模型是细节程度最高的网格模型,所述待蒙皮模型为等待蒙皮的网格模型;
针对所述待蒙皮模型中的面片栅格的每个顶点,从所述基准模型中查找出对应的匹配顶点;
基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据。
在本申请的一些实施例中,所述获取所述待蒙皮模型的骨骼数据和所述基准模型的骨骼数据,包括:
获取所述基准模型的骨骼数据,并将所述基准模型的骨骼数据进行复制,得到所述待蒙皮模型的骨骼数据。
在本申请的一些实施例中,所述蒙皮信息包括:骨骼权重;所述骨骼权重表征所述匹配顶点受对应的骨骼的影响程度;所述基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据,包括:
将所述基准蒙皮数据中的所述匹配顶点的骨骼权重,作为所述待蒙皮模型的所述面片栅格的所述每个顶点的目标权重;所述目标权重表征所述每个顶点受对应的骨骼的影响程度;
利用所述每个顶点的所述目标权重,作为所述待蒙皮模型的所述目标蒙皮数据。
在本申请的一些实施例中,在所述获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型之前,所述方法还包括:
取消对所述基准模型的骨骼节点和所述待蒙皮模型的骨骼节点的隐藏,以正常获取到所述基准模型、所述待蒙皮模型和所述基准蒙皮数据。
本申请实施例提供一种蒙皮数据生成装置,包括:
数据获取模块,用于获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型;其中,所述基准模型是细节程度最高的网格模型,所述待蒙皮模型为等待蒙皮的网格模型;
顶点匹配模块,用于针对所述待蒙皮模型中的面片栅格的每个顶点,从所述基准模型中查找出对应的匹配顶点;
蒙皮数据生成模块,用于基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据。
在本申请的一些实施例中,所述数据获取模块,还用于获取蒙皮生成参数;所述蒙皮生成参数为查找所述每个顶点的所述匹配顶点时参与计算的参数;
所述顶点匹配模块,还用于基于所述蒙皮生成参数,从所述基准模型中查找出所述待蒙皮模型中的所述面片栅格的所述每个顶点所对应的匹配顶点。
在本申请的一些实施例中,所述顶点匹配模块,还用于针对所述待蒙皮模型的所述面片栅格的所述每个顶点,从所述基准模型中确定出多个候选顶点;基于所述蒙皮生成参数、所述每个顶点的顶点信息和所述多个候选顶点各自的顶点信息,计算出所述每个顶点和所述多个候选顶点的多个误差值;所述多个误差值表征所述每个顶点分别与所述多个候选顶点的相关程度;将所述多个候选顶点中,与最小的误差值相对应的候选顶点,作为所述匹配顶点。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子;所述顶点信息包括:顶点位置;
所述顶点匹配模块,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的多个顶点距离;将所述多个顶点距离分别与所述距离因子的乘积,作为所述多个误差值。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子和法向因子,所述顶点信息包括:法线向量和顶点位置;
所述顶点匹配模块,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的中的每个候选顶点的顶点距离;依据所述每个顶点的法线向量和所述每个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;对所述顶点距离和所述距离因子的乘积,以及所述法向差异与所述法向因子的乘积求和,得到所述每个顶点和所述每个候选顶点的误差值;当对所述多个候选顶点均确定出误差值时,得到所述多个候选顶点的多个误差值。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子、贴图因子和法向因子,所述顶点信息包括:贴图信息、法线向量和顶点位置;
所述顶点匹配模块,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离;对所述每个顶点的贴图信息和所述多个候选顶点各自的贴图信息求差值,分别得到所述每个顶点与所述每个候选顶点的贴图差异;依据所述每个顶点的法线向量和所述多个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;对所述顶点距离和所述距离因子的乘积、所述贴图差异与所述贴图因子的乘积以及所述法向差异与所述法向因子的乘积进行求和,得到所述每个顶点和所述每个候选顶点的误差值;当对所述多个候选顶点均确定出误差值时,得到所述多个候选顶点的多个误差值。
在本申请的一些实施例中,所述顶点匹配模块,还用于获取所述待蒙皮模型的骨骼数据和所述基准模型的骨骼数据;依据所述待蒙皮模型的骨骼数据中与所述每个顶点所对应的骨骼,从基准模型的骨骼数据中找到匹配的骨骼;将所述匹配的骨骼的所对应的各个顶点,确定为所述多个候选顶点。
在本申请的一些实施例中,所述顶点匹配模块,还用于对所述待蒙皮模型进行遍历,得到所述待蒙皮模型的骨骼树;所述骨骼树描述所述待蒙皮模型的骨骼的层级结构;将所述待蒙皮模型的骨骼树,与所述基准模型的骨骼数据进行对比,确定出所述待蒙皮模型和所述基准模型的相同骨骼部分对应的所述待蒙皮模型的骨骼数据。
在本申请的一些实施例中,所述顶点匹配模块,还用于获取所述基准模型的骨骼数据,并将所述基准模型的骨骼数据进行复制,得到所述待蒙皮模型的骨骼数据。
在本申请的一些实施例中,所述数据获取模块,还用于获取所述待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及所述基准模型的第二网格模型标识和对应的第二离散网格文件;依据所述第一网格模型标识从所述第一离散网格文件中提取出第一离散网格模型,以及依据所述第二网格模型标识从所述第二离散网格文件中提取出第二离散网格模型;
所述顶点匹配模块,还用于针对所述第一离散网格模型中的面片栅格的每个顶点,从所述第二离散网格模型中查找出所述匹配顶点。
在本申请的一些实施例中,所述蒙皮生成装置还包括:离散网格识别模块;
所述离散网格识别模块,用于对所述待蒙皮模型的各个面片栅格的相连关系进行扫描,得到所述待蒙皮模型的各个离散网格模型;将所述待蒙皮模型的各个离散网格模型存储为所述待蒙皮模型的所述第一离散网格文件。
在本申请的一些实施例中,所述离散网格识别模块,还用于对所述基准模型的各个面片栅格的相连关系进行扫描,得到所述基准模型的各个离散网格模型;将所述基准模型的各个离散网格模型存储为所述基准模型的所述第二离散网格文件。
在本申请的一些实施例中,所述数据获取模块,还用于获取模型网格的名称;
所述数据获取模块,还用于获取已蒙皮模型文件和未蒙皮模型文件;依据所述模型网格的名称,从所述已蒙皮模型文件中提取出所述基准模型和所述基准蒙皮数据,从所述未蒙皮模型文件中提取出所述待蒙皮模型。
在本申请的一些实施例中,所述蒙皮信息包括:骨骼权重;所述骨骼权重表征所述匹配顶点受对应的骨骼的影响程度;所述蒙皮数据生成模块,还用于将所述基准蒙皮数据中的所述匹配顶点的骨骼权重,作为所述待蒙皮模型的所述面片栅格的所述每个顶点的目标权重;所述目标权重表征所述每个顶点受对应的骨骼的影响程度;利用所述每个顶点的所述目标权重,作为所述待蒙皮模型的所述目标蒙皮数据。
在本申请的一些实施例中,所述蒙皮生成装置还包括:隐藏取消模块;所述隐藏取消模块,用于取消对所述基准模型的骨骼节点和所述待蒙皮模型的骨骼节点的隐藏,以正常获取到所述基准模型、所述待蒙皮模型和所述基准蒙皮数据。
本申请实施例提供一种蒙皮数据生成设备,包括:
存储器,用于存储可执行蒙皮数据生成指令;
处理器,用于执行所述存储器中存储的可执行蒙皮数据生成指令时,实现本申请实施例提供的蒙皮数据生成方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行蒙皮数据生成指令,用于引起处理器执行时,实现本申请实施例提供的蒙皮数据生成方法。
本申请实施例具有以下有益效果:蒙皮数据生成设备能够获取到细节程度最高的基准模型、基准蒙皮数据,以及等待蒙皮的待蒙皮模型,然后从基准模型中,针对待蒙皮模型的各个面片栅格的每个顶点,查找出对应的匹配顶点,并直接基于基准蒙皮数据中提取出匹配顶点的蒙皮信息,生成待蒙皮模型的目标蒙皮数据。如此,能够利用已有的基准蒙皮数据,直接为待蒙皮模型自动进行蒙皮,大幅度减少为待蒙皮模型生成目标蒙皮数据的时间,也就提高了蒙皮数据生成的效率。
附图说明
图1是虚拟对象的网格模型的示意图;
图2是对顶点的进行蒙皮的示意图;
图3是本申请实施例提供的蒙皮数据生成系统的一个可选的架构示意图;
图4是本申请实施例提供的蒙皮数据生成设备的结构示意图;
图5是本申请实施例提供的蒙皮数据生成方法的一个可选的流程示意图;
图6是本申请实施例提供的基准模型和待蒙皮模型的示意图;
图7A是本申请实施例提供的蒙皮生成界面的示意图一;
图7B是本申请实施例提供的目标蒙皮数据的效果示意图;
图8是本申请实施例提供的蒙皮生成界面的示意图二;
图9是本申请实施例提供的蒙皮生成界面的示意图三;
图10是本申请实施例提供的蒙皮生成界面的示意图四;
图11是本申请实施例提供的已蒙皮模型文件和待蒙皮模型文件的结构示意图;
图12是本申请实施例提供的蒙皮生成界面的示意图五;
图13是本申请实施例提供的蒙皮生成界面的示意图六;
图14是本申请实施例提供的详细蒙皮界面的示意图;
图15是本申请实施例提供的生成基准模型的离散网格文件的示意图;
图16是本申请实施例提供的对游戏角色的多细节层次模型进行蒙皮的过程示意图;
图17是本申请实施例提供的头部与头部的离散网格的对比示意图;
图18是本申请实施例提供的利用离散网格进行蒙皮时与未利用离散网格进行蒙皮时的效果对比图;
图19是本申请实施例提供的利用高模的蒙皮数据为多细节层次模型进行蒙皮的适应场景示意图;
图20是本申请实施例提供的高模与多细节层次模型的动画效果对比图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)虚拟场景,是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、三维虚拟场景等。虚拟场景可以包括如天空、陆地、海洋等,还可以包括虚拟对象。用户可以操控虚拟对象在虚拟场景中进行移动。
2)虚拟对象,是虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动作、动漫人物等,例如,在虚拟场景中显示的任务、动作、植物、石块等。虚拟对象可以是虚拟场景中的一个用于代表用户的虚拟形象,例如为通过客户端上的操作进行控制的用户角色,也可以是设置在虚拟场景对战中的人工智能角色,还可以是设置在虚拟场景中与代表用户的虚拟形象进行互动的非用户角色(Non-Player Character,NPC)等。
3)骨骼树,是指对虚拟对象进行模型搭建时由父骨骼和各级子骨骼所组成的树形结构。例如,针对一个虚拟的手部,其骨骼树可以是由父骨骼手掌、一级子骨骼手指,二级子骨骼各个手指的指甲等组成。
4)蒙皮数据,蒙皮是指将网格模型中的面片栅格的顶点附着在骨骼上,并为每个顶点确定出其受对应的骨骼的影响的程度,即为每个顶点都确定出对应的骨骼,以及受到骨骼的影响的大小。可以理解的是,每个顶点可以被多个骨骼所控制。需要说明的是,蒙皮中的“皮”是指网格模型本身,并非是指贴图。
5)骨骼动画,是模型动画的一种(模型动画分为顶点动画和骨骼动画),包含了骨骼数据和蒙皮数据两部分。互相连接的骨骼组成骨骼结构,通过改变骨骼结构的朝向和位置来生成动画,由骨骼的姿态来驱动模型,例如驱动虚拟角色外表的过程,称作骨骼动画。骨骼动画可用于判断网格模型的蒙皮数据是否正确,例如,当虚拟人物角色的蒙皮数据准确无误时,虚拟人物角色的在奔跑时是正常的,当虚拟人物角色的蒙皮数据存在错误时,虚拟人物角色在奔跑时可能会出现扭曲、散架、平移等。
6)基准模型,是指细节程度最高的模型,该模型通常是已经蒙皮好的,即已经有了对应的基准蒙皮数据。也即是说,基准模型会拥有更多的面数,按照细节程度分类,基准模型会拥有更高的质量。
7)待蒙皮模型,是指还未进行蒙皮的模型。
8)贴图信息,又称为UV信息,是贴图映射到网格模型表面的依据。U是图片在显示器水平方向上的坐标,V是图片在显示器垂直方向上的坐标。U和V的取值一般都是0-1,也就是水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度。
9)3D拓扑结构,在3D建模中,拓扑指多边形网格模型的点线面布局、结构、连接情况。
蒙皮数据记录有虚拟对象所对应的网格模型中的各个面片栅格的顶点造成影响骨骼,以及骨骼所造成的影响权重。为网格模型确定蒙皮数据,是虚拟对象的创建过程中必不可少的一步。
通常情况下,会针对同一个虚拟对象生成不同细节程度的网格模型,以使得虚拟对象在不同型号和质量的硬件的设备上都能够显示。然而,不同细节程度的网格模型都需要经过蒙皮,才能够正常显示。若是每个细节程度的网格模型,都由动画师手动进行蒙皮,无疑会给动画师造成很大的工作负担。
相关技术中,存在一些蒙皮辅助工具,能够辅助动画师进行蒙皮。在此过程中,蒙皮辅助工具会先根据骨骼结构,为网格模型的面片栅格的各个顶点,生成平均权重,然后再由动画师,对各个顶点的平均权重进行调整。
示例性的,图1是虚拟对象的网格模型的示意图,参见图1,虚拟对象的网格模型1-1,是由很多的面片栅格(三角形的面片和四边形的面片)所搭建成的,即通过控制面片栅格的顶点,修改面片栅格的曲面的切线,来形成立体的网格模型。针对面片栅格1-2的顶点1-21,需要为其设置受到哪些骨骼的影响,以及受到骨骼影响的程度,即设置骨骼影响的权重。
图2是对顶点的进行蒙皮的示意图。辅助工具为图1中的面片栅格1-2的顶点1-21生成平均权重之后,辅助工具还需要响应动画师的点击编辑按钮2-1,展示骨骼列表2-2,并响应动画师在骨骼列表2-2中的选中操作,即选中骨骼_43 2-21的操作,弹出权重设置窗口2-3,并响应动画师在在权重设置窗口2-3的权重设置按钮2-31上的操作,获取到骨骼_432-21的权重0.750。同时,在权重设置窗口2-3中,还显示有对顶点1-21有影响的其他骨骼及其权重,即骨骼_40 2-22,对应的权重为0.250,骨骼_44 2-23,对应的权重为0.000。
由图1和图2可以看出,即使存在辅助工具,相关技术中,对虚拟对象的网络模型的蒙皮,也是十分繁琐的,特别是在多细节层次模型的数量成倍增加时,会使得蒙皮所需要的操作大幅上升,从而生成蒙皮数据所需要的时间也会大幅上升,最终使得蒙皮数据生成的效率较低。
本申请实施例提供一种蒙皮数据生成方法、装置、设备和计算机可读存储介质,能够提高蒙皮数据生成的效率。下面说明本申请实施例提供的蒙皮数据生成设备的示例性应用,本申请实施例提供的蒙皮生成设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器,还可以实施为由服务器和终端所组成的设备集群。下面,将说明设备实施为终端时示例性应用。
参见图3,图3是本申请实施例提供的蒙皮数据生成系统的一个可选的架构示意图。在蒙皮数据生成系统100中,为实现支撑一个蒙皮数据生成应用,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400-1用于获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型,其中,基准模型是细节程度最高的网格模型,待蒙皮模型为等待蒙皮的网格模型;针对待蒙皮模型中的各个面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点;基于基准蒙皮数据中与匹配顶点相对应的蒙皮信息,生成待蒙皮模型的目标蒙皮数据,以实现蒙皮数据生成的过程。
终端400-1通过网络300将目标蒙皮数据发送给服务器200进行存储。终端400-2可以从服务器200下载目标蒙皮数据,从而依据目标蒙皮数据生成待蒙皮模型的骨骼动画并展示在图形界面400-21中。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图4,图4是本申请实施例提供的蒙皮数据生成设备的结构示意图,图4所示的蒙皮数据生成设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。蒙皮数据生成设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图4示出了存储在存储器550中的蒙皮数据生成装置555,其可以是程序和插件等形式的软件,包括以下软件模块:数据获取模块5551、顶点匹配模块5552、蒙皮数据生成模块5553、离散网格识别模块5554和隐藏取消模块5555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的蒙皮数据生成装置可以采用硬件方式实现,作为示例,本申请实施例提供的蒙皮数据生成装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的蒙皮数据生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Comple x Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programma ble Gate Array)或其他电子元件。
示例性的,本申请实施例提供一种蒙皮数据生成设备,包括:
存储器,用于存储可执行蒙皮数据生成指令;
处理器,用于执行所述存储器中存储的可执行蒙皮数据生成指令时,实现本申请实施例提供的蒙皮数据生成方法。
下面,将结合本申请实施例提供的蒙皮数据生成设备的示例性应用和实施,说明本申请实施例提供的蒙皮数据生成方法。需要说明的是,当蒙皮数据生成设备实施为由服务器和终端所组成的设备集群时,可以借助于云技术,来实现本申请实施例提供的蒙皮数据生成方法。
参见图5,图5是本申请实施例提供的蒙皮数据生成方法的一个可选的流程示意图,将结合图5示出的步骤进行说明。
S101、获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型。
本申请实施例是在为虚拟场景中移动的虚拟对象的网格模型进行蒙皮的场景下实现的,例如,对游戏场景中的游戏角色的网格模型进行蒙皮,或者是对CG动画中的移动的汽车的网格模型进行蒙皮等,本申请在此不作限定。在蒙皮数据生成流程开始时,蒙皮数据生成设备首先会先获取目标对象所指定的基准模型和待蒙皮模型,同时获取基准模型的基准蒙皮数据,即基准模型是已经蒙皮过的模型。
需要说明的是,基准模型是细节程度最高的网格模型,待蒙皮模型为等待蒙皮的网格模型。其中,基准蒙皮数据可以是人工蒙皮得到的,也可以是由蒙皮辅助工具,辅助人工蒙皮得到的,还可以是蒙皮数据生成设备在上一轮次的蒙皮时生成的。
待蒙皮模型的细节程度可以低于基准模型,也可以与基准模型相同。示例性的,图6是本申请实施例提供的基准模型和待蒙皮模型的示意图。参见图6,某个虚拟对象的基准模型为6-1的面片栅格的数量,远远大于待蒙皮模型为6-2的面片栅格的数量,面片栅格越多,代表着细节更为丰富,从而,基准模型6-1的细节程度高于待蒙皮模型6-2。
可以理解的是,在一些实施例中,基准模型和待蒙皮模型是通过目标对象在蒙皮数据生成设备的显示界面上的操作来指定的。在此情况下,蒙皮数据生成设备会先检测目标对象是否在蒙皮生成界面的模型指定区域进行了操作,在检测到目标对象的操作时,就会在模型指定区域中,获取目标对象所指定的基准模型和待蒙皮模型。
模型指定区域设置在蒙皮生成界面的第一预设区域中,其中,第一预设区域的大小和位置均可以根据实际情况进行设置,本申请实施例在此不作限定。
在一些实施例中,模型指定区域可以分成两个子区域,即基准模型指定区域和待蒙皮模型指定区域。目标对象在模型指定区域中的操作可以是拖拽操作,此时,蒙皮数据生成设备可以将目标对象拖拽进基准模型指定区域的模型文件,作为基准模型,将目标对象拖拽到待蒙皮模型指定区域中模型文件,作为待蒙皮模型。
目标对象在模型指定区域中的操作还可以是输入操作,此时,蒙皮数据生成设备将名称为目标对象在基准模型指定区域所输入的内容的模型文件,作为基准模型,将名称为目标对象在待蒙皮模型指定区域所输入的内容的模型文件,作为待蒙皮模型。
在另一些实施例中,模型指定区域还可以是一整个区域,例如展示了不同的模型文件的下拉窗口等,目标对象在模型指定区域中的操作可以是选中操作,蒙皮数据生成设备依据目标对象的不同选中操作的次序,来确定出基准模型和待蒙皮模型。例如,将目标对象在模型指定区域的第一个模型文件,作为基准模型,将目标对象在模型指定区域的第二个模型文件,作为待蒙皮模型。
需要说明的是,基准模型和待蒙皮模型为同一个虚拟对象的不同细节程度的模型,待蒙皮模型可以为多细节层次(Levels of Detail,Lod)模型,还可以为目标对象指定的细节程度的模型,本申请在此不作限定。其中,Lod模型是指具有不同界别面数的模型。
在一些实施例中,待蒙皮模型可以没有初始蒙皮数据,此时,针对待蒙皮模型生成蒙皮数据,就是为待蒙皮模型中的各个面片栅格的每个顶点确定出对应的蒙皮信息。在另一些实施例中,待蒙皮模型可以具有初始蒙皮数据,该初始蒙皮数据是由美术组,或者动画师生成的,但是,该初始蒙皮数据仅是用于得到待蒙皮模型对应的模型文件,其所记录的待蒙皮模型的各个顶点的蒙皮信息,并不一定是正确的,需要根据基准模型的蒙皮信息进行更正。
目标对象为进行蒙皮工作的任意用户,例如动画师,设计人员等。
S102、针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点。
蒙皮数据生成设备在获取到基准模型、待蒙皮模型和基准蒙皮数据之后,就会依据待蒙皮模型中的每个顶点的顶点信息,以及基准模型中的各个顶点的顶点信息,针对待蒙皮模型中的各个面片栅格的每个顶点,从基准模型的各个面片栅格的顶点中,寻找出对应的匹配顶点。
可以理解的是,顶点信息可以是顶点的位置坐标、贴图数据和法线向量等,本申请在此不作限定。
可以理解的是,蒙皮数据生成设备可以利用待蒙皮模型中的每个顶点的顶点信息,与基准模型中的各个顶点之间的顶点信息的差异,来为待蒙皮模型中的每个顶点确定出对应的匹配顶点;还可以将从基准模型将相同坐标的各个顶点中,依据利用待蒙皮模型中的每个顶点的坐标,挑选出具有相同坐标的匹配顶点。当然,蒙皮数据生成设备还可以根据实际需求,来设置查找匹配顶点的方式,本申请在此不作限定。
需要说明的是,面片栅格是构成网格模型的基本单位,基准模型和待蒙皮模型,都是由面片栅格做拼接出来的。
在一些实施例中,蒙皮数据生成设备针对待蒙皮模型中的面片栅格的每个顶点寻找匹配顶点的过程,可以是由目标对象来触发的。例如,蒙皮生成设备会检测目标对象是否对蒙皮生成界面中的蒙皮生成标识进行了操作,以判断出目标对象是否要开始蒙皮数据生成过程。当蒙皮数据生成设备检测到目标对象针对蒙皮生成标识的操作之后,就会响应于该操作,开始为每个顶点查找匹配顶点的过程。
在一些实施例中,蒙皮生成标识可以设置在蒙皮生成界面的第二预设区域中,其中,第二预设区域的大小和位置均可以根据实际情况进行设置。进一步的,为了模型指定区域和蒙皮生成标识之间不会发生重叠,影响目标对象的查看,第一预设区域和第二预设区域不重叠。
示例性的,图7A是本申请实施例提供的蒙皮生成界面的示意图一。在蒙皮生成界面7-1的上半部分,设置有模型指定区域7-11,其中,模型指定区域7-1分为了基准模型指定区域7-111和待蒙皮模型指定区域7-112,目标对象可以通过将模型文件拖拽至基准模型指定区域7-111和待蒙皮模型指定区域7-112中,来指定基准模型和待蒙皮模型。在蒙皮生成界面7-1的底部,设置有蒙皮生成标识7-12,目标对象可以通过触发该标识,来开始针对待蒙皮模型的蒙皮数据生成过程。
S103、基于基准蒙皮数据中与匹配顶点相对应的蒙皮信息,生成待蒙皮模型的目标蒙皮数据。
蒙皮数据生成设备从基准蒙皮数据中,提取出匹配顶点对应的蒙皮信息,然后将匹配顶点的蒙皮信息,作为待蒙皮模型的各个面片栅格的每个顶点所对应的蒙皮信息,并利用这些蒙皮信息,组成待蒙皮模型的目标蒙皮数据。如此,蒙皮数据生成设备就可以直接从基准模型数据中,直接得到待蒙皮模型的面片栅格的每个顶点的蒙皮信息,不再需要目标对象手动对待蒙皮模型进行蒙皮,以得到蒙皮信息,节约了针对待蒙皮模型进行蒙皮时的时间。
可以理解的是,蒙皮信息可以是指对匹配顶点造成影响的骨骼的数量、对匹配顶点造成影响的骨骼的名称、骨骼对匹配顶点的影响程度中的任意一个或多个,本申请在此不作限定。
图7B是本申请实施例提供的目标蒙皮数据的效果示意图。在模型动画界面7-2中,显示有基于某个游戏角色(虚拟对象)的基准蒙皮数据生成的动作7-21,以及基于该游戏角色的目标蒙皮数据生成的动作7-22,这两个动作并无差异,说明通过本申请所得到的目标蒙皮数据准确、有效。
本申请实施例中,蒙皮数据生成设备能够获取到细节程度最高的基准模型、基准蒙皮数据,以及等待蒙皮的待蒙皮模型,然后从基准模型中,针对待蒙皮模型的各个面片栅格的每个顶点,查找出对应的匹配顶点,并直接基于基准蒙皮数据中提取出匹配顶点的蒙皮信息,生成待蒙皮模型的目标蒙皮数据。如此,能够利用已有的基准蒙皮数据,直接为待蒙皮模型自动进行蒙皮,大幅度减少为待蒙皮模型生成目标蒙皮数据的时间,也就提高了蒙皮数据生成的效率。
在本申请的一些实施例中,针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点之前,即在S102之前,该方法还可以包括:S104,如下:
S104、获取蒙皮生成参数。
需要说明的是,蒙皮生成参数为查找每个顶点的匹配顶点时参与计算的参数。也就是说,在本申请实施例中,蒙皮数据生成设备可以结合待蒙皮模型中的每个顶点的顶点信息、基准模型中的各个顶点的顶点信息,以及蒙皮生成参数,共同从基准模型的各个顶点中,为待蒙皮模型的每个顶点筛选出匹配顶点。
也就是说,针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点,即S102的具体实现过程,可以包括:S1021,如下:
S1021、基于蒙皮生成参数,从基准模型中查找出待蒙皮模型中的面片栅格的每个顶点所对应的匹配顶点。
可以理解的是,蒙皮生成参数可以包括距离因子、法向因子和贴图因子中的一个或多个。蒙皮生成参数可以是蒙皮数据生成设备的内置参数,即默认参数,还可以是由目标对象所输入的参数。
在一些实施例中,蒙皮生成参数可以由目标对象在蒙皮生成界面中所设置的蒙皮参数区域中输入。蒙皮数据生成设备在检测到目标对象针对蒙皮参数区域的输入操作时,就会明确目标对象当前正在输入蒙皮生成参数,并在目标对象结束输入操作之后,从蒙皮参数区域中获取到蒙皮生成参数。
进一步的,距离因子、法向因子和贴图因子,均可以通过蒙皮参数区域中其各自对应的输入子区域来输入。
示例性的,基于图7A,参见图8,图8是本申请实施例提供的蒙皮生成界面的示意图二。在蒙皮生成界面7-1的上半部分,设置有蒙皮参数区域7-3,其中设置有距离因子输入区域7-31、贴图因子输入区域7-32和法向因子输入区域7-33,目标对象可以在这些区域,分别输入距离因子、贴图因子和法向因子。
本申请实施例中,蒙皮数据生成设备还能够获取蒙皮生成参数,以利用蒙皮生成参数来进行查找每个顶点的匹配顶点时的计算,以便于后续查找出对应的匹配顶点。
需要说明的是,在目标对象没有对蒙皮参数区域进行操作,从而蒙皮数据生成设备无法获取到蒙皮生成参数时,蒙皮生成设备可以直接利用每个顶点的顶点位置与候选顶点的顶点位置,计算出顶点距离,将顶点距离作为误差值;或者是在计算出顶点距离之后,再结合每个顶点的法线向量和候选顶点的法线向量的乘积与1之间的差值,来得到误差值;又或者是在计算出顶点距离,且得到向量的乘积与1之间的差值之后,再结合进每个顶点的贴图信息和候选顶点的贴图信息之间的差异,来计算出误差值。
在本申请的一些实施例中,基于蒙皮生成参数,从基准模型中查找出待蒙皮模型中的所述面片栅格的每个顶点所对应的匹配顶点,即S1021的具体实现过程,可以包括:S1021a-S1021c,如下:
S1021a、针对待蒙皮模型的面片栅格的每个顶点,从基准模型中确定出多个候选顶点。
蒙皮数据生成设备可以将基准模型中的各个面片栅格的每个顶点,都作为待蒙皮模型的面片栅格的每个顶点的候选顶点,即将基准模型中的所有顶点都作为候选顶点。蒙皮数据生成设备还可以从基准模型中,先确定出与待蒙皮模型中的每个顶点所在的区域相对应的区域,然后将该区域中的各个顶点,作为待蒙皮模型中的每个顶点的候选顶点。也就是说,待蒙皮模型的面片栅格的每个顶点,都具有多个候选顶点。
另外,蒙皮数据生成设备还可以将基准模型中,与待蒙皮模型的每个顶点的法线方向相同的顶点,作为候选顶点,从而得到多个候选顶点。
S1021b、基于蒙皮生成参数、每个顶点的顶点信息和多个候选顶点各自的顶点信息,计算出每个顶点和多个候选顶点的多个误差值。
S1021c、将多个候选顶点中,与最小的误差值相对应的候选顶点,作为匹配顶点。
蒙皮数据生成设备基于蒙皮生成参数,每个顶点的顶点信息,以及每个候选顶点的顶点信息,计算出每个顶点和每个候选顶点之后的误差值。当蒙皮数据生成设备对多个候选顶点都计算出误差值之后,就得到了多个误差值。接着,蒙皮数据生成设备将多个误差值互相进行大小比较,从而确定出最小的误差值,然后将多个候选顶点中,与最小的误差值相对应的候选顶点,确定为匹配顶点。
需要说明的是,多个误差值表征每个顶点分别与所多个候选顶点的相关程度,即本申请实施例是依据相关程度来为每个顶点选择出对应的匹配顶点的。
本申请实施例中,蒙皮数据生成设备可以先为待蒙皮模型中的每个顶点,从基准模型中确定出多个候选顶点,然后计算出每个顶点与多个候选顶点的误差值,将多个候选顶点中,误差值最小的候选顶点作为匹配顶点。这样,就能够准确地为待蒙皮模型中的每个顶点确定出合适的匹配顶点,以便于后续得到合适的蒙皮信息。
在本申请的一些实施例中,蒙皮生成参数包括:距离因子;顶点信息包括:顶点位置,从而,基于蒙皮生成参数、每个顶点的顶点信息和多个候选顶点各自的顶点信息,计算出每个顶点和多个候选顶点的多个误差值,即S1021b的实现方法,可以包括:S201-S202,如下:
S201、利用每个顶点的顶点位置,以及多个候选顶点各自的顶点位置,分别计算出每个顶点与多个候选顶点的多个顶点距离。
S202、将多个顶点距离分别与距离因子的乘积,作为多个误差值。
蒙皮生成设备计算出每个顶点的顶点位置,分别与多个候选顶点各自的顶点位置之间的差异,将该差异作为每个顶点与每个候选顶点之间的距离,从而得到多个顶点距离。然后,蒙皮数据生成设备将每个顶点距离,分别与距离因子相乘,将所得到的乘积作为每个候选顶点对应的误差值,从而得到多个误差值。
可以理解的是,蒙皮数据生成设备可以先对每个顶点的顶点位置和每个候选顶点的顶点位置做差,然后对得到的差值进行平方,得到每个候选顶点对应的顶点距离,或者是对差值的平方再进行平方根计算,得到每个候选顶点对应的顶点距离。
示例性的,本申请实施例提供了一种计算误差值的公式,参见式(1):
e=sqrt((d1-d2)2)×distFactor (1)
其中,d1为待蒙皮模型中的每个顶点的顶点位置,d2为基准模型中的每个候选顶点的顶点位置,disFactor为距离因子,sqrt为平方根计算,e为计算出的误差值。
本申请实施例中,蒙皮上生成设备可以依据顶点位置先计算出误差值,然后来计算出,从而能够仅从距离维度上,直观地判断出每个顶点和多个候选顶点之间的相关程度,得到误差值。
在本申请的一些实施例中,蒙皮生成参数包括:距离因子和法向因子,顶点信息包括:法线向量和顶点位置。基于蒙皮生成参数、每个顶点的顶点信息和多个候选顶点各自的顶点信息,计算出每个顶点和多个候选顶点的多个误差值,即S1021b的具体实现过程,可以包括:S203-S206,如下:
S203、利用每个顶点的顶点位置,以及多个候选顶点各自的顶点位置,分别计算出每个顶点与多个候选顶点中的每个候选顶点的顶点距离。
需要说明的是,本步骤和S201的实现过程基本类似,在此不再赘述。
S204、依据每个顶点的法线向量和每个候选顶点的法线向量,分别判断出每个顶点和每个候选顶点的法向差异。
仅在距离维度上计算误差值,可能会出现将误差值较小,但是法线方向与待蒙皮模型上的每个顶点的法线方向差异较大的候选顶点,确定为匹配顶点的情况,从而出现所得到的匹配顶点并不合适的情况。本申请实施例中,蒙皮数据生成设备还可以在计算出顶点距离之后,再利用每个顶点的法线向量和多个候选定点的法线向量,判断出每个顶点法向和每个候选顶点的法向之间的差异,从而得到每个顶点和每个候选顶点的法向差异。
可以理解的是,法向差异可以通过每个顶点的法线向量和每个候选顶点的法线向量的符号来确定,还可以通过将每个候选顶点的法线向量投影到每个顶点的法线向量上来确定。
S205、对顶点距离和距离因子的乘积,以及法向差异与法向因子的乘积求和,得到每个顶点和每个候选顶点的误差值。
S206、当对多个候选顶点均确定出误差值时,得到多个候选顶点的多个误差值。
蒙皮数据生成设备将顶点距离和距离因子相乘,将法向差异与法向因子相乘,然后再将顶点距离和距离因子的乘积,与法向差异与法向因子的乘积求和,得到每个顶点与每个候选顶点的误差值。当对每个候选顶点都确定出对应的误差值之后,就能够得到多个误差值。
示例性的,本申请实施例提供了另一种计算误差值的公式,参见式(2):
e=sqrt((d1-d2)2)×distFactor+(1-(n1·n2))×normalFactor (2)
其中,n1为待蒙皮模型中的每个顶点的单位法线向量,n2为每个候选顶点的单位法线向量,normalFactor为法线因子,其余参数的含义与式(1)相同。
本申请实施例中,蒙皮数据生成设备还能够先计算出每个顶点与每个候选顶点的顶点距离,然后计算出每个顶点的法线向量与每个候选顶点的法线向量,确定出每个顶点和每个候选顶点的法向差异,再将顶点距离和距离因子的乘积,与法线差异与法向因子的乘积求和,得到每个顶点和每个顶点的误差值,从而得到多个误差值。如此,蒙皮数据生成设备就能够同时结合距离维度和法向维度,进行误差值的确定,从而使得误差值更加准确,也就使得匹配顶点更加准确。
在本申请的一些实施例中,蒙皮生成参数包括:距离因子、贴图因子和法向因子,顶点信息包括:贴图信息、法线向量和顶点位置。基于蒙皮生成参数、每个顶点的顶点信息和多个候选顶点各自的顶点信息,计算出每个顶点和多个候选顶点的多个误差值,即S1021b的具体实现过程,可以包括:S207-2011,如下:
S207、利用每个顶点的顶点位置,以及多个候选顶点各自的顶点位置,计算出每个顶点与多个候选顶点中的每个候选顶点的顶点距离。
需要说明的是,本步骤和S201的实现过程基本类似,在此不再赘述。
S208、对每个顶点的贴图信息和多个候选顶点各自的贴图信息求差值,分别得到每个顶点与每个候选顶点的贴图差异。
蒙皮数据生成设备对每个顶点的贴图信息和多个候选顶点中的每个候选顶点的贴图信息进行做差,将所得到的差值作为每个顶点与每个候选顶点之间的贴图差异,如此,就能够得到多个贴图差异。
可以理解的是,贴图信息可以是指贴图坐标,从而,贴图差异就是指贴图坐标的差异。贴图信息还可以为进行贴图的图像,从而,贴图的差异为贴图的图像之间的差异。
S209、依据每个顶点的法线向量和多个候选顶点的法线向量,分别判断出每个顶点和每个候选顶点的法向差异。
可以理解的是,本步骤和S204的实现过程基本类似,在此不再赘述。
S210、对顶点距离和距离因子的乘积、贴图差异与贴图因子的乘积以及法向差异与法向因子的乘积进行求和,得到每个顶点和每个候选顶点的误差值。
S211、当对多个候选顶点均确定出误差值时,得到多个候选顶点的多个误差值。
蒙皮数据生成设备将顶点距离和距离因子相乘,得到顶点距离和距离以你这的乘积,将贴图差异和贴图因子相乘,得到贴图差异和贴图因子的乘积,并将法向差异和法向因子相乘,得到法向差异和法向因子的乘积。然后,蒙皮数据生成设备将顶点距离和距离因子的乘积、贴图差异与贴图因子的乘积,以及法向差异与法向因子的乘积进行累加,所得到的累加结果,就是每个顶点和每个候选顶点的误差值。当对多个候选顶点均确定出误差值时,就能够得到多个误差值。
示例性的,本申请实施例提供了又一种计算误差值的公式,如式(3)所示:
e=sqrt((d1-d2)2)×distFactor+(UV1-UV2)×uvFactor+(1-(n1·n2))×normalFactor (3)
其中,UV1为每个顶点的贴图信息,UV2表示每个候选顶点的贴图信息,uvFactor表示贴图因子。其余参数的含义,与式(1)和式(2)相同。
本申请实施例中,蒙皮数据生成设备还能够在距离维度和法向维度上,再结合上贴图信息维度,来综合计算出误差值,从而进一步提升误差值的准确度。
在本申请的一些实施例中,针对待蒙皮模型的面片栅格的每个顶点,从基准模型中确定出多个候选顶点,即S1021a的具体实现过程,可以包括:S301-S303,如下:
S301、获取待蒙皮模型的骨骼数据和基准模型的骨骼数据。
S302、依据待蒙皮模型的骨骼数据中与每个顶点所对应的骨骼,从基准模型的骨骼数据中找到匹配的骨骼。
为了减少为待蒙皮模型中的每个顶点确定匹配顶点所需要的计算量,本申请实施例中,是先确定出待蒙皮模型的每个顶点,在待蒙皮模型的骨骼数据中所处于的骨骼部分,然后再基准模型中查找与该骨骼部分相对应的骨骼部分,从而将从基准模型中查找出的骨骼部分,作为匹配的骨骼。例如,当某个顶点处于待蒙皮模型的左大腿时,蒙皮数据生成设备就可以将基准模型的左大腿,作为匹配的骨骼。
可以理解的是,蒙皮数据生成设备可以依据每个顶点所对应的骨骼的名称,或者是每个顶点所对应的骨骼的编号,从基准模型中查找到匹配的骨骼,本申请实施例在此不作限定。
S303、将匹配的骨骼的所对应的各个顶点,确定为多个候选顶点
蒙皮数据生成模型将处于基准模型中的匹配的骨骼上的顶点进行获取,将这些获取到的顶点,作为候选顶点,从而就得到了多个候选顶点。
本申请实施例中,蒙皮数据生成设备能够依据待蒙皮模型的每个顶点所对应的骨骼,从基准模型中找到相应的骨骼,作为匹配的骨骼,然后将匹配的骨骼中的各个顶点,作为多个候选顶点,这样,能够减少候选的顶点的数量,从而减少确定匹配顶点时所需要的计算量。
在本申请的一些实施例中,在获取待蒙皮模型的骨骼数据和基准模型的骨骼数据之前,即在S301之前,该方法还可以包括:S304-S305,如下:
S304、对待蒙皮模型进行遍历,得到待蒙皮模型的骨骼树。
为了能够为待蒙皮模型中的每个顶点所对应的骨骼,能够从基准模型中确定出匹配的骨骼,必须要保证待蒙皮模型和基准模型的骨骼结构是一致的。在此情况下,蒙皮数据生成设备会先对待蒙皮模型进行遍历,从中得到待蒙皮模型的骨骼层级结构,即得到待蒙皮模型的骨骼树。其中,骨骼树描述了待蒙皮模型的骨骼的层级结构。
S305、将待蒙皮模型的骨骼树,与基准模型的骨骼数据进行对比,确定出待蒙皮模型和基准模型的相同骨骼部分对应的待蒙皮模型的骨骼数据。
蒙皮数据生成设备将待蒙皮模型的骨骼数和基准模型的骨骼数据进行比较,将待蒙皮模型和基准模型共同存在的骨骼部分确定出来,得到相同骨骼部分。也就是说,蒙皮数据生成设备从基准模型中查找除了待蒙皮模型所拥有的骨骼部分。蒙皮数据生成设备从基准模型中,将相同骨骼部分所对应的骨骼的数据,即骨骼的名称、编号、父骨骼、子骨骼等数据提取出来,将这些数据进行确定为待蒙皮模型的骨骼数据。这样,就能够保证待蒙皮模型和基准模型的骨骼结构一致性。
需要说明的是,待蒙皮模型的骨骼数和基准模型的骨骼数,都是指虚拟对象在搭建时由父骨骼和各级子骨骼所组成的树形结构,从而,从而对比骨骼树,能够确保待蒙皮模型和基准模型骨骼结构的一致性。
可以理解的是,基准模型的骨骼树和骨骼数据,都是在基准模型的创建过程中设计好的。
本申请实施例中,蒙皮数据生成设备能够遍历出待蒙皮模型的骨骼树,然后将骨骼树与基准模型的骨骼树进行对比,确定出相同骨骼部分,然后将基准模型的骨骼数据中与相同骨骼部分所对应的骨骼数据直接赋给待蒙皮模型,保证了待蒙皮模型和基准模型的骨骼结构一致性。
在本申请的一些实施例中,获取待蒙皮模型的骨骼数据和基准模型的骨骼数据,即S301的具体实现过程,可以包括:S3011,如下:
在此情况下,获取待蒙皮模型的骨骼数据和基准模型的骨骼数据,即S301的具体实现过程,还可以包括:S3011,如下:
S3011、获取基准模型的骨骼数据,并将基准模型的骨骼数据进行复制,得到待蒙皮模型的骨骼数据。
蒙皮数据生成设备在获取待蒙皮模型的骨骼数据和基准模型的骨骼数据时,可以先获取基准模型的骨骼数据,然后将基准模型的骨骼数据进行复制,将复制出的骨骼数据,作为待蒙皮模型的骨骼数据,从而保证了待蒙皮模型和基准模型的骨骼结构一致性。
在一些实施例中,S3011的骨骼数据获取方式,可以通过目标对象对蒙皮生成界面中所设置的复制骨骼标识进行操作来触发。当目标对象操作了骨骼复制标识之后,蒙皮数据生成设备响应于针对复制骨骼标识的操作,会将待蒙皮模型的骨骼数据的获取方式确定为直接复制,即从基准模型中直接复制骨骼数据作为待蒙皮模型的骨骼数据。
示例性的,基于图8,参见图9,图9是本申请实施例提供的蒙皮生成界面的示意图三。在蒙皮生成界面7-1的蒙皮参数区域7-3的下方,设置有复制骨骼标识7-4,目标对象勾选了复制骨骼标识7-4之后,就会将待蒙皮模型的骨骼数据的获取方式确定为直接复制,以从基准模型的骨骼数据直接复制得到待蒙皮模型的骨骼数据。
本申请实施例中,蒙皮数据生成设备直接从基准模型的骨骼数据中,复制出待蒙皮模型的骨骼数据,从而保证基准模型和待蒙皮模型的骨骼结构一致性。
在本申请的一些实施例中,蒙皮信息包括:骨骼权重,骨骼权重表征匹配顶点受对应的骨骼的影响程度。在此情况下,基于基准蒙皮数据中与匹配顶点相对应的蒙皮信息,生成待蒙皮模型的目标蒙皮数据,即S103的具体实现过程,可以包括:S1031-S1032,如下:
S1031、将基准蒙皮数据中的匹配顶点的骨骼权重,作为待蒙皮模型的面片栅格的每个顶点的目标权重。
蒙皮数据生成设备从基准蒙皮数据中,获取与待蒙皮模型的每个顶点对象的匹配顶点的骨骼权重,然后将匹配顶点的骨骼权重,确定为对应的每个顶点的目标权重。从而,目标权重表征每个顶点受对应的骨骼的影响程度。
S1032、利用每个顶点的目标权重,作为待蒙皮模型的目标蒙皮数据。
蒙皮数据生成设备在得到每个顶点的目标权重之后,就会将每个顶点的目标权重整合在一起,得到待蒙皮模型的目标蒙皮数据。
本申请实施例中,蒙皮数据生成设备能够直接将匹配顶点的骨骼权重赋值给对应的每个顶点,从而得到每个顶点对应的目标权重,这样,就能够明确待蒙皮模型中的每个顶点受对应的骨骼的影响程度,从而能够在很短的时间之内完成蒙皮,得到目标蒙皮数据。
在本申请的一些实施例中,获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型之前,即在S101之前,该方法还可以包括:S105,如下:
S105、取消对基准模型的骨骼节点和待蒙皮模型的骨骼节点的隐藏,以正常获取到基准模型、待蒙皮模型和基准蒙皮数据。
目标对象在创建虚拟对象的基准模型和待蒙皮模型时,为了提高处理效率,可能对基准模型和待蒙皮模型设置了骨骼节点隐藏标识的模式,从而将基准模型的骨骼节点和待蒙皮模型的骨骼节点进行了隐藏。但是,隐藏骨骼节点,会使得后续基准模型、待蒙皮模型和基准蒙皮数据无法读取。因此,在本申请实施例中,为了能够正常读取上述数据,蒙皮数据生成设备会先对基准模型的骨骼节点和待蒙皮模型的骨骼节点的隐藏进行取消,以便于后续能够正常获取到蒙皮数据生成过程中所必需的数据。
在一些实施例中,目标对象可以通过对蒙皮生成界面中所设置的取消节点隐藏标识进行操作,来触发取消对基准模型的骨骼节点和待蒙皮模型的骨骼节点的隐藏。当检测到目标对象对取消节点隐藏标识的操作之后,就会响应该操作,取消对基准模型骨骼节点和待蒙皮模型的骨骼节点的隐藏。
示例性的,基于图9,参见图10,图10是本申请实施例提供的蒙皮生成界面的示意图四。在蒙皮生成界面7-1的底部,还设置有取消节点隐藏标识7-5,目标对象点击了取消节点隐藏标识7-5之后,蒙皮数据生成设备就会取消对基准模型和待蒙皮模型的骨骼节点的隐藏。
本申请实施例中,为了能够正常获取到基准模型、待蒙皮模型和基准蒙皮数据,蒙皮数据生成设备能够在读取基准模型、待蒙皮模型和基准模型数据之前,取消对骨骼节点的隐藏,从而正常读取上述数据。
在本申请的一些实施例中,在获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型之前,即在S101之前,该方法还可以包括:S106,如下:
S106、获取模型网格的名称。
本申请实施例中,待蒙皮模型可以为未蒙皮模型文件中的一部分,基准模型可以为已蒙皮模型文件的一部分,例如,未蒙皮模型文件和已蒙皮模型文件均为虚拟对象的模型文件,待蒙皮模型为未蒙皮模型文件中的头部,基准模型为已蒙皮模型文件中的头部等。
在此情况下,获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型,即S101的具体实现过程,可以包括:
S1011、获取已蒙皮模型文件和未蒙皮模型文件。
S1012、依据模型网格的名称,从已蒙皮模型文件中提取出基准模型和基准蒙皮数据,从未蒙皮文件中提取出待蒙皮模型。
蒙皮数据生成设备先获取已蒙皮模型文件和未蒙皮模型文件,已蒙皮模型文件中保存着各个网格模型的基准蒙皮数据。接着,蒙皮数据生成设备依据目标对象所输入的网格模型的名称,在已蒙皮模型文件和未蒙皮模型文件中,查找出拥有相同或相似名称的网格模型,将从已蒙皮模型文件中查找出的网格模型,确定为基准模型,将从未蒙皮模型文件中查找出的网格模型,确定为待蒙皮模型。最后,蒙皮数据生成设备会获取从已蒙皮模型文件中提取出出基准模型对应的蒙皮数据,从而得到基准蒙皮数据。
可以理解的是,已蒙皮模型文件中包括了多个网格模型,未蒙皮模型文件也包括了多个网格模型,这些网格模型分别对应虚拟对象的一个部位,例如,头、手、头发等。进一步的,已蒙皮模型文件中包括的多个网格模型的细节程度,比未蒙皮模型文件中包括的多个网格模型的细节程度要高。
示例性的,图11是本申请实施例提供的已蒙皮模型文件和待蒙皮模型文件的结构示意图。左侧区域展示的是某个游戏人物(虚拟对象)的已蒙皮模型文件的结构,其名称为:游戏人物_高细节11-1,其下具有5个不同的网格模型,分别为:剑_高细节11-11、躯干_高细节11-12、头_高细节11-13、手_高细节11-14和头发_高细节11-15。右侧区域展示的是某个游戏人物(虚拟对象)的未蒙皮模型文件的结构,未蒙皮模型文件为Lod模型文件,其名称为:游戏人物_Lod 11-2,其下具有5个不同的网格模型,分别为:剑_Lod 11-21、躯干_Lo d11-22、头_Lod 11-23、手_Lod 11-24和头发_Lod 11-25。
在一些实施例中,模型网格的名称可以是由蒙皮数据生成设备自动生成的,例如,蒙皮数据生成设备按照虚拟对象的骨骼结构,依次来生成模型网格的名称,以便于依次对虚拟对象的各个部位依次蒙皮。
在另一些实施例中,模型网格的名称,可以是目标对象在蒙皮数据生成设备的显示界面上输入的。针对这种情况,蒙皮生成界面中设置有模型名称输入区域,以便于目标对象在模型名称输入区域中指定待蒙皮模型和基准模型。已蒙皮模型文件和未蒙皮模型文件,则可以是通过目标对象的拖拽操作所输入的。
进一步的,基于图10,参见图12,图12是本申请实施例提供的蒙皮生成界面的示意图五,在蒙皮生成界面7-1的复制骨骼标识7-4的下方,设置有模型名称输入区域7-6,若目标对象在模型指定区域7-6所输入的为头部7-61,那么,蒙皮数据生成设备就会从图11所示的游戏人物_高细节11-1和游戏人物_Lod 11-2中,分别查找包含有“头”的网格模型,从而将头_高细节11-13作为基准模型,将头_Lod 11-23作为待蒙皮模型。
本申请实施例中,蒙皮生成界面中还可以先获取模型网格的名称,然后再从获取到的已蒙皮模型文件和未蒙皮模型文件中,分别查找出对应的基准模型和待蒙皮模型。
在本申请的一些实施例中,在获取基准模型、基准模型对应的基准蒙皮数据以及待蒙皮模型之后,针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点之前,即在S101之后,S102之前,该方法还可以包括:S107-S108,如下:
S107、获取待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及基准模型的第二网格模型标识和对应的第二离散网格文件。
本申请实施例中,待蒙皮模型和基准模型都可以包含有多个离散的网格模型,这些离散的网格模型的面片栅格互不相连,从而,可以分别进行蒙皮数据的生成。目标对象可以在详细蒙皮界面中,输入需要待蒙皮模型中需要蒙皮的网格模型的标识,即输入第一网格模型标识和第二网格模型标识,以及指定待蒙皮模型对应的第一离散网格文件和基准模型对应的第二离散网格文件。
需要说明的是,待蒙皮模型对应的第一离散网格文件中,记录有已经计算好的待蒙皮模型的离散网格模型的数据,同理的,基准模型对应的第二离散网格文件中,记录有基准模型的离散网格模型的数据。
S108、依据第一网格模型标识从第一离散网格文件中提取出第一离散网格模型,以及依据第二网格模型标识从第二离散网格文件中提取出第二离散网格模型。
接着,蒙皮数据生成设备会依据目标对象所输入的第一网格模型标识,在待蒙皮模型对应的第一离散网格文件中提取出与第一网格模型标识所对应的网格模型,将提取出的网格模型作为第一离散网格模型。同理的,蒙皮数据生成设备会依据与获取第一网格模型相同的方式,依据第二网格模型标识从基准模型对应的第二离散网格文件中提取出第二离散网格模型。
相应的,针对待蒙皮模型中的面片栅格的每个顶点,从基准模型中查找出对应的匹配顶点,即S102具体实现方式,可以包括:
S1022、针对第一离散网格模型中的面片栅格的每个顶点,从第二离散网格模型中查找出匹配顶点。
也就是说,本申请实施例中,是将第一离散网格模型作为新的待蒙皮模型,将第二离散网格模型作为基准模型,然后进行匹配顶点的查找,以便于为目标对象所指定的离散网格模型实现蒙皮。
在一些实施例中,待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及基准模型的第二网格模型标识和对应的第二离散网格文件,可以响应于目标对象在详细蒙皮界面中的输入操作来实现的,其中,详细蒙皮界面可以是目标对象在触发了蒙皮生成界面的离散蒙皮标识之后展示的。
可以理解的是,详细蒙皮界面相比于蒙皮生成界面,提供了更多的参数指定区域,例如指定离散网格模型的网格模型指定区域和指定离散文件指定区域。
示例性的,基于图12,参见图13,图13是本申请实施例提供的蒙皮生成界面的示意图六。在蒙皮生成界面7-1的模型指定区域7-6下方,设置有离散蒙皮标识,即快速7-7按钮,该按钮的初始状态是被勾选了的,目标对象针对离散蒙皮标识的操作,可以是对快速7-7按钮的取消勾选操作。在目标对象取消勾选快速7-7之后,就会出现详细蒙皮界面了。
在一些实施例中,详细蒙皮界面中可以设置有网格模型指定区域,蒙皮数据生成设备可以响应于针对详细蒙皮界面的网格模型指定区域的输入操作,获取待蒙皮模型的第一网格模型标识,以及基准模型的第二网格模型标识。
可以理解的是,网格模型指定区域可以分为两个子区域,分别为待蒙皮模型的网格模型指定子区域和基准模型的网格模型指定子区域,从而,目标对象可以在这两个子区域中,分别输入第一网格模型标识和第二网格模型标识。
同理的,详细蒙皮界面中还可以设置有离散文件指定区域,蒙皮数据生成设备可以响应于针对详细蒙皮界面的离散文件指定区域的输入操作,依据输入的文件名称分别获取待蒙皮模型对应的第一离散网格文件和基准模型对应的第二离散网格文件。
可以理解的是,离散文件指定区域可以为一个区域,待蒙皮模型对应的文件名称和基准模型对应的文件名称,可以利用逗号等标识进行隔开。离散文件指定区域也可以分为两个子区域,即待蒙皮离散文件指定子区域和基准模型离散文件指定子区域。目标对象可以在这两个子区域中,分别输入待蒙皮模型的第一离散网格模型数据所对应的文件名称,以及基准模型对应的第二离散网格模型数据对应的文件名称。
示例性的,图14是本申请实施例提供的详细蒙皮界面的示意图。在详细蒙皮界面14-0中,除了设置的模型指定区域14-1(包含基准模型指定区域14-11和待蒙皮模型指定区域14-12)、蒙皮参数区域14-2(包含距离因子输入区域14-21、贴图因子输入区域14-22和法向因子输入区域14-23)、复制骨骼标识14-3、取消节点隐藏标识14-4、还设置有离散蒙皮标识,即快速14-5按钮(此时的状态为未勾选)、网格模型指定区域14-6(包含待蒙皮模型的网格模型指定子区域14-61和基准模型的网格模型指定子区域14-62)以及离散文件指定区域14-7(包括了待蒙皮模型的离散文件指定子区域14-71和基准模型的离散文件指定子区域14-72)。
本申请实施例中,蒙皮数据生成设备从待蒙皮模型中提取出需要蒙皮的第一离散网格模型,以及从基准模型中提取出第一离散网格模型对应的第二离散网格模型,以开始离散网格模型的蒙皮。
在本申请的一些实施例中,在获取待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及基准模型的第二网格模型标识和对应的第二离散网格文件之前,即在S107之前,该方法还可以包括:S109-S110,如下:
S109、对基准模型的各个面片栅格的相连关系进行扫描,得到基准模型的各个离散网格模型。
蒙皮数据生成设备可以对基准模型的各个面片栅格的相连关系进行扫描,从而确定出相互分离的各个离散网格模型。
S110、将基准模型的各个离散网格模型存储为基准模型的第二离散网格文件。
最后,蒙皮数据生成设备将所扫描出的各个离散网格模型,自动以文件的形式进行存储,从而得到了离散网格文件。
可以理解的是,蒙皮数据生成设备对基准模型的面片栅格的相连关系的扫描过程,可以是在蒙皮数据生成设备在检测到目标对象触发了离散网格收集界面中的离散网格识别标识之后开始的。
在一些实施例中,将基准模型的各个离散网格模型存储为基准模型的离散网格文件的过程,也可以是由目标对象触发的,即目标对象在选中了这些离散网格模型之后,点击保存标识以进行保存。
示例性的,图15是本申请实施例提供的生成基准模型的离散网格文件的示意图。在离散网格收集界面15-1中,设置有对象指定区域15-11,蒙皮数据生成设备可以依据目标对象在对象指定区域15-11中输入的基准模型的名称,即头15-111,获取到头部的网格模型,即得到基准模型。然后,在目标对象点击了离散网格识别标识15-12时,蒙皮数据生成设备会对头部的网格模型进行扫描,确定出彼此分离的离散网格模型,即网格模型15-2、网格模型15-3、网格模型15-4和网格模型15-5,并在离散网格收集界面15-1的离散网格展示区域展示这些网格模型的编号。目标对象可以通过将这些编号进行勾选,并点击导出离散网格模型15-6的按钮,将这些离散网格模型导出为基准模型的离散网格文件。
本申请实施例中,蒙皮数据生成设备能够对基准模型的面片栅格的相连关系的扫描,以确定出基准模型的各个离散网格模型,并将其保存在离散网格文件,以便于后续的离散网格模型蒙皮。
在本申请的一些实施例中,所述获取待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及基准模型的第二网格模型标识和对应的第二离散网格文件之前,即S107之前,该方法还可以包括:S111-S112,如下:
S111、对待蒙皮模型的各个面片栅格的相连关系进行扫描,得到待蒙皮模型的各个离散网格模型。
S112、将待蒙皮模型的各个离散网格模型存储为待蒙皮模型的第一离散网格文件。
需要说明的是,S111-S112的实现过程,与S109-S111的实现过程较为类似,在此不再赘述。
本申请实施例中,蒙皮数据生成设备能够对待蒙皮模型的面片栅格的相连关系的扫描,以确定出待蒙皮模型的各个离散网格模型,并将其保存在离散网格文件,以便于后续的离散网格模型蒙皮。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例是在为游戏角色(虚拟对象)的Lod模型(待蒙皮模型)进行蒙皮的场景下实现的。图16是本申请实施例提供的对游戏角色的多细节层次模型进行蒙皮的过程示意图。参见图16,该过程包括:
S401、获取高模的数据和Lod模型的数据。
高模和Lod模型中,都会包含多个Mesh(网格模型),例如,头/脸、身体、头发等,每个Mesh都是由很多个三角形(面片栅格)组成的,这些三角形的的每个顶点,都会具有对应的坐标、UV坐标、法线信息等16-1。
为了确保能够读取到高模数据和Lod模型的初始数据,需要将制作引擎(Unity)中的游戏对象优化(Optimize GameObjects)选项的勾选去除,保证这两个模型可以显现骨骼结构,并且可以读取数据(取消对基准模型的骨骼节点和待蒙皮模型的骨骼节点的隐藏)。
S402、骨骼匹配。
高模和Lod模型的各个部分,均会遵循一定的命名规则,例如,body_Hig h、body_Lod、hair_High、hair_Lod。在骨骼匹配时,终端(蒙皮数据生成设备)可以通过Mesh的名称来进行对应即可。
以头为例,首先通过遍历获得Lod模型的骨骼树(待蒙皮模型的骨骼树),然后对比高模的骨骼数据,和高模相同的骨骼部分(相同骨骼部分)作为Lod模型的骨骼数据(待蒙皮模型的骨骼数据),从而保证的蒙皮的前提:骨骼结构一致。
S403、新建蒙皮信息数组。
在计算蒙皮数据时,可以新建一个蒙皮信息数组用来保存所计算出的数据,蒙皮信息数组的长度等同于高模的蒙皮信息数组的长度。
S404、对于Lod模型的每一个顶点A(待蒙皮模型的面片栅格的每个顶点),遍历高模所有顶点,将最小的误差值所对应的顶点作为近似的顶点A’。
最后,将A’的蒙皮数据作为A的蒙皮数据。。
终端获取到高模的数据(候选顶点的顶点信息)和Lod模型的数据(待蒙皮模型的每个顶点的顶点信息),即顶点的位置(顶点位置)、uv信息(贴图信息)和法线信息(法线向量),然后针对高模中的每一个顶点(候选顶点),首先计算其的法线方向和A点的法线方向是否相同,若是这两个顶点的法线方向不相同,则直接对高模的下一个顶点进行计算,若是同向,则按照公式(3)来计算误差值。
在直观感受上,只要计算这两个顶点的距离(顶点距离)就可以得到误差值了,但是,仅计算顶点距离会使得误差值有一些明显的误差,例如,对于Lo d模型的点x,在高模上有点y1和y2,虽然y2与x的距离更加接近,但是y2的法向与x的法向根据接近,那么y2才是更正确的选择。UV的比较则是一个辅助的精进项。
计算出的误差值代表着A与高模上的每个顶点的相关程度,误差值越小意味着相关程度越高,从而,高模上与A的误差值最小的顶点,才是A’(匹配顶点)。
高模(基准模型)与其Lod模型具有相似的拓扑结构和骨骼结构,高模与Lod模型相比,具有跟多的面数和顶点数,那么对于Lod模型中的每一个顶点A,都可以在高模上找到这个顶点近似的顶点A’,从而将A’的蒙皮数据,作为点A的蒙皮数据。
以上介绍了对一个完整的Mesh(待蒙皮模型),例如头进行蒙皮的过程。但在实际应用中,虽然头是作为一个完整的Mesh存放在FBX文件(未蒙皮模型文件)中的,但其实质上是由几块离散Mesh(离散网格模型)组成的,例如牙齿、舌头、脸部等。
图17是本申请实施例提供的头部与头部的离散网格的对比示意图。图17-1示出了头部的完整形状,图像17-2则示出头部的不同离散网格,即离散Mes h。针对图片17-1所示出的头部,其都是由如图17-2所示出的不相连的Mesh,即17-21、17-22、17-23等组成的。
为了适应更细致的蒙皮需求,可以对离散Mesh进行解析与识别,从而可以仅对想进行蒙皮的Mesh进行蒙皮,同时还可以利用高模中与Lod模型的Me sh(第一离散网格模型)相对应的Mesh(第二离散网格模型),来对Lod模型的Mesh进行蒙皮,例如,利用高模中的上牙对Lod模型中的上牙进行蒙皮,以避免在对Lod模型的上牙进行蒙皮时,误将下嘴唇的三角形的顶点,确定为Lod模型的上牙的三角形的顶点先对应的顶点,以出现错误。
图18是本申请实施例提供的利用离散网格进行蒙皮时与未利用离散网格进行蒙皮时的效果对比图。针对某个游戏角色,未利用离散Mesh进行蒙皮所得到的效果显示在区域18-1中,可见,游戏角色在说话时的嘴部上唇缺失;利用离散Mesh进行蒙皮所得到的效果消失在区域18-2中,可见,在利用离散Mesh进行蒙皮时,游戏角色在说话时嘴部上唇显示正常,更加贴合真人说话时的形象。
本申请的蒙皮时的设置,可以在图13所示出的界面进行。在对离散Mesh进行蒙皮时的设置,可以在图14示出的界面上进行。
上述蒙皮方式在各类游戏场景中都能够取得较好的蒙皮效果。图19是本申请实施例提供的利用高模的蒙皮数据为多细节层次模型进行蒙皮的适应场景示意图,从图19可以看出,无论是游戏人物的多细节层次模型,即Lod模型是在人物属性界面19-1,还是在任务场景界面19-2,都能够取得较好的蒙皮效果。进一步的,图20是本申请实施例提供的高模与多细节层次模型的动画效果对比图,高模的动画效果20-1与多细节层次模型的动画效果20-2,几乎没有差别,说明通过上述蒙皮方式,能够为多细节层次模型得到准确的蒙皮数据(目标蒙皮数据)。
通过上述方式,能够利用高模的蒙皮数据,自动生成Lod模型的蒙皮数据,从而自动对Lod模型进行蒙皮,减少了Lod模型的蒙皮数据生成所需要的时间,提高了Lod模型的蒙皮数据生成的效率。
下面继续说明本申请实施例提供的蒙皮数据生成装置555的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器540的蒙皮生成装置555中的软件模块可以包括:
数据获取模块5551,用于获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型;其中,所述基准模型是细节程度最高的网格模型,所述待蒙皮模型为等待蒙皮的网格模型;
顶点匹配模块5552,用于针对所述待蒙皮模型中的面片栅格的每个顶点,从所述基准模型中查找出对应的匹配顶点;
蒙皮数据生成模块5553,用于基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据。
在本申请的一些实施例中,所述数据获取模块5551,还用于获取蒙皮生成参数;所述蒙皮生成参数为查找所述每个顶点的所述匹配顶点时参与计算的参数;
所述顶点匹配模块5552,还用于基于所述蒙皮生成参数,从所述基准模型中查找出所述待蒙皮模型中的所述面片栅格的所述每个顶点所对应的匹配顶点。
在本申请的一些实施例中,所述顶点匹配模块5552,还用于针对所述待蒙皮模型的所述面片栅格的所述每个顶点,从所述基准模型中确定出多个候选顶点;基于所述蒙皮生成参数、所述每个顶点的顶点信息和所述多个候选顶点各自的顶点信息,计算出所述每个顶点和所述多个候选顶点的多个误差值;所述多个误差值表征所述每个顶点分别与所述多个候选顶点的相关程度;将所述多个候选顶点中,与最小的误差值相对应的候选顶点,作为所述匹配顶点。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子;所述顶点信息包括:顶点位置;
所述顶点匹配模块5552,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的多个顶点距离;将所述多个顶点距离分别与所述距离因子的乘积,作为所述多个误差值。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子和法向因子,所述顶点信息包括:法线向量和顶点位置;
所述顶点匹配模块5552,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的中的每个候选顶点的顶点距离;依据所述每个顶点的法线向量和所述每个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;对所述顶点距离和所述距离因子的乘积,以及所述法向差异与所述法向因子的乘积求和,得到所述每个顶点和所述每个候选顶点的误差值;当对所述多个候选顶点均确定出误差值时,得到所述多个候选顶点的多个误差值。
在本申请的一些实施例中,所述蒙皮生成参数包括:距离因子、贴图因子和法向因子,所述顶点信息包括:贴图信息、法线向量和顶点位置;
所述顶点匹配模块5552,还用于利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离;对所述每个顶点的贴图信息和所述多个候选顶点各自的贴图信息求差值,分别得到所述每个顶点与所述每个候选顶点的贴图差异;依据所述每个顶点的法线向量和所述多个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;对所述顶点距离和所述距离因子的乘积、所述贴图差异与所述贴图因子的乘积以及所述法向差异与所述法向因子的乘积进行求和,得到所述每个顶点和所述每个候选顶点的误差值;当对所述多个候选顶点均确定出误差值时,得到所述多个候选顶点的多个误差值。
在本申请的一些实施例中,所述顶点匹配模块5552,还用于获取所述待蒙皮模型的骨骼数据和所述基准模型的骨骼数据;依据所述待蒙皮模型的骨骼数据中与所述每个顶点所对应的骨骼,从基准模型的骨骼数据中找到匹配的骨骼;将所述匹配的骨骼的所对应的各个顶点,确定为所述多个候选顶点。
在本申请的一些实施例中,所述顶点匹配模块5552,还用于对所述待蒙皮模型进行遍历,得到所述待蒙皮模型的骨骼树;所述骨骼树描述所述待蒙皮模型的骨骼的层级结构;将所述待蒙皮模型的骨骼树,与所述基准模型的骨骼数据进行对比,确定出所述待蒙皮模型和所述基准模型的相同骨骼部分对应的所述待蒙皮模型的骨骼数据。
在本申请的一些实施例中,所述顶点匹配模块5552,还用于获取所述基准模型的骨骼数据,并将所述基准模型的骨骼数据进行复制,得到所述待蒙皮模型的骨骼数据。
在本申请的一些实施例中,所述数据获取模块5551,还用于获取所述待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及所述基准模型的第二网格模型标识和对应的第二离散网格文件;依据所述第一网格模型标识从所述第一离散网格文件中提取出第一离散网格模型,以及依据所述第二网格模型标识从所述第二离散网格文件中提取出第二离散网格模型;
所述顶点匹配模块5552,还用于针对所述第一离散网格模型中的面片栅格的每个顶点,从所述第二离散网格模型中查找出所述匹配顶点。
在本申请的一些实施例中,所述蒙皮生成装置555还包括:离散网格识别模块5554;所述离散网格识别模块5554,用于对所述待蒙皮模型的各个面片栅格的相连关系进行扫描,得到所述待蒙皮模型的各个离散网格模型;将所述待蒙皮模型的各个离散网格模型存储为所述待蒙皮模型的所述第一离散网格文件。
在本申请的一些实施例中,所述离散网格识别模块5554,还用于对所述基准模型的各个面片栅格的相连关系进行扫描,得到所述基准模型的各个离散网格模型;将所述基准模型的各个离散网格模型存储为所述基准模型的所述第二离散网格文件。
在本申请的一些实施例中,所述数据获取模块5551,还用于获取模型网格的名称;
所述数据获取模块5551,还用于获取已蒙皮模型文件和未蒙皮模型文件;依据所述模型网格的名称,从所述已蒙皮模型文件中提取出所述基准模型和所述基准蒙皮数据,从所述未蒙皮模型文件中提取出所述待蒙皮模型。
在本申请的一些实施例中,所述蒙皮数据生成模块5553,还用于将所述基准蒙皮数据中的所述匹配顶点的骨骼权重,作为所述待蒙皮模型的所述面片栅格的所述每个顶点的目标权重;所述目标权重表征所述每个顶点受对应的骨骼的影响程度;利用所述每个顶点的所述目标权重,作为所述待蒙皮模型的所述目标蒙皮数据。
在本申请的一些实施例中,所述蒙皮生成装置555还包括:隐藏取消模块5555;所述隐藏取消模块5555,用于取消对所述基准模型和所述待蒙皮模型的骨骼节点的隐藏,以正常获取到所述基准模型、所述待蒙皮模型和所述基准蒙皮数据。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的蒙皮数据生成方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行蒙皮数据生成指令,当可执行蒙皮数据生成指令被处理器执行时,将引起处理器执行本申请实施例提供的蒙皮数据生成方法,例如,如图5示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行蒙皮数据生成指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行蒙皮数据生成指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行蒙皮数据生成指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种蒙皮数据生成方法,其特征在于,包括:
获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型;所述基准模型是细节程度最高的网格模型,所述待蒙皮模型为等待蒙皮的网格模型;
利用所述待蒙皮模型中的面片栅格的每个顶点的顶点位置,以及从所述基准模型中查找到的多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离;
对所述每个顶点的贴图信息和所述多个候选顶点各自的贴图信息求差值,分别得到所述每个顶点与所述每个候选顶点的贴图差异;
依据所述每个顶点的法线向量和所述多个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;
对所述顶点距离和距离因子的乘积、所述贴图差异与贴图因子的乘积以及所述法向差异与法向因子的乘积进行求和,得到所述每个顶点分别和所述多个候选顶点的误差值;
将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点;
基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据。
2.根据权利要求1所述的方法,其特征在于,所述利用所述待蒙皮模型中的面片栅格的每个顶点的顶点位置,以及从所述基准模型中查找到的多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离之前,所述方法还包括:
获取所述距离因子、所述贴图因子和所述法向因子。
3.根据权利要求2所述的方法,其特征在于,所述利用所述待蒙皮模型中的面片栅格的每个顶点的顶点位置,以及从所述基准模型中查找到的多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离之前,所述方法还包括:
针对所述待蒙皮模型的所述面片栅格的所述每个顶点,从所述基准模型中确定出所述多个候选顶点。
4.根据权利要求1所述的方法,其特征在于,所述将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点之前,所述方法还包括:
利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的多个顶点距离;
将所述多个顶点距离分别与所述距离因子的乘积,作为所述每个顶点分别和所述多个候选顶点的误差值。
5.根据权利要求1所述的方法,其特征在于,所述将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点之前,所述方法还包括:
利用所述每个顶点的顶点位置,以及所述多个候选顶点各自的顶点位置,分别计算出所述每个顶点与所述多个候选顶点的中的每个候选顶点的顶点距离;
依据所述每个顶点的法线向量和所述每个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;
对所述顶点距离和所述距离因子的乘积,以及所述法向差异与所述法向因子的乘积求和,得到所述每个顶点分别和所述多个候选顶点的误差值。
6.根据权利要求3所述的方法,其特征在于,所述针对所述待蒙皮模型的所述面片栅格的所述每个顶点,从所述基准模型中确定出所述多个候选顶点,包括:
获取所述待蒙皮模型的骨骼数据和所述基准模型的骨骼数据;
依据所述待蒙皮模型的骨骼数据中与所述每个顶点所对应的骨骼,从基准模型的骨骼数据中找到匹配的骨骼;
将所述匹配的骨骼的所对应的各个顶点,确定为所述多个候选顶点。
7.根据权利要求6所述的方法,其特征在于,所述获取所述待蒙皮模型的骨骼数据和所述基准模型的骨骼数据之前,所述方法还包括:
对所述待蒙皮模型进行遍历,得到所述待蒙皮模型的骨骼树;所述骨骼树描述所述待蒙皮模型的骨骼的层级结构;
将所述待蒙皮模型的骨骼树,与所述基准模型的骨骼数据进行对比,确定出所述待蒙皮模型和所述基准模型的相同骨骼部分对应的所述待蒙皮模型的骨骼数据。
8.根据权利要求1至7任一项所述的方法,其特征在于,在所述获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型之后,所述将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点之前,所述方法还包括:
获取所述待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及所述基准模型的第二网格模型标识和对应的第二离散网格文件;
依据所述第一网格模型标识从所述第一离散网格文件中提取出第一离散网格模型,以及依据所述第二网格模型标识从所述第二离散网格文件中提取出第二离散网格模型;
所述将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点,包括:
将所述第二离散网格模型中的所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述第一离散网格模型中的所述面片栅格的所述每个顶点的所述匹配顶点。
9.根据权利要求8所述的方法,其特征在于,在所述获取所述待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及所述基准模型的第二网格模型标识和对应的第二离散网格文件之前,所述方法还包括:
对所述待蒙皮模型的各个面片栅格的相连关系进行扫描,得到所述待蒙皮模型的各个离散网格模型;
将所述待蒙皮模型的各个离散网格模型存储为所述待蒙皮模型的所述第一离散网格文件。
10.根据权利要求8所述的方法,其特征在于,在所述获取所述待蒙皮模型的第一网格模型标识和对应的第一离散网格文件,以及所述基准模型的第二网格模型标识和对应的第二离散网格文件之前,所述方法还包括:
对所述基准模型的各个面片栅格的相连关系进行扫描,得到所述基准模型的各个离散网格模型;
将所述基准模型的各个离散网格模型存储为所述基准模型的所述第二离散网格文件。
11.根据权利要求1至7任一项所述的方法,其特征在于,在所述获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型之前,所述方法还包括:
获取模型网格的名称;
所述获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型,包括:
获取已蒙皮模型文件和未蒙皮模型文件;
依据所述模型网格的名称,从所述已蒙皮模型文件中提取出所述基准模型和所述基准蒙皮数据,从所述未蒙皮模型文件中提取出所述待蒙皮模型。
12.一种蒙皮数据生成装置,其特征在于,包括:
数据获取模块,用于获取基准模型、所述基准模型对应的基准蒙皮数据以及待蒙皮模型;其中,所述基准模型是细节程度最高的网格模型,所述待蒙皮模型为等待蒙皮的网格模型;
顶点匹配模块,用于利用所述待蒙皮模型中的面片栅格的每个顶点的顶点位置,以及从所述基准模型中查找到的多个候选顶点各自的顶点位置,计算出所述每个顶点与所述多个候选顶点中的每个候选顶点的顶点距离;对所述每个顶点的贴图信息和所述多个候选顶点各自的贴图信息求差值,分别得到所述每个顶点与所述每个候选顶点的贴图差异;依据所述每个顶点的法线向量和所述多个候选顶点的法线向量,分别判断出所述每个顶点和所述每个候选顶点的法向差异;对所述顶点距离和距离因子的乘积、所述贴图差异与贴图因子的乘积以及所述法向差异与法向因子的乘积进行求和,得到所述每个顶点分别和所述多个候选顶点的误差值;将所述多个候选顶点中与最小的误差值相对应的候选顶点,作为所述每个顶点的匹配顶点;
蒙皮数据生成模块,用于基于所述基准蒙皮数据中与所述匹配顶点相对应的蒙皮信息,生成所述待蒙皮模型的目标蒙皮数据。
13.一种蒙皮数据生成设备,其特征在于,包括:
存储器,用于存储可执行蒙皮数据生成指令;
处理器,用于执行所述存储器中存储的可执行蒙皮数据生成指令时,实现权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行蒙皮数据生成指令,用于被处理器执行时,实现权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110480555.0A CN113058268B (zh) | 2021-04-30 | 2021-04-30 | 蒙皮数据生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110480555.0A CN113058268B (zh) | 2021-04-30 | 2021-04-30 | 蒙皮数据生成方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113058268A CN113058268A (zh) | 2021-07-02 |
CN113058268B true CN113058268B (zh) | 2022-07-29 |
Family
ID=76567929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110480555.0A Active CN113058268B (zh) | 2021-04-30 | 2021-04-30 | 蒙皮数据生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113058268B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476804B1 (en) * | 2000-07-20 | 2002-11-05 | Sony Corporation | System and method for generating computer animated graphical images of an exterior patch surface layer of material stretching over an understructure |
CN108038335A (zh) * | 2017-12-28 | 2018-05-15 | 北京数设科技有限公司 | 一种确定飞机蒙皮单元应力载荷的方法与装置 |
CN109345615A (zh) * | 2018-10-25 | 2019-02-15 | 网易(杭州)网络有限公司 | 蒙皮数据生成方法以及装置、电子设备及存储介质 |
CN111714885A (zh) * | 2020-06-22 | 2020-09-29 | 网易(杭州)网络有限公司 | 游戏角色模型生成、角色调整方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150178988A1 (en) * | 2012-05-22 | 2015-06-25 | Telefonica, S.A. | Method and a system for generating a realistic 3d reconstruction model for an object or being |
-
2021
- 2021-04-30 CN CN202110480555.0A patent/CN113058268B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476804B1 (en) * | 2000-07-20 | 2002-11-05 | Sony Corporation | System and method for generating computer animated graphical images of an exterior patch surface layer of material stretching over an understructure |
CN108038335A (zh) * | 2017-12-28 | 2018-05-15 | 北京数设科技有限公司 | 一种确定飞机蒙皮单元应力载荷的方法与装置 |
CN109345615A (zh) * | 2018-10-25 | 2019-02-15 | 网易(杭州)网络有限公司 | 蒙皮数据生成方法以及装置、电子设备及存储介质 |
CN111714885A (zh) * | 2020-06-22 | 2020-09-29 | 网易(杭州)网络有限公司 | 游戏角色模型生成、角色调整方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113058268A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872379A (zh) | 数据处理装置和方法 | |
CN112711458B (zh) | 虚拟场景中道具资源的展示方法及装置 | |
CN112090078B (zh) | 游戏角色移动控制方法、装置、设备和介质 | |
CN111737800A (zh) | 图元选择方法、装置及电子设备 | |
CN113066160B (zh) | 一种室内移动机器人场景数据的生成方法 | |
KR101875047B1 (ko) | 사진측량을 이용한 3d 모델링 시스템 및 방법 | |
JP4750464B2 (ja) | 建物設計支援装置及び建物設計支援プログラム | |
CN116012843A (zh) | 一种虚拟场景数据标注生成方法及系统 | |
Lee et al. | Immersive authoring of Tangible Augmented Reality content: A user study | |
CN113058268B (zh) | 蒙皮数据生成方法、装置、设备及计算机可读存储介质 | |
CN116958344A (zh) | 虚拟形象的动画生成方法、装置、计算机设备及存储介质 | |
EP2993613A1 (en) | A capture system arranged to create a 3d model from a scanned scene, a method and a graphical user interface | |
US11393180B2 (en) | Applying non-destructive edits to nested instances for efficient rendering | |
CN111681317B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115082648A (zh) | 一种基于标志物模型绑定的ar场景布置方法及系统 | |
CN115120980A (zh) | 游戏场景的生成方法、装置、存储介质和电子装置 | |
CN112843704A (zh) | 动画模型处理方法、装置、设备及存储介质 | |
KR20210082407A (ko) | 의상의 3차원 모델링 방법 | |
JP3582509B2 (ja) | 三次元地図データ処理方法、装置及びプログラム | |
CN112132962A (zh) | 基于虚拟现实的城轨车辆检修作业工艺研究方法 | |
JP5524146B2 (ja) | パース図作成システム及びパース図作成プログラム並びにパース図作成方法 | |
US20220028146A1 (en) | Method and system for identifying incompatibility between versions of compiled software code | |
Wei et al. | Application of three dimensional roaming technology in virtual campus system | |
CN115564912A (zh) | 建筑信息模型的创建方法、系统、设备及介质 | |
CN116246012A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40047512 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |