CN112489179B - 目标模型的处理方法、装置、存储介质及计算机设备 - Google Patents

目标模型的处理方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN112489179B
CN112489179B CN202011476294.7A CN202011476294A CN112489179B CN 112489179 B CN112489179 B CN 112489179B CN 202011476294 A CN202011476294 A CN 202011476294A CN 112489179 B CN112489179 B CN 112489179B
Authority
CN
China
Prior art keywords
information
target model
reflection
illumination
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011476294.7A
Other languages
English (en)
Other versions
CN112489179A (zh
Inventor
周振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011476294.7A priority Critical patent/CN112489179B/zh
Publication of CN112489179A publication Critical patent/CN112489179A/zh
Application granted granted Critical
Publication of CN112489179B publication Critical patent/CN112489179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种目标模型的处理方法、装置、存储介质及计算机设备。所述方法包括:获取游戏场景中目标模型的光照信息;根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像,从而能够真实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量。

Description

目标模型的处理方法、装置、存储介质及计算机设备
技术领域
本申请涉及计算机图形学技术领域,具体而言,涉及一种目标模型的处理方法、装置、存储介质及计算机设备。
背景技术
目标模型(例如人物、石头、宝石、水晶等各种游戏元素)会常出现于游戏场景或游戏角色中,并且其可以随着游戏视角的转动和游戏场景的变化而呈现出相应的特效。例如像宝石的目标模型,其可以呈现出棱角分明、边缘部分高光的效果,甚至有时还可以随着游戏镜头的转动可以折射出游戏背景的画面。
为了实现上述游戏效果,在目前游戏的开发过程中,通常采用光线追踪渲染方法来渲染目标模型。具体地,通过光线追踪的方式来渲染目标模型的过程中,需要相应的光线追踪渲染管线来达到所需的效果。光线追踪的基础版本,可以称为Ray Casting,它的工作原理为从观察者(或者摄像机、相机镜头等)发出一条光线或者更准确的说是虚拟射线(被称为主射线),照射在计算机设备的屏幕上的某一个点,然后虚拟射线穿过该点抵达到渲染场景内。当场景中有三角形阻挡其光路时,需要根据三角形被赋予的表面属性,做出相应的反射、折射、吸收等计算。而光线追踪在Ray Casting的基础上还要在反射、折射的情况下做进一步的衍生射线计算,直至衍生射线到达吸收表面或者场景的极深处。
尽管基于光线追踪的渲染方法可以使得目标模型达到真实的效果,但是光线追踪的最大计算复杂度是根据场景中可能存在的大量衍生射线需要进行多次重复的衍生射线计算操作而确定的,这样会产生大量的三角形随机存取和求交计算,并且使得基于光线追踪的渲染方法的性能需求远高于普通渲染,以至于该渲染方法受限于其应用的平台,例如计算机设备、移动设备等。
发明内容
本申请的目的在于,针对现有技术所存在的问题,提供了一种目标模型的处理方法、装置、存储介质和计算机设备,以至少解决光照效果比较复杂的目标模型难以模拟的技术问题,从而能够真实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量。
本申请实施例提供了一种目标模型的处理方法。所述方法包括:获取游戏场景中目标模型的光照信息;根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
可选地,所述光照信息包括直接光照信息或间接光照信息,获取游戏场景中目标模型的光照信息的步骤,包括:当光照类别为直线光照时,获取所述目标模型的直线光照信息作为光照信息;当光照类别为间接光照时,获取所述目标模型的间接光照信息作为光照信息。
可选地,当光照类别为直线光照时,根据所述光照信息确定所述目标模型的表面反射内容的步骤,包括:根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果;根据所述至少一个反射结果确定所述目标模型的表面反射内容。
可选地,所述至少一个反射结果包括第一反射结果,所述直线光照信息包括目标模型的法线信息、半角向量信息和粗糙度信息;根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果的步骤,包括:根据所述法线信息和所述半角向量信息,计算得到第一点积值;根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果。
可选地,根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果的步骤之后,还包括:对所述第一反射结果进行放大化处理;所述根据所述至少一个反射结果确定所述目标模型的表面反射内容,包括:根据放大化处理后的第一反射结果,确定所述目标模型的表面反射内容。
可选地,所述至少一个反射结果包括第二反射结果,所述直线光照信息包括目标模型的法线信息、视线方向向量信息、光照方向向量信息和粗糙度信息;根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果的步骤,包括:根据法线信息和视线方向向量信息,计算得到第二点积值;根据所述第二点积值获得所述目标模型在视线方向上的第一几何遮挡信息;根据法线信息和光照方向向量信息,计算得到第三点积值;根据所述第三点积值获得所述目标模型在光照方向上的第二几何遮挡信息;以及根据所述第一几何遮挡信息和所述第二几何遮挡信息,计算得到第二反射结果。
可选地,所述至少一个反射结果包括第三反射结果,所述直线光照信息包括光线比例系数信息和基础反射率信息,其中所述光线比例系数信息用于定义所述目标模型的表面被反射的光线与被折射的光线的比例;根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果的步骤,包括:根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在非金属材质上光照所产生的反射,以得到第一反射值;根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在金属材质上光照所产生的反射,以得到第二反射值;根据所述第一反射值和所述第二反射值,计算得到第三反射结果。
可选地,根据所述至少一个反射结果确定所述目标模型的表面反射内容的步骤之后,还包括:获取固有色贴图的缩放参数;根据固有色贴图的缩放参数,采样得到相应的固有色贴图;叠加采样后的固有色贴图于所述目标模型的表面,得到叠加后表面;所述根据所述表面反射内容进行光照,以得到光照颜色的步骤,包括:对叠加后表面,进行光照处理,以得到光照颜色。
可选地,叠加采样后的固有色贴图于所述目标模型的表面的步骤之后,还包括:根据所得到的固有色贴图和所述目标模型的表面反射内容,确定所述目标模型的基本信息,其中所述基本信息包括所述目标模型的亮暗信息、光照强度值、光照颜色中的至少一者;所述根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像的步骤,包括:根据所得到的目标模型的基本信息、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
可选地,当光照类别为间接光照时,根据所述光照信息确定所述目标模型的表面反射内容的步骤,包括:根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果;根据所述至少一反射结果确定光照颜色。
可选地,所述至少一个反射结果包括第四反射结果,所述间接光照信息包括目标模型的反射方向向量信息和细节等级信息;根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤,包括:根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;根据采样得到相应的环境贴图,得到第四反射结果。
可选地,根据目标模型的反射方向向量信息和细节等级信息,采样得到相应的环境贴图,以得到第四反射结果,包括:获取所述反射方向向量信息中的长度值;比较所述长度值和预设长度值;当判断出所述长度值大于所述预设长度值时,调整采样环境贴图的点坐标值;根据调整后的采样环境贴图的点坐标值,得到相应的环境贴图。
可选地,所述至少一个反射结果包括第五反射结果,所述间接光照信息包括目标模型的反射颜色信息、粗糙度信息、法线向量信息和视线向量信息;根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤,包括:根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在金属材质上光照所产生的反射,以得到第三反射值;根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在非金属材质上光照所产生的反射,以得到第四反射值;根据所述第三反射值和所述第四反射值,得到第五反射结果。
可选地,根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤之后,还包括:根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;根据固有色贴图的缩放参数,采样得到相应的固有色贴图;根据所采样得到的环境贴图和所采样得到的固有色贴图,计算得到漫反射结果;根据所述目标模型在间接光照下的第四反射结果、第五反射结果、漫反射结果以及间接光照强度值,得到光照颜色。
可选地,对所述目标模型的立方体贴图进行采样,以得到所述目标模型内部的折射贴图的步骤,包括:获取第一立方体贴图;获取所述目标模型的反射向量信息和法线信息;根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的折射角信息;根据所计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
可选地,对所述目标模型的立方体贴图进行采样,以得到所述目标模型内部的散射贴图的步骤,包括:获取第二立方体贴图;获取所述目标模型的反射向量信息和法线信息;根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的散射角信息;根据所计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
可选地,对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息的步骤,包括:获取所述目标模型的材质贴图;对所述材质贴图进行采样,以得到所述材质贴图的颜色值;根据所述材质贴图的颜色值,获得相应的对比度值;调节所述对比度值,以得到所述目标模型的高亮范围信息。
本申请实施例还提供了一种目标模型的处理装置,所述目标模型的处理装置包括:光照信息获取模块,用于获取游戏场景中目标模型的光照信息;光照颜色得到模块,用于根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;模型贴图获取模块,用于对所述目标模型的立方体贴图进行采样,以得到所述目标模型内部的折射贴图和散射贴图;高亮信息得到模块,用于对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及模型图像得到模块,用于根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
可选地,所述光照颜色得到模块包括:第一反射得到子模块,用于根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果;反射内容确定子模块,用于根据所述至少一个反射结果确定所述目标模型的表面反射内容。
可选地,第一反射得到子模块包括:第一点积计算单元,用于根据所述法线信息和所述半角向量信息,计算得到第一点积值;第一反射结果得到单元,用于根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果。
可选地,第一反射得到子模块还包括:第二点积计算单元,用于根据法线信息和视线方向向量信息,计算得到第二点积值;第一遮挡信息得到单元,用于根据所述第二点积值获得所述目标模型在视线方向上的第一几何遮挡信息;第三点积计算单元,用于根据法线信息和光照方向向量信息,计算得到第三点积值;第二遮挡信息得到单元,用于根据所述第三点积值获得所述目标模型在光照方向上的第二几何遮挡信息;第二反射结果得到单元,用于根据所述第一几何遮挡信息和所述第二几何遮挡信息,计算得到第二反射结果。
可选地,第一反射得到子模块还包括:第一反射值计算单元,用于根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在非金属材质上光照所产生的反射,以得到第一反射值;第二反射值计算单元,用于根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在金属材质上光照所产生的反射,以得到第二反射值;第三反射结果得到单元,用于根据所述第一反射值和所述第二反射值,计算得到第三反射结果。
可选地,所述光照颜色得到模块还包括:固有色贴图得到子模块,所述固有色贴图得到子模块包括:缩放参数获取单元,用于获取固有色贴图的缩放参数;固有色贴图采样单元,用于根据固有色贴图的缩放参数,采样得到相应的固有色贴图;贴图叠加单元,用于叠加采样后的固有色贴图于所述目标模型的表面,得到叠加后表面。
可选地,所述光照颜色得到模块还包括:第二反射得到子模块,用于根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果;光照颜色确定子模块,用于根据所述至少一反射结果确定光照颜色。
可选地,所述第二反射得到子模块还包括:环境贴图采样单元,用于根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;第四反射结果得到单元,用于根据采样得到相应的环境贴图,得到第四反射结果。
可选地,所述第二反射得到子模块还包括:第三反射值计算单元,用于根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在金属材质上光照所产生的反射,以得到第三反射值;第四反射值计算单元,用于根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在非金属材质上光照所产生的反射,以得到第四反射值;第五反射结果得到单元,用于根据所述第三反射值和所述第四反射值,得到第五反射结果。
可选地,所述光照颜色得到模块还包括:漫反射结果得到子模块,所述漫反射结果得到子模块包括:环境贴图采样单元,用于根据目标模型的反射方向向量信息和细节等级信息,采样得到相应的环境贴图;固有色贴图采样单元,用于根据固有色贴图的缩放参数,采样得到相应的固有色贴图;漫反射结果计算单元用于根据所采样得到的环境贴图和所采样得到的固有色贴图,计算得到漫反射结果;光照颜色得到单元,用于根据所述目标模型在间接光照下的第四反射结果、第五反射结果、漫反射结果以及间接光照强度值,得到光照颜色。
可选地,所述模型贴图获取模块包括折射贴图得到子模块,所述折射贴图得到子模块包括:第一立方体贴图获得单元,用于获取第一立方体贴图;第一模型信息获取单元,用于获取所述目标模型的反射向量信息和法线信息;折射角计算单元,用于根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的折射角信息;第一立方体贴图采样单元,用于根据所计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
可选地,所述模型贴图获取模块包括散射贴图得到子模块,所述散射贴图得到子模块包括:第二立方体贴图获得单元,用于获取第二立方体贴图;第二模型信息获取单元,用于获取所述目标模型的反射向量信息和法线信息;散射角计算单元,用于根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的散射角信息;第二立方体贴图采样单元,用于根据所计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
可选地,所述高亮信息得到模块包括:材质贴图获取单元,用于获取所述目标模型的材质贴图;材质颜色获取单元,用于对所述材质贴图进行采样,以得到所述材质贴图的颜色值;对比度获取单元,用于根据所述材质贴图的颜色值,获得相应的对比度值;对比度调整单元,用于调节所述对比度值,以得到所述目标模型的高亮范围信息。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的目标模型的处理方法中的步骤。
本申请实施例还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,以执行如上任一实施例所述的目标模型的处理方法中的步骤。
在本申请实施例中,所述目标模型的处理方法通过PBR(Physically BasedRendering,基于物理渲染)技术计算目标模型的基础反射和漫反射,以及通过立方体贴图技术模拟目标模型的折射和散射,以及通过材质捕获技术模拟目标模型因折射而产生预设区域的透亮现象,从而使得光线照射在目标模型上时产生所需的美术表现,而且由于不涉及计算法线贴图及光线追踪,藉此能够降低着色器shader渲染时的性能消耗。另外,在所述目标模型的处理方法中,通过对目标模型的预设区域采用材质捕获处理方式,能够使预设区域产生高亮效果。本申请所述目标模型的处理方法能够实现目标模型的渲染效果和减少性能消耗彼此兼顾的目的。本申请所述目标模型的处理装置亦是如此。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例的一种目标模型的处理方法的步骤流程图。
图2为本申请实施例的目标模型的处理方法的硬件环境示意图。
图3为图1所示步骤S120的子步骤的流程示意图。
图4为图3所示步骤S121的子步骤的一流程示意图。
图5为图3所示步骤S121的子步骤的另一流程示意图。
图6为图3所示步骤S121的子步骤的又一流程示意图。
图7为图3所示步骤S122与步骤S123之间的子步骤的流程示意图。
图8为图3所示步骤S123的子步骤的流程示意图。
图9为图3所示步骤S123的子步骤的另一流程示意图。
图10为图3所示步骤S124的后续子步骤的流程示意图。
图11为图1所示步骤S130的子步骤的流程示意图。
图12为图1所示步骤S130的子步骤的另一流程示意图。
图13为图1所示步骤S140的子步骤的流程示意图。
图14为本申请实施例的目标模型的预设区域的示意图。
图15为本申请实施例的目标模型的处理方法实施后的目标模型的效果示意图。
图16为本申请实施例的一种目标模型的处理装置的结构框图。
图17为本申请实施例的一种计算机设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语作如下解释:
着色器Shader:是一段能够针对三维(3Dimensions,简称3D)对象进行操作、并被GPU所执行的程序,通过这些程序,能够获得绝大部分所需的3D图形效果。
法线:法线是始终垂直于某平面的虚线,3D建模中对一个或一组平面生成的法线经运算在二维(2Dimensions,简称2D)屏幕上显示物理现实中所具有的表面曲率和受光情况,模拟模型体积感的一种手段。
贴图:在3D软件中,会将图片按照一定数学方式包裹在3D模型表面,形成纹理和色彩变化,这种用于模拟真实物体表面信息的图片,称为贴图。
渲染:是计算机动画(Computer Animation)的最后一道工序,目的是通过摄像机,将3D软件中构建的虚拟内容从3D空间转换为人脑可以识别的2D图片的计算过程。
图形处理器(Graphics Processing Unit,简称GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
PBR:基于物理的渲染,它是指一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。通常分为直接光照和间接光照。其中,直接光照为由光线照射至物体表面后产生的各种现象,间接光照为环境对物体产生的各种效果。
CubeMap(立方体贴图):在计算机图形学中,立方体贴图是一种环境映射方法,该方法使用立方体的六个面作为地图形状。将环境投影到立方体的侧面并存储为六个正方形纹理,或展开为单个纹理的六个区域。立方体贴图是通过从一个视点渲染场景六次而生成的,其中由90度视图视锥定义的视图代表每个立方体面。
Matcap(Material Capture,即材质捕获):是一种预先存储光照和反射等信息的贴图,运行时使用法线方向进行采样。
图1为本申请实施例的一种目标模型的处理方法的步骤流程图。如图1所示,本申请实施例提供了一种目标模型的处理方法的实施例。
在本实施例中,目标模型的处理方法可以应用于如图2所示的由计算机设备(包括服务器或终端设备)所构成的硬件环境。终端设备可以为智能显示屏、智能电视、智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
图2为本申请实施例的目标模型的处理方法的硬件环境示意图。如图2所示,服务器可以通过网络与终端设备进行连接,可用于为终端设备或终端设备上安装的客户端提供服务(如游戏服务、应用服务)。另外,可以在服务器上或独立于服务器设置数据库,用于为服务器提供数据存储服务。上述网络包括但不限于:广域网、城域网或局域网。本申请实施例的目标模型的处理方法可以由终端设备来执行,也可以由服务器来执行,还可以由终端设备和服务器共同执行。其中,计算机设备执行本申请实施例的目标模型的处理方法也可以是由安装在其上的客户端来执行。
如图1所示,所述目标模型的处理方法可以包括以下步骤:
步骤S110,获取游戏场景中目标模型的光照信息。
目标模型可以为游戏场景中的游戏角色、道具、场景对象(例如动植物等)。在本实施例中,目标模型例如可以为宝石的游戏元素。且该目标模型为三维模型。在此步骤中,可以进一步包括:在游戏场景中构建目标模型;以及根据不同的光照类别,以获得目标模型的相应光照信息。
根据不同的光照类别,获得目标模型的不同的光照信息。当光照类别为直线光照时,可以得到目标模型的直线光照信息,并且将其作为光照信息。当光照类别为间接光照时,可以得到目标模型的间接光照信息,并且将其作为光照信息。
步骤S120,根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色。
在此步骤中,可以根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果;并根据所述至少一个反射结果确定所述目标模型的表面反射内容。也可以根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果;并根据所述至少一个反射结果确定光照颜色。
进一步,在根据直线光照信息获得所述目标模型在直线光照下的至少一个反射结果,并据此确定目标模型的表面反射内容的过程中,可以获得用于表示目标模型表面反射内容的反射亮光度的第一反射结果,也可以获得用于表示所述目标模型所产生的自阴影程度的第二反射结果,也可以获得用于表示所述目标模型的表面被平行光源光照所产生的反射的比例程度的第三反射结果,但不限于此。
进一步,在根据间接光照信息获得所述目标模型在间接光照下的至少一个反射结果,并据此确定目标模型的表面反射内容的过程中,可以获得用于表示所述目标模型的环境贴图被环境光光照所产生的反射程度的第四反射结果,也可以获得用于表示所述目标模型所在场景中其他至少一模型受环境光照提供的光线而产生反射的比例程度的第五反射结果,但不限于此。
此外,在直线光照和间接光照的情况下分别获得相应的反射结果之外,还可以进一步包括在直接光照和间接光照的情况下分别获得相应的漫反射结果。具体地,在直线光照下,通过采样固有色贴图得到相应的漫反射结果。而在间接光照下,通过采样环境贴图得到相应的漫反射结果。
接着,可以将在直线光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的直接光照情况。其中,在拟合直线光照下的反射结果和漫反射结果的过程中,可以通过确定所述目标模型的基本信息,其中基本信息包括亮暗信息、光照强度值、光照颜色中的至少一者,以得到通过PBR渲染出正常材质情况下的直接光照情况。
同样,也可以将在间接光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的间接光照情况。其中,在拟合间接光照下的反射结果和漫反射结果的过程中,可以通过菲涅尔方程(例如Fresnel-Schlick近似法求得近似解)得到漫反射结果的近似值,并且与间接光照下的反射结果相结合,再叠加间接光照强度值,以得到通过PBR渲染出正常材质情况下的间接光照情况。
步骤S130,对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图。
在此步骤中,分别获取折射用的立方体贴图和散射用的立方体贴图。通过对折射用的立方体贴图进行采样,可以得到目标模型内部的折射贴图。同样,通过对散射用的立方体贴图进行采样,可以得到目标模型内部的散射贴图。
步骤S140,对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息。
在此步骤中,可以包括以下步骤:获取所述目标模型的材质贴图;对所述材质贴图进行采样,以得到所述材质贴图的颜色值;根据所述材质贴图的颜色值,获得相应的对比度值;调节所述对比度值,以得到所述目标模型的高亮范围信息,从而能够使得预设区域(例如目标模型的边缘部分和下半部分)呈现出高亮效果。
步骤S150,根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
通过执行上述方法的每一个步骤,可以分别得到相应的效果,并且将这些效果进一步的结合,最终可以获得目标模型的图像所具有的渲染效果。
本申请实施例提供的所述目标模型的处理方法通过执行上述步骤S110至步骤S150,即通过PBR技术计算目标模型的基础反射和漫反射,以及通过立方体贴图技术模拟目标模型的折射和散射,以及通过材质捕获技术模拟目标模型因折射而产生预设区域的透亮现象,可以使光线照射在目标模型上时产生所需的美术表现,而且由于不涉及计算法线贴图及光线追踪,藉此能够降低着色器shader渲染时的性能消耗。另外,在所述目标模型的处理方法中,通过对目标模型的预设区域采用材质捕获处理方式,能够使预设区域产生透亮效果。另外,在所述目标模型的处理方法中,对目标模型不仅采用了散射贴图和折射贴图,以使光线照射于上述贴图时可以产生目标模型所需的美术表现,而且随着游戏相机镜头的旋转,使得目标模型被光照时具有折射错落感。如此设计,本申请实施例提供的目标模型的处理方法能够真实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量,以实现目标模型的渲染效果和减少性能消耗彼此兼顾的目的。
为了描述的前后统一,便于了解本申请的技术方案,后继实施例中的渲染游戏场景中的目标模型以宝石为例进行说明,但不限于此。需要说明的是,对于其余场景、或其余类型的目标模型(或目标对象),采用本申请的技术方案实现时,与后续实施例中渲染游戏场景中的宝石的例子类似,因此,本申请对此并不限定。
以下将结合步骤S110至步骤S150进一步详述本申请的技术方案。
在执行步骤S110中,例如在主机游戏、单机游戏、网络游戏或其他游戏中,由于游戏剧情发展或者游戏场景设计的需要,于是在游戏中会出现一些游戏元素。这些游戏元素可以以自动构建的目标模型的方式予以呈现,而且这些目标模型可以呈现出游戏元素的特别效果。例如,像宝石的游戏元素的发光效果。此时可以触发对目标模型的渲染请求。计算机设备的中央处理器CPU或GPU接收到渲染请求后,执行渲染操作,以得到目标模型的图像。当采用本申请的技术方案,在实现宝石的发光效果的同时,能够有效降低GPU的计算量,使得宝石的渲染应用可以扩展至例如像手机的终端设备的游戏中,甚至可适用于采用较旧引擎且对性能消耗要求较严的计算机设备,同样可以实现优秀的渲染效果。
在步骤S110提供的技术方案中,进一步可以根据不同的光照类别,获得目标模型的不同的光照信息。当光照类别为直线光照时,可以得到目标模型的直线光照信息,并且将其作为光照信息。当光照类别为间接光照时,可以得到目标模型的间接光照信息,并且将其作为光照信息。
在步骤S120提供的技术方案中,可以根据所述光照信息确定目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色。
参阅图3,在此步骤中,可以执行以下步骤:步骤S121,根据目标模型的直线光照信息,获得目标模型在直线光照下的至少一个反射结果;步骤S122,根据所述至少一个反射结果确定目标模型的表面反射内容。也可以执行以下步骤:步骤S123,根据目标模型的间接光照信息,获得目标模型在间接光照下的至少一个反射结果;步骤S124,根据所述至少一个反射结果,确定光照颜色。需说明的是,步骤S121和步骤S123的执行并没有严格的顺序限制,这些步骤可以以其他的顺序执行。
在执行步骤S121和步骤S122时,在根据直线光照信息获得目标模型在直线光照下的至少一个反射结果,并据此确定目标模型的表面反射内容的过程中,可以获得用于表示目标模型表面反射内容的反射亮光度的第一反射结果,也可以获得用于表示所述目标模型所产生的自阴影程度的第二反射结果,也可以获得用于表示目标模型的表面被平行光源光照所产生的反射的比例程度的第三反射结果。亦即,所述至少一个反射结果包括第一反射结果、第二反射结果和第三反射结果的其中一个。当然,在其他部分实施例中,所述至少一个反射结果可以包括第一反射结果、第二反射结果和第三反射结果中的至少一个。
具体地,目标模型的第一反射结果可以通过执行以下步骤而得到。
结合参阅图1、图3和图4,步骤S211,根据所述法线信息和所述半角向量信息,计算得到第一点积值。
在步骤S211之前,可以包括:获得目标模型的法线信息、半角向量信息和粗糙度信息。其中半角向量h为位于光线向量l和视线向量v之间的中间向量。在步骤S211中,根据所得到法线信息n和半角向量信息h,可以计算得到第一点积值。
步骤S212,根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果。
根据所得到的粗糙度信息和步骤S211所计算出的第一点积值,计算得到第一反射结果。
由于目标模型(例如本实施例中的宝石)的表面由粗糙度不同的微平面组成。当光线射入这些微平面后,通常会产生镜面反射。若微平面越粗糙,则反射的光线更杂乱,若微平面越平滑,则反射的光线更平齐。因此基于作为输入参数的粗糙度,以及使用的统计学方法可以估算微平面的粗糙程度,即第一反射结果,该第一反射结果用于表示目标模型表面反射内容的反射亮光度。
需说明的是,上述步骤S211至步骤S212,可以通过调用DistributionGGX函数(法线分布函数)来得到第一反射结果。该函数在传入不同的粗糙度参数后,会产生不同的效果。粗糙度越小,则镜面反射越亮、范围越小;粗糙度越大,则镜面反射越弱。
此外,在本实施例中,在步骤S212之后,还可以包括:步骤S213,对第一反射结果进行放大化处理。所述根据所述至少一个反射结果确定所述目标模型的表面反射内容,包括:根据放大化处理后的第一反射结果,确定所述目标模型的表面反射内容。因此,通过实施上述的对第一反射结果进行放大化处理的步骤,可以使得粗糙度越小的表面所对应的反射范围变得更小,粗糙度越大的表面所对应的反射范围变得更大,进而能够放大化反射的差异性,以进一步增强目标模型在实际光照下的反射亮光效果。
具体地,目标模型的第二反射结果可以通过执行以下步骤而得到。
结合参阅图1、图3和图5,步骤S221,根据法线信息和视线方向向量信息,计算得到第二点积值。
在步骤S221之前,可以包括:获得目标模型的法线信息、视线方向向量信息、光照方向向量信息和粗糙度信息。
步骤S222,根据所述第二点积值获得所述目标模型在视线方向上的第一几何遮挡信息。
步骤S223,根据法线信息和光照方向向量信息,计算得到第三点积值。
步骤S224,根据所述第三点积值获得所述目标模型在光照方向上的第二几何遮挡信息。
步骤S225,根据所述第一几何遮挡信息和所述第二几何遮挡信息,计算得到第二反射结果。
需说明的是,上述步骤S221至步骤S225,可以通过调用GeometrySmith函数(几何函数)来得到第二反射结果。该函数用于模拟微平面相互遮挡导致光线的能量减少或丢失的现象。该函数也使用粗糙度作为输入参数,粗糙度越大表示微平面产生自阴影的概率越高,粗糙度越小表示微平面产生自阴影的概率越低。其中该函数中的参数G-SchlickV表示视线方向的几何遮挡信息,参数G-SchlickL表示光线方向的几何遮挡信息。该函数在传入不同的粗糙度参数后,会产生不同的效果。
具体地,目标模型的第三反射结果可以通过执行以下步骤而得到。
结合参阅图1、图3和图6,步骤S231,根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在非金属材质上光照所产生的反射,以得到第一反射值。
在步骤S231之前,可以包括:获得目标模型的光线比例系数信息和基础反射率信息,其中所述光线比例系数信息用于定义目标模型的表面被反射的光线与被折射的光线的比例。
步骤S232,根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在金属材质上光照所产生的反射,以得到第二反射值。
步骤S233,根据所述第一反射值和所述第二反射值,计算得到第三反射结果。
上述步骤S231至步骤S233,可以通过菲涅尔方程计算得到光被反射的百分比,从而可以得到第三反射结果。其中,在菲涅尔方程计算中,第一反射值和第二反射值分别为计算光线在电解质(非金属)和导体(金属)上的反射值。
此外,在通过调用上述的法线分布函数、几何函数和菲涅尔方程分别得到第一反射结果、第二反射结果、第三反射结果之后,可以将这三个反射结果进行相乘操作,以得到目标模型在直接光照下的反射结果。
此外,可以通过执行以下步骤得到目标模型在直接光照下的漫反射结果。在本实施例中,通过采样固有色贴图得到相应的漫反射结果。
结合参阅图1、图3和图7,具体地,步骤S241,获取固有色贴图的缩放参数。
在步骤S241之前,可以包括:传入得到固有色贴图。固有色贴图也可以称为基础贴图。
步骤S242,根据固有色贴图的缩放参数,采样得到相应的固有色贴图。
根据固有色贴图的缩放参数,可以控制固有色贴图的大小。在本实施例中,可以通过sample函数(贴图采样函数)来采样得到相应的固有色贴图。
步骤S243,叠加采样后的固有色贴图于目标模型的表面,得到叠加后表面。
将采样得到固有色贴图叠加(或分布)于目标模型的表面,得到叠加后表面。
而在其他部分实施例中,也可以通过类似于采集固有色贴图的方法得到目标模型在直接光照下的漫反射结果。
需说明的是,在执行上述步骤S241至步骤S243步骤之后,上述的根据所述表面反射内容进行光照,以得到光照颜色的步骤(即步骤S120),可以包括:对叠加后表面进行光照处理,以得到光照颜色。
此外,在执行上述步骤S241至步骤S243步骤之后,可以将在直线光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的直接光照情况。其中,在拟合直线光照下的反射结果和漫反射结果的过程中,可以通过确定目标模型的亮暗信息、光照强度值和光照颜色中的至少一个,以得到通过PBR渲染出正常材质情况下的直接光照情况。
在执行步骤S123和步骤S124时,在根据间接光照信息获得目标模型在间接光照下的至少一个反射结果,并据此确定光照颜色的过程中,可以获得用于表示目标模型的环境贴图被环境光光照所产生的反射程度的第四反射结果,也可以获得用于表示目标模型所在场景中其他至少一模型受环境光照提供的光线而产生反射的比例程度的第五反射结果。亦即,所述至少一个反射结果包括第四反射结果和第五反射结果的其中一个。当然,在其他部分实施例中,所述至少一个反射结果可以包括第四反射结果和第五反射结果中的至少一个。
具体地,目标模型的第四反射结果可以通过执行以下步骤而得到。
结合参阅图1、图3和图8,步骤S251,根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图。
在步骤S251之前,可以包括:传入得到环境贴图;获得目标模型的反射方向向量信息和细节等级信息。其中,细节等级信息是指LOD(Level Of Detail)级别参数。在本实施例中,可以通过使用粗糙度来确定环境贴图的细节等级。
步骤S252,根据采样得到相应的环境贴图,得到第四反射结果。
需说明的是,上述步骤S251至步骤S252,通过调用env_sample_lod_sim函数(采样环境贴图函数)来得到第四反射结果。
在步骤S251中,进一步包括以下步骤:获取所述反射方向向量信息中的长度值;比较所述长度值和预设长度值;当判断出所述长度值大于所述预设长度值时,调整采样环境贴图的点坐标值;根据调整后的采样环境贴图的点坐标值,得到相应的环境贴图。
可选地,在采样环境贴图函数中,进一步包括condition函数(条件函数),用以矫正采样环境贴图的UV,即采样环境贴图的点坐标值(pos值)。
具体地,目标模型的第五反射结果可以通过执行以下步骤而得到。
结合参阅图1、图3和图9,步骤S261,根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在金属材质上光照所产生的反射,以得到第三反射值。
在步骤S261之前,可以包括步骤:获得目标模型的反射颜色信息、粗糙度信息、法线向量信息和视线向量信息。
步骤S262,根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在非金属材质上光照所产生的反射,以得到第四反射值。
步骤S263,根据所述第三反射值和所述第四反射值,得到第五反射结果。
上述步骤S261至步骤S263,分别通过调用env_approx_metal函数(近似金属贴图函数)和env_approx_notmetal函数(近似非金属贴图函数),以分别得到第三反射值和第四反射值。在调用env_approx_metal函数时,使用参数反射颜色specular、粗糙度roughness、法线向量和视线向量的点积ndv。在调用env_approx_notmetal函数时,使用参数粗糙度roughness、法线向量和视线向量的点积ndv。
由于env_approx_metal函数和env_approx_notmetal函数为近似求解,因此,所得到的第三反射值和第四反射值均为近似值。这样可以通过近似值来拟合环境光下在金属和非金属材质上的反射情况。
此外,可以通过执行以下步骤得到目标模型在间接光照下的漫反射结果。在本实施例中是通过采样环境贴图得到环境色,并且与上述计算得到的固有色相结合,以得到相应的漫反射结果。
结合参阅图1、图3和图10,具体地,步骤S271,根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;
步骤S272,根据固有色贴图的缩放参数,采样得到相应的固有色贴图;
步骤S273,根据所采样得到的环境贴图和所采样得到的固有色贴图,计算得到漫反射结果。
在本实例中,通过将采样得到的环境贴图所对应的环境色以及将采样得到的固有色贴图所对应的固有色进行相乘操作,以计算得到漫反射结果。在其他部分实施例中,也可以通过对采样得到的环境贴图和采样得到的固有色贴图进行其他计算操作,以得到漫反射结果。此外,也可以通过对采集得到的环境贴图、固有色贴图以及其他贴图进行其他计算操作,以得到间接光照下的漫反射结果。
在执行上述步骤S251至步骤S252,步骤S261至步骤S263,步骤S271至步骤S273之后,可以将在间接光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的间接光照情况。其中,在拟合间接光照下的反射结果和漫反射结果的过程中,可以通过fresnelSchlickRoughness函数(一种用于菲涅尔方程的近似法求得近似解)近似求解得到漫反射结果的近似值,该fresnelSchlickRoughness函数的输入参数包括归一化后的法线向量和视线向量的点积、基础反射率、粗糙度。进一步,将漫反射结果的近似值与反射结果(包括第四反射结果和第五反射结果)进行相加操作,然后再与间接光照强度值进行叠加操作,以得到光照颜色。
在步骤S130提供的技术方案中,分别获取折射用的立方体贴图和散射用的立方体贴图。通过对折射用的立方体贴图进行采样,可以得到目标模型内部的折射贴图。同样,通过对散射用的立方体贴图进行采样,可以得到目标模型内部的散射贴图。
结合参阅图1和图11,具体地,对目标模型的立方体贴图进行采样,以得到目标模型的折射贴图的步骤,包括:
步骤S131,获取第一立方体贴图。
其中,第一立方体贴图为折射用的立方体贴图。该第一立方体贴图设于目标模型的内部。
步骤S132,获取目标模型的反射向量信息和法线信息。
在此步骤中,可以通过reflect函数(反射调用函数),以传入所需的反射向量信息和法线信息。
步骤S133,根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的折射角信息。
由于在游戏设计中规定反射向量即为视线方向的反方向,因此,可以通过视线方向向量的负值表示反射向量。在此步骤中,可以通过normalize函数(归一化函数)以计算得到折射角信息。
步骤S134,根据所计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
在此步骤中,通过sample函数(采样函数),可以基于计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
结合参阅图1和图12,具体地,对目标模型的立方体贴图进行采样,以得到目标模型的折射贴图的步骤,包括:
步骤S135,获取第二立方体贴图。该立方体贴图设于目标模型的内部。
其中,第二立方体贴图为散射用的立方体贴图。该第二立方体贴图设于目标模型的内部。
步骤S136,获取目标模型的反射向量信息和法线信息。
步骤S137,根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的散射角信息。
步骤S138,根据所计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
在此步骤中,通过sample函数(采样函数),可以基于计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
通过上述的步骤S131至步骤S138,可以得到目标模型内部的折射贴图和散射贴图。
在步骤S140提供的技术方案中,通过采样材质贴图得到目标模型的高亮范围信息。
结合参阅图1和图13,具体地,步骤S140包括以下步骤:
步骤S141,获取所述目标模型的材质贴图。
材质贴图可设置于目标模型的预设区域,例如如图14所示的目标模型的下半部分和边缘部分。
步骤S142,对所述材质贴图进行采样,以得到所述材质贴图的颜色值。
在此步骤中,通过调用getMatColor函数(调色板函数),以得到材质贴图的颜色值。其中,在上述getMatColor函数中,作为输入参数的,可以包括材质贴图、采样matcap贴图所需的UV(二维点坐标)、对比度。其中,matcapUV的计算方式为:首先将法线信息n转换到屏幕空间中。然后,由于得到的值是-1至1的区间,且y轴为反的,因此,要将其转换到0至1的区间中。
步骤S143,根据所述材质贴图的颜色值,获得相应的对比度值。
步骤S144,调节所述对比度值,以得到所述目标模型的高亮范围信息。
其中,可以通过pow函数(即次幂函数),对材质贴图的颜色值的对比度值进行调节,然后再通过transform函数(即变换函数),得到目标模型的高亮范围信息。
本申请实施例所提供的目标模型的处理方法,通过上述步骤S110至步骤S150的实施,即通过PBR技术计算目标模型的基础反射和漫反射,以及通过立方体贴图技术模拟目标模型的折射和散射,以及通过材质捕获技术模拟目标模型因折射而产生预设区域的透亮现象,可以使光线照射在目标模型上时产生所需的美术表现,而且由于不涉及计算法线贴图及光线追踪,藉此能够降低着色器shader渲染时的性能消耗。另外,在所述目标模型的处理方法中,通过对目标模型的预设区域采用材质捕获处理方式,能够使得预设区域产生透亮效果。另外,在所述目标模型的处理方法中,对目标模型不仅采用了散射贴图和折射贴图,以使光线照射于上述贴图时可以产生目标模型所需的美术表现,而且随着游戏相机镜头的旋转,使得目标模型被光照时具有折射错落感。可参见图15所示的目标模型的效果示意图。采用上述目标模型的处理方法,也能够使目标模型的渲染应用扩展至手机等终端设备的游戏中,甚至可适用于采用较旧引擎且对性能消耗要求较严的平台或终端,同样可以实现优秀的渲染效果。因此,本申请实施例提供的所述目标模型的处理方法能够真实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量,以实现目标模型的渲染效果和减少性能消耗彼此兼顾的目的。
需说明的是,对于上述的实施例,为了简单描述,故将其均表述为一系列的动作组合,但是本邻域技术人员应该知悉,本申请并不受所描述的动作顺序的限制。根据本申请,某些步骤可以采用其他顺序。例如,上述步骤S120、步骤S130、步骤S140的实施,并无先后次序之分。在部分实施例中,可以先执行步骤S120,然后执行步骤S130,再执行步骤S140。或在部分实施例中,可以先执行步骤S140,然后执行步骤S130,再执行步骤S120;或在部分实施例中,可以先执行步骤S130,然后执行步骤S120,再执行步骤S140;亦即,上述三个步骤可交换顺序。
另外,在部分实施例中,除了通过使用折射用立方体贴图采样的方法(如步骤S130的描述)以得到所述目标模型内部的折射贴图之外,还可以通过材质贴图采样方法以模拟目标模型的折射效果。
根据本申请实施例的另一方面,还提供了一种目标模型的处理装置,用于实施上述目标模型的处理方法。图16为本申请实施例的一种目标模型的处理装置的结构框图。如图16所示,该处理装置可以包括:光照信息获取模块310、光照颜色得到模块320、模型贴图获取模块330、高亮信息得到模块340和模型图像得到模块350。
光照信息获取模块310,用于获取游戏场景中目标模型的光照信息。其中目标模型可以为游戏场景中的游戏角色、道具、场景对象(例如动植物等)。在本实施例中,目标模型例如可以为宝石的游戏元素。且该目标模型为三维模型。光照信息获取模块310可以包括目标模型构建子模块,目标模型构建子模块用于在游戏场景中构建目标模型。
光照信息获取模块310进一步可以根据不同的光照类别,以获得目标模型的相应光照信息。当光照类别为直线光照时,可以得到目标模型的直线光照信息,并且将其作为光照信息。当光照类别为间接光照时,可以得到目标模型的间接光照信息,并且将其作为光照信息。
光照颜色得到模块320,用于根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色。进一步地,光照颜色得到模块320,可以根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果;并根据所述至少一个反射结果确定所述目标模型的表面反射内容。光照颜色得到模块320也可以根据所述目标模型的间接光照信息,获得目标模型在间接光照下的至少一个反射结果;并根据所述至少一个反射结果确定光照颜色。
模型贴图获取模块330,用于对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图。进一步,模型贴图获取模块330用于分别获取折射用的立方体贴图和散射用的立方体贴图,通过对折射用的立方体贴图进行采样,可以得到目标模型的折射贴图;以及通过对散射用的立方体贴图进行采样,可以得到目标模型的散射贴图。
高亮信息得到模块340,用于对所述目标模型材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息。进一步地,高亮信息得到模块340用于获取所述目标模型的材质贴图;对所述材质贴图进行采样,以得到所述材质贴图的颜色值;根据所述材质贴图的颜色值,获得相应的对比度值;调节所述对比度值,以得到所述目标模型的高亮范围信息,从而能够使得预设区域呈现出高亮效果。
模型图像得到模块350,用于根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
以下将进一步描述上述模块的结构及功能。
所述光照颜色得到模块320包括:第一反射得到子模块,用于根据所述目标模型的直线光照信息,获得所述目标模型在直线光照下的至少一个反射结果;反射内容确定子模块,用于根据所述至少一个反射结果确定所述目标模型的表面反射内容。
在本实施例中,第一反射得到子模块包括:第一点积计算单元,用于根据所述法线信息和所述半角向量信息,计算得到第一点积值;第一反射结果得到单元,用于根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果。
具体地,通过调用第一点积计算单元可以计算得到第一点积值。通过调用第一反射结果得到单元可以计算得到第一反射结果。其中,第一反射结果用于表示目标模型表面反射内容的反射亮光度。
由于目标模型表面由粗糙度不同的微平面组成。当光线射入这些微平面后,通常会产生镜面反射。若微平面越粗糙,则反射的光线更杂乱,若微平面越平滑,则反射的光线更平齐。因此基于作为输入参数的粗糙度,以及使用的统计学方法可以估算微平面的粗糙程度,即第一反射结果,该第一反射结果用于表示目标模型表面反射内容的反射亮光度。
可选地,第一反射得到子模块还包括:差异性放大单元,用于对第一反射结果进行放大化处理。因此,通过调用差异性放大单元,可以使得粗糙度越小的表面所对应的反射范围变得更小,粗糙度越大的表面所对应的反射范围变得更大,进而能够放大化反射的差异性,以进一步增强目标模型在实际光照下的反射亮光效果。
在本实施例中,第一反射得到子模块还包括:第二点积计算单元,用于根据法线信息和视线方向向量信息,计算得到第二点积值;第一遮挡信息得到单元,用于根据所述第二点积值获得所述目标模型在视线方向上的第一几何遮挡信息;第三点积计算单元,用于根据法线信息和光照方向向量信息,计算得到第三点积值;第二遮挡信息得到单元,用于根据所述第三点积值获得所述目标模型在光照方向上的第二几何遮挡信息;第二反射结果得到单元,用于根据所述第一几何遮挡信息和所述第二几何遮挡信息,计算得到第二反射结果。
具体地,通过调用第二点积计算单元、第一遮挡信息得到单元、第三点积计算单元、第二遮挡信息得到单元和第二反射结果得到单元,可以得到第二反射结果。其中,第二反射结果用于表示所述目标模型所产生的自阴影程度。
在本实施例中,第一反射得到子模块还包括:第一反射值计算单元,用于根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在非金属材质上光照所产生的反射,以得到第一反射值;第二反射值计算单元,用于根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在金属材质上光照所产生的反射,以得到第二反射值;第三反射结果得到单元,用于根据所述第一反射值和所述第二反射值,计算得到第三反射结果。
具体地,通过调用第一反射值计算单元、第二反射值计算单元和第三反射结果得到单元,可以得到第三反射结果。其中,第三反射结果用于表示所述目标模型的表面被平行光源光照所产生的反射的比例程度。
需说明的是,调用第一反射值计算单元和第二反射值计算单元所得到的第一反射值和第二反射值分别为计算光线在电解质(非金属)和导体(金属)上的反射值。
此外,通过调用第一反射得到子模块中的各个模块,可以得到第一反射结果、第二反射结果、第三反射结果之后,还可以将这三个反射结果进行相乘操作,以得到相应的目标模型在直接光照下的反射结果。
在本实施例中,所述光照颜色得到模块320还包括:固有色贴图得到子模块。所述固有色贴图得到子模块包括:缩放参数获取单元,用于获取固有色贴图的缩放参数;固有色贴图采样单元,用于根据固有色贴图的缩放参数,采样得到相应的固有色贴图;贴图叠加单元,用于叠加采样后的固有色贴图于所述目标模型的表面,得到叠加后表面。
具体地,可以通过调用固有色贴图得到子模块可以通过sample函数(贴图采样函数)来采样得到相应的固有色贴图,并且将采样得到固有色贴图叠加于目标模型的表面,得到叠加后表面,从而对叠加后表面,进行光照处理,以得到光照颜色。亦即,通过调用固有色贴图,可以得到相应的漫反射结果。
进一步,通过调用第一反射得到子模块、固有色贴图得到子模块可以分别得到目标模型在直线光照下的反射结果和漫反射结果。于是,可以将在直线光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的直接光照情况。其中,在拟合直线光照下的反射结果和漫反射结果的过程中,可以通过确定目标模型的亮暗信息、光照强度值和光照颜色中的至少一个,以得到通过PBR渲染出正常材质情况下的直接光照情况。
在本实施例中,所述光照颜色得到模块320还包括:第二反射得到子模块,用于根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果;光照颜色确定子模块,用于根据所述至少一反射结果确定光照颜色。
具体地,所述第二反射得到子模块还包括:环境贴图采样单元,用于根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;第四反射结果得到单元,用于根据采样得到相应的环境贴图,得到第四反射结果。
通过调用环境贴图采样单元和第四反射结果得到单元,可以得到第四反射结果。其中,第四反射结果用于表示目标模型的环境贴图被环境光光照所产生的反射程度。
进一步,在环境贴图采样单元中,可以包括长度值获取子单元、长度值比较子单元、点坐标调整子单元和环境贴图得到子单元。其中,长度值获取子单元用于获取所述反射方向向量信息中的长度值。长度值比较子单元用于比较所述长度值和预设长度值。点坐标调整子单元用于当判断出所述长度值大于所述预设长度值时,调整采样环境贴图的点坐标值。环境贴图得到子单元用于根据调整后的采样环境贴图的点坐标值,得到相应的环境贴图。
因此,可以通过调用长度值获取子单元、长度值比较子单元、点坐标调整子单元和环境贴图得到子单元,可以通过条件函数来矫正采样环境贴图的UV,即采样环境贴图的点坐标值(pos值)。
具体地,所述第二反射得到子模块还包括:第三反射值计算单元,用于根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在金属材质上光照所产生的反射,以得到第三反射值;第四反射值计算单元,用于根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在非金属材质上光照所产生的反射,以得到第四反射值;第五反射结果得到单元,用于根据所述第三反射值和所述第四反射值,得到第五反射结果。
通过调用第三反射值计算单元、第四反射值计算单元和第五反射结果得到单元,可以得到第五反射结果。其中,第五反射结果用于表示目标模型所在场景中其他至少一模型受环境光照提供的光线而产生反射的比例程度。
在调用第三反射值计算单元和第四反射值计算单元时,会分别通过调用env_approx_metal函数(近似金属贴图函数)和env_approx_notmetal函数(近似非金属贴图函数),以分别得到第三反射值和第四反射值。在调用env_approx_metal函数时,使用参数反射颜色specular、粗糙度roughness、法线向量和视线向量的点积ndv。在调用env_approx_notmetal函数时,使用参数粗糙度roughness、法线向量和视线向量的点积ndv。由于env_approx_metal函数和env_approx_notmetal函数为近似求解,因此,所得到的第三反射值和第四反射值均为近似值。这样可以通过近似值来拟合环境光下在金属和非金属材质上的反射情况。
在本实施例中,所述光照颜色得到模块320还包括:漫反射结果得到子模块,所述漫反射结果得到子模块包括:环境贴图采样单元,用于根据目标模型的反射方向向量信息和细节等级信息,采样得到相应的环境贴图;固有色贴图采样单元,用于根据固有色贴图的缩放参数,采样得到相应的固有色贴图;漫反射结果计算单元用于根据所采样得到的环境贴图和所采样得到的固有色贴图,计算得到漫反射结果;光照颜色得到单元,用于根据所述目标模型在间接光照下的第四反射结果、第五反射结果、漫反射结果以及间接光照强度值,得到光照颜色。
具体地,通过调用漫反射结果得到子模块可以得到间接光照下的漫反射结果。在调用漫反射结果得到子模块时,可以通过sample函数(贴图采样函数)来采样得到相应的环境贴图。
进一步,通过调用第二反射得到子模块和漫反射结果得到子模块,可以分别得到目标模型在间接光照下的反射结果和漫反射结果。于是,可以将在间接光照下的反射结果和漫反射结果进行相结合,以得到通过PBR渲染出正常材质情况下的间接光照情况。其中,在拟合间接光照下的反射结果和漫反射结果的过程中,可以通过fresnelSchlickRoughness函数近似求解得到漫反射结果的近似值,该fresnelSchlickRoughness函数的输入参数包括归一化后的法线向量和视线向量的点积、基础反射率、粗糙度。进一步,将漫反射结果的近似值与反射结果(包括第四反射结果和第五反射结果)进行相加操作,然后再与间接光照强度值进行叠加操作,以得到光照颜色。
在本实施例中,所述模型贴图获取模块330包括折射贴图得到子模块。所述折射贴图得到子模块包括:第一立方体贴图获得单元,用于获取第一立方体贴图;第一模型信息获取单元,用于获取所述目标模型的反射向量信息和法线信息;折射角计算单元,用于根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的折射角信息;第一立方体贴图采样单元,用于根据所计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
具体地,通过调用折射贴图得到子模块,可以对折射用的立方体贴图进行采样,进而可以得到目标模型内部的折射贴图。
在调用折射贴图得到子模块时,可以通过sample函数(采样函数)和normalize函数(归一化函数),且基于计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
在本实施例中,所述模型贴图获取模块330包括散射贴图得到子模块。所述散射贴图得到子模块包括:第二立方体贴图获得单元,用于获取第二立方体贴图;第二模型信息获取单元,用于获取所述目标模型的反射向量信息和法线信息;散射角计算单元,用于根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的散射角信息;第二立方体贴图采样单元,用于根据所计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
具体地,通过调用散射贴图得到子模块,可以对散射用的立方体贴图进行采样,进而可以得到目标模型内部的散射贴图。
在调用散射贴图得到子模块时,可以通过sample函数(采样函数)和normalize函数(归一化函数),且基于计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
因此,通过调用折射贴图得到子模块和散射贴图得到子模块,可以得到目标模型折射贴图和散射贴图。其中,折射贴图和散射贴图设于目标模型的内部。
在本实施例中,所述高亮信息得到模块340可以包括:材质贴图获取单元,用于获取所述目标模型的材质贴图;材质颜色获取单元,用于对所述材质贴图进行采样,以得到所述材质贴图的颜色值;对比度获取单元,用于根据所述材质贴图的颜色值,获得相应的对比度值;对比度调整单元,用于调节所述对比度值,以得到所述目标模型的高亮范围信息。
具体地,通过调用高亮信息得到模块340,可以对材质贴图进行采样,进而可以得到所述目标模型的高亮范围信息。
在调用高亮信息得到模块340时,可以通过getMatColor函数(调色板函数),以得到材质贴图的颜色值,然后再通过pow函数,对材质贴图的颜色值的对比度值进行调节,接着再通过transform函数,得到目标模型的高亮范围信息。
需说明的是,上述模块、子模块、单元或子单元,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。此外,上述模块、子模块、单元或子单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。上述模块、子模块、单元或子单元作为装置的一部分,可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
本申请实施例中的所述目标模型的处理装置通过PBR技术计算目标模型的基础反射和漫反射,以及通过立方体贴图技术模拟目标模型的折射和散射,以及通过材质捕获技术模拟目标模型因折射而产生预设区域的透亮现象,从而使得光线照射在目标模型上时产生所需的美术表现,而且由于不涉及计算法线贴图及光线追踪,藉此能够降低着色器shader渲染时的性能消耗。另外,目标模型的处理装置通过对目标模型的预设区域采用材质捕获处理方式,能够使得预设区域产生高亮效果。本申请实施例所提供的所述目标模型的处理装置能够真实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量,以实现目标模型的渲染效果和减少性能消耗彼此兼顾的目的。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端设备或者服务器,该终端设备可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图17所示,图17为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
获取游戏场景中目标模型的光照信息;根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图17所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图17中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路405以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图17中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备通过PBR(Physically Based Rendering,基于物理渲染)技术计算目标模型的基础反射和漫反射,以及通过立方体贴图技术模拟目标模型的折射和散射,以及通过材质捕获技术模拟目标模型因折射而产生预设区域的透亮现象,从而使得光线照射在目标模型上时产生所需的美术表现,而且由于不涉及计算法线贴图及光线追踪,藉此能够降低渲染时的性能消耗。另外,计算机设备通过对目标模型的预设区域采用材质捕获处理方式,能够使得预设区域产生高亮效果。本申请所述计算机设备能够实模拟光线照射在目标模型上时产生所需的美术表现,且降低计算量,以实现目标模型的渲染效果和减少性能消耗彼此兼顾的目的。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种中的步骤。例如,该计算机程序可以执行如下步骤:
获取游戏场景中目标模型的光照信息;根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种目标模型的处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种目标模型的处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种目标模型的处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (20)

1.一种目标模型的处理方法,其特征在于,所述方法包括:
获取游戏场景中目标模型的光照信息;
根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;
对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;
对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及
根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
2.根据权利要求1所述的目标模型的处理方法,其特征在于,所述光照信息包括直接光照信息或间接光照信息;获取游戏场景中目标模型的光照信息的步骤,包括:
当光照类别为直接光照时,获取所述目标模型的直接光照信息作为光照信息;
当光照类别为间接光照时,获取所述目标模型的间接光照信息作为光照信息。
3.根据权利要求2所述的目标模型的处理方法,其特征在于,当光照类别为直接光照时,根据所述光照信息确定所述目标模型的表面反射内容的步骤,包括:
根据所述目标模型的直接光照信息,获得所述目标模型在直接光照下的至少一个反射结果;
根据所述至少一个反射结果确定所述目标模型的表面反射内容。
4.根据权利要求3所述的目标模型的处理方法,其特征在于,所述至少一个反射结果包括第一反射结果,所述直接光照信息包括目标模型的法线信息、半角向量信息和粗糙度信息;根据所述目标模型的直接光照信息,获得所述目标模型在直接光照下的至少一个反射结果的步骤,包括:
根据所述法线信息和所述半角向量信息,计算得到第一点积值;
根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果。
5.根据权利要求4所述的目标模型的处理方法,其特征在于,根据所述粗糙度信息和所计算出的所述第一点积值,计算得到第一反射结果的步骤之后,还包括:
对所述第一反射结果进行放大化处理;
所述根据所述至少一个反射结果确定所述目标模型的表面反射内容,包括:根据放大化处理后的第一反射结果,确定所述目标模型的表面反射内容。
6.根据权利要求3所述的目标模型的处理方法,其特征在于,所述至少一个反射结果包括第二反射结果,所述直接光照信息包括目标模型的法线信息、视线方向向量信息、光照方向向量信息和粗糙度信息;根据所述目标模型的直接光照信息,获得所述目标模型在直接光照下的至少一个反射结果的步骤,包括:
根据法线信息和视线方向向量信息,计算得到第二点积值;
根据所述第二点积值获得所述目标模型在视线方向上的第一几何遮挡信息;
根据法线信息和光照方向向量信息,计算得到第三点积值;
根据所述第三点积值获得所述目标模型在光照方向上的第二几何遮挡信息;以及
根据所述第一几何遮挡信息和所述第二几何遮挡信息,计算得到第二反射结果。
7.根据权利要求3所述的目标模型的处理方法,其特征在于,所述至少一个反射结果包括第三反射结果,所述直接光照信息包括光线比例系数信息和基础反射率信息,其中所述光线比例系数信息用于定义所述目标模型的表面被反射的光线与被折射的光线的比例;根据所述目标模型的直接光照信息,获得所述目标模型在直接光照下的至少一个反射结果的步骤,包括:
根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在非金属材质上光照所产生的反射,以得到第一反射值;
根据所述光线比例系数信息和所述基础反射率信息,计算平行光源在金属材质上光照所产生的反射,以得到第二反射值;
根据所述第一反射值和所述第二反射值,计算得到第三反射结果。
8.根据权利要求3所述的目标模型的处理方法,其特征在于,根据所述至少一个反射结果确定所述目标模型的表面反射内容的步骤之后,还包括:
获取固有色贴图的缩放参数;
根据固有色贴图的缩放参数,采样得到相应的固有色贴图;
叠加采样后的固有色贴图于所述目标模型的表面,得到叠加后表面;
所述根据所述表面反射内容进行光照,以得到光照颜色的步骤,包括:对叠加后表面进行光照处理,以得到光照颜色。
9.根据权利要求8所述的目标模型的处理方法,其特征在于,叠加采样后的固有色贴图于所述目标模型的表面的步骤之后,还包括:
根据所得到的固有色贴图和所述目标模型的表面反射内容,确定所述目标模型的基本信息,其中所述基本信息包括所述目标模型的亮暗信息、光照强度值、光照颜色中的至少一者;
所述根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像的步骤,包括:根据所得到的目标模型的基本信息、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
10.根据权利要求2所述的目标模型的处理方法,其特征在于,当光照类别为间接光照时,根据所述光照信息确定所述目标模型的表面反射内容的步骤,包括:
根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果;
根据所述至少一个反射结果确定光照颜色。
11.根据权利要求10所述的目标模型的处理方法,其特征在于,所述至少一个反射结果包括第四反射结果,所述间接光照信息包括目标模型的反射方向向量信息和细节等级信息;根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤,包括:
根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;
根据采样得到相应的环境贴图,得到第四反射结果。
12.根据权利要求11所述的目标模型的处理方法,其特征在于,根据目标模型的反射方向向量信息和细节等级信息,采样得到相应的环境贴图,以得到第四反射结果,包括:
获取所述反射方向向量信息中的长度值;
比较所述长度值和预设长度值;
当判断出所述长度值大于所述预设长度值时,调整采样环境贴图的点坐标值;
根据调整后的采样环境贴图的点坐标值,得到相应的环境贴图。
13.根据权利要求10所述的目标模型的处理方法,其特征在于,所述至少一个反射结果包括第五反射结果,所述间接光照信息包括目标模型的反射颜色信息、粗糙度信息、法线向量信息和视线向量信息;根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤,包括:
根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在金属材质上光照所产生的反射,以得到第三反射值;
根据反射颜色信息、粗糙度信息、法线向量信息和视线向量信息,计算环境光在非金属材质上光照所产生的反射,以得到第四反射值;
根据所述第三反射值和所述第四反射值,得到第五反射结果。
14.根据权利要求13所述的目标模型的处理方法,其特征在于,根据所述目标模型的间接光照信息,获得所述目标模型在间接光照下的至少一个反射结果的步骤之后,还包括:
根据反射方向向量信息和细节等级信息,采样得到相应的环境贴图;
根据固有色贴图的缩放参数,采样得到相应的固有色贴图;
根据所采样得到的环境贴图和所采样得到的固有色贴图,计算得到漫反射结果;
根据所述目标模型在间接光照下的第四反射结果、第五反射结果、漫反射结果以及间接光照强度值,得到光照颜色。
15.根据权利要求1所述的目标模型的处理方法,其特征在于,对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图的步骤,包括:
获取第一立方体贴图;
获取所述目标模型的反射向量信息和法线信息;
根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的折射角信息;
根据所计算得到的折射角信息,对第一立方体贴图进行采样,以得到折射贴图。
16.根据权利要求1所述的目标模型的处理方法,其特征在于,对所述目标模型的立方体贴图进行采样,以得到所述目标模型的散射贴图的步骤,包括:
获取第二立方体贴图;
获取所述目标模型的反射向量信息和法线信息;
根据所述反射向量信息和所述法线信息,计算得到在预设视线角度下的目标模型的散射角信息;
根据所计算得到的散射角信息,对第二立方体贴图进行采样,以得到散射贴图。
17.根据权利要求1所述的目标模型的处理方法,其特征在于,对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息的步骤,包括:
获取所述目标模型的材质贴图;
对所述材质贴图进行采样,以得到所述材质贴图的颜色值;
根据所述材质贴图的颜色值,获得相应的对比度值;
调节所述对比度值,以得到所述目标模型的高亮范围信息。
18.一种目标模型的处理装置,其特征在于,包括:
光照信息获取模块,用于获取游戏场景中目标模型的光照信息;
光照颜色得到模块,用于根据所述光照信息确定所述目标模型的表面反射内容,并根据所述表面反射内容进行光照,以得到光照颜色;
模型贴图获取模块,用于对所述目标模型的立方体贴图进行采样,以得到所述目标模型的折射贴图和散射贴图;
高亮信息得到模块,用于对所述目标模型的材质贴图执行材质捕获处理,以得到所述目标模型的高亮范围信息;以及
模型图像得到模块,用于根据所得到的光照颜色、折射贴图、散射贴图和高亮范围信息,得到所述目标模型的图像。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-17任一项所述的目标模型的处理方法中的步骤。
20.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1-17任一项所述的目标模型的处理方法中的步骤。
CN202011476294.7A 2020-12-15 2020-12-15 目标模型的处理方法、装置、存储介质及计算机设备 Active CN112489179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011476294.7A CN112489179B (zh) 2020-12-15 2020-12-15 目标模型的处理方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011476294.7A CN112489179B (zh) 2020-12-15 2020-12-15 目标模型的处理方法、装置、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN112489179A CN112489179A (zh) 2021-03-12
CN112489179B true CN112489179B (zh) 2023-10-03

Family

ID=74916410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011476294.7A Active CN112489179B (zh) 2020-12-15 2020-12-15 目标模型的处理方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN112489179B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116152425A (zh) * 2021-11-22 2023-05-23 北京字节跳动网络技术有限公司 绘制图像的方法、装置、电子设备及存储介质
CN114119848B (zh) * 2021-12-05 2024-05-14 北京字跳网络技术有限公司 一种模型渲染方法、装置、计算机设备及存储介质
CN114419233A (zh) * 2021-12-31 2022-04-29 网易(杭州)网络有限公司 模型生成方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484896A (zh) * 2014-10-30 2015-04-01 无锡梵天信息技术股份有限公司 一种基于环境贴图来模拟人物皮肤次表面散射的物理方法
CN110363836A (zh) * 2019-07-19 2019-10-22 杭州绝地科技股份有限公司 一种基于Matcap贴图的角色渲染方法、装置和设备
CN111632378A (zh) * 2020-06-08 2020-09-08 网易(杭州)网络有限公司 光照贴图制作、游戏模型的渲染方法、装置和电子设备
CN111862344A (zh) * 2020-07-17 2020-10-30 北京字节跳动网络技术有限公司 图像处理方法、设备和存储介质
CN111899325A (zh) * 2020-08-13 2020-11-06 网易(杭州)网络有限公司 晶石模型的渲染方法、装置、电子设备及存储介质
CN112053423A (zh) * 2020-09-18 2020-12-08 网易(杭州)网络有限公司 模型渲染方法、装置、存储介质及计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11534688B2 (en) * 2018-04-02 2022-12-27 Take-Two Interactive Software, Inc. Method and apparatus for enhanced graphics rendering in a video game environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484896A (zh) * 2014-10-30 2015-04-01 无锡梵天信息技术股份有限公司 一种基于环境贴图来模拟人物皮肤次表面散射的物理方法
CN110363836A (zh) * 2019-07-19 2019-10-22 杭州绝地科技股份有限公司 一种基于Matcap贴图的角色渲染方法、装置和设备
CN111632378A (zh) * 2020-06-08 2020-09-08 网易(杭州)网络有限公司 光照贴图制作、游戏模型的渲染方法、装置和电子设备
CN111862344A (zh) * 2020-07-17 2020-10-30 北京字节跳动网络技术有限公司 图像处理方法、设备和存储介质
CN111899325A (zh) * 2020-08-13 2020-11-06 网易(杭州)网络有限公司 晶石模型的渲染方法、装置、电子设备及存储介质
CN112053423A (zh) * 2020-09-18 2020-12-08 网易(杭州)网络有限公司 模型渲染方法、装置、存储介质及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
不同材质色彩真实表现的光照模拟;任佳;干静;;微计算机应用(第02期);40-45 *

Also Published As

Publication number Publication date
CN112489179A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN112489179B (zh) 目标模型的处理方法、装置、存储介质及计算机设备
CN113052947B (zh) 一种渲染方法、装置、电子设备和存储介质
CN114820906B (zh) 图像渲染方法、装置、电子设备及存储介质
CN111768473B (zh) 图像渲染方法、装置及设备
US20240029338A1 (en) Ray-tracing with irradiance caches
CN114842121B (zh) 贴图生成模型训练和贴图生成方法、装置、设备及介质
CN112370783A (zh) 虚拟对象渲染方法、装置、计算机设备和存储介质
CN112819941A (zh) 渲染水体面的方法、装置、设备和计算机可读存储介质
CN112184873A (zh) 分形图形创建方法、装置、电子设备和存储介质
CN112465945B (zh) 一种模型生成方法、装置、存储介质及计算机设备
US20230351555A1 (en) Using intrinsic functions for shadow denoising in ray tracing applications
CN113487662A (zh) 画面显示方法、装置、电子设备和存储介质
CN112950753B (zh) 虚拟植物显示方法、装置、设备及存储介质
US20220076482A1 (en) Ray-tracing for auto exposure
CN117523136B (zh) 人脸点位对应关系处理方法、人脸重建方法、装置及介质
CN117899490A (zh) 虚拟模型的处理方法、装置、计算机设备及存储介质
CN117095126A (zh) 一种虚拟模型的生成方法、装置、计算机设备及存储介质
CN115861519A (zh) 毛发模型的渲染方法、装置、计算机设备及存储介质
CN117649475A (zh) 眼球渲染方法、装置、电子设备和计算机可读存储介质
CN117274474A (zh) 环境光遮罩的生成方法、装置、电子设备和存储介质
CN115731339A (zh) 虚拟模型渲染方法、装置、计算机设备及存储介质
CN115578507A (zh) 晶石模型的渲染方法、装置、存储介质及电子设备
CN117582661A (zh) 虚拟模型渲染方法、装置、介质及设备
CN118015194A (zh) 模型处理方法、装置和计算机可读存储介质
CN117065330A (zh) 流体特效处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant