CN116421970B - 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 - Google Patents
虚拟对象的外装渲染方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116421970B CN116421970B CN202310687751.4A CN202310687751A CN116421970B CN 116421970 B CN116421970 B CN 116421970B CN 202310687751 A CN202310687751 A CN 202310687751A CN 116421970 B CN116421970 B CN 116421970B
- Authority
- CN
- China
- Prior art keywords
- value
- varnish layer
- reflection
- layer
- light source
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000002966 varnish Substances 0.000 claims abstract description 663
- 239000010410 layer Substances 0.000 claims abstract description 655
- 239000002344 surface layer Substances 0.000 claims abstract description 329
- 238000005286 illumination Methods 0.000 claims abstract description 229
- 239000000463 material Substances 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000004590 computer program Methods 0.000 claims abstract description 23
- 239000013598 vector Substances 0.000 claims description 259
- 230000004927 fusion Effects 0.000 claims description 85
- 238000002310 reflectometry Methods 0.000 claims description 75
- 238000002834 transmittance Methods 0.000 claims description 32
- 238000007499 fusion processing Methods 0.000 claims description 19
- 206010013786 Dry skin Diseases 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 25
- 238000013473 artificial intelligence Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 description 96
- 230000000149 penetrating effect Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 11
- 239000007769 metal material Substances 0.000 description 11
- 230000008033 biological extinction Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 239000011248 coating agent Substances 0.000 description 5
- 238000000576 coating method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009365 direct transmission Effects 0.000 description 4
- 238000005315 distribution function Methods 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 239000010985 leather Substances 0.000 description 4
- 239000004744 fabric Substances 0.000 description 3
- 230000001795 light effect Effects 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000011247 coating layer Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种虚拟对象的外装渲染方法、装置、计算机设备、存储介质和计算机程序产品。所述方法可以应用于人工智能、图像处理和游戏等领域,所述方法包括:确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。采用本方法能够使得外装表层具有清漆质感,提升视觉效果。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟对象的外装渲染方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,用户对网络游戏中虚拟对象的外观要求越来越高。外装是网络游戏中的虚拟人物、虚拟动物和虚拟物体的外部表现形式,外装可以用于对虚拟人物、虚拟动物和虚拟物体进行装扮,满足多样化展示虚拟人物、虚拟动物和虚拟物体的需求。
在相关技术中,外装多为布料、丝绸和金属材质,通过不同的颜色、花纹和造型实现外装的多样性,但是现有方式难以体现外装材质真实的质感和视觉效果,导致虚拟对象的外装渲染效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种虚拟对象的外装渲染方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够提升虚拟对象的外装渲染效果。
第一方面,本申请提供了一种虚拟对象的外装渲染方法。所述方法包括:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
第二方面,本申请还提供了一种虚拟对象的外装渲染装置。所述装置包括:
清漆层处理模块,用于确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;
获取模块,用于获取外装表层的原始反射值和清漆层的透射率;
外装表层处理模块,用于依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;
目标光照值确定模块,用于基于第一高光值、反射值和第二高光值,确定目标光照值;
渲染模块,用于根据目标光照值对虚拟对象的外装进行光照渲染。
在一些实施例中,光源为直接光源,清漆层处理模块包括:反射粗糙度确定单元,用于基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定清漆层的反射粗糙度;能见度确定单元,用于基于清漆层粗糙度、第一法线向量、清漆层的第一视线方向向量和直接光源的光源方向向量,确定清漆层的能见度;第一高光值确定单元,用于基于反射粗糙度、能见度和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。
在一些实施例中,反射粗糙度确定单元,还用于基于虚拟对象的清漆层粗糙度确定粗糙度系数;融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;基于粗糙度系数和第一融合结果,确定清漆层的反射粗糙度。
在一些实施例中,能见度确定单元,还用于基于虚拟对象的清漆层粗糙度确定粗糙度系数;对第一法线向量和清漆层的第一视线方向向量进行融合处理,得到第二融合结果;对第一法线向量和清漆层的光源方向向量进行融合处理,得到第三融合结果;基于粗糙度系数、第二融合结果和第三融合结果,确定清漆层在视线方向上的能见度和在光源方向上的能见度;基于在视线方向上的能见度和在光源方向上的能见度,确定清漆层的能见度。
在一些实施例中,第一高光值确定单元,还用于基于反射粗糙度、能见度和清漆层的第一菲涅尔系数,确定清漆层反射率;基于清漆层反射率和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。
在一些实施例中,光源包括直接光源,外装表层处理模块,包括反射值确定单元、第二菲涅尔系数确定单元和第二高光值确定单元;反射值确定单元,用于基于原始反射值、透射率和清漆层的反射强度,确定外装表层对直接透射光进行反射的反射值;直接透射光是直接光源发出的且透射清漆层的光;第二菲涅尔系数确定单元,用于基于外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数;第二高光值确定单元,用于基于透射率和第二菲涅尔系数,确定直接透射光在外装表层上产生的第二高光值。
在一些实施例中,反射值确定单元,还用于基于原始反射值、透射率和初始菲涅尔值,确定外装表层的候选反射值;依据清漆层的反射强度,对原始反射值和候选反射值进行插值处理,得到外装表层对直接透射光进行反射的反射值。
在一些实施例中,第二菲涅尔系数确定单元,还用于对外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;基于第四融合结果和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数。
在一些实施例中,虚拟对象的外装渲染装置还包括:间接光源处理模块,用于基于清漆层粗糙度和虚拟对象所处环境的环境光贴图,确定清漆层在间接光源下的第三高光值;基于虚拟对象的外装表层粗糙度和环境光贴图,确定间接透射光在外装表层上产生的第四高光值;间接透射光是间接光源发出的且透射清漆层的光;相应地,目标光照值确定模块,用于基于第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值。
在一些实施例中,间接光源处理模块包括:第三高光值确定单元,用于基于清漆层粗糙度、清漆层的第一法线向量和第一视线方向向量,在虚拟对象所处环境的环境光贴图中确定清漆层的第一色彩像素值;基于第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数,确定清漆层在间接光源下的第三高光值。
在一些实施例中,间接光源处理模块包括:第四高光值确定单元,用于基于虚拟对象的外装表层粗糙度、外装表层的第二视线方向向量和第二法线向量,在环境光贴图中获取外装表层的第二色彩像素值;基于第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和外装表层的第二菲涅尔系数,确定间接透射光在外装表层上产生的第四高光值。
在一些实施例中,目标光照值确定模块,还用于基于第一高光值和第三高光值,确定清漆层上的且为待渲染位置的光照值;基于反射值、第二高光值和第四高光值,确定外装表层上的且为待渲染位置的光照值;基于清漆层上的且为待渲染位置的光照值和外装表层上的且为待渲染位置的光照值,确定待渲染位置的目标光照值。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
上述虚拟对象的外装渲染方法、装置、计算机设备、存储介质和计算机程序产品,对于覆盖在外装表层上的清漆层,确定清漆层在光源下的第一高光值,根据原始反射值和透射率确定外装表层在光源下的反射值和第二高光值,根据第一高光值、反射值和第二高光值确定目标光照值,根据目标光照值对虚拟对象的外装进行光照渲染,可以将清漆层上的高光效果、外装表层上的反射效果和高光效果叠加,得到在外装表层上覆盖清漆层的视觉效果,使得外装表层具有清漆质感,提升了视觉效果。
附图说明
图1为一个实施例中虚拟对象的外装渲染方法的应用环境图;
图2为一个实施例中虚拟对象的外装渲染方法的流程示意图;
图3为相关技术中,外装的材质是金属材质的示意图;
图4为相关技术中,外装的材质是金属材质和丝绸材质拼接的示意图;
图5为一个实施例中,一个视角下虚拟对象的外装具有清漆质感的示意图;
图6为一个实施例中,另一个视角下虚拟对象的外装具有清漆质感的示意图;
图7为一个实施例中,未引入边缘调整系数时,渲染得到的外装的示意图;
图8为一个实施例中,引入边缘调整系数时,渲染得到的外装的示意图;
图9为一个实施例中,覆盖了清漆层的外装表层出现异常拉伸的示意图;
图10为一个实施例中,改善覆盖了清漆层的外装表层的异常拉伸的示意图;
图11为一个实施例中,未调整环境光贴图时,渲染得到的外装的整体示意图;
图12为一个实施例中,调整环境光贴图时,渲染得到的外装的整体示意图;
图13为另一个实施例中虚拟对象的外装渲染方法的流程示意图;
图14为一个实施例中虚拟对象的外装渲染装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的虚拟对象的外装渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上;虚拟对象的外装渲染方法可以通过终端102执行,也可以通过服务器104执行,还可以通过终端102和服务器104协同执行。
以虚拟对象的外装渲染方法通过终端102执行为例,终端102可以确定虚拟对象的清漆层在光源下的第一高光值,终端102可以获取外装表层的原始反射值和清漆层的透射率,终端102可以依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值,终端102可以基于第一高光值、反射值和第二高光值,确定目标光照值,终端102还可以根据目标光照值对虚拟对象的外装进行光照渲染。
其中,终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调和智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
服务器104可以是独立的物理服务器,也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
此外,服务器104还可以是多个物理服务器构成的服务器集群,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端102与服务器104之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种虚拟对象的外装渲染方法,该方法由图1中的终端或服务器执行,也可以由图1中的终端和服务器协同执行,以该方法由图1中的终端执行为例进行说明,包括以下步骤:
步骤202,确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质。
其中,虚拟对象不同于真实对象,虚拟对象是虚拟出的角色形象,比如,虚拟出的角色形象可以是虚拟场景中用于表示用户、且受用户控制的玩家角色形象,也可以是虚拟场景中用于表示可与用户交互的非玩家角色形象,比如虚拟对象可以是虚拟人物,虚拟动物等;虚拟对象还可以是虚拟场景中的其他虚拟物体,比如虚拟对象可以是虚拟建筑部件(比如桌、椅、门、窗),虚拟交通工具(比如车辆、船只)等。
虚拟场景可以是模拟真实环境虚拟出的场景,比如,虚拟场景可以包括虚拟的天空、河流、山川、动植物、建筑等;虚拟场景可以在终端运行游戏应用时实时显示。
其中,外装指的是虚拟对象的外部装备,包括但不限于:服装、道具和装饰物;在实际应用中,虚拟对象在虚拟场景中的外装可以通过购买或参与活动获取,更换虚拟对象的外装,可以改变虚拟对象的形象。比如,当虚拟对象是用于表示用户的玩家角色形象时,虚拟对象的外装可以是虚拟对象的服装,更换虚拟对象的服装,可以改变用户的玩家角色形象;当虚拟对象是虚拟场景中的虚拟交通工具时,可以更换虚拟交通工具的装饰物,以改变虚拟交通工具的形象。
其中,外装表层是外装的表面层,外装的显示样式与外装表层的材质相关;外装表层的材质包括但不限于:金属材质、皮革材质和布料材质,也可以是金属材质、皮革材质或布料材质中至少两种材质拼接所得的材质;比如虚拟对象的外装包括盔甲,盔甲的表面材质是通过金属材质和皮革材质拼接所得,则盔甲的显示样式与金属材质和皮革材质相关。
其中,清漆层覆盖于外装表层上,在视觉效果上,在外装表层上增加清漆层,使得外装具有清漆质感;清漆是一种涂料,在材质上涂覆清漆,以在材质上形成可以显示材质原有纹理透明漆膜,从而使外装具有清漆质感。而清漆质感可以指覆盖清漆的外装具有光亮的视觉效果,此外在移动视觉角度时,可以呈现出闪闪发光的效果。
其中,光源可以是直接光源;直接光源发出的光来自虚拟场景中的光源,直接光源与间接光源不同,间接光源发出的光来自虚拟场景中的物体。
其中,虚拟场景中的光源包括但不限于平行光光源和点光源,平行光光源可以用于模拟太阳或月亮,点光源在虚拟场景中所处的位置可以是相机模型所处的位置。
其中,相机模型在虚拟场景中可以对虚拟对象进行自动跟随,当虚拟对象在虚拟场景中的位置发生改变时,相机模型跟随虚拟对象在虚拟环境中的位置同时发生改变;相机模型可以默认处于虚拟对象的后方,通过相机模型可以从不同角度对虚拟场景中的虚拟对象进行观察,比如,可以通过改变视角,将从虚拟对象的后方观察虚拟对象,改变为从虚拟对象的侧方观察虚拟对象。
其中,第一高光值指的是光源发出的光在清漆层上产生的高光值,可以用于反映清漆层对光源发出的光进行镜面反射的程度。
在一些实施例中,对于覆盖在虚拟对象的外装表层上的清漆层,终端获取清漆层粗糙度,依据清漆层粗糙度确定清漆层的反射粗糙度和能见度,终端根据清漆层的反射粗糙度和能见度,确定清漆层在光源下的第一高光值。反射粗糙度可以反映清漆层对光的反射效果,能见度可以反映清漆层对光的遮挡程度,结合清漆层的反射粗糙度和能见度,可以提高第一高光值的准确度。
在一些实施例中,光源为直接光源,终端可以根据清漆层的反射粗糙度和能见度,确定清漆层在直接光源下的第一高光值。需要说明的是,第一高光值,是虚拟对象的待渲染位置在清漆层上的第一高光值,待渲染位置是虚拟对象的外装上的位置,可以通过虚拟场景的坐标系描述该待渲染位置;各待渲染位置各自对应的第一高光值可能不同,使得清漆层的各待渲染位置对光进行镜面反射的程度不同,进而渲染得到的清漆层具有凹凸不平的展示效果。
步骤204,获取外装表层的原始反射值和清漆层的透射率。
其中,原始反射值是未在外装表层上覆盖清漆层的情况下,外装表层的原始反射值;当外装表层对应的材质是镜面材质时,原始反射值可以是镜面反射产生的原始反射值,当外装表层对应的材质不是镜面材质时,原始反射值可以是漫反射产生的原始反射值。
需要说明的是,外装表层的原始反射值是待渲染位置在外装表层上的原始反射值,不同待渲染位置各自在外装表层上的原始反射值可能不同;比如,当外装表层对应的材质包括纹理时,由于纹理是粗糙度不同而呈现出的效果,而不同待渲染位置的粗糙度不同,导致不同待渲染位置在外装表层上对光的反射情况不同,进而不同待渲染位置各自在外装表层上的原始反射值不同;比如当外装表层对应的材质是镜面材质和非镜面材质拼接得到时,不同待渲染位置在外装表层上对光的反射情况也可能不同,进而不同待渲染位置各自在外装表层上的原始反射值不同。
其中,清漆层的透射率是待渲染位置在清漆层上的透射率;光源发出的光在穿透清漆层时,会被清漆层介质吸收导致光线衰减,清漆层的透射率用于描述光穿透清漆层的衰减程度,通过透射率可以模拟清漆层的光学效果。
在一些实施例中,终端获取外装表层的原始反射值,外装表层的原始反射值可以基于外装表层对应的材质确定,本申请实施例对外装表层的原始反射值的具体数值不进行限定;终端获取清漆层的透射率,透射率可以根据清漆层的厚度、金属度和色彩像素值确定;获取外装表层的原始反射值和清漆层的透射率,以便于后续确定覆盖了清漆层的外装表层的反射值和第二高光值,使得反射值和第二高光值与光穿透清漆层的衰减程度相关,提升了外装表层的反射值和第二高光值的准确度。
需要说明的是,获取的原始反射值和透射率对应同一待渲染位置,也就是说,终端获取待渲染位置在外装表层的原始反射值,以及获取该待渲染位置在清漆层的透射率。
步骤206,依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值。
其中,外装表层在光源下的反射值,是在外装表层上覆盖清漆层的情况下,外装表层的反射值。第二高光值是光源发出的光在穿透清漆层后,在外装表层上产生的高光值。
由于原始反射值和透射率对应同一待渲染位置,因此确定的反射值是该待渲染位置在外装表层上的反射值,确定的第二高光值也是该待渲染位置在外装表层上的第二高光值。
在一些实施例中,终端基于原始反射值、清漆层的反射强度和透射率,确定外装表层的反射值,终端确定外装表层的第二菲涅尔系数,根据第二菲涅尔系数和透射率确定第二高光值。第二菲涅尔系数用于反映光经过两个介质的界面时,反射和透射的光强比例,根据第二菲涅尔系数和透射率可以确定光源发出的光在穿透清漆层后的光强,进而可以根据光源发出的光在穿透清漆层后的光强确定外装表层的第二高光值,使得第二高光值与光穿透清漆层后的光强、以及光穿透清漆层的衰减程度相关,提升了第二高光值的准确度。
在一些实施例中,光源为直接光源,终端可以基于原始反射值和透射率,确定在直接光源发出的且穿透清漆层的光下,原始外装层的反射值和第二高光值,使得反射值可以用于表示外装表层对直接光源发出的且穿透清漆层的光的反射值,第二高光值可以用于表示直接光源发出的且穿透清漆层的光在外装表层上产生的高光值,以便于后续基于反射值和第二高光值渲染外装表层在直接光源下的显示效果。
步骤208,基于第一高光值、反射值和第二高光值,确定目标光照值。
其中,目标光照值是虚拟对象的外装中待渲染位置的目标光照值。
在一些实施例中,第一高光值是清漆层的光照值,终端对反射值和第二高光值进行线性处理,得到外装表层的光照值,对清漆层的光照值和外装表层的光照值线性处理,得到目标光照值。需要说明的是,第一高光值、反射值和第二高光值对应虚拟对象的外装上的同一待渲染位置;目标光照值是结合清漆层和外装表层的光照值确定的,使得目标光照值可以反映清漆层和外装表层综合所得的光照值,进而基于目标光照值进行渲染,可以得到清漆层和外装表层叠加所产生的视觉效果,使得外装具有清漆质感。
在一些实施例中,对反射值和第二高光值进行线性处理,得到外装表层的光照值,可以是将反射值和第二高光值相加,得到外装表层的光照值;也可以是终端获取反射权重和高光权重,依据反射权重和高光权重,对反射值和第二高光值进行加权求和,得到外装表层的光照值。将反射值和第二高光值相加,可以减少确定外装表层的光照值所需的硬件资源,提升渲染效率;对反射值和第二高光值进行加权求和,使得外装表层的光照值可以偏向反射值和第二高光值中权重更高的一项,突出权重更高的反射值或第二高光值所带来的光照效果。
在一些实施例中,对清漆层的光照值和外装表层的光照值线性处理,得到目标光照值,可以是将清漆层的光照值和外装表层的光照值相加,得到目标光照值;也可以是终端获取清漆层的光照权重和外装表层的光照权重,依据清漆层的光照权重和外装表层的光照权重,对清漆层的光照值和外装表层的光照值进行加权求和,得到外装表层的光照值,得到目标光照值。将清漆层的光照值和外装表层的光照值相加,可以减少确定目标光照值所需的硬件资源,提升渲染效率;对清漆层的光照值和外装表层的光照值加权求和,使得目标光照值,可以偏向清漆层的光照值和外装表层的光照值中权重更高的一项,突出权重更高的清漆层或外装表层的光照效果。
示例性地,将待渲染位置在清漆层的第一高光值、在外装表层的反射值和第二高光值相加,得到待渲染位置的目标光照值。
步骤210,根据目标光照值对虚拟对象的外装进行光照渲染。
在一些实施例中,终端可以依据目标光照值,通过光照着色器在高清渲染管线中进行渲染;目标光照值是虚拟对象的外装上待渲染位置的目标光照值,光照着色器可以根据目标光照值计算出色彩像素值,显示色彩像素值以实现渲染。根据目标光照值对虚拟对象的外装进行光照渲染,可以将清漆层上的高光效果、外装表层上的反射效果和高光效果叠加,得到在外装表层上覆盖清漆层的视觉效果,使得外装表层具有清漆质感,提升了视觉效果。
由于目标光照值是虚拟对象的外装上待渲染位置的目标光照值,终端可以基于外装上各待渲染位置的目标光照值,通过光照着色器在高清渲染管线中渲染得到目标外装表层,目标外装表层是在外装表层上覆盖清漆层所得。目标光照值是根据第一高光值、反射值和第二高光值确定的,基于目标光照值进行渲染,可以将清漆层上的高光效果、外装表层上的反射效果和高光效果叠加,得到在外装表层上覆盖清漆层的效果。
示例性地,参见图3和图4,相关技术中,虚拟对象的外装的显示样式仅与外装表层有关,比如图3中虚拟对象的外装(盔甲)的表面材质是金属材质,则图3中盔甲的显示样式仅与金属材质相关,图4中虚拟对象的外装(服装)的表面材质是金属材质和丝绸材质拼接所得,则图4中服装的显示样式仅与金属材质和丝绸材质相关。
参见图5和图6,图5是本申请实施例中,在外装表层上覆盖清漆层的一个视角下的显示效果,图6是在本申请实施例中,在外装表层上覆盖清漆层的另一个视角下的显示效果,可见图5和图6中,虚拟对象的盔甲(包括胸甲和臂甲)和面具均具有清漆质感;相较于相关技术中外装的显示效果,本申请实施例渲染的外装更能体现外装材质的真实质感,提升了视觉效果。
上述虚拟对象的外装渲染方法中,对于覆盖在外装表层上的清漆层,确定清漆层在光源下的第一高光值,根据原始反射值和透射率确定外装表层在光源下的反射值和第二高光值,根据第一高光值、反射值和第二高光值确定目标光照值,根据目标光照值对虚拟对象的外装进行光照渲染,可以将清漆层上的高光效果、外装表层上的反射效果和高光效果叠加,得到在外装表层上覆盖清漆层的视觉效果,使得外装表层具有清漆质感,提升了视觉效果。
在一些实施例中,光源为直接光源;确定虚拟对象的清漆层在光源下的第一高光值,包括:基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定清漆层的反射粗糙度;基于清漆层粗糙度、第一法线向量、清漆层的第一视线方向向量和直接光源的光源方向向量,确定清漆层的能见度;基于反射粗糙度、能见度和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。结合清漆层的反射粗糙度和能见度确定清漆层的第一高光值,可以提高第一高光值的准确度。
其中,清漆层粗糙度是待渲染位置在清漆层上的粗糙度;当不同的待渲染位置的清漆层粗糙度不同时,不同的待渲染位置对光的反射效果也不同,进而影响待渲染位置的第一高光值;清漆层越粗糙(清漆层粗糙度越大),高光效果越暗(第一高光值越小),清漆层越光滑(清漆层粗糙度越小),高光效果越亮(第一高光值越大)。
其中,清漆层的第一法线向量,是待渲染位置在清漆层上的第一法线向量;待渲染位置的第一法线向量会影响待渲染位置的第一高光值,当不同待选位置的第一法线向量不同时,不同待渲染位置各自的第一高光值也不同,进而使得清漆层具有凹凸感,比如可以通过设置第一法线向量,使得清漆层具有划痕、凹痕或凸起的效果。
其中,直接光源的光源方向向量,用于直接光源发出的光照射在清漆层上的方向向量,也可以称为清漆层的光源方向向量。
其中,清漆层的第一半角向量,是清漆层的光源方向向量和第一视线方向向量的中间向量,清漆层的光源方向向量是待渲染位置在清漆层上指向直接光源的向量;第一视线方向向量,是待渲染位置在清漆层上指向相机模型的向量。
在清漆层粗糙度的影响下,清漆层凹凸不平,可以理解为清漆层包括许多微表面,光在每个微表面上发生镜面反射或折射;光线在清漆层上发生反射或折射,实际上是在第一法线向量对应的微表面上发生镜面反射或折射,第一法线向量的概率分布服从为微表面分布函数;清漆层的反射粗糙度可以反映清漆层上微表面的第一法线向量分布情况,进而可以反映清漆层对光的反射效果,反射粗糙度越低,则清漆层的反射效果越接近镜面反射,反射粗糙度越高,则清漆层的漫反射效果越强。
光线在清漆层上发生反射时,清漆层的微表面对入射光和出射光可能存在遮挡,清漆层的能见度可以反映清漆层上微表面对光的遮挡程度,能见度越高,则清漆层上微表面对光的遮挡程度越高,能见度越低,则清漆层上微表面对光的遮挡程度越低;清漆层上微表面对光的遮挡程度也可以影响光在清漆层的反射程度,能见度越低,则光在清漆层的反射程度越低,能见度越高,则光在清漆层的反射程度越低。
其中,清漆层的反射强度用于反映清漆层的镜面反射效果,清漆层的反射强度越大,则清漆层的镜面反射效果越强,清漆层的反射强度越小,则清漆层的镜面反射效果越弱。
在一些实施例中,终端获取清漆层的粗糙度贴图,从粗糙度贴图中获取待渲染位置的清漆层粗糙度,获取清漆层的第一法线贴图,从第一法线贴图中获取待渲染位置的第一法线向量;终端获取待渲染位置在清漆层的光源方向向量和第一视线方向向量,根据清漆层的光源方向向量和第一视线方向向量确定第一半角向量。需要说明的是,可以通过对第一法线贴图进行自定义设计,以实现清漆层的显示效果,比如可以根据清漆层的显示需求设计第一法线贴图,以制作清漆层的划痕、凹痕效果。
终端可以根据待渲染位置的清漆粗糙度、第一法线向量和第一半角向量,确定待渲染位置在清漆层中对应微表面的法线分布情况,以得到待渲染位置在清漆层的反射粗糙度;根据待渲染位置的清漆层粗糙度、第一法线向量、第一视线方向向量和清漆层的光源方向向量,确定待渲染位置在清漆层上的能见度;基于待渲染位置在清漆层的反粗糙度和能见度,确定待渲染位置在清漆层上的反射率,根据反射率和待渲染位置在清漆层上的反射强度,确定清漆层在直接光源下的第一高光值。
在上述实施例中,确定清漆层的反射粗糙度,可以得到光在清漆层的镜面反射效果,确定清漆层的能见度,可以得到光在清漆层被遮挡的程度,结合清漆层的反射粗糙度和能见度确定清漆层的第一高光值,可以提高第一高光值的准确度。
在一些实施例中,基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定清漆层的反射粗糙度,包括:基于虚拟对象的清漆层粗糙度确定粗糙度系数;融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;基于粗糙度系数和第一融合结果,确定清漆层的反射粗糙度。根据清漆层粗糙度确定清漆层的反射粗糙度,反射粗糙度可以反映光在清漆层上的反射效果,使得清漆层的反射效果符合清漆层的真实质感。
在一些实施例中,终端计算反射粗糙度的平方,得到候选粗糙度系数,计算候选粗糙度系数的平方,得到粗糙度系数。在实际应用中,粗糙度系数可以是0至1之间的值。终端融合清漆层的第一法线向量和第一半角向量,可以是将第一法线向量和第一半角向量进行点乘;比如第一融合结果为TopNdH,TopNdH=dot(N1,H1),其中,N1是第一法线向量,H1是第一半角向量。
终端确定粗糙度系数和第一融合结果的第一乘积,确定该第一乘积和第一融合结果的第一差值,确定该第一差值与该第一融合结果之间的第二乘积,进而通过第二乘积确定候选粗糙度系数;终端计算候选粗糙度系数的平方,确定粗糙度系数与候选粗糙度系数的平方之间的比值,得到清漆层的反射粗糙度。
需要说明的是,粗糙度系数是待渲染位置在清漆层上的粗糙度系数,第一法线向量和第一半角向量均是待渲染位置在清漆层上的第一法线向量和第一半角向量,进而第一融合结果是待渲染位置在清漆层上对应第一融合结果,清漆层的反射粗糙度,也是待渲染位置在清漆层上的反射粗糙度;通过与上述同样的方式,可以确定虚拟对象的外装上各待渲染位置在清漆层上的反射粗糙度。基于待渲染位置的第一法线向量和第一半角向量确定反射粗糙度,使得渲染的尺度细化到待渲染位置的像素尺度,可以带来更加接近真实的清漆质感。
在一些实施例中,终端可以在PBR光照模型中,通过GGX分布函数,对粗糙度系数和第一融合结果进行处理,确定清漆层的反射粗糙度,PBR(Physicallly-BasedRendering ,物理渲染)是一种物理渲染技术,GGX分布即Trowbridge-Reitz分布,可以用于渲染镜面反射;通过GGX分布函数,在清漆层的微表面上确定清漆层的反射粗糙度,使得反射粗糙度可以反映清漆层的微表面对光的反射效果,通过GGX分布函数直接确定反射粗糙度,可以节省确定反射粗糙度所需时长,提升渲染效率。
在上述实施例中,将清漆层的第一法线向量和第一半角向量融合,根据融合得到的第一融合结果和粗糙度系数,确定清漆层的反射粗糙度,反射粗糙度可以反映光在清漆层上的反射效果,使得清漆层的反射效果符合清漆层的真实质感,后续根据清漆层的反射粗糙度确定第一高光值,使得第一高光值可以体现清漆层对光进行镜面反射的程度。
在一些实施例中,基于清漆层粗糙度、第一法线向量、清漆层的第一视线方向向量和直接光源的光源方向向量,确定清漆层的能见度,包括:基于虚拟对象的清漆层粗糙度确定粗糙度系数;对第一法线向量和清漆层的第一视线方向向量进行融合处理,得到第二融合结果;对第一法线向量和直接光源的光源方向向量进行融合处理,得到第三融合结果;基于粗糙度系数、第二融合结果和第三融合结果,确定清漆层在视线方向上的能见度和在光源方向上的能见度;基于在视线方向上的能见度和在光源方向上的能见度,确定清漆层的能见度。根据清漆层粗糙度确定清漆层的能见度,使得能见度可以反映清漆层对光的遮挡程度,进而可以反映光在清漆层上的反射效果,使得清漆层对光的反射效果符合清漆层的真实质感。
在一些实施例中,终端计算反射粗糙度的平方,得到候选粗糙度系数,计算候选粗糙度系数的平方,得到粗糙度系数。在实际应用中,粗糙度系数可以是0至1之间的值。
终端将第一法线向量和第一视线方向向量进行点乘,得到第二融合结果,比如第二融合结果为TopNdV,TopNdV=dot(N1,V1),其中,N1是第一法线向量,V1是第一视线方向向量。终端将第一法线向量和清漆层的光源方向向量进行点乘,得到第三融合结果,比如第三融合结果为TopNdL,TopNdL=dot(N1,L1),其中,N1是第一法线向量,L1是清漆层的光源方向向量。
终端确定初始系数和粗糙度系数之间的第二差值,确定第二差值和第二融合结果之间的第三乘积,确定第三乘积和粗糙度系数之间的第四乘积,确定第四乘积和第三融合结果之间的乘积,得到清漆层在视线方向上的能见度。在实际应用中,初始系数可以是1。
终端确定初始系数和粗糙度系数之间的第二差值,确定第二差值和第三融合结果之间的第五乘积,确定第五乘积和粗糙度系数之间的第六乘积,确定第六乘积和第二融合结果之间的乘积,得到清漆层在光源方向上的能见度。
终端确定在视线方向上的能见度和在光源方向上的能见度之间的和值,得到候选能见度,确定参考系数和候选能见度之间的比值,得到清漆层的能见度。在实际应用中,参考系数可以是0.5。
需要说明的是,粗糙度系数、第二融合结果和第三融合结果均是待渲染位置在清漆层上的反射粗糙度,进而清漆层的能见度,也是待渲染位置在清漆层上的能见度,通过与上述同样的方式,可以确定虚拟对象的外装上各待渲染位置在清漆层上的能见度。基于待渲染位置的粗糙度系数、第二融合结果和第三融合结果确定能见度,使得渲染的尺度细化到待渲染位置的像素尺度,可以带来更加接近真实的清漆质感。
在一些实施例中,终端可以在PBR光照模型中,通过Smith函数对于粗糙度系数、第二融合结果和第三融合结果进行处理,得到清漆层的能见度,其中,Smith函数是一种遮蔽函数,可以用于确定清漆层上微表面对入射光和出射光的遮挡程度,进而确定能见度。通过Smith函数,在清漆层的微表面上确定清漆层的能见度,使得能见度可以反映清漆层的微表面对光的遮挡程度,通过Smith函数直接确定能见度,可以节省确定能见度所需时长,提升渲染效率。
在上述实施例中,将清漆层的第一法线向量和第一视线方向向量融合,得到的第二融合结果,将第一法线向量和清漆层的光源方向向量融合,得到第三融合结果,根据粗糙度系数、第二融合结果和第二融合结果确定清漆层的能见度,使得能见度可以反映清漆层对光的遮挡程度,进而可以反映光在清漆层上的反射效果,使得清漆层对光的反射效果符合清漆层的真实质感,后续根据清漆层的能见度确定第一高光值,使得第一高光值可以体现清漆层对光进行镜面反射的程度。
在一些实施例中,基于反射粗糙度、能见度和清漆层的反射强度,确定清漆层在直接光源下的第一高光值,包括:基于反射粗糙度、能见度和清漆层的第一菲涅尔系数,确定清漆层反射率;基于清漆层反射率和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。通过引入第一菲涅尔系数,使得光线的入射角度影响反射率,进而提升了基于反射率确定的第一高光值的准确度。
其中,第一菲涅尔系数是待渲染位置在清漆层上的菲涅尔系数;第一菲涅尔系数用于反映光在不同入射角度下的反射强度,在入射角度较大时,清漆层对光线进行镜面反射,在入射角度较小时,清漆层对光线进行散射,在实际渲染中,清漆层对光线进行散射可以展示粗糙效果。
在一些实施例中,终端对第一法线向量和清漆层的光源方向向量进行融合,得到第三融合结果;确定清漆层的反射粗糙度、能见度和第一菲涅尔系数之间的乘积,得到清漆层的反射率,确定清漆层的反射强度、第三融合结果和反射率之间的乘积,得到清漆层在直接光源下的第一高光值。
需要说明的是,第一菲涅尔系数是待渲染位置在清漆层上的菲涅尔系数,基于第一菲涅尔系数确定的清漆层反射率,是待渲染位置在清漆层上的菲涅尔系数,进而第一高光值也是待渲染位置在清漆层上的第一高光值,通过与上述同样的方式,可以确定虚拟对象的外装上各待渲染位置在清漆层上的第一高光值。
在上述实施例中,基于反射粗糙度、能见度和清漆层的第一菲涅尔系数,确定清漆层的反射率,再基于清漆层反射率确定第一高光值,通过引入第一菲涅尔系数,使得光线的入射角度影响反射率,进而提升了基于反射率确定的第一高光值的准确度。
在一些实施例中,光源包括直接光源;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值,包括:基于原始反射值、透射率和清漆层的反射强度,确定外装表层对直接透射光进行反射的反射值;直接透射光是直接光源发出的且透射清漆层的光;基于外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数;基于透射率和第二菲涅尔系数,确定直接透射光在外装表层上产生的第二高光值。结合原始反射值、透射率和反射强度确定覆盖清漆层后的外装表层的反射值,提升了反射值的准确度;引入第二菲涅尔系数,使得第二高光值与光经过两个介质的界面时的反射光强和透射光强的比重相关,提升了第二高光值的准确度。
其中,原始反射值是待渲染位置在外装表层上的原始反射值,不同的带渲染位置在外装表层上的原始反射值可能不同;在实际应用中,外装表层的原始反射值可以是漫反射值。
直接光源发出的光透射清漆层后照射在外装表层,将直接光源发出的光透射清漆层后的光作为直接透射光,直接透射光对外装表层的原始反射值产生影响,得到反射值。
其中,第二视线方向向量,是待渲染位置在外装表层上指向相机模型的向量;第二半角向量是外装表层的光源方向向量和第二视线方向向量的中间向量,外装表层的光源方向向量,用于表示直接透射光照射在外装表层的待渲染位置上的方向,外装表层的光源方向向量,也可以理解为直接透射光的方向向量。
其中,外装表层的第二法线向量,是待渲染位置在外装表层上的第二法线向量,待渲染位置的第二法线向量会影响待渲染位置的第二高光值,当不同待选位置的第二法线向量不同时,不同待渲染位置各自的第二高光值也不同,可以渲染出外装表层的粗糙效果。
其中,第二法线向量对应的反射率,是待渲染位置的第二法线方向上的反射率;第二菲涅尔系数是待渲染位置在外装表层上的菲涅尔系数;第二菲涅尔系数可以用于反映光经过两个介质的界面时,反射和透射的光强比重。
在一些实施例中,终端可以获取外装表层的漫反射贴图,从漫反射贴图中获取待渲染位置在外装表层上的原始反射值;基于待渲染位置在外装表层上的原始反射值、待渲染位置在清漆层上的透射率和待渲染位置在清漆层上的反射强度,确定在直接透射光下,待渲染位置在外装表层上的反射值。
终端获取待渲染位置在外装表层的光源方向向量和第二视线方向向量,根据外装表层的光源方向向量和第二视线方向向量确定第二半角向量,并获取第二法线向量对应的反射率。
终端可以根据待渲染位置在外装表层上的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定待渲染位置在外装表层上的第二菲涅尔系数。
终端获取待渲染位置在外装表层上的初始菲涅尔值,初始菲涅尔值用于表示光线垂直入射时的菲涅尔系数;终端确定待渲染位置在外装表层上的初始菲涅尔值、第二菲涅尔系数以及待渲染位置的第二法线方向上的反射率的乘积,得到待渲染位置在外装表层上的第二高光值。
通过与上述同样的方式,可以确定虚拟对象的外装上各待渲染位置在外装表层的第二高光值。
在上述实施例中,结合原始外装层的原始反射值、清漆层的透射率和反射强度,确定外装表层对直接透射光的反射值,提升了确定的覆盖清漆层后的外装表层的反射值的准确度;引入第二菲涅尔系数,使得第二高光值与光经过两个介质的界面时的反射光强和透射光强的比重相关,提升了第二高光值的准确度,后续通过反射值和第二高光值确定外装表层在直接光源下的光照结果,使得覆盖清漆层后的外装表层的渲染效果更真实。
在一些实施例中,基于原始反射值、透射率和清漆层的反射强度,确定外装表层对直接透射光进行反射的反射值,包括:基于原始反射值、透射率和初始菲涅尔值,确定外装表层的候选反射值;依据清漆层的反射强度,对原始反射值和候选反射值进行插值处理,得到外装表层对直接透射光进行反射的反射值。依据清漆层的反射强度进行插值,使得反射值与清漆层的反射强度相关,提升了反射值的准确度。
在一些实施例中,终端确定待渲染位置在外装表层的反射值、透射率和初始菲涅尔值的乘积,得到候选反射值;终端待渲染位置在外装表层的反射强度,对原始反射值和候选反射值进行插值处理,得到外装表层对直接透射光进行反射的反射值;即根据清漆层的透射率和外装表层的反射强度确定反射值,使得反射值可以更好地反映外装表层对直接光源发出的且穿透清漆层的光的反射效果。
在一些实施例中,虚拟对象的外装渲染方法还包括:获取清漆层的透射率;获取清漆层的透射率包括:获取清漆层的色彩像素值、金属度和厚度,根据厚度、清漆层的第一法线向量、第一视线方向向量和光源方向向量,确定直接光源发出的光穿透清漆层的路径距离,基于色彩像素值确定消光系数,基于消光系数、清漆层的厚度和路径距离确定光深,基于光深和消光系数,确定清漆层的透射率。
终端获取清漆层的色彩贴图,在色彩贴图中获取待渲染位置在清漆层的色彩像素值;终端获取清漆层的金属度贴图,在金属度贴图中获取待渲染位置在清漆层的金属度;厚度是清漆层的厚度,可以根据虚拟对象的外装显示效果设置。
将待渲染位置在清漆层的金属度作为待渲染位置在清漆层的初始消光系数,当初始消光系数满足归一化条件时,对待渲染位置在清漆层的厚度进行归一化处理,得到归一化厚度;根据第一法线向量、第一视线方向向量和光源方向向量对归一化厚度进行再次归一化,得到直接光源发出的光穿透清漆层的路径距离;终端基于比尔-朗伯特定律对应的函数,对色彩像素值进行处理,得到待渲染位置在外装表层的透射像素值,基于透射像素值和归一化厚度,确定消光系数,根据消光系数、路径距离和归一化厚度,确定光深;终端获取待渲染位置清漆层的初始透射率;基于初始消光系数对初始透射率和候选透射率进行插值处理,得到清漆层的透射率。
其中,根据第一法线向量、第一视线方向向量和光源方向向量对归一化厚度进行再次归一化,得到直接光源发出的光穿透清漆层的路径距离,包括将第一法线向量和第一视线方向向量融合,得到第二融合结果,将第一法线向量和清漆层的光源方向向量融合,得到第三融合结果;根据第二融合结果、第三融合结果和归一化厚度,确定直接光源发出的光穿透清漆层的路径距离。
其中,比尔-朗伯特定律描述了光在介质中传播时的衰减规律,即光的强度随着传播距离的增加而指数下降。
在上述实施例中,根据清漆层的色彩像素值、金属度和厚度确定直接光源发出的光穿透清漆层的路径距离,根据消光系数、清漆层的厚度和路径距离确定光深,基于光深和消光系数,确定清漆层的透射率,清漆层的透射率用于描述光穿透清漆层的衰减程度,进而基于透射率可以确定直接光源发出且穿透清漆层的光,提升了外装表层对直接透射光进行反射的反射值,以及直接投射光在外装表层上产生的高光值的准确度。
在一些实施例中,终端也可以在PBR光照模型中,通过CalcThinTransmission函数,对待渲染位置在清漆层的第二融合结果、第三融合结果、色彩像素值和金属度进行处理,得到待渲染位置在清漆层的透射率。CalcThinTransmission函数是用于计算层间透射的函数;通过CalcThinTransmission函数直接确定清漆层的透射率,可以节省确定透射率所需时长,提升渲染效率。
在上述实施例中,通过初始菲涅尔值、原始反射值和清漆层的透射率,确定候选反射值,依据清漆层的反射强度,对原始反射值和候选反射值进行插值处理,得到反射值,使得反射值受清漆层的反射强度的影响,提升了反射值的准确度,基于反射值渲染覆盖清漆层后的外装表层,使得覆盖清漆层后的外装表层可以得到更真实的,在直接光源下的反射效果。
在一些实施例中,基于外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数,包括:对外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;基于第四融合结果和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数。提升了第二高光值的准确度,进而提升了覆盖清漆层后的外装表层,在直接光源下的高光效果。
在一些实施例中,终端对外装表层的第二视线方向向量和第二半角向量进行融合处理,可以是将第二视线方向向量和第二半角向量进行点乘;比如第四融合结果为BottomVdH,BottomVdH=dot(V2,H2),其中,V2是第二视线方向向量,H2是第二半角向量。终端可以通过简化的菲涅尔方程,基于第四融合向量和第二法线向量对应的反射率确定第二菲涅尔系数。如公式(1)所示。
公式(1):;
其中,是待渲染位置在外装表层的第二菲涅尔系数,/>是待渲染位置在外装表层的第二法线向量对应的反射率,/>是待渲染位置在外装表层的第四融合结果。
在上述实施例中,根据第四融合结果和第二法线向量对应的反射率确定第二菲涅尔系数,以便于后续基于第二菲涅尔系数确定第二高光值,使得第二高光值与光经过清漆层和外装表层的时的反射光强和透射光强的比重相关,提升了第二高光值的准确度,进而提升了覆盖清漆层后的外装表层,在直接光源下的高光效果。
在一些实施例中,虚拟对象的外装渲染方法包括:基于清漆层粗糙度和虚拟对象所处环境的环境光贴图,确定清漆层在间接光源下的第三高光值;基于虚拟对象的外装表层粗糙度和环境光贴图,确定间接透射光在外装表层上产生的第四高光值;间接透射光是间接光源发出的且透射清漆层的光;基于第一高光值、反射值和第二高光值,确定目标光照值,包括:基于第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值。将清漆层和外装表层在直接光源和间接光源下产生的高光效果和反射效果叠加,使得外装表层的清漆质感更真实,提升了视觉效果。
其中,虚拟环境的光源还包括间接光源,间接光源的发出的光来自于虚拟场景中的物体,比如间接光源的发出的光,可以是直接光源发出的光照射在物体上,该物体反射的光;在实际应用中,可以通过环境光贴图模拟间接光源发出的光。
其中,第一高光值、反射值和第二高光值是基于直接光源发出的光所确定的,第三高光值和第四高光值是基于间接光源发出的光所确定的。
其中,外装表层粗糙度,是待渲染位置在外装表层上的粗糙度,不同的待渲染位置的外装表层粗糙度不同。
清漆层对间接光源发出的光进行镜面反射,第三高光值可以用于表示清漆层间接光源发出的光进行镜面反射的程度。间接光源发出的光透射清漆层后照射在外装表层,将间接光源发出的光透射清漆层后的光作为间接透射光;外装表层对间接透射光进行镜面反射,第四高光值可以用于表示外装表层对间接透射光进行镜面反射的程度。
在一些实施例中,终端基于待渲染位置的清漆层粗糙度和环境光贴图,确定待渲染位置在清漆层的第一色彩像素值,基于待渲染位置在清漆层的第一色彩像素值和第一菲涅尔系数,确定在间接光源下,待渲染位置在清漆层的第三高光值。终端基于待渲染位置的外装表层粗糙度和环境光贴图,确定待渲染位置在外装表层的第二色彩像素值,基于待渲染位置在外装表层的第二色彩像素值和第二菲涅尔系数,确定在间接光源下,待渲染位置在外装表层的第四高光值。通过第三高光值可以渲染得到清漆层在间接光源下的高光效果,通过第四高光值可以渲染得到外装表层在间接光源下的高光效果,综合清漆层和外装表层在直接光源和间接光源下的高光效果,可以得到更加接近真实的高光效果。
在一些实施例中,终端根据清漆层的第一高光值和第三高光值进行线性处理,得到清漆层的光照值,终端根据外装表层的反射值、第二高光值和第四高光值进行线性处理,得到外装表层的光照值,终端根据清漆层的光照值和外装表层的光照值,确定目标光照值;需要说明的是,第一高光值、反射值、第二高光值、第三高光值和第四高光值对应虚拟对象的外装上的同一待渲染位置。根据清漆层的光照值和外装表层的光照值确定目标光照值,根据该目标光照值进行渲染,可以将清漆层的显示效果和外装表层的显示效果进行叠加,得到在外装表层上覆盖清漆层的视觉效果,使得外装表层具有清漆质感。
在一些实施例中,终端根据清漆层的第一高光值、外装表层的反射值和第二高光值,确定在直接光源下的光照值,根据清漆层的第三高光值和外装表层的第四高光值,确定在间接光源下的光照值,根据直接光源下的光照值和间接光源下的光照值,确定目标光照值;同样地,第一高光值、反射值、第二高光值、第三高光值和第四高光值对应虚拟对象的外装上的同一待渲染位置。根据直接光源下的光照值和间接光源下的光照值确定目标光照值,根据该目标光照值进行渲染,可以将覆盖有清漆层的外装表层在直接光源下的显示效果,与覆盖有清漆层的外装表层在间接光源下的显示效果进行叠加,使得渲染的覆盖有清漆层的外装表层,具有更丰富的光照表现,提升了视觉效果。
在上述实施例中,通过环境光照贴图引入间接光源,并确定在清漆层对间接光源发出的光进行镜面反射所得的第三高光值,以及确定外装表层对间接透射光进行镜面反射所得的第四高光值;通过第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值,可以将清漆层和外装表层在直接光源和间接光源下产生的高光效果和反射效果叠加,通过目标光照值对虚拟对象的外装进行外装渲染,可以得到外装表层上覆盖清漆层的视觉效果,并且外装表层的清漆质感更真实,提升了视觉效果。
在一些实施例中,基于清漆层粗糙度和虚拟对象所处环境的环境光贴图,确定清漆层在间接光源下的第三高光值,包括:基于清漆层粗糙度、清漆层的第一法线向量和第一视线方向向量,在虚拟对象所处环境的环境光贴图中确定清漆层的第一色彩像素值;基于第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数,确定清漆层在间接光源下的第三高光值。通过第三高光值可以渲染得到清漆层在间接光源下的高光效果。
其中,环境光贴图用于表示虚拟对象的外装受到的环境光照的情况,在实际应用中,环境光贴图可以通过虚拟环境的六个二维纹理图像,构成立方图的环境光照贴图。
其中,清漆层的间接光源反射率,用于表示间接光源对清漆层的反射率贡献,在实际应用中,清漆层的间接光源反射率可以通过环境双向反射分布的漫反射和镜面反射的预计算值确定。
在一些实施例中,终端获取环境双向反射分布的漫反射预计值和镜面反射的预计算值,获取清漆层的第一法线向量对应的反射率,根据第一法线向量对应的反射率、环境双向反射分布的漫反射预计值和镜面反射的预计算值,确定清漆层的间接光源反射率;示例性地,间接光源反射率为:f0*dfg.x+dfg.y,其中,f0是清漆层的第一法线向量对应的反射率,dfg.x是环境双向反射分布的漫反射预计值的加权和,dfg.y是环境双向反射分布的镜面反射预计值的加权和。
终端获取待渲染位置在清漆层的第一法线向量和第一视线方向向量,确定待渲染位置在清漆层的第一反射方向向量;在实际应用中,可以通过PBR模型的反射函数,对待渲染位置在清漆层的第一法线向量和第一视线方向向量进行处理,得到待渲染位置在清漆层的第一反射方向向量。
终端根据清漆层粗糙度和第一反射反向向量,在环境光贴图中采样得到待渲染位置在清漆层的第一色彩像素值;终端获取间接光源的光强度,待渲染位置在清漆层的第一菲涅尔系数;确定第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数之间的乘积,得到待渲染位置在清漆层的第三高光值。通过与上述同样的方式,可以得到虚拟对象的外装的各待渲染位置在清漆层的第三高光值。需要说明的是,通过环境光贴图引入间接光源,增加了清漆层对间接光源发出的光的反射,通过引入第一菲涅尔系数,可以提升覆盖了清漆层的外装表层的中心区域的清漆效果。
在一些实施例中,终端获取待渲染位置在清漆层的反射强度,根据清漆层的反射强度确定边缘调整系数;终端确定第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度、清漆层的第一菲涅尔系数和边缘调整系数之间的乘积,得到第三高光值。示例性地,边缘调整系数可以是1与第一菲涅尔系数的差值。
当覆盖了清漆层的外装表层的边缘区域的清漆效果较强,比如边缘区域的高光效果较强,需要降低中心区域的高光效果时,可以引入调整系数,即根据第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度、清漆层的第一菲涅尔系数和边缘调整系数,确定第三高光值,基于该第三高光值确定目标光照值进行渲染,可以降低边缘区域的清漆效果。
示例性地,参考图7和图8,图7是在未引入边缘调整系数时,渲染得到的虚拟对象的盔甲(包括胸甲和臂甲),图8是引入边缘调整系数时,渲染得到的虚拟对象的盔甲,对比可知,在引入边缘调整系数后,渲染得到的胸甲和臂甲的边缘区域的高光效果有所下降。
在一些实施例中,可以通过提高环境光(间接光源发出)的强度和降低清漆层粗糙度,以提升清漆层对环境光的镜面反射效果。
当清漆层对环境光的镜面反射效果较强,可能会导致渲染得到的覆盖了清漆层的外装表层出现异常拉伸,如图9中的901所示;可以调整环境光贴图,以降低虚拟场景中地面贴图的亮度,以降低清漆层对环境光的镜面反射效果,进而改善渲染得到的覆盖了清漆层的外装表层出现异常拉伸的情况,降低虚拟场景中地面贴图的亮度后,渲染得到的覆盖了清漆层的外装表层如图10所示,对比可知,降低虚拟场景中地面贴图的亮度后,改善了渲染得到的覆盖了清漆层的外装表层的异常拉伸情况,如图10中的1001所示。
从整体来看,在没有调整环境光贴图的情况下,外装的渲染效果如图11所示,在调整环境光贴图的情况下,外装的渲染效果如图12所示,对比可知,图11所示的外装的亮度比图12所示的外装的亮度强,图11的盔甲存在异常拉伸,图12的盔甲不存在异常拉伸;降低虚拟场景中地面贴图的亮度后,改善了渲染得到的覆盖了清漆层的外装表层的异常拉伸情况。
在上述实施例中,在环境光贴图中采样得到第一色彩像素值,基于第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数,确定清漆层在间接光源下的第三高光值,通过引入第一菲涅尔系数,使得间接光源发出的光的入射角度影响清漆层的反射效果,提升了第三高光值的准确度,提升了清漆层在间接光源下的高光效果。
在一些实施例中,基于虚拟对象的外装表层粗糙度和环境光贴图,确定间接透射光在外装表层上产生的第四高光值,包括:基于虚拟对象的外装表层粗糙度、外装表层的第二视线方向向量和第二法线向量,在环境光贴图中获取外装表层的第二色彩像素值;基于第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和外装表层的第二菲涅尔系数,确定间接透射光在外装表层上产生的第四高光值。通过第四高光值可以渲染得到外装表层在间接光源下的高光效果。
其中,外装表层的间接光源反射率,用于表示间接光源对外装表层的反射率贡献,在实际应用中,外装表层的间接光源反射率可以通过环境双向反射分布的漫反射和镜面反射的预计算值确定。
在一些实施例中,终端获取环境双向反射分布的漫反射预计值和镜面反射的预计算值,获取外装表层的第二法线向量对应的反射率,根据第二法线向量对应的反射率、环境双向反射分布的漫反射预计值和镜面反射的预计算值,确定外装表层的间接光源反射率。
终端获取待渲染位置在外装表层的第二法线向量和第二视线方向向量,确定待渲染位置在外装表层的第二反射方向向量,在实际应用中,可以通过PBR模型的反射函数,对待渲染位置在外装表层的第二法线向量和第二视线方向向量进行处理,得到待渲染位置在外装表层的第二反射方向向量。
终端根据外装表层粗糙度和第二反射方向向量,在环境光贴图中采样得到待渲染位置在外装表层的第二色彩像素值;终端获取间接光源的光强度,待渲染位置在外装表层的第二菲涅尔系数;终端根据第二菲涅尔系数确定菲涅尔透射系数,确定第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和菲涅尔透射系数之间的乘积,得到待渲染位置在外装表层的第四高光值。通过与上述同样的方式,可以得到虚拟对象的外装的各待渲染位置在外装表层的第四高光值。
其中,终端根据第二菲涅尔系数确定菲涅尔透射系数,可以是确定1与第二菲涅尔系数的差值,得到菲涅尔透射系数。
在上述实施例中,在环境光贴图中采样得到第二色彩像素值,基于第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和外装表层的第二菲涅尔系数,确定间接透射光在外装表层上产生的第四高光值,提升了外装表层在间接光源下的高光效果。
在一些实施例中,基于第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值,包括:基于第一高光值和第三高光值,确定清漆层上的且为待渲染位置的光照值;基于反射值、第二高光值和第四高光值,确定外装表层上的且为待渲染位置的光照值;基于清漆层上的且为待渲染位置的光照值和外装表层上的且为待渲染位置的光照值,确定待渲染位置的目标光照值。将清漆层和外装表层在直接光源和间接光源下产生的高光效果和反射效果叠加,通过目标光照值对虚拟对象的外装进行外装渲染,使得外装表层的清漆质感更真实,提升了视觉效果。
在一些实施例中,终端对待渲染位置的第一高光值和第三高光值进行线性处理,得到待渲染位置在清漆层上的光照值;终端对待渲染位置的反射值、第二高光值和第四高光值进行线性处理,得到待渲染位置在外装表层上的光照值;终端对待渲染位置在清漆层上的光照值和在外装表层上的光照值进行线性处理,得到待渲染位置的目标光照值。目标光照值是结合清漆层和外装表层在直接光源和间接光源下的光照值确定的,使得目标光照值可以反映清漆层和外装表层在直接光源和间接光源下综合所得的光照值,进而基于目标光照值进行渲染,可以综合清漆层和外装表层的光照效果,提升外装的视觉效果。
在一些实施例中,终端对待渲染位置的第一高光值和第三高光值进行线性处理,得到待渲染位置在清漆层上的光照值,可以是将第一高光值和第三高光值相加,得到待渲染位置在清漆层上的光照值;将第一高光值和第三高光值相加,可以减少确定清漆层上的光照值所需的硬件资源,提升渲染效率。
终端对待渲染位置的第一高光值和第三高光值进行线性处理,得到待渲染位置在清漆层上的光照值,也可以是终端获取直接光源和间接光源和权重,按照直接光源和间接光源和权重对第一高光值和第三高光值进行加权求和,得到待渲染位置在清漆层上的光照值;对第一高光值和第三高光值进行加权求和,使得清漆层上的光照值可以偏向第一高光值和第三高光值中权重更高的一项,突出清漆层在直接光源或间接光源下的光照效果。
在一些实施例中,终端对待渲染位置的反射值、第二高光值和第四高光值进行线性处理,得到待渲染位置在外装表层上的光照值,可以是将待渲染位置的反射值、第二高光值和第四高光值相加,得到待渲染位置在外装表层上的光照值;也可以是终端将反射值和第二相加,得到第一相加结果,按照直接光源和间接光源和权重对第一相加结果和第四高光值进行加权求和,得到待渲染位置在外装表层上的光照值;将反射值、第二高光值和第四高光值相加,可以减少确定外装表层的光照值所需的硬件资源,提升渲染效率;对第一相加结果和第四高光值进行加权求和,使得外装表层的光照值可以偏向第一相加结果和第四高光值中权重更高的一项,突出外装表层在直接光源或间接光源下的光照效果。
终端对待渲染位置的反射值、第二高光值和第四高光值进行线性处理,得到待渲染位置在外装表层上的光照值,还可以是终端将第二高光值和第四高光值相加,得到第二相加结果,获取反射权重和高光权重,依据反射权重和高光权重对反射值和第二相加结果进行加权求和,得到待渲染位置在外装表层上的光照值。对反射值和第二相加结果进行加权求和,使得外装表层上的光照值可以偏向反射值和第二相加结果中权重更高的一项,突出外装表层的反射效果或高光效果。
在一些实施例中,终端对待渲染位置在清漆层上的光照值和在外装表层上的光照值进行线性处理,得到待渲染位置的目标光照值,可以是将待渲染位置在清漆层上的光照值和在外装表层上的光照值相加,得到待渲染位置的目标光照值;也可以是按照清漆层和外装表层的权重,对待渲染位置在清漆层上的光照值和在外装表层上的光照值进行加权求和,得到待渲染位置的目标光照值。
在上述实施例中,通过第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值,可以将清漆层和外装表层在直接光源和间接光源下产生的高光效果和反射效果叠加,通过目标光照值对虚拟对象的外装进行外装渲染,可以得到外装表层上覆盖清漆层的视觉效果,并且外装表层的清漆质感更真实,提升了视觉效果。
在一些实施例中,虚拟对象的外装渲染可以应用于对虚拟场景中虚拟对象的外装进行渲染的场景;示例性地,虚拟对象的外装表层为丝绸材质,在丝绸上覆盖清漆层,以模拟丝绸材质在真实环境下的质感,提升丝绸材质的显示效果。
终端根据虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定清漆层的反射粗糙度,终端基于清漆层粗糙、第一法线向量、第一视线方向向量和直接光源的光源方向向量,确定清漆层的能见度,根据反射粗糙度、能见度和清漆层的反射强度,确定清漆层在直接光源下的第一高光值;
终端根据丝绸材质的外装表层的原始反射值、清漆层的透射率和反射强度,确定丝绸材质的外装表层对直接透光进行反射的反射值;基于丝绸材质的外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定丝绸材质的外装表层的第二菲涅尔系数,根据透射率和第二菲涅尔系数,确定直接透射光在丝绸材质的外装表层上产生的第二高光值;
终端基于清漆层粗糙度和虚拟对象所处环境的环境光贴图,确定清漆层在间接光源下的第三高光值;基于丝绸材质的外装表层粗糙度和环境光贴图,确定间接透射光在丝绸材质的外装表层上产生的第四高光值;
终端基于第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值。
通过在丝绸材质的外装表层上覆盖清漆层,而没有增加额外的材质种类,可以在硬件资源的占用较小的情况下,渲染得到在丝绸材质的外装表层上覆盖清漆层的效果,使得丝绸材质的外装具备清漆质感。
在一些实施例中,如图13所示,虚拟对象的外装渲染方法,包括:
步骤1301,基于虚拟对象的清漆层粗糙度确定粗糙度系数;融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;基于粗糙度系数和第一融合结果,确定清漆层的反射粗糙度;
步骤1302,对第一法线向量和清漆层的第一视线方向向量进行融合处理,得到第二融合结果;对第一法线向量和清漆层的光源方向向量进行融合处理,得到第三融合结果;基于粗糙度系数、第二融合结果和第三融合结果,确定清漆层在视线方向上的能见度和在光源方向上的能见度;基于在视线方向上的能见度和在光源方向上的能见度,确定清漆层的能见度;
步骤1303,基于反射粗糙度、能见度和清漆层的第一菲涅尔系数,确定清漆层反射率;基于清漆层反射率和清漆层的反射强度,确定清漆层在直接光源下的第一高光值;
步骤1304,基于原始反射值、透射率和初始菲涅尔值,确定外装表层的候选反射值;依据清漆层的反射强度,对原始反射值和候选反射值进行插值处理,得到外装表层对直接透射光进行反射的反射值;直接透射光是直接光源发出的且透射清漆层的光;
步骤1305,对外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;基于第四融合结果和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数;基于透射率和第二菲涅尔系数,确定直接透射光在外装表层上产生的第二高光值;
步骤1306,基于清漆层粗糙度、清漆层的第一法线向量和第一视线方向向量,在虚拟对象所处环境的环境光贴图中确定清漆层的第一色彩像素值;基于第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数,确定清漆层在间接光源下的第三高光值;
步骤1307,基于虚拟对象的外装表层粗糙度、外装表层的第二视线方向向量和第二法线向量,在环境光贴图中获取外装表层的第二色彩像素值;基于第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和外装表层的第二菲涅尔系数,确定间接透射光在外装表层上产生的第四高光值;间接透射光是间接光源发出的且透射清漆层的光;
步骤1308,基于第一高光值和第三高光值,确定清漆层上的且为待渲染位置的光照值;基于反射值、第二高光值和第四高光值,确定外装表层上的且为待渲染位置的光照值;基于清漆层上的且为待渲染位置的光照值和外装表层上的且为待渲染位置的光照值,确定待渲染位置的目标光照值。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
上述虚拟对象的外装渲染方法中,对于覆盖在外装表层上的清漆层,确定清漆层在光源下的第一高光值,根据原始反射值和透射率确定外装表层在光源下的反射值和第二高光值,根据第一高光值、反射值和第二高光值确定目标光照值,根据目标光照值对虚拟对象的外装进行光照渲染,可以将清漆层上的高光效果、外装表层上的反射效果和高光效果叠加,得到在外装表层上覆盖清漆层的视觉效果,使得外装表层具有清漆质感,提升了视觉效果。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的虚拟对象的外装渲染方法的虚拟对象的外装渲染装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个虚拟对象的外装渲染装置实施例中的具体限定可以参见上文中对虚拟对象的外装渲染方法的限定。
在一个实施例中,如图14所示,提供了一种虚拟对象的外装渲染装置,包括:清漆层处理模块1401、获取模块1402、外装表层处理模块1403、目标光照值确定模块1404和渲染模块1405,其中:
清漆层处理模块1401,用于确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;
获取模块1402,用于获取外装表层的原始反射值和清漆层的透射率;
外装表层处理模块1403,用于依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;
目标光照值确定模块1404,用于基于第一高光值、反射值和第二高光值,确定目标光照值;
渲染模块1405,用于根据目标光照值对虚拟对象的外装进行光照渲染。
在一些实施例中,光源为直接光源,清漆层处理模块1401包括:
反射粗糙度确定单元,用于基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定清漆层的反射粗糙度;
能见度确定单元,用于基于清漆层粗糙度、第一法线向量、清漆层的第一视线方向向量和直接光源的光源方向向量,确定清漆层的能见度;
第一高光值确定单元,用于基于反射粗糙度、能见度和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。
在一些实施例中,反射粗糙度确定单元,还用于基于虚拟对象的清漆层粗糙度确定粗糙度系数;融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;基于粗糙度系数和第一融合结果,确定清漆层的反射粗糙度。
在一些实施例中,能见度确定单元,还用于基于虚拟对象的清漆层粗糙度确定粗糙度系数;对第一法线向量和清漆层的第一视线方向向量进行融合处理,得到第二融合结果;对第一法线向量和清漆层的光源方向向量进行融合处理,得到第三融合结果;基于粗糙度系数、第二融合结果和第三融合结果,确定清漆层在视线方向上的能见度和在光源方向上的能见度;基于在视线方向上的能见度和在光源方向上的能见度,确定清漆层的能见度。
在一些实施例中,第一高光值确定单元,还用于基于反射粗糙度、能见度和清漆层的第一菲涅尔系数,确定清漆层反射率;基于清漆层反射率和清漆层的反射强度,确定清漆层在直接光源下的第一高光值。
在一些实施例中,光源包括直接光源,外装表层处理模块1403,包括反射值确定单元、第二菲涅尔系数确定单元和第二高光值确定单元;
反射值确定单元,用于基于原始反射值、透射率和清漆层的反射强度,确定外装表层对直接透射光进行反射的反射值;直接透射光是直接光源发出的且透射清漆层的光;
第二菲涅尔系数确定单元,用于基于外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数;
第二高光值确定单元,用于基于透射率和第二菲涅尔系数,确定直接透射光在外装表层上产生的第二高光值。
在一些实施例中,反射值确定单元,还用于基于原始反射值、透射率和初始菲涅尔值,确定外装表层的候选反射值;依据清漆层的反射强度,对原始反射值和候选反射值进行插值处理,得到外装表层对直接透射光进行反射的反射值。
在一些实施例中,第二菲涅尔系数确定单元,还用于对外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;基于第四融合结果和第二法线向量对应的反射率,确定外装表层的第二菲涅尔系数。
在一些实施例中,虚拟对象的外装渲染装置还包括:间接光源处理模块,用于基于清漆层粗糙度和虚拟对象所处环境的环境光贴图,确定清漆层在间接光源下的第三高光值;基于虚拟对象的外装表层粗糙度和环境光贴图,确定间接透射光在外装表层上产生的第四高光值;间接透射光是间接光源发出的且透射清漆层的光;
相应地,目标光照值确定模块1404,用于基于第一高光值、反射值、第二高光值、第三高光值和第四高光值确定目标光照值。
在一些实施例中,间接光源处理模块包括:第三高光值确定单元,用于基于清漆层粗糙度、清漆层的第一法线向量和第一视线方向向量,在虚拟对象所处环境的环境光贴图中确定清漆层的第一色彩像素值;基于第一色彩像素值、清漆层的间接光源反射率、间接光源的光强度和清漆层的第一菲涅尔系数,确定清漆层在间接光源下的第三高光值。
在一些实施例中,间接光源处理模块包括:第四高光值确定单元,用于基于虚拟对象的外装表层粗糙度、外装表层的第二视线方向向量和第二法线向量,在环境光贴图中获取外装表层的第二色彩像素值;基于第二色彩像素值、外装表层的间接光源反射率、间接光源的光强度和外装表层的第二菲涅尔系数,确定间接透射光在外装表层上产生的第四高光值。
在一些实施例中,目标光照值确定模块1404,还用于基于第一高光值和第三高光值,确定清漆层上的且为待渲染位置的光照值;基于反射值、第二高光值和第四高光值,确定外装表层上的且为待渲染位置的光照值;基于清漆层上的且为待渲染位置的光照值和外装表层上的且为待渲染位置的光照值,确定待渲染位置的目标光照值。
上述虚拟对象的外装渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种虚拟对象的外装渲染方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定虚拟对象的清漆层在光源下的第一高光值;清漆层是覆盖于虚拟对象的外装表层上的清漆材质;获取外装表层的原始反射值和清漆层的透射率;依据原始反射值和透射率,确定外装表层在光源下的反射值和第二高光值;基于第一高光值、反射值和第二高光值,确定目标光照值;根据目标光照值对虚拟对象的外装进行光照渲染。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(DynamicRandom AccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (22)
1.一种虚拟对象的外装渲染方法,其特征在于,所述方法包括:
基于清漆层的反射粗糙度、能见度和第一菲涅尔系数,确定清漆层反射率;所述清漆层是覆盖于虚拟对象的外装表层上的清漆材质;
基于所述清漆层反射率和所述清漆层的反射强度,确定所述清漆层在直接光源下的第一高光值;
获取所述外装表层的原始反射值和所述清漆层的透射率;
依据所述原始反射值和所述透射率,确定所述外装表层在所述直接光源下的反射值和第二高光值;
基于清漆层粗糙度和所述虚拟对象所处环境的环境光贴图,确定所述清漆层在间接光源下的第三高光值;
基于所述虚拟对象的外装表层粗糙度和所述环境光贴图,确定间接透射光在所述外装表层上产生的第四高光值;所述间接透射光是所述间接光源发出的且透射所述清漆层的光;
基于所述第一高光值、所述反射值、所述第二高光值、所述第三高光值和所述第四高光值确定目标光照值;
根据所述目标光照值对所述虚拟对象的外装进行光照渲染。
2.根据权利要求1所述的方法,其特征在于,所述基于清漆层的反射粗糙度、能见度和第一菲涅尔系数,确定清漆层反射率之前,还包括:
基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定所述清漆层的反射粗糙度;
基于所述清漆层粗糙度、所述第一法线向量、所述清漆层的第一视线方向向量和直接光源的光源方向向量,确定所述清漆层的能见度。
3.根据权利要求2所述的方法,其特征在于,所述基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定所述清漆层的反射粗糙度,包括:
基于虚拟对象的清漆层粗糙度确定粗糙度系数;
融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;
基于所述粗糙度系数和所述第一融合结果,确定所述清漆层的反射粗糙度。
4.根据权利要求2所述的方法,其特征在于,所述基于所述清漆层粗糙度、所述第一法线向量、所述清漆层的第一视线方向向量和直接光源的光源方向向量,确定所述清漆层的能见度,包括:
基于所述虚拟对象的清漆层粗糙度确定粗糙度系数;
对所述第一法线向量和所述清漆层的第一视线方向向量进行融合处理,得到第二融合结果;
对所述第一法线向量和直接光源的光源方向向量进行融合处理,得到第三融合结果;
基于所述粗糙度系数、所述第二融合结果和所述第三融合结果,确定所述清漆层在视线方向上的能见度和在光源方向上的能见度;
基于在所述视线方向上的能见度和在所述光源方向上的能见度,确定所述清漆层的能见度。
5.根据权利要求1所述的方法,其特征在于,所述依据所述原始反射值和所述透射率,确定所述外装表层在所述直接光源下的反射值和第二高光值,包括:
基于所述原始反射值、所述透射率和所述清漆层的反射强度,确定所述外装表层对直接透射光进行反射的反射值;所述直接透射光是所述直接光源发出的且透射所述清漆层的光;
基于所述外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定所述外装表层的第二菲涅尔系数;
基于所述透射率和所述第二菲涅尔系数,确定所述直接透射光在所述外装表层上产生的第二高光值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述原始反射值、所述透射率和所述清漆层的反射强度,确定所述外装表层对直接透射光进行反射的反射值,包括:
基于所述原始反射值、所述透射率和初始菲涅尔值,确定所述外装表层的候选反射值;
依据所述清漆层的反射强度,对所述原始反射值和所述候选反射值进行插值处理,得到所述外装表层对直接透射光进行反射的反射值。
7.根据权利要求5所述的方法,其特征在于,所述基于所述外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定所述外装表层的第二菲涅尔系数,包括:
对所述外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;
基于所述第四融合结果和第二法线向量对应的反射率,确定所述外装表层的第二菲涅尔系数。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于清漆层粗糙度和所述虚拟对象所处环境的环境光贴图,确定所述清漆层在间接光源下的第三高光值,包括:
基于清漆层粗糙度、所述清漆层的第一法线向量和第一视线方向向量,在所述虚拟对象所处环境的环境光贴图中确定所述清漆层的第一色彩像素值;
基于所述第一色彩像素值、所述清漆层的间接光源反射率、所述间接光源的光强度和所述清漆层的第一菲涅尔系数,确定所述清漆层在所述间接光源下的第三高光值。
9.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述虚拟对象的外装表层粗糙度和所述环境光贴图,确定间接透射光在所述外装表层上产生的第四高光值,包括:
基于所述虚拟对象的外装表层粗糙度、所述外装表层的第二视线方向向量和第二法线向量,在所述环境光贴图中获取所述外装表层的第二色彩像素值;
基于所述第二色彩像素值、所述外装表层的间接光源反射率、所述间接光源的光强度和所述外装表层的第二菲涅尔系数,确定间接透射光在所述外装表层上产生的第四高光值。
10.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述第一高光值、所述反射值、所述第二高光值、所述第三高光值和所述第四高光值确定目标光照值,包括:
基于所述第一高光值和所述第三高光值,确定所述清漆层上的且为待渲染位置的光照值;
基于所述反射值、所述第二高光值和所述第四高光值,确定所述外装表层上的且为所述待渲染位置的光照值;
基于所述清漆层上的且为待渲染位置的光照值和所述外装表层上的且为所述待渲染位置的光照值,确定所述待渲染位置的目标光照值。
11.一种虚拟对象的外装渲染装置,其特征在于,所述装置包括:
清漆层处理模块,用于基于清漆层的反射粗糙度、能见度和第一菲涅尔系数,确定清漆层反射率,基于所述清漆层反射率和所述清漆层的反射强度,确定所述清漆层在直接光源下的第一高光值;所述清漆层是覆盖于虚拟对象的外装表层上的清漆材质;
获取模块,用于获取所述外装表层的原始反射值和所述清漆层的透射率;
外装表层处理模块,用于依据所述原始反射值和所述透射率,确定所述外装表层在所述直接光源下的反射值和第二高光值;
间接光源处理模块,用于基于清漆层粗糙度和所述虚拟对象所处环境的环境光贴图,确定所述清漆层在间接光源下的第三高光值;基于所述虚拟对象的外装表层粗糙度和所述环境光贴图,确定间接透射光在所述外装表层上产生的第四高光值;所述间接透射光是所述间接光源发出的且透射所述清漆层的光;
目标光照值确定模块,用于基于所述第一高光值、所述反射值、所述第二高光值、所述第三高光值和所述第四高光值确定目标光照值;
渲染模块,用于根据所述目标光照值对所述虚拟对象的外装进行光照渲染。
12.根据权利要求11所述的装置,其特征在于,所述清漆层处理模块包括:
反射粗糙度确定单元,用于基于虚拟对象的清漆层粗糙度、清漆层的第一法线向量和第一半角向量,确定所述清漆层的反射粗糙度;
能见度确定单元,用于基于所述清漆层粗糙度、所述第一法线向量、所述清漆层的第一视线方向向量和直接光源的光源方向向量,确定所述清漆层的能见度。
13.根据权利要求12所述的装置,其特征在于,所述反射粗糙度确定单元,还用于基于虚拟对象的清漆层粗糙度确定粗糙度系数;融合清漆层的第一法线向量和第一半角向量,得到第一融合结果;基于所述粗糙度系数和所述第一融合结果,确定所述清漆层的反射粗糙度。
14.根据权利要求12所述的装置,其特征在于,所述能见度确定单元,还用于基于所述虚拟对象的清漆层粗糙度确定粗糙度系数;对所述第一法线向量和所述清漆层的第一视线方向向量进行融合处理,得到第二融合结果;对所述第一法线向量和直接光源的光源方向向量进行融合处理,得到第三融合结果;基于所述粗糙度系数、所述第二融合结果和所述第三融合结果,确定所述清漆层在视线方向上的能见度和在光源方向上的能见度;基于在所述视线方向上的能见度和在所述光源方向上的能见度,确定所述清漆层的能见度。
15.根据权利要求11所述的装置,其特征在于,所述外装表层处理模块包括:
反射值确定单元,用于基于所述原始反射值、所述透射率和所述清漆层的反射强度,确定所述外装表层对直接透射光进行反射的反射值;所述直接透射光是所述直接光源发出的且透射所述清漆层的光;
第二菲涅尔系数确定单元,用于基于所述外装表层的第二视线方向向量、第二半角向量和第二法线向量对应的反射率,确定所述外装表层的第二菲涅尔系数;
第二高光值确定单元,用于基于所述透射率和所述第二菲涅尔系数,确定所述直接透射光在所述外装表层上产生的第二高光值。
16.根据权利要求15所述的装置,其特征在于,所述反射值确定单元,还用于基于所述原始反射值、所述透射率和初始菲涅尔值,确定所述外装表层的候选反射值;依据所述清漆层的反射强度,对所述原始反射值和所述候选反射值进行插值处理,得到所述外装表层对直接透射光进行反射的反射值。
17.根据权利要求15所述的装置,其特征在于,所述第二菲涅尔系数确定单元,还用于对所述外装表层的第二视线方向向量和第二半角向量进行融合处理,得到第四融合结果;基于所述第四融合结果和第二法线向量对应的反射率,确定所述外装表层的第二菲涅尔系数。
18.根据权利要求11至17中任一项所述的装置,其特征在于,所述间接光源处理模块包括:
第三高光值确定单元,用于基于清漆层粗糙度、所述清漆层的第一法线向量和第一视线方向向量,在所述虚拟对象所处环境的环境光贴图中确定所述清漆层的第一色彩像素值;基于所述第一色彩像素值、所述清漆层的间接光源反射率、所述间接光源的光强度和所述清漆层的第一菲涅尔系数,确定所述清漆层在所述间接光源下的第三高光值。
19.根据权利要求11至17中任一项所述的装置,其特征在于,所述间接光源处理模块包括:
第四高光值确定单元,用于基于所述虚拟对象的外装表层粗糙度、所述外装表层的第二视线方向向量和第二法线向量,在所述环境光贴图中获取所述外装表层的第二色彩像素值;基于所述第二色彩像素值、所述外装表层的间接光源反射率、所述间接光源的光强度和所述外装表层的第二菲涅尔系数,确定间接透射光在所述外装表层上产生的第四高光值。
20.根据权利要求11至17中任一项所述的装置,其特征在于,所述目标光照值确定模块,还用于基于所述第一高光值和所述第三高光值,确定所述清漆层上的且为待渲染位置的光照值;基于所述反射值、所述第二高光值和所述第四高光值,确定所述外装表层上的且为所述待渲染位置的光照值;基于所述清漆层上的且为待渲染位置的光照值和所述外装表层上的且为所述待渲染位置的光照值,确定所述待渲染位置的目标光照值。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687751.4A CN116421970B (zh) | 2023-06-12 | 2023-06-12 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687751.4A CN116421970B (zh) | 2023-06-12 | 2023-06-12 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116421970A CN116421970A (zh) | 2023-07-14 |
CN116421970B true CN116421970B (zh) | 2023-12-05 |
Family
ID=87081797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310687751.4A Active CN116421970B (zh) | 2023-06-12 | 2023-06-12 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116421970B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007310682A (ja) * | 2006-05-18 | 2007-11-29 | Sega Corp | 透過オブジェクト描画方法 |
KR20120078070A (ko) * | 2010-12-31 | 2012-07-10 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN110223589A (zh) * | 2019-05-17 | 2019-09-10 | 上海蜂雀网络科技有限公司 | 一种基于3d绘画协议的汽车模型展示方法 |
CN111145330A (zh) * | 2019-12-31 | 2020-05-12 | 广州华多网络科技有限公司 | 人体模型渲染方法、装置、电子设备及存储介质 |
CN115082608A (zh) * | 2022-05-26 | 2022-09-20 | 网易(杭州)网络有限公司 | 虚拟角色服装渲染方法、装置、电子设备和存储介质 |
CN115738255A (zh) * | 2022-12-06 | 2023-03-07 | 网易(杭州)网络有限公司 | 抗锯齿渲染方法及装置、电子设备、存储介质 |
CN115861522A (zh) * | 2023-03-02 | 2023-03-28 | 杭州片段网络科技有限公司 | 图像渲染方法及装置 |
WO2023061232A1 (zh) * | 2021-10-13 | 2023-04-20 | 北京字节跳动网络技术有限公司 | 图像渲染方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7589723B2 (en) * | 2005-07-25 | 2009-09-15 | Microsoft Corporation | Real-time rendering of partially translucent objects |
US9076247B2 (en) * | 2012-08-10 | 2015-07-07 | Ppg Industries Ohio, Inc. | System and method for visualizing an object in a simulated environment |
GB2605158B (en) * | 2021-03-24 | 2023-05-17 | Sony Interactive Entertainment Inc | Image rendering method and apparatus |
-
2023
- 2023-06-12 CN CN202310687751.4A patent/CN116421970B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007310682A (ja) * | 2006-05-18 | 2007-11-29 | Sega Corp | 透過オブジェクト描画方法 |
KR20120078070A (ko) * | 2010-12-31 | 2012-07-10 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN110223589A (zh) * | 2019-05-17 | 2019-09-10 | 上海蜂雀网络科技有限公司 | 一种基于3d绘画协议的汽车模型展示方法 |
CN111145330A (zh) * | 2019-12-31 | 2020-05-12 | 广州华多网络科技有限公司 | 人体模型渲染方法、装置、电子设备及存储介质 |
WO2023061232A1 (zh) * | 2021-10-13 | 2023-04-20 | 北京字节跳动网络技术有限公司 | 图像渲染方法、装置、设备及介质 |
CN115082608A (zh) * | 2022-05-26 | 2022-09-20 | 网易(杭州)网络有限公司 | 虚拟角色服装渲染方法、装置、电子设备和存储介质 |
CN115738255A (zh) * | 2022-12-06 | 2023-03-07 | 网易(杭州)网络有限公司 | 抗锯齿渲染方法及装置、电子设备、存储介质 |
CN115861522A (zh) * | 2023-03-02 | 2023-03-28 | 杭州片段网络科技有限公司 | 图像渲染方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116421970A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11694392B2 (en) | Environment synthesis for lighting an object | |
CN106534835B (zh) | 一种图像处理方法以及装置 | |
CN115115688B (zh) | 一种图像处理方法及电子设备 | |
CN112927341A (zh) | 光照渲染方法、装置、计算机设备和存储介质 | |
Li et al. | Physically-based editing of indoor scene lighting from a single image | |
CN114119853B (zh) | 图像渲染方法、装置、设备和介质 | |
CN107644453A (zh) | 一种基于物理着色的渲染方法及系统 | |
CN107016719B (zh) | 一种屏幕空间的次表面散射效果实时绘制方法 | |
US20240029338A1 (en) | Ray-tracing with irradiance caches | |
CN112396684A (zh) | 光线追踪方法、装置及机器可读存储介质 | |
CN115661320B (zh) | 图像处理方法及电子设备 | |
CN109712226A (zh) | 虚拟现实的透明模型渲染方法及装置 | |
CN115965727A (zh) | 图像渲染方法、装置、设备及介质 | |
Park et al. | " DreamHouse" NUI-based Photo-realistic AR Authoring System for Interior Design | |
WO2024148898A1 (zh) | 图像降噪方法、装置、计算机设备和存储介质 | |
CN114419220A (zh) | 对目标物的风格化渲染方法、装置、电子设备及存储介质 | |
CN116883607B (zh) | 基于辐射传输的虚拟现实场景生成系统 | |
CN116091684B (zh) | 基于WebGL的图像渲染方法、装置、设备及存储介质 | |
CN116421970B (zh) | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 | |
CN112819929B (zh) | 渲染水面方法及装置、电子设备、存储介质 | |
US11436794B2 (en) | Image processing method, apparatus and device | |
González et al. | based ambient occlusion | |
CN117333609B (zh) | 图像渲染方法、网络的训练方法、设备及介质 | |
Rogers et al. | Digital design ecology to generate a speculative virtual environment reimagining new relativity laws | |
CN117078838B (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: 40089293 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |