CN117078838B - 一种对象渲染方法、装置、存储介质及电子设备 - Google Patents

一种对象渲染方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN117078838B
CN117078838B CN202310830103.XA CN202310830103A CN117078838B CN 117078838 B CN117078838 B CN 117078838B CN 202310830103 A CN202310830103 A CN 202310830103A CN 117078838 B CN117078838 B CN 117078838B
Authority
CN
China
Prior art keywords
value
curve
fitting
information
illumination
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
CN202310830103.XA
Other languages
English (en)
Other versions
CN117078838A (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.)
Shanghai Sanbao Information Technology Co ltd
Original Assignee
Shanghai Sanbao Information Technology 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 Shanghai Sanbao Information Technology Co ltd filed Critical Shanghai Sanbao Information Technology Co ltd
Priority to CN202310830103.XA priority Critical patent/CN117078838B/zh
Publication of CN117078838A publication Critical patent/CN117078838A/zh
Application granted granted Critical
Publication of CN117078838B publication Critical patent/CN117078838B/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/50Lighting effects
    • G06T15/80Shading

Landscapes

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

Abstract

一种对象渲染方法、装置、电子设备及存储介质,包括:S1:确认目标对象模型的模型信息,该模型信息包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;S2:获得目标对象模型的光照参数信息,光照参数信息是使用曲线拟合函数拟合曲线得到,并将曲线信息存储在ramp贴图上来表达不同的材质效果;S3:基于该调整后的顶点法线信息和光照参数信息对目标对象模型进行渲染。接收美工在生产端使用法线平滑工具对顶点法线进行调整,将调整过的顶点法线保存到顶点色中,将NPR部分嵌入PBR的光照计算,对漫反射和镜面反射等分别进行归一化处理后使用ramp,该对象渲染后呈现物理写实效果,还可实现卡通效果,以提高图像渲染后的视觉显示效果。

Description

一种对象渲染方法、装置、存储介质及电子设备
技术领域
本发明实施例涉及计算机应用领域,尤其涉及一种对象渲染方法、装置、设备及存储介质。
背景技术
PBR渲染(基于物理的渲染,Physically Based Rendering),它指的是一些在不同程度上基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。PBR渲染模式通过各种数学方法推导或简化或模拟出一系列渲染方程,并依赖计算机硬件和图形API渲染出接近真实世界的画面。在PBR模式下,通常可以设置虚拟光源,模拟真实的光照环境,从而使得在虚拟光源下的虚拟模型也可呈现出细腻的光照效果,以提升渲染得到的画面的表现力,该PBR渲染其优势在于真实性,易用性及广泛性,使用PBR制作可以简化美术的制作复杂度,降低感性带来的影响。
非真实渲染(Non-photorealistic Rendering,NPR渲染)是和PBR渲染相对的渲染模式,主要模拟艺术类的效果,也被称为风格化渲染。在NPR渲染模式下,渲染代码通常是自定义的,不会参加引擎底层的PBR渲染逻辑,从而导致NPR渲染模式下的虚拟模型不会受到虚拟光源的影响,而NPR渲染的优势在于更贴近动漫的感觉,更容易制作有风格化的画面,更有亲和感。为了使得NPR渲染模式下的虚拟模型也可以呈现出光照效果,通常角色需要单独的灯光***,而PBR渲染模式具有光照守恒性,一般的NPR渲染模式难以满足,由此导致使用两者后在同一画面里出现时会有割裂的感觉。如何将两者不冲突的结合在一起是比较大的难点。
发明内容
本发明的目的在于提供一种对象渲染方法、装置、设备及存储介质,以解决技术中PBR渲染模式和NPR渲染模式两者不冲突的结合在一起是比较大的难点问题。
本发明提供的第一个方面为提供一种对象渲染方法,包括:
确认目标对象模型的模型信息,该模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;
获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将所述曲线信息存储在ramp贴图上来表达不同的材质效果;
基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
较佳地,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对漫反射暗部区域部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第一定值,所述u值分别根据暗部阈值与第一拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入阈值映射到对应的颜色,其中,所述暗部阈值计算Shading=shadow*NoL,Shadow为预计算投影,NoL为法线与光源方向的点积使强烈的光暗对比调整为柔和的光暗过渡;并且第一定值和第一拟合常数可做调整,设置调整的条件为虚拟模型与虚拟场景提供环境匹配度。
较佳地,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对高光GGX系数部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第二定值,所述u值根据D项计算公式中的镜面高光GGX系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述高光GGX系数部分映射到对应的颜色。
较佳地,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对环境光反射部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第三定值,所述u值根据环境光反射计算公式的系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述环境光反射部分映射到对应的颜色。
较佳地,根据环境光反射计算公式的系数取值进一步包括:
光照LUT图是将数据存到一张查找表LUT上,把这张LUT图拟合成一个曲面,光反射计算公式的系数B,平滑后的环境光反射计算为F=FresnelRamp(NoL*B)其中,NoL为法线与光源的点积,所述系数B是环境光BRDF里的着色模型参数,计算出来的F值经过ramp后,反射部分的过渡根据ramp调整模拟卡通中符合美术的需求绘制反射变化。
较佳地,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对附加光源漫反射暗部区域做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第四定值,所述u值分别根据附加光源暗部区域与第二拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述附加光源漫反射暗部区域映射到对应的颜色。
较佳地,本实例还包括:漫反射暗部区域数值曲线拟合,高光GGX系数数值曲线拟合,环境光反射数值曲线拟合及附加光源漫反射暗部区域数值曲线拟合后,将四个部分的拟合曲线信息同时存储在一张ramp上。
较佳地,本实例还包括:
在Unity中创建一个新的球谐光照贴图;
在场景中添加一个光源,将光照贴图应用到场景中的对象上;
在着色器中使用球谐函数来计算光照;
使用Unity提供的球谐函数计算光照的颜色和强度:球谐最亮的方向colD为球谐的光照颜色,将colD的明度与球谐编码系数dominantColor的亮度比值,对colD做归一化处理,将colD缩放到球谐最亮方向的亮度上;
将计算得到的光照颜色和强度应用到材质上,将球谐光照贴图的信息传递到着色器中,从而使着色器能够正确地计算光照。
较佳地,对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中进一步包括:
划分需要卡通化设置对象的各子部件;
使用法线平滑工具分别对每一子部件进行带有相适配渐变效果的平滑设置,并将修改后的每个顶点的法线信息进行保存。
并且,基于所述调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染进一步包括:
调用调整后的顶点法线信息和调整后四个部分的拟合曲线信息,对预渲染对象按照BRDF计算公式输出颜色;
其中Lo代表BRDF输出颜色;
fd表述漫反射比例;
cdiff代表表面颜色;
fs为镜面反射比例;
D为法线分布函数;
F为菲涅尔方程系数;
G为几何函数;
cosθi为视线方向与法线方向的点积;
cosθo为光源方向与法线方向的点积;
Li为光源的颜色
dwi为立体角。
与现有技术相比,本发明将NPR部分直接嵌入PBR的光照计算,对漫反射和镜面反射等分别进行归一化(对原始数据的线性变化,将数据映射到[0,1]之间)后使用ramp,因为NPR是嵌入PBR公式,所以保证了能量守恒的前提,所以场景和角色能统一灯光***。本发明实现卡通风格的渲染,优化处理卡通风格的光照效果与环境的融合。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍:
图1为对象渲染方法的应用环境示例图;
图2为对象渲染方法的流程图;
图3为顶点法线做平滑调整的示例图;
图4A-图4D分别为卡通化设置对象的各子部件的平滑调整示例图,其中图4A为衣服ramp,图4B为脸部ramp,图4C为皮肤ramp,图4D为头发ramp;
图5A-图5B分别为对象示例渲染效果图;
图6为对象渲染电子设备的原理图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
网络游戏因其所具有的游戏场景真实性较高、观赏性和操作性较好而深受用户的喜欢。不同类型的游戏所具有的游戏场景风格是不同的,通过不同风格化的渲染,为用户展现丰富的游戏场景,可以有效提高用户的游戏体验。比如写实风格渲染以及卡通风格渲染等,而不论那种渲染风格,光影的渲染都是影响视觉效果的重要因素。其中,写实风格的光影可以根据模型的表面信息和光照的物理特性来计算,通常可以得到细节丰富、过渡细腻的光影。而卡通风格对光影的要求恰恰相反,一方面它要求细节不能太多,那样会破坏画面的整洁感,另一方面还要求明暗过渡要硬朗,阴影和高光有清晰和工整的轮廓。经研究发现,卡通渲染采用基于物理的渲染配合卡通风格的手绘纹理及风格化后处理方式、阴影融合进光照后的Lut图插值渲染方式、或者阴影融合进光照后的双纹理插值渲染方式,来实现卡通风格的渲染。然而,上述方式虽然能够实现卡通风格的渲染,还需要进一步优化,以很好的支持卡通效果,以及优化处理卡通风格的光照效果与环境的融合。
本申请实施例提供的对象渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他服务器上。
具体地,终端102上可以安装有应用程序,该应用程序为提供实时渲染功能的应用程序,例如该应用程序为游戏应用,终端102启动该应用程序后进行实时渲染,并将实时渲染出的图像进行实时显示,在实时渲染的过程中,终端102可以确定当前漫反射图像和当前镜面反射图像,得到目标漫反射图像,对当前镜面反射图像进行处理,得到目标镜面反射图像,将目标漫反射图像和目标镜面反射图像进行图像融合,得到目标图像。其中,当前漫反射图像是利用漫反射光照对当前时刻观察的场景区域进行光照渲染得到的图像,当前镜面反射图像是利用镜面反射光照对当前时刻观察的场景区域进行光照渲染得到的图像,终端102可以将目标图像发送至服务器104,服务器104可以存储目标图像或者将目标图像发送至其他设备。终端102还可以显示目标图像。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一些实施例中,如图2所示,提供了一种对象渲染方法,该方法可以由终端或服务器执行,还可以由终端和服务器共同执行,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S110:确认目标对象模型的模型信息,该模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;
S120:获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将所述曲线信息存储在ramp贴图上来表达不同的材质效果;
S130:基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
场景区域是指虚拟场景中的区域。虚拟场景是指应用程序在终端上运行时显示(或提供)的虚拟场景。虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟场景,还可以是纯虚构的虚拟场景。虚拟场景例如可以是游戏场景、VR(VirtualReality,虚拟现实)场景或动漫场景等。
场景区域中可以包括至少一个虚拟对象。每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。虚拟对象可以是无生命的物体,无生命的物体包括但不限于建筑、植被、天空、道路、山石或水体等,虚拟对象还可以是有生命的物体,有生命的物体包括但不限于是虚拟的动物或数字人。数字人是计算机生成的角色,旨在复制人类的行为和人格特征。换句话说,就是一个逼真的3D(三维)人类模型。数字人可以出现在现实主义范围内的任何地方,从儿童的幻想角色(表现人类)到超现实的数字演员,这些角色与现实人类几乎没有区别。数字人类的进步主要是由动画、视觉效果和视频游戏融合世界中的人才和技术推动的。数字人可以包括虚拟人和虚拟数字人,虚拟人的身份是虚构的,现实世界中并不存在,例如,虚拟人包括虚拟主播,虚拟数字人强调虚拟身份和数字化制作特性。在本实例中,主要是以对象渲染为例。后续是以某个卡通人物为举例对象说明渲染过程。
渲染得到的当前漫反射图像和当前镜面反射图像中主要是指该场景区域中的虚拟对象的漫反射图像和镜面反射图像。当前漫反射图像,可以是利用漫反射光照对当前对象进行光照渲染所直接或间接得到的图像。当前镜面反射图像,可以是利用镜面反射光照对当前对象进行光照渲染所直接或间接得到的图像。漫反射光照和镜面反射光照均属于间接光照,漫反射光照也可以称为漫反射间接光照,镜面反射光照也可以称为镜面反射间接光照。漫反射光照中,光子碰撞到一个粗糙表面后被随机地向各个方向散射出去。镜面反射光照中,当光子击中一个强烈的反射表面如镜子,则向一个可预测的方向反弹。间接光照中,光线经过一次或者多次物体表面的反弹,多次是指至少两次。
需要说明的是,当前时刻对应的漫反射光照图像和当前时刻对应的镜面反射光照图像可以是同时渲染得到的,也可以是先后渲染得到的,例如,先渲染得到当前时刻对应的漫反射光照图像,再渲染得到当前时刻对应的镜面反射光照图像,或者,先渲染得到当前时刻对应的镜面反射光照图像,再渲染得到当前时刻对应的漫反射光照图像,这里不对渲染顺序进行限定。
本发明主要的核心在于将NPR部分直接嵌入PBR的光照计算,对漫反射和镜面反射等分别进行归一化(对原始数据的线性变化,将数据映射到[0,1]之间)后使用ramp,因为NPR是嵌入PBR公式,所以保证了能量守恒的前提,所以场景和角色能统一灯光***。
一、具体介绍步骤S110。
获取目标对象模型的模型信息其中,目标对象可以是游戏角色、游戏道具、游戏物体、游戏建筑等,此处不做限定。目标对象模型是指构成游戏场景中各类目标对象的模型。具体地,目标对象模型可以为对游戏角色、游戏道具、游戏物体、游戏建筑等按比例设计、制作的模型。比如,按照游戏模型的类型区分,目标对象模型可以为场景模型、建筑模型、动画模型、人物模型、道具模型、粒子效果模型等等。
示例性地,目标对象模型的模型信息可以包括模型的表面法线信息,该模型表面法线信息是基于顶点的基础信息。在一些可能的实施例中,所述目标对象模型的模型信息还可以包括模型的坐标信息、颜色信息、顶点(Vertexs)信息、图元(Primitives)信息、片元(Fragments)信息、纹理(Texture)信息、深度信息等,此处不做限定。
在本实例中,制作模型时,可以接收美术在生产端使用法线平滑工具(在3dmax及maya制作软件中自己编写的插件工具)对顶点法线(针对建模数据中每个顶点的法线信息)进行调整,将调整过的顶点法线保存到顶点色中,ramp贴图又可以根据不同的材质进行不同的阈值区分,如皮肤,头发,衣服,脸部等等。渲染中的ramp通常是指一种颜色渐变效果,它可以用于创建平滑的过渡效果,例如渐变背景、光照模拟等。请参阅图3和图4,先划分需要卡通化设置对象的各子部件,图4中该对象的各子部件包括衣服、皮肤、脸和头发,每个子部件的渐变可以单独配置。使用法线平滑工具分别对每一子部件进行带有相适配渐变效果的平滑设置,并将修改后的每个顶点的法线信息进行保存。渐变能产生强烈的透视感和空间感,颜色的深浅、明亮等可以对各子部件单独进行平滑设置。卡通虚拟对象来说,每个顶点的法线信息现有技术中未存储相关信息。本发明拓展了每个顶点的法线信息的存储,直接将该些子部件带有相适配渐变效果的平滑设置(如图4所示)存储在每个顶点的法线信息中,后续渲染时直接调用存储在每个顶点的法线信息即可。衣服、皮肤、脸和头发仅是举例,划分需要卡通化设置对象的各子部件可以颗粒度更细或是其它子部件。
二、步骤S120
基于物理的光照PBR是对现实的还原,而NPR则是非真实感渲染。我们可以各取相关的特征缝合起来表现效果。使用PBR的优势在于PBR是艺术导向的,它能让美术同学用直观的参数,标准化的工作流,快速的实现大量材质的真实感渲染,把NPR的特征迁移到PPR中,并且保留这种易用性就是我们的目标。PBR所带来的环境光照和PBR的质感是比较容易保留的。混合PBR的NPR就可有一部分卡通效果,同时也具有PBR的质感了。修改NPR特征后PBR整体计算流程并没有改变,依旧是直接光与间接光的镜面反射和漫反射叠加。该步骤的核心在于,对光源参数的做数值曲线拟合处理,拟合的曲线通过特定的ramp贴图控制,经过渲染程序片段,ramp贴图又可以根据不同的材质进行不同的阈值区分。即,使用不同的拟合公式来对阈值做过渡处理,将拟合曲线信息存储在ramp贴图上并用此来表达不同的材质效果,ramp的贴图主要用于漫反射暗部区域,高光GGX系数,环境光反射及附加光源漫反射暗部区域这四个部分做数值曲线拟合,四个部分的拟合曲线信息都存储在一张ramp上。
对于一个二维平面上的ramp,可以使用u和v两个值来表示其位置。通常,u和v的取值范围是[0,1],其中(0,0)代表ramp的左下角,(1,1)代表ramp的右上角。在渲染中,可以使用u和v的值来获取ramp上对应位置的颜色值。首先,根据u和v的值计算出ramp上的实际坐标。然后,根据这些坐标在ramp纹理上进行采样,获取相应的颜色值。
对阈值做曲线拟合意味着使用ramp贴图的像素值来拟合一个函数,该函数能够将输入的阈值映射到对应的颜色。
具体而言,假设有一张ramp贴图,其中包含一系列不同阈值下的颜色。还有一组已知的阈值和对应的ramp贴图像素值。通过这些已知的数据来找到一个函数模型,该模型能够将任意的阈值输入,输出对应的颜色。
为了实现这个目标,可以使用曲线拟合方法。曲线拟合的目标是找到一个函数模型,使其尽可能地与已知的数据点匹配。在这种情况下,找到一个函数,该函数接受阈值作为输入,并输出对应的颜色。
常见的曲线拟合方法包括多项式拟合、指数拟合、对数拟合等。根据实际情况选择适合的函数模型。也可以使用已知的阈值和对应的ramp贴图像素值作为训练数据,通过拟合过程得到拟合函数的参数,然后可以使用这些参数来计算任意阈值下的颜色。
本步骤采用ramp贴图的像素值对阈值进行曲线拟合,并且使用贴图的v值和u值进行采样,可以调整之前的代码以适应新的需求。在这种情况下,需要提供v值和u值的采样数据,并将其作为输入,而将ramp贴图的像素值作为输出进行曲线拟合。
S121:“使用曲线拟合函数拟合曲线”包括利用ramp贴图对漫反射暗部区域部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第一定值,所述u值分别根据暗部阈值与第一拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述阈值映射到对应的颜色。
对于漫反射颜色暗部阈值部分,本发明会取贴图的v值0.125的部分(第一定值取值为0.125),u值根据暗部阈值与0.3333(第一拟合常数)的点积取值,采样ramp贴图的像素点,然后对暗部阈值做对应曲线拟合。其中,漫反射颜色暗部阈值部分主要是控制暗部和亮部的过渡,暗部阈值计算Shading=shadow*NoL(Shadow为预计算投影,NoL为法线与光源方点积,预计算投影Shadow可以在Unity预先设定).
上述方案实现使强烈的光暗对比调整为柔和的光暗过渡;然后,第一定值和第一拟合常数可以根据具体的模拟情况做调整,核心在于用来调整虚拟模型与虚拟场景提供的环境的匹配度,具有可卡通效果且使虚拟模型更匹配虚拟场景中的光影效果。比如,本实例可以采用用模拟模型来实现,调整不同值的第一定值和第一拟合常数,输出渲染效果图。从中选择出虚拟模型与虚拟场景提供的环境的匹配度高的渲染效果图,对应的第一定值和第一拟合常数即为本实例所采用的值。
S122:“使用曲线拟合函数拟合曲线”包括利用ramp贴图对高光GGX系数部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第二定值,所述u值根据D项计算公式中的镜面高光GGX系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述高光GGX系数部分映射到对应的颜色。
该步骤主要是法线分布函数D项,比如对GGX高光的范围进行重新映射。镜面反射高光分布函数可以为一种镜面高光的双向反射分布函数(Bidirectional ReflectanceDistribution Function,简称BRDF),该镜面反射高光分布函数可以为GGX,其中,GGX可以为BRDF中的一种镜面反射高光分布函数。D项中GGX计算后的镜面反射因子SpecularFactor参数效果作用到材质上类似于材质对光的反射的模拟,通过ramp对SpecularFactor的控制来模拟卡通中光反射的美术效果做法,使其过渡更接近于绘制的感觉。
简单介绍一下,计算镜面反射因子(specular factor),其值可以和反射光线与从入射点到观察者的向量之间的夹角的cosine值相关。只有当这个角度小于90度的时候镜面反射的效果才是可见的,因此检查这个镜面反射因素的值是否大于0。最后的高光颜色是通过将光照颜色、材质的镜面反射强度、镜面反射因素相乘得到的。将高光颜色、环境光颜色以及漫反射光颜色相加来得到总体的光照颜色。最后将这个值与从纹理中的取样值相乘,并将其结果作为像素的最终颜色。我司可以将其映射到[0,1]之间的取值,并且经过多次的实例找到通中光反射的美术效果对应镜面反射因子SpecularFactor参数值。
S123:“使用曲线拟合函数拟合曲线”包括利用ramp贴图对环境光反射部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第三定值,所述u值分别根据环境光反射计算公式的系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合(采用光照LUT图的近似拟合函数进行拟合)输出,以实现将输入所述环境光反射部分映射到对应的颜色。
举例来说,光照LUT图是将数据存到一张查找表LUT上。更进一步的做法是把这张LUT拟合成一个曲面,这样就可以在shader中直接计算,省去一次纹理采样环境。光反射计算公式的系数A,B,平滑后的环境光反射计算为F=FresnelRamp(NoL*B)其中,NoL为法线与光源的点积。
采用光照LUT图的近似拟合函数进行拟合中,传入的系数B,在该拟合函数中经过以下计算B=1.04*a004+r.w,a004=min(r.x*r.x,exp2(-9.28*Nov)*r.x+r.y)后映射出来。
系数B是环境光BRDF里的着色模型参数,计算出来的F值经过ramp后,反射部分的过渡可以根据ramp调整模拟卡通中绘制反射变化的方法来符合美术的需求。
S124:“使用曲线拟合函数拟合曲线”包括利用ramp贴图对附加光源漫反射暗部区域做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第四定值,所述u值分别根据附加光源暗部区域与第二拟合常数进行点积取值;
采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述附加光源漫反射暗部区域映射到对应的颜色。
比如:对于附加光源漫反射暗部区域,我们会取贴图的v值0.875的部分,u值根据附加光源暗部区域与0.3333的点积取值,采样ramp贴图的像素点,然后对环境光反射做对应映射平滑。
一般来说,为了提升实时渲染的效率,会先把漫反射暗部区域,高光GGX系数,环境光反射及附加光源漫反射暗部区域这四个部分做平化过渡处理,四个部分的系数都先存储在一张ramp上。
在步骤S120中还可以包括对Unity球谐光照亮度归一化,即根据球谐光照颜色的明度与球谐编码比值,对球谐光照颜色做平化处理。
先介绍使用球谐函数进行光照基本流程:
首先,在Unity中创建一个新的球谐光照贴图(Spherical Harmonic Lighting)。
在场景中添加一个光源,并在其设置中将其类型设置为“Realtime”或“Mixed”。实时光源可以在实时渲染中使用,而混合光源则可以用于混合现实和虚拟现实应用程序。
将光照贴图应用到场景中的对象上。这可以通过将光照贴图作为环境贴图或作为材质贴图来实现。
在着色器中使用球谐函数来计算光照。球谐函数是一组基函数,它们可以表示在一个球体上的任意函数。球谐函数可以用于表示环境光照的强度和方向,从而减少计算量。
使用Unity提供的球谐函数计算光照的颜色和强度。在Unity中,可以使用SphericalHarmonicsL2结构体来表示球谐函数。可以使用SphericalHarmonicsL2.AddAmbientLight方法来添加环境光照的贡献,使用SphericalHarmonicsL2.AddDirectionalLight方法来添加定向光照的贡献,使用SphericalHarmonicsL2.AddPointLight方法来添加点光源的贡献。
将计算得到的光照颜色和强度应用到材质上。可以使用Shader.SetGlobalVector方法将球谐光照贴图的信息传递到着色器中,从而使着色器能够正确地计算光照。
一个成熟的引擎Unity已经帮我们把cubemap处理好存起来了。Unity里有这么一组变量:
这里存的是积分后用球谐函数编码的全局光照。即Unity做的事情为:先将环境贴图cubemap积分成模糊的全局光照贴图,再将全局光照贴图投影到球谐光照的基函数上存储,这里的七个参数即为存储的基函数的系数。Unity用的基函数叫三阶的伴随勒让德多项式。本实例中,unity_SHAr,unity_SHAg,unity_SHAb为unity积分后用球谐函数编码的全局光照,他们代表球谐最亮的方向,colD为球谐光照颜色,将colD的明度与球谐编码系数dominantColor的亮度比值,对colD做归一化处理,将colD缩放到球谐最亮方向的亮度上。
三、步骤S130
基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染进一步包括:
调用调整后的顶点法线信息和调整后四个部分的拟合曲线信息,对预渲染对象按照BRDF计算公式输出颜色;
其中,Lo为Lo(p,wo)代表BRDF输出颜色;
fd表述漫反射比例(1-mettalic);
cdiff代表表面颜色(其中计算颜色暗部的阈值为步骤S120拟合的第一Diffuse);
fs为镜面反射比例;
D为法线分布函数(其中计算GGX系数为步骤S120拟合的第二个参数Specular);
F为菲涅尔方程系数(依据步骤S120拟合的第三个Diffuse做菲涅尔方程系数);
G为几何函数;
cosθi为视线方向与法线方向的点积;
cosθo为光源方向与法线方向的点积;
Li为光源的颜色;
dwi为立体角。
步骤S120拟合的第四个参数,可以对原始公式扩展,该第四个参数为附加光源的c。
,第四个参数Additional,第四个参数用于附加光源的c。
即启动对象渲染事件时,利用渲染模块(主要是上述的公式或变换后公式)把相关的ramp等调用实现实时渲染。图5A-图5B为本发明实施例所提供的最终的显示效果的示意图。通过执行130后得到图5所示的该待渲染对象的最终显示效果结果。
一种对象渲染装置,所述装置包括:
顶点法线平滑调整模块:用于确认目标对象模型的模型信息,该模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中。
制作模型时,使用法线平滑工具对法线进行调整。如皮肤,头发,衣服,脸部等等。一个皮肤,头发,衣服,脸部每一类型可以为一个母材质,如果修改了材质的内容则会导致所有使用该母材质的虚拟模型跟着变化。但是在游戏开发中,可能仅需要部分虚拟模型的材质启用渐变效果。在这个过程中,主要引入了卡通元素,利用材质渐变来进行平滑调整。
光照参数归一调整模块:用于获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将所述曲线信息存储在ramp贴图上来表达不同的材质效果;对漫反射和镜面反射等分别进行归一化(对原始数据的线性变化,将数据映射到[0,1]之间)后使用ramp。
渲染模块:用于基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述对象渲染方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述渲染方法的电子设备。下面参照图6来描述根据本公开的这种示例性实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。如图6所示,电子设备600可以以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同***组件(包括存储单元620和处理单元610)的总线630和显示单元640。存储单元620存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。具体的,计算机可读存储介质上所存储的程序产品可使电子设备执行以下步骤:确认目标对象模型的模型信息,该模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将所述曲线信息存储在ramp贴图上来表达不同的材质效果;基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
请注意,这只是一个简单的示例,实际的拟合过程可能需要根据实际情况进行更复杂的模型选择和参数调整。另外,曲线拟合可能会受到数据噪声和样本数量的影响,因此在实际应用中需要注意调整参数和数据质量。

Claims (12)

1.一种对象渲染方法,其特征在于,包括:
确认目标对象模型的模型信息,所述模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;
获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将曲线信息存储在ramp贴图上来表达不同的材质效果,所述曲线信息即为所述目标对象模型的光照参数信息;
“使用曲线拟合函数拟合曲线”包括利用ramp贴图对漫反射暗部区域部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第一定值,所述u值分别根据暗部阈值与第一拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入阈值映射到对应的颜色,其中,所述暗部阈值计算Shading=shadow*NoL,Shadow为预计算投影,NoL为法线与光源方向的点积,使强烈的光暗对比调整为柔和的光暗过渡;并且第一定值和第一拟合常数可做调整,设置调整的条件为虚拟模型与虚拟场景提供环境匹配度;
基于所述调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
2.如权利要求1所述的方法,其特征在于,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对高光GGX系数部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第二定值,所述u值根据法线分布函数D项计算公式中的镜面高光GGX系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述高光GGX系数部分映射到对应的颜色。
3.如权利要求1所述的方法,其特征在于,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对环境光反射部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第三定值,所述u值根据环境光反射计算公式的系数取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述环境光反射部分映射到对应的颜色。
4.如权利要求3所述的方法,其特征在于,根据环境光反射计算公式的系数取值进一步包括:
光照LUT图是将数据存到一张查找表LUT上,把这张LUT图拟合成一个曲面,光反射计算公式的系数B,平滑后的环境光反射计算为F=FresnelRamp(NoL*B)其中,NoL为法线与光源的点积,所述系数B是环境光BRDF里的着色模型参数,计算出来的F值经过ramp后,反射部分的过渡根据ramp调整模拟卡通中符合美术的需求绘制反射变化。
5.如权利要求1所述的方法,其特征在于,“使用曲线拟合函数拟合曲线”包括利用ramp贴图对附加光源漫反射暗部区域做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第四定值,所述u值分别根据附加光源暗部区域与第二拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入所述附加光源漫反射暗部区域映射到对应的颜色。
6.如权利要求2至5中任何一项所述的方法,其特征在于,还包括:漫反射暗部区域数值曲线拟合,高光GGX系数数值曲线拟合,环境光反射数值曲线拟合及附加光源漫反射暗部区域数值曲线拟合后,将四个部分的拟合曲线信息同时存储在一张ramp上。
7.如权利要求1所述的方法,其特征在于,还包括:
在Unity中创建一个新的球谐光照贴图;
在场景中添加一个光源,将光照贴图应用到场景中的对象上;
在着色器中使用球谐函数来计算光照;
使用Unity提供的球谐函数计算光照的颜色和强度:球谐最亮的方向colD为球谐的光照颜色,将colD的明度与球谐编码系数dominantColor的亮度比值,对colD做归一化处理,将colD缩放到球谐最亮方向的亮度上;
将计算得到的光照颜色和强度应用到材质上,将球谐光照贴图的信息传递到着色器中,从而使着色器能够正确地计算光照。
8.如权利要求1所述的方法,其特征在于,对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中进一步包括:
划分需要卡通化设置对象的各子部件;
使用法线平滑工具分别对每一子部件进行带有相适配渐变效果的平滑设置,并将修改后的每个顶点的法线信息进行保存。
9.如权利要求8所述的方法,其特征在于,基于所述调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染进一步包括:
调用调整后的顶点法线信息和调整后四个部分的拟合曲线信息,对预渲染对象按照BRDF计算公式输出颜色;
其中Lo代表BRDF输出颜色;
fd表述漫反射比例;
cdiff代表表面颜色;
fs为镜面反射比例;
D为法线分布函数;
F为菲涅尔方程系数;
G为几何函数;
cosθi为视线方向与法线方向的点积;
cosθo为光源方向与法线方向的点积;
Li为光源的颜色
dwi为立体角。
10.一种对象渲染装置,其特征在于,所述装置包括:
顶点法线平滑调整模块:用于确认目标对象模型的模型信息,该模型信息进一步包括对建模数据中顶点法线做平滑调整,后将调整后的顶点法线信息保存至顶点色中;
光照参数归一调整模块:用于获得目标对象模型的光照参数信息,所述光照参数信息是使用曲线拟合函数拟合曲线得到,并将曲线信息存储在ramp贴图上来表达不同的材质效果,所述曲线信息即为所述目标对象模型的光照参数信息;
所述曲线包括利用ramp贴图对漫反射暗部区域部分做数值曲线拟合,其进一步包括:
确定ramp贴图的v值和u值,所述v值为一预设第一定值,所述u值分别根据暗部阈值与第一拟合常数进行点积取值;
通过所述v值和所述u值采样ramp贴图的像素点进行对应曲线拟合输出,以实现将输入阈值映射到对应的颜色,其中,所述暗部阈值计算Shading=shadow*NoL,Shadow为预计算投影,NoL为法线与光源方向的点积,使强烈的光暗对比调整为柔和的光暗过渡;并且第一定值和第一拟合常数可做调整,设置调整的条件为虚拟模型与虚拟场景提供环境匹配度;
渲染模块:用于基于该调整后的顶点法线信息和所述光照参数信息对所述目标对象模型进行渲染。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~9中任一项所述的对象渲染方法。
12.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~9中任一项所述的对象渲染方法。
CN202310830103.XA 2023-07-07 2023-07-07 一种对象渲染方法、装置、存储介质及电子设备 Active CN117078838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310830103.XA CN117078838B (zh) 2023-07-07 2023-07-07 一种对象渲染方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310830103.XA CN117078838B (zh) 2023-07-07 2023-07-07 一种对象渲染方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117078838A CN117078838A (zh) 2023-11-17
CN117078838B true CN117078838B (zh) 2024-04-19

Family

ID=88716013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310830103.XA Active CN117078838B (zh) 2023-07-07 2023-07-07 一种对象渲染方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117078838B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164855A (zh) * 2013-02-26 2013-06-19 清华大学深圳研究生院 一种结合反射光照的贝叶斯决策前景提取方法
CN112053423A (zh) * 2020-09-18 2020-12-08 网易(杭州)网络有限公司 模型渲染方法、装置、存储介质及计算机设备
CN113012273A (zh) * 2021-03-24 2021-06-22 网易(杭州)网络有限公司 基于目标模型的光照渲染方法、装置、介质及设备
CN114998501A (zh) * 2022-04-22 2022-09-02 网易(杭州)网络有限公司 一种模型的色阶化渲染方法以及装置
CN115845369A (zh) * 2022-12-27 2023-03-28 北京字跳网络技术有限公司 卡通风格渲染方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2536964B (en) * 2015-04-02 2019-12-25 Ge Aviat Systems Ltd Avionics display system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164855A (zh) * 2013-02-26 2013-06-19 清华大学深圳研究生院 一种结合反射光照的贝叶斯决策前景提取方法
CN112053423A (zh) * 2020-09-18 2020-12-08 网易(杭州)网络有限公司 模型渲染方法、装置、存储介质及计算机设备
CN113012273A (zh) * 2021-03-24 2021-06-22 网易(杭州)网络有限公司 基于目标模型的光照渲染方法、装置、介质及设备
CN114998501A (zh) * 2022-04-22 2022-09-02 网易(杭州)网络有限公司 一种模型的色阶化渲染方法以及装置
CN115845369A (zh) * 2022-12-27 2023-03-28 北京字跳网络技术有限公司 卡通风格渲染方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3D游戏引擎构架及游戏动画渲染技术分析;陈凌超 等;《中国新技术新产品》;20220131(第1期) *

