CN115393495A - 虚拟模型的纹理处理方法、装置、计算机设备及存储介质 - Google Patents
虚拟模型的纹理处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115393495A CN115393495A CN202211091287.4A CN202211091287A CN115393495A CN 115393495 A CN115393495 A CN 115393495A CN 202211091287 A CN202211091287 A CN 202211091287A CN 115393495 A CN115393495 A CN 115393495A
- Authority
- CN
- China
- Prior art keywords
- texture
- mask
- map
- pixel point
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
本申请实施例公开了一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质,通过获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,将遮罩贴图中每个像素点的遮罩明度值转换为纹理坐标旋转信息;根据每个像素点对应的纹理坐标旋转信息得到每个像素点的旋转后纹理坐标;根据旋转后纹理坐标对预设的细节法线贴图进行采样得到采样细节法线信息;将采样法线信息与基础法线贴图携带的第一法线信息进行融合得到第二法线信息;基于遮罩贴图中的遮罩明度值和第二法线信息对基础法线贴图进行光影渲染处理得到渲染后细节纹理;本申请实施例可以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机通信技术的不断发展,智能手机、平板电脑及笔记本电脑等终端的大量普及应用,终端向着多样化、个性化的方向发展,日益成为人们在生活与工作中不可或缺的终端,为了满足人们对精神生活的追求,能够在终端上操作的娱乐游戏应运而生,例如,基于客户端或服务器架构开发的多人在线战术竞技游戏(Multiplayer Online BattleArena,MOBA)和大型多人在线游戏(Massive Multiplayer Online,MMO)等类型的游戏,由于具有高流畅度、操作手感好、即时战斗等特点,深受用户喜爱。随着网络游戏的蓬勃发展,人们对游戏场景的真实感要求越来越高。
在对游戏进行计算机动画制作中,可以采用细节法线的相关技术为虚拟模型增加各种材质的纹理,例如刺绣类型的针脚信息,然而,由于现有技术渲染的虚拟刺绣模型中同一材质区域内的针脚方向完全相同,显示的效果呆板且不符合真实刺绣给用户的视觉感受,导致渲染虚拟刺绣模型的真实性较低,用户视觉感受度较差。
发明内容
本申请实施例提供一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质,可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
本申请实施例提供了一种虚拟模型的纹理处理方法,该方法包括:
获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
相应的,本申请实施例还提供了一种虚拟模型的纹理处理装置,该虚拟模型的纹理处理装置包括:
第一获取单元,用于获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
第二获取单元,用于获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
计算单元,用于根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
采样单元,用于根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
融合单元,用于将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
渲染单元,用于基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
相应的,本申请实施例还提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现虚拟模型的纹理处理方法任一项的步骤。
相应的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现虚拟模型的纹理处理方法任一项的步骤。
本申请实施例提供一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质,通过获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;然后,获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;接着,根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;之后,根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;接着,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;最后,基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。本申请实施例,可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的虚拟模型的纹理处理系统的场景示意图。
图2为本申请实施例提供的虚拟模型的纹理处理方法的一种流程示意图。
图3为本申请实施例提供的遮罩贴图的一种应用示意图。
图4为本申请实施例提供的虚拟模型的纹理处理方法的一种场景示意图。
图5为本申请实施例提供的虚拟模型的纹理处理装置的一种结构示意图。
图6为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质。具体地,本申请实施例的虚拟模型的纹理处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该虚拟模型的纹理处理方法运行于终端时,终端设备存储有游戏应用程序并用于呈现游戏画面中的虚拟场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
例如,当该虚拟模型的纹理处理方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,虚拟模型的纹理处理方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
请参阅图1,图1为本申请实施例提供的一种虚拟模型的纹理处理系统的场景示意图。该系统可以包括至少一个终端,至少一个服务器,至少一个数据库,以及网络。用户持有的终端可以通过网络连接到不同游戏的服务器。终端是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。另外,当系统包括多个终端、多个服务器、多个网络时,不同的终端可以通过不同的网络、通过不同的服务器相互连接。网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。例如,多个用户可以通过不同的终端在线从而通过适当网络连接并且相互同步,以支持多玩家游戏。另外,该系统可以包括多个数据库,多个数据库耦合到不同的服务器,并且可以将与游戏环境有关的信息在不同用户在线进行多玩家游戏时连续地存储于数据库中。
需要说明的是,图1所示的虚拟模型的纹理处理系统的场景示意图仅仅是一个示例,本申请实施例描述的虚拟模型的纹理处理系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述问题,本申请实施例提供一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质,可以提高虚拟模型在游戏中显示的真实性。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图2,图2为本申请实施例提供的一种虚拟模型的纹理处理方法的流程示意图,该虚拟模型的纹理处理方法的具体流程可以如下步骤101至步骤106所示:
101,获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理。
为了能够得到包括多个遮罩明度不同的非遮罩区域的遮罩贴图,步骤“所述获取待渲染细节纹理的基础法线贴图对应的遮罩贴图”,方法可以包括:
获取待处理贴图,并基于所述基础法线贴图中的多个待渲染细节纹理的纹理区域对所述待处理贴图进行处理,得到处理后的待处理贴图,其中,所述处理后的待处理贴图包括多个待处理区域,所述待处理区域与所述纹理区域一一对应;
为所述多个待处理区域中每个待处理区域设置遮罩明度值,以得到多个非遮罩区域,其中,非遮罩区域的遮罩明度值不完全相等;
为除所述多个待处理区域的其他区域设置指定遮罩明度值,以得到遮罩贴图,其中,所述指定遮罩明度值为使所述其他区域为黑色的遮罩明度值。
例如,请参阅图3,获取一张与基础法线贴图中多个待渲染细节纹理的纹理区域相同的遮罩贴图,该遮罩区域中的每个非遮罩区域都设置有非零且不同遮罩明度值,并且,该遮罩贴图的其他遮罩区域的遮罩明度设置为0,以使除遮罩区域的其他区域均显示黑色。
102,获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同。
在一具体实施例中,步骤“所述获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息”,方法可以包括:
基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息。
进一步的,步骤“所述基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息”,方法可以包括:
获取像素点的遮罩明度值与所述预设角度差异值之间的乘积;
获取所述乘积与所述预设角度偏移值的和值,作为所述像素点的暂定旋转值;
基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息。
例如,可以将遮罩明度值通过计算公式映射为UV的旋转角度,该旋转角度即为暂定旋转值。计算机设备可以根据旋转值计算公式将每个遮罩明度值转换为暂定旋转值,该旋转值计算公式如下所示:
Angle=MaskBrightness×AngleDiff+AngleBias
其中,MaskBrightness为每个像素点对应的遮罩明度值,AngleDiff为预设角度差异值,AngleBias为预设角度偏移值。预设角度差异值和预设角度偏移值均为美术人员可以根据实际设计需求灵活设置的数值,预设角度差异值用于调节不同灰度之间的角度差异大小,预设角度偏移值则用于对所有渲染区域增加一个整体的角度偏转,因此,美术人员可以利用这两个数值灵活的设置细节法线贴图的最终偏转效果。
为了获取每个像素点的纹理坐标旋转信息,步骤“所述基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息”,方法可以包括:
基于所述像素点的暂定选择值对所述预设旋转矩阵进行调整处理,得到目标旋转矩阵,并将所述目标旋转矩阵作为所述像素点的纹理坐标旋转信息。
例如,计算机设备可以根据每个像素点对应的暂定旋转值计算出每个像素点的纹理坐标对应的纹理坐标旋转信息,具体可以采用每个暂定旋转值对预设旋转矩阵进行调整处理得到目标旋转矩阵,后续即可采用每个像素点对应的目标旋转矩阵对每个像素点对应的纹理坐标进行处理。具体的,该预设旋转矩阵可以如下所示:
其中,RotationMatrix为预设旋转矩阵,Angle为每个像素点对应的暂定旋转值,将每个像素点对应的暂定旋转值带入预设旋转矩阵中即可得到每个像素点对应的目标旋转矩阵。
103,根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标。
进一步的,步骤“所述根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标”,方法可以包括:
基于所述像素点的目标旋转矩阵对所述像素点的纹理坐标进行变换计算,得到所述像素点的旋转后纹理坐标。
具体的,计算机设备可以根据纹理坐标变换公式、目标旋转矩阵以及预设二维矢量对每个像素点的纹理坐标进行变换计算,以得到每个像素点的旋转后纹理坐标。具体的,该纹理坐标变换公式如下所示:
UVRotation=transform(RotationMatrix,UV*FiberDensity)
其中,UVRotation为旋转后纹理坐标,RotationMatrix为每个像素点对应的目标旋转矩阵,UV为每个像素点的纹理坐标,FiberDensity为预设的预设二维矢量。该二维矢量为美术人员可以灵活设置的二维矢量,其两个分量分别用于设置细节法线贴图在进行旋转后横向与纵向的平铺密度,即可以用来调整针脚纹理的长短与排列细密程度。
例如,每个像素点对应的纹理坐标旋转信息可以为每个像素点对应的二维空间旋转矩阵,在得到该像素点对应的二维空间旋转矩阵后,可以基于该像素点对应的二维空间旋转矩阵以及美术人员预设的二维矢量对该像素点的纹理坐标进行变换计算,从而得到该像素点的旋转后纹理坐标,其中,该二维矢量中包括两个分量,两个分量可以用于设置细节法线贴图在进行旋转后横向与纵向的平铺密度,即可以用来调整针脚纹理的长短与排列细密程度。
104,根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息。
105,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息。
106,基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
为了能够突出显示非遮罩区域对应的纹理,在步骤“所述基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理”之前,方法可以包括:
基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息;
基于每个像素点的显示信息以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。
具体的,步骤“所述基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息”,方法可以包括:
确定每个像素点的遮罩明度值与预设明度参考值的大小关系;
若所述像素点的遮罩明度值大于所述预设明度参考值,则将所述像素点的像素强度设置为第一预设值;
若所述像素点的遮罩明度值小于所述预设明度参考值,则将所述像素点的像素强度设置为第二预设值,其中,所述第一预设值大于所述第二预设值。
例如,在获取遮罩贴图中每个像素点的遮罩明度值之后,可以先计算为细节法线贴图设置的分布强度,也即将每个像素点的遮罩明度值输入分布强度函数中进行处理,以得到每个像素点的显示信息,也即每个像素点的分布强度。该分布强度函数如下所示:
Mask=step(0.0001,MaskBrightness),
其中,Mask为分布强度,MaskBrightness为每个像素点的遮罩明度值。具体的,该分布强度函数可以将遮罩明度值大于0.0001的像素点的像素强度设置为1,其他遮罩明度值小于0.0001的像素点的像素强度为0。
进一步的,计算机设备可以根据预设函数得到最终只分布在非遮罩区域内的法线信息,该预设函数如下所示:
NormalFinal=lerp(Normal,NormalBlend,Mask)
其中,NormalFinal为每个像素点的第二法线信息,Normal为每个像素点的第一法线信息,NormalBlend为每个像素点的采样细节法线信息,Mask为每个像素点的分布强度。
为了对本申请实施例提供的虚拟模型的纹理处理方法进行进一步说明,下面将以虚拟模型的纹理处理方法在具体实施场景中的应用为例进行说明,具体应用场景如下所述。
(1)计算机设备可以获取一张与基础法线贴图中多个待渲染细节纹理的纹理区域相同的遮罩贴图,该遮罩区域中的每个非遮罩区域都设置有非零且不同遮罩明度值,并且,该遮罩贴图的其他非遮罩区域的遮罩明度设置为0,以使除非遮罩区域的其他区域均显示黑色。
(2)在获取遮罩贴图中每个像素点的遮罩明度值之后,可以先计算为细节法线贴图设置的分布强度,也即将每个像素点的遮罩明度值输入分布强度函数中进行处理,以得到每个像素点的显示信息,也即每个像素点的分布强度。该分布强度函数如下所示:
Mask=step(0.0001,MaskBrightness),
其中,Mask为分布强度,MaskBrightness为每个像素点的遮罩明度值。具体的,该分布强度函数可以将遮罩明度值大于0.0001的像素点的像素强度设置为1,其他遮罩明度值小于0.0001的像素点的像素强度为0。
并且,计算机设备可以根据旋转值计算公式将每个遮罩明度值转换为暂定旋转值,该旋转值计算公式如下所示:
Angle=MaskBrightness×AngleDiff+AngleBias
其中,MaskBrightness为每个像素点对应的遮罩明度值,AngleDiff为预设角度差异值,AngleBias为预设角度偏移值。预设角度差异值和预设角度偏移值均为美术人员可以根据实际设计需求灵活设置的数值,预设角度差异值用于调节不同灰度之间的角度差异大小,预设角度偏移值则用于对所有渲染区域增加一个整体的角度偏转,因此,美术人员可以利用这两个数值灵活的设置细节法线贴图的最终偏转效果。
(3)计算机设备可以根据每个像素点对应的暂定旋转值计算出每个像素点的纹理坐标对应的纹理坐标旋转信息,具体可以采用每个暂定旋转值对预设旋转矩阵进行调整处理得到目标旋转矩阵,后续即可采用每个像素点对应的目标旋转矩阵对每个像素点对应的纹理坐标进行处理。具体的,该预设旋转矩阵可以如下所示:
其中,RotationMatrix为预设旋转矩阵,Angle为每个像素点对应的暂定旋转值,将每个像素点对应的暂定旋转值带入预设旋转矩阵中即可得到每个像素点对应的目标旋转矩阵。
(4)计算机设备可以根据纹理坐标变换公式、目标旋转矩阵以及预设二维矢量对每个像素点的纹理坐标进行变换计算,以得到每个像素点的旋转后纹理坐标。具体的,该纹理坐标变换公式如下所示:
UVRotation=transform(RotationMatrix,UV*FiberDensity)
其中,UVRotation为旋转后纹理坐标,RotationMatrix为每个像素点对应的目标旋转矩阵,UV为每个像素点的纹理坐标,FiberDensity为预设的预设二维矢量。该二维矢量为美术人员可以灵活设置的二维矢量,其两个分量分别用于设置细节法线贴图在进行旋转后横向与纵向的平铺密度,即可以用来调整针脚纹理的长短与排列细密程度。
(5)根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息。具体的,计算机设备可以根据预设函数得到最终只分布在非遮罩区域内的法线信息,该预设函数如下所示:
NormalFinal=lerp(Normal,NormalBlend,Mask)
其中,NormalFinal为每个像素点的第二法线信息,Normal为每个像素点的第一法线信息,NormalBlend为每个像素点的采样细节法线信息,Mask为每个像素点的分布强度。
(6)计算机设备在得到每个像素点的第二法线信息后,对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。具体的,请参阅图4,通过上述步骤可以将按照传统的流程制作的每个刺绣区域针脚纹理方向均相同的初始刺绣模型调整为每个刺绣区域针脚纹理方向不相同的目标刺绣模型。
综上所述,本申请实施例提供一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质,通过获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;然后,获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;接着,根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;之后,根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;接着,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;最后,基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。本申请实施例,可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
为便于更好的实施本申请实施例提供的虚拟模型的纹理处理方法,本申请实施例还提供一种基于上述虚拟模型的纹理处理装置。其中名词的含义与上述虚拟模型的纹理处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的一种虚拟模型的纹理处理装置的结构示意图,该装置包括:
第一获取单元201,用于获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
第二获取单元202,用于获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
计算单元203,用于根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
采样单元204,用于根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
融合单元205,用于将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
渲染单元206,用于基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
在一些实施例中,该虚拟模型的纹理处理装置包括:
第一获取子单元,用于获取待处理贴图,并基于所述基础法线贴图中的多个待渲染细节纹理的纹理区域对所述待处理贴图进行处理,得到处理后的待处理贴图,其中,所述处理后的待处理贴图包括多个待处理区域,所述待处理区域与所述纹理区域一一对应;
第一设置子单元,用于为所述多个待处理区域中每个待处理区域设置遮罩明度值,以得到多个非遮罩区域,其中,非遮罩区域的遮罩明度值不完全相等;
第二设置子单元,用于为除所述多个待处理区域的其他区域设置指定遮罩明度值,以得到遮罩贴图,其中,所述指定遮罩明度值为使所述其他区域为黑色的遮罩明度值。
在一些实施例中,该虚拟模型的纹理处理装置包括:
第一生成子单元,用于基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息;
第一处理子单元,用于基于每个像素点的显示信息以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。
在一些实施例中,该虚拟模型的纹理处理装置包括:
确定子单元,用于确定每个像素点的遮罩明度值与预设明度参考值的大小关系;
第三设置子单元,用于若所述像素点的遮罩明度值大于所述预设明度参考值,则将所述像素点的像素强度设置为第一预设值;
第四设置子单元,用于若所述像素点的遮罩明度值小于所述预设明度参考值,则将所述像素点的像素强度设置为第二预设值,其中,所述第一预设值大于所述第二预设值。
在一些实施例中,该虚拟模型的纹理处理装置包括:
第二处理子单元,用于基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息。
在一些实施例中,该虚拟模型的纹理处理装置包括:
第二获取子单元,用于获取像素点的遮罩明度值与所述预设角度差异值之间的乘积;
第三获取子单元,用于获取所述乘积与所述预设角度偏移值的和值,作为所述像素点的暂定旋转值;
第二生成子单元,用于基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息。
在一些实施例中,该虚拟模型的纹理处理装置包括:
第三处理子单元,用于基于所述像素点的暂定选择值对所述预设旋转矩阵进行调整处理,得到目标旋转矩阵,并将所述目标旋转矩阵作为所述像素点的纹理坐标旋转信息。
在一些实施例中,该虚拟模型的纹理处理装置包括:
计算子单元,用于基于所述像素点的目标旋转矩阵对所述像素点的纹理坐标进行变换计算,得到所述像素点的旋转后纹理坐标。
本申请实施例提供一种虚拟模型的纹理处理装置,通过第一获取单元201获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;第二获取单元202获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;计算单元203根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;采样单元204根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;融合单元205将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;渲染单元206基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。本申请实施例可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图6所示,图6为本申请实施例提供的计算机设备的结构示意图。该计算机设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器301是计算机设备300的控制中心,利用各种接口和线路连接整个计算机设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行计算机设备300的各种功能和处理数据,从而对计算机设备300进行整体监控。
在本申请实施例中,计算机设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
在一实施例中,所述获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,包括:
获取待处理贴图,并基于所述基础法线贴图中的多个待渲染细节纹理的纹理区域对所述待处理贴图进行处理,得到处理后的待处理贴图,其中,所述处理后的待处理贴图包括多个待处理区域,所述待处理区域与所述纹理区域一一对应;
为所述多个待处理区域中每个待处理区域设置遮罩明度值,以得到多个非遮罩区域,其中,非遮罩区域的遮罩明度值不完全相等;
为除所述多个待处理区域的其他区域设置指定遮罩明度值,以得到遮罩贴图,其中,所述指定遮罩明度值为使所述其他区域为黑色的遮罩明度值。
在一实施例中,所述基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理之前,还包括:
基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息;
基于每个像素点的显示信息以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。
在一实施例中,所述基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息,包括:
确定每个像素点的遮罩明度值与预设明度参考值的大小关系;
若所述像素点的遮罩明度值大于所述预设明度参考值,则将所述像素点的像素强度设置为第一预设值;
若所述像素点的遮罩明度值小于所述预设明度参考值,则将所述像素点的像素强度设置为第二预设值,其中,所述第一预设值大于所述第二预设值。
在一实施例中,所述获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息。
在一实施例中,所述基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
获取像素点的遮罩明度值与所述预设角度差异值之间的乘积;
获取所述乘积与所述预设角度偏移值的和值,作为所述像素点的暂定旋转值;
基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息。
在一实施例中,所述基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息,包括:
基于所述像素点的暂定选择值对所述预设旋转矩阵进行调整处理,得到目标旋转矩阵,并将所述目标旋转矩阵作为所述像素点的纹理坐标旋转信息。
在一实施例中,所述根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标,包括:
基于所述像素点的目标旋转矩阵对所述像素点的纹理坐标进行变换计算,得到所述像素点的旋转后纹理坐标。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,计算机设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
在本申请实施例中,通过处理器301执行游戏应用程序在触控显示屏303上生成图形用户界面。该触控显示屏303用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一计算机设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给计算机设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,计算机设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,通过获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;然后,获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;接着,根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;之后,根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;接着,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;最后,基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。本申请实施例,可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟模型的纹理处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
在一实施例中,所述获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,包括:
获取待处理贴图,并基于所述基础法线贴图中的多个待渲染细节纹理的纹理区域对所述待处理贴图进行处理,得到处理后的待处理贴图,其中,所述处理后的待处理贴图包括多个待处理区域,所述待处理区域与所述纹理区域一一对应;
为所述多个待处理区域中每个待处理区域设置遮罩明度值,以得到多个非遮罩区域,其中,非遮罩区域的遮罩明度值不完全相等;
为除所述多个待处理区域的其他区域设置指定遮罩明度值,以得到遮罩贴图,其中,所述指定遮罩明度值为使所述其他区域为黑色的遮罩明度值。
在一实施例中,所述基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理之前,还包括:
基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息;
基于每个像素点的显示信息以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。
在一实施例中,所述基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息,包括:
确定每个像素点的遮罩明度值与预设明度参考值的大小关系;
若所述像素点的遮罩明度值大于所述预设明度参考值,则将所述像素点的像素强度设置为第一预设值;
若所述像素点的遮罩明度值小于所述预设明度参考值,则将所述像素点的像素强度设置为第二预设值,其中,所述第一预设值大于所述第二预设值。
在一实施例中,所述获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息。
在一实施例中,所述基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
获取像素点的遮罩明度值与所述预设角度差异值之间的乘积;
获取所述乘积与所述预设角度偏移值的和值,作为所述像素点的暂定旋转值;
基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息。
在一实施例中,所述基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息,包括:
基于所述像素点的暂定选择值对所述预设旋转矩阵进行调整处理,得到目标旋转矩阵,并将所述目标旋转矩阵作为所述像素点的纹理坐标旋转信息。
在一实施例中,所述根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标,包括:
基于所述像素点的目标旋转矩阵对所述像素点的纹理坐标进行变换计算,得到所述像素点的旋转后纹理坐标。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,通过获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;然后,获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;接着,根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;之后,根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;接着,将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;最后,基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。本申请实施例,可以根据包括多个不同遮罩明度值的非遮罩区域的遮罩贴图和细节法线贴图,对基础法线贴图的像素点信息进行调整处理,以使基础法线贴图中不同纹理区域中的纹理显示效果不同,提高了渲染虚拟刺绣模型的真实性,提升用户视觉感受度。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种虚拟模型的纹理处理方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (11)
1.一种虚拟模型的纹理处理方法,其特征在于,包括:
获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
2.根据权利要求1所述的虚拟模型的纹理处理方法,其特征在于,所述获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,包括:
获取待处理贴图,并基于所述基础法线贴图中的多个待渲染细节纹理的纹理区域对所述待处理贴图进行处理,得到处理后的待处理贴图,其中,所述处理后的待处理贴图包括多个待处理区域,所述待处理区域与所述纹理区域一一对应;
为所述多个待处理区域中每个待处理区域设置遮罩明度值,以得到多个非遮罩区域,其中,非遮罩区域的遮罩明度值不完全相等;
为除所述多个待处理区域的其他区域设置指定遮罩明度值,以得到遮罩贴图,其中,所述指定遮罩明度值为使所述其他区域为黑色的遮罩明度值。
3.根据权利要求1所述的虚拟模型的纹理处理方法,其特征在于,所述基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理之前,还包括:
基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息;
基于每个像素点的显示信息以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理。
4.根据权利要求3所述的虚拟模型的纹理处理方法,其特征在于,所述基于所述遮罩贴图中每个像素点的遮罩明度值生成每个像素点的显示信息,包括:
确定每个像素点的遮罩明度值与预设明度参考值的大小关系;
若所述像素点的遮罩明度值大于所述预设明度参考值,则将所述像素点的像素强度设置为第一预设值;
若所述像素点的遮罩明度值小于所述预设明度参考值,则将所述像素点的像素强度设置为第二预设值,其中,所述第一预设值大于所述第二预设值。
5.根据权利要求1所述的虚拟模型的纹理处理方法,其特征在于,所述获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息。
6.根据权利要求5所述的虚拟模型的纹理处理方法,其特征在于,所述基于预设角度差异值和预设角度偏移值对所述遮罩贴图中每个像素点的遮罩明度值进行处理,将每个遮罩明度值转换为纹理坐标旋转信息,包括:
获取像素点的遮罩明度值与所述预设角度差异值之间的乘积;
获取所述乘积与所述预设角度偏移值的和值,作为所述像素点的暂定旋转值;
基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息。
7.根据权利要求6所述的虚拟模型的纹理处理方法,其特征在于,所述基于所述像素点的暂定旋转值和预设旋转矩阵生成所述像素点的纹理坐标旋转信息,包括:
基于所述像素点的暂定选择值对所述预设旋转矩阵进行调整处理,得到目标旋转矩阵,并将所述目标旋转矩阵作为所述像素点的纹理坐标旋转信息。
8.根据权利要求7所述的虚拟模型的纹理处理方法,其特征在于,所述根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标,包括:
基于所述像素点的目标旋转矩阵对所述像素点的纹理坐标进行变换计算,得到所述像素点的旋转后纹理坐标。
9.一种虚拟模型的纹理处理装置,其特征在于,包括:
第一获取单元,用于获取待渲染细节纹理的基础法线贴图对应的遮罩贴图,其中,所述基础法线贴图包括多个待渲染细节纹理的纹理区域,所述遮罩贴图的非遮罩区域与所述纹理区域一一对应,且非遮罩区域的遮罩明度值不完全相等,所述待渲染细节纹理为为目标虚拟模型设置的细节纹理;
第二获取单元,用于获取所述遮罩贴图中每个像素点的遮罩明度值,将每个遮罩明度值转换为纹理坐标旋转信息,其中,不同遮罩明度值对应的纹理坐标变换信息不同;
计算单元,用于根据每个像素点对应的纹理坐标旋转信息对所述像素点的纹理坐标进行变换计算,得到每个像素点的旋转后纹理坐标;
采样单元,用于根据所述旋转后纹理坐标,对预设的细节法线贴图进行采样得到采样细节法线信息;
融合单元,用于将采样法线信息与所述基础法线贴图携带的第一法线信息进行融合,得到第二法线信息;
渲染单元,用于基于所述遮罩贴图中的遮罩明度值以及所述第二法线信息对所述基础法线贴图进行光影渲染处理,得到渲染后细节纹理,以将所述渲染后的细节纹理显示在所述目标虚拟模型上。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1至8任一项所述的虚拟模型的纹理处理方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1至8任一项所述的虚拟模型的纹理处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211091287.4A CN115393495A (zh) | 2022-09-07 | 2022-09-07 | 虚拟模型的纹理处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211091287.4A CN115393495A (zh) | 2022-09-07 | 2022-09-07 | 虚拟模型的纹理处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115393495A true CN115393495A (zh) | 2022-11-25 |
Family
ID=84126043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211091287.4A Pending CN115393495A (zh) | 2022-09-07 | 2022-09-07 | 虚拟模型的纹理处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115393495A (zh) |
-
2022
- 2022-09-07 CN CN202211091287.4A patent/CN115393495A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112138386A (zh) | 一种体积渲染方法、装置、存储介质及计算机设备 | |
CN113645476B (zh) | 画面处理方法、装置、电子设备及存储介质 | |
CN110136236B (zh) | 三维角色的个性化脸部显示方法、装置、设备及存储介质 | |
CN113426117B (zh) | 虚拟相机拍摄参数获取方法、装置、电子设备和存储介质 | |
CN112233211A (zh) | 动画制作的方法、装置、存储介质及计算机设备 | |
CN113014960B (zh) | 一种在线制作视频的方法、装置及存储介质 | |
CN112206517A (zh) | 一种渲染方法、装置、存储介质及计算机设备 | |
CN113485617A (zh) | 动画展示方法、装置、电子设备及存储介质 | |
CN113018856A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113101650A (zh) | 游戏场景切换方法、装置、计算机设备及存储介质 | |
CN112465945A (zh) | 一种模型生成方法、装置、存储介质及计算机设备 | |
CN114782605A (zh) | 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质 | |
CN110045958B (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
WO2024082753A1 (zh) | 游戏指示器的生成方法、装置、计算机设备及存储介质 | |
CN113426129A (zh) | 自定义角色的相貌调整方法、装置、终端和存储介质 | |
CN113360034A (zh) | 画面显示方法、装置、计算机设备及存储介质 | |
CN116385615A (zh) | 虚拟面部生成方法、装置、计算机设备及存储介质 | |
CN115588066A (zh) | 一种虚拟对象的渲染方法、装置、计算机设备及存储介质 | |
CN113426115B (zh) | 游戏角色的展示方法、装置和终端 | |
CN115393495A (zh) | 虚拟模型的纹理处理方法、装置、计算机设备及存储介质 | |
CN112245914A (zh) | 一种视角调整方法、装置、存储介质及计算机设备 | |
CN112843697A (zh) | 一种图像处理方法、装置、存储介质及计算机设备 | |
CN115908643A (zh) | 风暴特效动画的生成方法、装置、计算机设备及存储介质 | |
CN113362348B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115631276A (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 |