CN117252982A - 虚拟三维模型的材质属性生成方法、装置及存储介质 - Google Patents
虚拟三维模型的材质属性生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117252982A CN117252982A CN202311146686.0A CN202311146686A CN117252982A CN 117252982 A CN117252982 A CN 117252982A CN 202311146686 A CN202311146686 A CN 202311146686A CN 117252982 A CN117252982 A CN 117252982A
- Authority
- CN
- China
- Prior art keywords
- result
- texture
- virtual
- information
- dimensional model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000463 material Substances 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000005070 sampling Methods 0.000 claims abstract description 119
- 230000000694 effects Effects 0.000 claims abstract description 68
- 238000005286 illumination Methods 0.000 claims abstract description 65
- 230000008859 change Effects 0.000 claims abstract description 61
- 239000013077 target material Substances 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 137
- 230000007704 transition Effects 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 27
- 238000010606 normalization Methods 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 239000003086 colorant Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000010408 film Substances 0.000 description 2
- 238000004020 luminiscence type Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 239000010409 thin film Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000002932 luster Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
-
- 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)
- 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
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种虚拟三维模型的材质属性生成方法、装置及存储介质。
背景技术
虹彩(Iridescence)也被称为角变色(goniochromism)或镭射效果,是一种随着视角或照明角度变化而在表面逐渐改变色相的光学现象,镭射效果可以提升游戏的视觉效果、战斗感、科幻氛围以及游戏机制的多样性,为玩家带来更好的游戏体验。相关技术中可以通过色相偏移和薄膜干涉两种方式获得镭射效果,色相偏移方式是通过不同法线与摄像机视角点乘得到灰度值,进而将灰度值映射到色环上的对应颜色,这种方案所获得的镭射效果颜色相对固定,并且只能根据色环变化的顺序进行虹彩颜色的变换,用户自定义效果差;而薄膜干涉方式在实现时所需的计算资源开销较大,并不适合在移动端设备上实现,并且用户也无法自主调整镭射颜色。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请至少部分实施例提供了一种虚拟三维模型的材质属性生成方法、装置及存储介质,以至少解决相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
根据本申请其中一实施例,提供了一种虚拟三维模型的材质属性生成方法,包括:获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
根据本申请其中一实施例,还提供了一种虚拟三维模型的材质属性生成装置,包括:获取模块,用于获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;采样模块,用于通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;遮罩模块,用于基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;生成模块,用于利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
根据本申请其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟三维模型的材质属性生成方法。
根据本申请其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟三维模型的材质属性生成方法。
在本申请至少部分实施例中,通过获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息,进而通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,随后基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,最后利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,达到了高效生成目标三维模型的镭射材质效果的目的,从而实现了灵活控制镭射颜色变化、降低计算资源开销的技术效果,进而解决了相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为相关技术中的一种光线干涉的频率叠加示意图;
图2是根据本申请其中一实施例的一种虚拟三维模型的材质属性生成方法的移动终端的硬件结构框图;
图3是根据本申请其中一实施例的一种虚拟三维模型的材质属性生成方法的流程图;
图4是根据本申请其中一实施例的一种菲涅尔计算的示意图;
图5是根据本申请其中一实施例的一种第一纹理图像;
图6是根据本申请其中一实施例的一种镭射材质效果的示意图;
图7是根据本申请其中一实施例的一种虚拟三维模型的材质属性生成方法的示意图;
图8是根据本申请其中一实施例的一种虚拟三维模型的材质属性生成装置的结构框图;
图9是根据本申请其中一实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
着色器(Shader):能够实现图像渲染,是用来替代固定渲染管线的可编辑程序。
经验光照模型(Lambert):用于模拟粗糙物体表面的光照现象。
菲涅尔(Fresnel):用于描述看到的光如何根据观看的角度以不同的强度反射。
纹理坐标(Texture Coordinate):默认情况下纹理坐标二维向量中的每一个分量,取值范围都是0~1。在实现三维图形渲染的工具中坐标(0,0)对应物体纹理的左上角,坐标(1,1)对应物体纹理的右下角。当渲染物体表面时,像素在物体上的坐标,同样按照纹理坐标的计算方式进行计算。
UV:类同于纹理坐标,应用程序接口(Application Programming Interface,API)中将纹理坐标的横向分量称为U轴或X轴,垂直分量称为V轴或Y轴。
纹理采样(Texture Sample):使用纹理坐标检索纹理颜色的过程称为纹理采样,纹理坐标从纹理图像的左下角(0,0)开始,到纹理图像的右上角(1,1)结束。
虹彩也被称为角变色或镭射效果,是一种随着视角或照明角度变化而在表面逐渐改变色相的光学现象,镭射效果通常是通过结构着色产生。图1为相关技术中的一种光线干涉的频率叠加示意图,如图1所示,如果光波1和光波2处于A相,即光波1和光波2处于同相,则会产生相长增强,波峰与波峰对齐,波谷与波谷对齐,彼此增强。如果光波1和光波2处于B相,即光波1和光波2处于异相,则会产生相消减弱,光波1的波峰与光波2的波谷相抵消,光波1的波谷与光波2的波峰相抵消,彼此减弱。
相关技术中可以通过色相偏移和薄膜干涉两种方式获得镭射效果。具体的,色相偏移方式的实现过程为:获取像素法线与摄像机视角向量点乘后生成的类似菲涅尔表现效果的输出结果,将该输出结果作为第一个输入值输入到改变颜色的函数(HueShift)中,并将原本物体的颜色作为第二个输入值输入到HueShift中,从而利用HueShift输出物体叠加虹彩后的效果。但是,这种方案所获得的镭射效果颜色相对固定,并且只能根据色环变化的顺序进行虹彩颜色的变换,用户自定义效果差。
薄膜干涉方式的实现过程为:首先通过像素法线与摄像机视角向量点乘后生成的类似菲涅尔表现效果,进而计算镜面反射与透明度以及计算双面反射,最后计算流动的表面,从而获得镭射效果。然而,这种方案在实现时所需的计算资源开销较大,并不适合在移动端设备上实现,并且用户也无法自主调整镭射颜色。
综上可知,相关技术中在实现物体的镭射材质效果时存在对于镭射颜色变化不可控、计算资源开销大的技术问题,针对上述的问题,目前尚未提出有效的解决方案。
本公开涉及到的上述方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机、平板电脑、掌上电脑以及移动互联网设备、PAD、游戏机等终端设备。图2是本申请实施例的一种虚拟三维模型的材质属性生成方法的移动终端的硬件结构框图。如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器204,在本申请其中一实施例中,还可以包括:输入输出设备208以及显示设备210。
在一些以游戏场景为主的可选实施例中,上述设备还可以提供具有触摸触敏表面的人机交互界面,该人机交互界面可以感应手指接触和/或手势来与图形用户界面(GUI)进行人机交互,该人机交互功能可以包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本领域技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
根据本申请其中一实施例,提供了一种虚拟三维模型的材质属性生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本申请其中一实施例的虚拟三维模型的材质属性生成方法的流程图,如图3所示,该方法包括如下步骤:
步骤S31,获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;
步骤S32,通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
步骤S33,基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
步骤S34,利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
上述虚拟三维模型的粗糙度信息用于描述虚拟三维模型表面的粗糙程度或纹理细节,具体可以表示材质由于其表面的精细结构细节而产生的反射程度,粗糙度信息的取值位于[0,1]范围内。一个较粗糙的表面会得到更宽阔更模糊的镜面反射,而一个比较光滑的表面则会得到集中而清晰的镜面反射。粗糙度信息通常以纹理贴图的形式储存在模型的纹理通道中,这些纹理贴图包含了模型表面的细节信息,如皮肤的皱纹、木材的纹理、金属的光泽等,通过在虚拟三维模型上应用纹理贴图,可以使虚拟三维模型表现出更加真实的外观和触感。
上述虚拟三维模型的反射信息为菲涅尔反射信息,菲涅尔反射信息用于表示虚拟三维模型表面在不同视角观察时的反射强度变化。菲涅尔反射是指光线从介质中入射到另一个介质时,根据入射角度的不同,一部分光线会反射回原介质,另一部分光线会折射进入新的介质。在虚拟游戏场景中,菲涅尔反射信息通常用于模拟虚拟三维模型表面的反射特性,使虚拟三维模型在不同视角观察时能够呈现出更真实的反射效果,从而增加虚拟三维模型的真实感,使其更加逼真。
上述虚拟场景内的光照信息用于表示从游戏引擎中获取的虚拟游戏场景中模拟和呈现光照效果的数据,例如,光照信息包括但不限于光照方向、光源位置、光源颜色以及光源强度,通过模拟和计算这些光照信息,虚拟游戏场景可以呈现出逼真的光照效果,使得玩家感受到更加真实和沉浸的游戏体验。
上述第一纹理对象为用户自定义镭射纹理,第一纹理对象的纹理内容用于表示自定义镭射颜色变化。上述第二纹理对象为用户自定义遮罩纹理,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化。
通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,该采样过程为由镭射显示查找表(Look-Up-Table,LUT)采样计算模块实现的纹理采样过程,在纹理采样过程中,将原始颜色通过LUT的颜色查找表映射到新的色彩上,进而能够单独针对色彩空间的进行管理和转换,其中,U轴可以表示从0到1不同的颜色变换,本申请实施例中的V轴无意义,因此V轴都为相同颜色像素。
纹理采样是计算机图形学中的一个重要概念,用于在渲染过程中从纹理贴图中获取颜色值并将其应用于虚拟三维模型的表面。下面是一般情况下纹理采样的具体过程将纹理贴图加载到图形内存中,储存在纹理缓存中,当需要在虚拟三维模型表面上显示纹理时,需要用到采样器(Sampler),采样器根据纹理坐标(Texture Coordinates)和纹理过滤器(Texture Filter)从纹理缓存中获取颜色值。其中,纹理坐标是指虚拟三维模型表面的每个像素在纹理贴图中的位置,纹理贴图的左上角通常被定义为(0,0),纹理坐标的范围通常是(0,0)到(1,1)之间;纹理过滤器用于处理从纹理缓存中获取的颜色值,通常情况下,纹理过滤器会根据纹理坐标和贴图周围颜色值的插值计算出一个中间值,从而平滑过渡纹理贴图的边缘。进一步的,采样器可以使用纹理坐标和纹理过滤器计算出的颜色值将纹理贴图应用于虚拟三维模型表面。
需要注意的是,在实际的纹理采样过程中,还可以利用一些高级技术和算法,例如金字塔纹理(Mipmap texture,MIP)贴图、各向异性过滤等,以提高纹理采样的质量和效率。
基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,该遮罩结果用于表示虚拟三维模型整体镭射效果的变化遮罩,进一步的,利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的镭射材质效果。
其中,虚拟三维模型的初始材质属性通常包括以下几个方面:颜色/纹理:虚拟三维模型可以具有不同的颜色或纹理,用于模拟实际物体的外观。颜色可以是单一的固定颜色,也可以是基于纹理贴图的复杂纹理;反射率/光泽度:模型的反射率属性决定了它对光的反射程度。反射率高的物体会更亮,并且能够反射周围环境中的光线。光泽度属性反映了模型表面的光滑程度,光滑的物体会有较高的光泽度;透明度/折射率:透明度属性决定了模型是否能够透过光线。透明度高的物体可以透明或半透明,允许看到背后的物体。折射率属性决定了光线在物体内部传播时的折射程度;发光/自发光:模型的发光属性决定了它是否能够自己发出光线。发光的物体会在周围环境中产生光照效果;运动属性:虚拟三维模型还可以具有运动属性,如旋转、平移、缩放等。这些属性可以控制模型在虚拟环境中的动态效果。上述初始材质属性可以通过编辑软件或引擎来设置和调整,以实现不同的视觉效果。
基于上述步骤S31至步骤S34,通过获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息,进而通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,随后基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,最后利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,达到了高效生成目标三维模型的镭射材质效果的目的,从而实现了灵活控制镭射颜色变化、降低计算资源开销的技术效果,进而解决了相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
下面对本申请实施例中的虚拟三维模型的材质属性生成方法进行进一步介绍。
可选地,在步骤S31,获取虚拟游戏场景中虚拟三维模型的反射信息包括:
步骤S311,获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量;
步骤S312,对像素法线与视线向量进行菲涅尔计算,得到反射信息。
图4是根据本申请其中一实施例的一种菲涅尔计算的示意图,如图4所示,向量v表示视线方向向量,向量n表示像素法线向量,向量l表示光照方向向量,对对像素法线n与视线向量v进行点乘运算,得到反射信息。
基于上述可选实施例,通过获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量,进而对像素法线与视线向量进行菲涅尔计算,能够快速获得菲涅尔反射信息,以用于对第一纹理对象进行纹理采样,进一步提高采样效率。
可选地,在步骤S32,通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果包括:
步骤S321,通过粗糙度信息确定镭射过渡变化结果;
步骤S322,基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果。
具体的,上述粗糙度信息将作为采样LUT纹理坐标中的部分影响因子,根据虚拟三维模型中每个像素的粗糙度值获取到LUT中对应的颜色,从而获取到粗糙度由低到高的镭射颜色过渡效果,也即确定镭射过渡变换结果,进一步的,基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果。
基于上述可选实施例,通过粗糙度信息确定镭射过渡变化结果,进而基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果,能够使得最终的镭射材质效果自然过渡,进一步提升视觉效果。
可选地,在步骤S321,通过粗糙度信息确定镭射过渡变化结果包括:
步骤S3211,对粗糙度信息进行取反计算,得到第一计算结果;
步骤S3212,基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,其中,第一插值系数用于表示从第一原值变化至第一目标值之间的过渡强度;
步骤S3213,对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果。
在图形渲染中,可以使用线性差值(Lerp)函数来实现两个颜色之间的平滑过渡,在Lerp函数中,镭射过渡变化结果X=A+(B-A)*Alpha,其中,A为第一原值,B为第一目标值,Alpha为第一差值系数,Alpha用于表示从第一原值A变化至第一目标值B之间的过渡强度。
具体的,对粗糙度信息x进行取反计算时,通过计算1-x的值从而得到第一计算结果,进而基于第一计算结果确定第一目标值B与第一差值系数Alpha,以及通过将预设数值输入至float1.0从而得到第一原值A,利用Lerp函数对第一原值A、第一目标值B以及第一插值系数Alpha进行线性差值计算,从而获得镭射过渡变化结果X。
基于上述可选实施例,通过对粗糙度信息进行取反计算,得到第一计算结果,进而基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,最后对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果,能够使得最终的镭射材质效果自然过渡,进一步提升视觉效果。
可选地,在步骤S322,基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果包括:
步骤S3221,对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果;
步骤S3222,对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,其中,第一自定义参数用于确定纹理平铺值;
步骤S3223,对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,其中,第二自定义参数用于确定纹理偏移值;
步骤S3224,基于第四计算结果对第一纹理对象进行采样,得到采样结果。
具体的,对镭射过渡变化结果与菲涅尔反射信息进行相乘计算,得到第二计算结果,随后对第二计算结果和第一自定义参数进行相乘计算得到第三计算结果,第一自定义参数为LUT_Tile,其值域为(0,+∞),第一自定义参数用于确定纹理平铺值。其中,纹理平铺值是指在纹理映射过程中控制纹理图案在物体表面上重复出现的次数,纹理平铺值的作用是控制纹理图案的大小和密度,从而影响虚拟三维物体表面的视觉效果。例如,当纹理平铺值=float2(1.0),纹理图案仅在水平方向或者垂直方向上平铺1次;当纹理平铺值=float2(3.0),纹理图案会在水平方向上平铺3次,在垂直方向上平铺3次。较小的纹理平铺值会使纹理图案重复出现的次数增多,纹理图案会更加密集,物体表面的纹理效果会更加明显;相反,较大的纹理平铺值会使纹理图案重复出现的次数减少,纹理图案会更加稀疏,物体表面的纹理效果会较为平滑。通过调整纹理平铺值,可以使得纹理图案在物体表面上呈现出不同的纹理效果,以满足设计需求或者达到更好的视觉效果。
进一步的,利用第三计算结果与第二自定义参数进行加法运算得到第四计算结果,第二自定义参数为U_Offset,其值域为全体实数,第二自定义参数用于确定纹理偏移值。纹理偏移值是让纹理从右向左平移的量,纹理偏移值用于在渲染纹理时对纹理坐标进行微调,从而获得更加准确的纹理贴图渲染效果。最后,基于第四计算结果对第一纹理对象进行采样,得到采样结果。
在获取第二计算结果W后,可以基于以下计算过程获取采样结果Y:
Y=W*LUT_Tile+U_Offset
其中,LUT_Tile为纹理平铺值,U_Offset为纹理偏移值。
基于上述可选实施例,通过对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果,进而对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,随后对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,最后基于第四计算结果对第一纹理对象进行采样,得到采样结果,能够使得最终的镭射材质效果自然过渡,进一步提升视觉效果。
可选地,在步骤S3224,基于第四计算结果对第一纹理对象进行采样,得到采样结果包括:通过第四计算结果确定待使用的纹理坐标;基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果。
具体的,将第四计算结果作为待使用的纹理坐标对第一纹理对象进行采样,得到采样结果,第一纹理对象可以为预设尺寸的自定义镭射纹理,可以由美术人员预先进行制作,第一纹理对象的纹理内容表示镭射过渡的颜色,该纹理内容可由美术人员按照渲染需求灵活设置,例如,图5是根据本申请其中一实施例的一种第一纹理图像,如图5所示,第一纹理图像为一张尺寸为256*64的自定义镭射纹理,从而实现对于镭射材质效果中的镭射颜色变化进行灵活控制。
基于上述可选实施例,通过第四计算结果确定待使用的纹理坐标,进而基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果,能够实现对于镭射材质效果中的镭射颜色变化进行灵活控制。
可选地,在步骤S33,基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果包括:
步骤S331,获取初始材质属性对应的环境光遮蔽信息;
步骤S332,基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果。
具体的,上述环境光(Ambient Occlusion,AO)遮蔽信息,用于模拟光线在现实世界中的传播和相互作用。在真实世界中,光线在经过物体表面时会受到周围环境的阻碍和遮蔽,导致物体的某些部分被阴影遮挡或受到间接光照的影响。环境光遮蔽信息通过计算光线到达某个点时周围环境的遮蔽程度,可以提供更加真实的光照效果,其可以用于增强渲染图像的真实感,使得物体表面的阴影、反射和遮挡等效果更加逼真。
示例性的,环境光遮蔽信息可以通过不同的方法计算得到,包括基于光线追踪的方法、基于屏幕空间的方法等。在实际应用中,可以将环境光遮蔽信息与其他渲染技术结合使用,如全局光照、阴影计算等,以获得更加逼真的图像效果。
进一步的,基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果,从而通过引入光照方向向量,使得虚拟三维模型在光照变化中镭射材质效果会有动态变化。
基于上述可选实施例,通过获取初始材质属性对应的环境光遮蔽信息,进而基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果,从而使得镭射材质效果能够动态变化,进一步提升视觉效果。
可选地,在步骤S332,基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果包括:
步骤S3321,对光照信息进行向量归一化运算,得到第五计算结果;
步骤S3322,对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果;
步骤S3323,对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。
具体的,对从游戏引擎内获取的光照信息进行归一化计算,得到第五计算结果,进而对环境光遮蔽信息与自定义遮罩纹理进行乘法运算,得到第六计算结果,最后对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。上述自定义遮罩纹理美术单独制作,在自定义遮罩纹理中,白色区域镭射效果强,黑色区域镭射效果弱。
基于上述可选实施例,通过对光照信息进行向量归一化运算,得到第五计算结果,随后对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果,最后对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果,从而能够通过遮罩的方式能控制虚拟三维模型每个区域的镭射强弱过渡。
可选地,在步骤S34,利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性包括:
步骤S341,基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,其中,第二插值系数用于表示从第二原值变化至第二目标值之间的过渡强度;
步骤S342,对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性。
具体的,图6是根据本申请其中一实施例的一种镭射材质效果的示意图,将初始材质属性作为Lerp函数的第二原值A,将采样结果作为Lerp函数第二目标值B,将遮罩结果作为第二差值系数Alpha,利用X=A+(B-A)*Alpha,计算得到镭射材质效果。
基于上述可选实施例,通过基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,进而对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性,能够通过增加两张纹理采样计算和其他全部的低开销计算使得镭射材质效果能够在移动端上运行。
图7是根据本申请其中一实施例的一种虚拟三维模型的材质属性生成方法的示意图,如图7所示,获取虚拟游戏场景中虚拟三维模型的粗糙度信息,以及虚拟游戏场景内的光照信息,同时获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量,对像素法线与视线向量进行菲涅尔计算,得到反射信息。
进一步的,对粗糙度信息进行取反计算,得到第一计算结果,基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果。对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果,对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,通过第四计算结果确定待使用的纹理坐标,基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果。
同时,获取初始材质属性对应的环境光遮蔽信息,对光照信息进行向量归一化运算,得到第五计算结果,对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果,对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。
最后,基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,以及对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性。
由此,本申请实施例中的虚拟三维模型的材质属性生成方法通过获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息,进而通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,随后基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,最后利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,达到了高效生成目标三维模型的镭射材质效果的目的,从而实现了灵活控制镭射颜色变化、降低计算资源开销的技术效果,进而解决了相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种虚拟三维模型的材质属性生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请其中一实施例的虚拟三维模型的材质属性生成装置的结构框图,如图8所示,该装置包括:
获取模块801,用于获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;
采样模块802,用于通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
遮罩模块803,用于基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
生成模块804,用于利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
可选地,获取模块801还用于:获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量;对像素法线与视线向量进行菲涅尔计算,得到反射信息。
可选地,采样模块802还用于:通过粗糙度信息确定镭射过渡变化结果;基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果。
可选地,采样模块802还用于:对粗糙度信息进行取反计算,得到第一计算结果;基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,其中,第一插值系数用于表示从第一原值变化至第一目标值之间的过渡强度;对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果。
可选地,采样模块802还用于:对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果;对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,其中,第一自定义参数用于确定纹理平铺值;对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,其中,第二自定义参数用于确定纹理偏移值;基于第四计算结果对第一纹理对象进行采样,得到采样结果。
可选地,采样模块802还用于:通过第四计算结果确定待使用的纹理坐标;基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果。
可选地,遮罩模块803还用于:获取初始材质属性对应的环境光遮蔽信息;基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果。
可选地,遮罩模块803还用于:对光照信息进行向量归一化运算,得到第五计算结果;对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果;对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。
可选地,生成模块804还用于:基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,其中,第二插值系数用于表示从第二原值变化至第二目标值之间的过渡强度;对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;
S2,通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
S3,基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
S4,利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量;对像素法线与视线向量进行菲涅尔计算,得到反射信息。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:通过粗糙度信息确定镭射过渡变化结果;基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对粗糙度信息进行取反计算,得到第一计算结果;基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,其中,第一插值系数用于表示从第一原值变化至第一目标值之间的过渡强度;对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果;对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,其中,第一自定义参数用于确定纹理平铺值;对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,其中,第二自定义参数用于确定纹理偏移值;基于第四计算结果对第一纹理对象进行采样,得到采样结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:通过第四计算结果确定待使用的纹理坐标;基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取初始材质属性对应的环境光遮蔽信息;基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对光照信息进行向量归一化运算,得到第五计算结果;对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果;对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,其中,第二插值系数用于表示从第二原值变化至第二目标值之间的过渡强度;对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性。
在该实施例的计算机可读存储介质中,通过获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息,进而通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,随后基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,最后利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,达到了高效生成目标三维模型的镭射材质效果的目的,从而实现了灵活控制镭射颜色变化、降低计算资源开销的技术效果,进而解决了相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,计算机可读存储介质上存储有能够实现本实施例上述方法的程序产品。在一些可能的实施方式中,本申请实施例的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本实施例上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
根据本申请的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请实施例的程序产品不限于此,在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述程序产品可以采用一个或多个计算机可读介质的任意组合。该计算机可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列举)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息;
S2,通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,其中,第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
S3,基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
S4,利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,其中,目标材质属性用于表现虚拟三维模型的镭射材质效果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:获取虚拟游戏场景中虚拟三维模型的像素法线与虚拟游戏场景内的视线向量;对像素法线与视线向量进行菲涅尔计算,得到反射信息。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:通过粗糙度信息确定镭射过渡变化结果;基于镭射过渡变化结果与反射信息对第一纹理对象进行采样,得到采样结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对粗糙度信息进行取反计算,得到第一计算结果;基于第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,其中,第一插值系数用于表示从第一原值变化至第一目标值之间的过渡强度;对第一原值、第一目标值以及第一插值系数进行线性插值计算,得到镭射过渡变化结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对镭射过渡变化结果与反射信息进行乘法运算,得到第二计算结果;对第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,其中,第一自定义参数用于确定纹理平铺值;对第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,其中,第二自定义参数用于确定纹理偏移值;基于第四计算结果对第一纹理对象进行采样,得到采样结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:通过第四计算结果确定待使用的纹理坐标;基于待使用的纹理坐标,对第一纹理对象进行采样,得到采样结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:获取初始材质属性对应的环境光遮蔽信息;基于光照信息、环境光遮蔽信息以及第二纹理对象进行镭射遮罩控制,得到遮罩结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对光照信息进行向量归一化运算,得到第五计算结果;对环境光遮蔽信息与第二纹理对象进行乘法运算,得到第六计算结果;对第五计算结果与第六计算结果进行乘法运算,得到遮罩结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:基于虚拟三维模型的初始材质属性确定第二原值,基于采样结果确定第二目标值,以及基于遮罩结果确定第二插值系数,其中,第二插值系数用于表示从第二原值变化至第二目标值之间的过渡强度;对第二原值、第二目标值以及第二插值系数进行线性插值运算,得到目标材质属性。
在该实施例的电子装置中,通过获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及虚拟游戏场景内的光照信息,进而通过粗糙度信息与反射信息对第一纹理对象进行采样,得到采样结果,随后基于光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,最后利用虚拟三维模型的初始材质属性、采样结果和遮罩结果,生成虚拟三维模型的目标材质属性,达到了高效生成目标三维模型的镭射材质效果的目的,从而实现了灵活控制镭射颜色变化、降低计算资源开销的技术效果,进而解决了相关技术中在实现物体的镭射材质效果时对于镭射颜色变化不可控、计算资源开销大的技术问题。
图9是根据本申请实施例的一种电子装置的示意图。如图9所示,电子装置900仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子装置900以通用计算设备的形式表现。电子装置900的组件可以包括但不限于:上述至少一个处理器910、上述至少一个存储器920、连接不同系统组件(包括存储器920和处理器910)的总线930和显示器940。
其中,上述存储器920存储有程序代码,所述程序代码可以被处理器910执行,使得处理器910执行本申请实施例的上述方法部分中描述的根据本申请各种示例性实施方式的步骤。
存储器920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至电子装置900。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器910或者使用多种总线结构中的任意总线结构的局域总线。
显示器940可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置900的用户界面进行交互。
可选地,电子装置900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置900交互的设备通信,和/或与使得该电子装置900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子装置900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器960通过总线930与电子装置900的其它模块通信。应当明白,尽管图9中未示出,可以结合电子装置900使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
上述电子装置900还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置900还可包括比图9中所示更多或者更少的组件,或者具有与图2所示不同的配置。存储器920可用于存储计算机程序及对应的数据,如本申请实施例中的虚拟三维模型的材质属性生成方法对应的计算机程序及对应的数据。处理器910通过运行存储在存储器920内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟三维模型的材质属性生成方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种虚拟三维模型的材质属性生成方法,其特征在于,包括:
获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及所述虚拟游戏场景内的光照信息;
通过所述粗糙度信息与所述反射信息对第一纹理对象进行采样,得到采样结果,其中,所述第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
基于所述光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,所述第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
利用所述虚拟三维模型的初始材质属性、所述采样结果和所述遮罩结果,生成所述虚拟三维模型的目标材质属性,其中,所述目标材质属性用于表现所述虚拟三维模型的镭射材质效果。
2.根据权利要求1所述的虚拟三维模型的材质属性生成方法,其特征在于,获取所述虚拟游戏场景中所述虚拟三维模型的所述反射信息包括:
获取所述虚拟游戏场景中所述虚拟三维模型的像素法线与所述虚拟游戏场景内的视线向量;
对所述像素法线与所述视线向量进行菲涅尔计算,得到所述反射信息。
3.根据权利要求1所述的虚拟三维模型的材质属性生成方法,其特征在于,通过所述粗糙度信息与所述反射信息对所述第一纹理对象进行采样,得到所述采样结果包括:
通过所述粗糙度信息确定镭射过渡变化结果;
基于所述镭射过渡变化结果与所述反射信息对所述第一纹理对象进行采样,得到所述采样结果。
4.根据权利要求3所述的虚拟三维模型的材质属性生成方法,其特征在于,通过所述粗糙度信息确定所述镭射过渡变化结果包括:
对所述粗糙度信息进行取反计算,得到第一计算结果;
基于所述第一计算结果确定第一目标值与第一插值系数,以及基于预设数值确定第一原值,其中,所述第一插值系数用于表示从所述第一原值变化至所述第一目标值之间的过渡强度;
对所述第一原值、所述第一目标值以及所述第一插值系数进行线性插值计算,得到所述镭射过渡变化结果。
5.根据权利要求3所述的虚拟三维模型的材质属性生成方法,其特征在于,基于所述镭射过渡变化结果与所述反射信息对所述第一纹理对象进行采样,得到所述采样结果包括:
对所述镭射过渡变化结果与所述反射信息进行乘法运算,得到第二计算结果;
对所述第二计算结果与第一自定义参数进行乘法运算,得到第三计算结果,其中,所述第一自定义参数用于确定纹理平铺值;
对所述第三计算结果与第二自定义参数进行加法运算,得到第四计算结果,其中,所述第二自定义参数用于确定纹理偏移值;
基于所述第四计算结果对所述第一纹理对象进行采样,得到所述采样结果。
6.根据权利要求5所述的虚拟三维模型的材质属性生成方法,其特征在于,基于所述第四计算结果对所述第一纹理对象进行采样,得到所述采样结果包括:
通过所述第四计算结果确定待使用的纹理坐标;
基于所述待使用的纹理坐标,对所述第一纹理对象进行采样,得到所述采样结果。
7.根据权利要求1所述的虚拟三维模型的材质属性生成方法,其特征在于,基于所述光照信息与所述第二纹理对象进行镭射遮罩控制,得到所述遮罩结果包括:
获取所述初始材质属性对应的环境光遮蔽信息;
基于所述光照信息、所述环境光遮蔽信息以及所述第二纹理对象进行镭射遮罩控制,得到所述遮罩结果。
8.根据权利要求7所述的虚拟三维模型的材质属性生成方法,其特征在于,基于所述光照信息、所述环境光遮蔽信息以及所述第二纹理对象进行镭射遮罩控制,得到所述遮罩结果包括:
对所述光照信息进行向量归一化运算,得到第五计算结果;
对所述环境光遮蔽信息与所述第二纹理对象进行乘法运算,得到第六计算结果;
对所述第五计算结果与所述第六计算结果进行乘法运算,得到所述遮罩结果。
9.根据权利要求1所述的虚拟三维模型的材质属性生成方法,其特征在于,利用所述虚拟三维模型的所述初始材质属性、所述采样结果和所述遮罩结果,生成所述虚拟三维模型的所述目标材质属性包括:
基于所述虚拟三维模型的所述初始材质属性确定第二原值,基于所述采样结果确定第二目标值,以及基于所述遮罩结果确定第二插值系数,其中,所述第二插值系数用于表示从所述第二原值变化至所述第二目标值之间的过渡强度;
对所述第二原值、所述第二目标值以及所述第二插值系数进行线性插值运算,得到所述目标材质属性。
10.一种虚拟三维模型的材质属性生成装置,其特征在于,包括:
获取模块,用于获取虚拟游戏场景中虚拟三维模型的粗糙度信息与反射信息,以及所述虚拟游戏场景内的光照信息;
采样模块,用于通过所述粗糙度信息与所述反射信息对第一纹理对象进行采样,得到采样结果,其中,所述第一纹理对象的纹理内容用于表示自定义镭射颜色变化;
遮罩模块,用于基于所述光照信息与第二纹理对象进行镭射遮罩控制,得到遮罩结果,其中,所述第二纹理对象的纹理内容用于表示自定义镭射遮罩变化;
生成模块,用于利用所述虚拟三维模型的初始材质属性、所述采样结果和所述遮罩结果,生成所述虚拟三维模型的目标材质属性,其中,所述目标材质属性用于表现所述虚拟三维模型的镭射材质效果。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行权利要求1至9任一项中所述的虚拟三维模型的材质属性生成方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的虚拟三维模型的材质属性生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146686.0A CN117252982A (zh) | 2023-09-06 | 2023-09-06 | 虚拟三维模型的材质属性生成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146686.0A CN117252982A (zh) | 2023-09-06 | 2023-09-06 | 虚拟三维模型的材质属性生成方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117252982A true CN117252982A (zh) | 2023-12-19 |
Family
ID=89128604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311146686.0A Pending CN117252982A (zh) | 2023-09-06 | 2023-09-06 | 虚拟三维模型的材质属性生成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117252982A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117437345A (zh) * | 2023-12-22 | 2024-01-23 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎实现渲染纹理镜面反射效果的方法及系统 |
-
2023
- 2023-09-06 CN CN202311146686.0A patent/CN117252982A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117437345A (zh) * | 2023-12-22 | 2024-01-23 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎实现渲染纹理镜面反射效果的方法及系统 |
CN117437345B (zh) * | 2023-12-22 | 2024-03-19 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎实现渲染纹理镜面反射效果的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Illustrative interactive stipple rendering | |
US20070139408A1 (en) | Reflective image objects | |
Jimenez et al. | Real-time realistic skin translucency | |
Bruckner et al. | Hybrid visibility compositing and masking for illustrative rendering | |
CN117252982A (zh) | 虚拟三维模型的材质属性生成方法、装置及存储介质 | |
CN116228943B (zh) | 虚拟对象面部重建方法、面部重建网络训练方法及装置 | |
Hu et al. | Realistic, real‐time rendering of ocean waves | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN116912388A (zh) | 贴图处理方法、装置、计算机可读存储介质和电子装置 | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
CN116468839A (zh) | 模型渲染方法、装置、存储介质及电子装置 | |
CN115131489A (zh) | 云层渲染方法、装置、存储介质及电子装置 | |
CN116137051A (zh) | 水面渲染方法、装置、设备及存储介质 | |
JP4761492B2 (ja) | グラフィックシステムにおける無色光のライティング | |
CN117496035A (zh) | 纹理贴图生成方法、装置、存储介质及电子装置 | |
CN117911600A (zh) | 风格化手绘效果的生成方法和装置、存储介质及电子装置 | |
CN118379415A (zh) | 生成波点形态的方法、装置、存储介质及电子装置 | |
Johnson et al. | A survey of Shading Techniques for Facial Deformations on Sign Language Avatars | |
CN118674853A (zh) | 一种三维模型表面皮肤渲染方法、系统、存储介质及设备 | |
Romanov | ON THE DEVELOPMENT OF SOFTWARE WITH A GRAPHICAL INTERFACE THAT SIMULATES THE ASSEMBLY OF THE CONSTRUCTOR | |
Yutong et al. | Study of water surface scattering model based on Unity3D Shader | |
Karlsson et al. | Rendering Realistic Augmented Objects Using a Image Based Lighting Approach | |
CN115120973A (zh) | 模型渲染方法及装置、非易失性存储介质和终端设备 | |
CN118822837A (zh) | 图像处理方法、装置、存储介质及电子装置 | |
CN117808950A (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 |