Also Published As

Publication number Publication date
CN117078838A (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
US11694392B2 (en) Environment synthesis for lighting an object
CN110599574B (zh) 游戏场景的渲染方法、装置及电子设备
US9619920B2 (en) Method and system for efficient modeling of specular reflection
Lu et al. Illustrative interactive stipple rendering
KR102173546B1 (ko) 게임 객체 렌더링 방법 및 장치
Okabe et al. Illumination brush: Interactive design of all-frequency lighting
US9905045B1 (en) Statistical hair scattering model
WO2023109486A1 (zh) 毛发模型的生成方法、装置、电子设备以及存储介质
CN116228943B (zh) 虚拟对象面部重建方法、面部重建网络训练方法及装置
Marques et al. Deep spherical harmonics light probe estimator for mixed reality games
CN115082607A (zh) 虚拟角色头发渲染方法、装置、电子设备和存储介质
JP2011090699A (ja) グラフィックシステム、グラフィックス画像を生成する方法およびプログラムにおける無色光のライティング
CN117078838B (zh) 一种对象渲染方法、装置、存储介质及电子设备
US7164421B2 (en) Image generation system, program, and information storage medium
US20030025706A1 (en) System and method for rendering a texture map utilizing an illumination modulation value
Mortensen et al. Real-time global illumination for vr applications
CN116883580B (zh) 一种丝袜对象渲染方法和装置
US7710419B2 (en) Program, information storage medium, and image generation system
US20180005432A1 (en) Shading Using Multiple Texture Maps
US7724255B2 (en) Program, information storage medium, and image generation system
CN117745915B (zh) 一种模型渲染方法、装置、设备及存储介质
CN117671110B (zh) 基于人工智能的实时渲染***及方法
CN116883567A (zh) 一种绒毛渲染方法和装置
CN117409131A (zh) 模型渲染方法及装置、计算机可读存储介质和电子设备
CN117218271A (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