CN114972613A - 虚拟角色的瞳孔处理方法、装置、设备及存储介质 - Google Patents

虚拟角色的瞳孔处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114972613A
CN114972613A CN202210457272.9A CN202210457272A CN114972613A CN 114972613 A CN114972613 A CN 114972613A CN 202210457272 A CN202210457272 A CN 202210457272A CN 114972613 A CN114972613 A CN 114972613A
Authority
CN
China
Prior art keywords
ray tracing
pupil
actual position
color
starting point
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
Application number
CN202210457272.9A
Other languages
English (en)
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.)
Guangzhou Shiwei Information Technology Co ltd
Original Assignee
Guangzhou Shiwei 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 Guangzhou Shiwei Information Technology Co ltd filed Critical Guangzhou Shiwei Information Technology Co ltd
Priority to CN202210457272.9A priority Critical patent/CN114972613A/zh
Publication of CN114972613A publication Critical patent/CN114972613A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Landscapes

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

Abstract

本申请涉及一种虚拟角色的瞳孔处理方法、装置、设备及存储介质。该方法包括:创建虚拟角色的眼睛的瞳孔模型;对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。本申请提供的方案,能够更便捷实现虚拟角色的瞳孔虹膜3D化效果。

Description

虚拟角色的瞳孔处理方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种虚拟角色的瞳孔处理方法、装置、设备及存储介质。
背景技术
在游戏的三维动画中,通常包含有虚拟角色。目前,游戏开发中对于虚拟角色图像的生成是玩家关注点之一,而在生成虚拟角色图像中,生成虚拟角色的眼睛图像尤为重要。
相关技术中,对虚拟角色的眼睛中的瞳孔虹膜的绘制方法包括采用平面绘制方式和采用模型计算方式。其中,平面绘制方式大量用于2D虚拟角色,也被多数3D虚拟角色采用;模型计算方式主要用于3D虚拟角色。
对于平面绘制方式,其效果即为绘制效果,可以高效达到绘画者想要的2D平面效果,但是对3D化的透视关系表现程度较弱,缺乏真实感;对于模型计算方式,其效果为通过模型以及着色器渲染代码相关的一系列计算呈现的更趋近于真实的效果,但是对绘画者或偏向2D感的角色来说,效率和效果都不能够满足要求。
因此,相关技术中对虚拟角色的瞳孔处理方法,有待改进。
发明内容
为解决或部分解决相关技术中存在的问题,本申请提供一种虚拟角色的瞳孔处理方法、装置、设备及存储介质,能够更便捷实现虚拟角色的瞳孔虹膜3D化效果。
本申请第一方面提供一种虚拟角色的瞳孔处理方法,包括:
创建虚拟角色的眼睛的瞳孔模型;
对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;
在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
在一实施方式中,所述在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置;
根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
在一实施方式中,所述利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置,包括:
确定光线追踪体积在所述虚拟空间的各轴的极限值;
根据各轴极限值的比较结果,确定光线追踪体积的最大边界范围值和光线追踪体积的最小边界范围值;
根据所述光线追踪体积的最大边界范围值、所述光线追踪体积的最小边界范围值、所述起始点和结束点进行设定运算,得到所述起始点的实际位置和所述结束点的实际位置。
在一实施方式中,所述根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
根据设置的光线追踪迭代次数,计算光线追踪迭代步幅长度;
根据所述起始点的实际位置、所述结束点的实际位置、所述光线追踪迭代次数、所述光线追踪迭代步幅长度,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
在一实施方式中,所述根据所述起始点的实际位置、所述结束点的实际位置、所述光线追踪迭代次数、所述光线追踪迭代步幅长度,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
将所述起始点的实际位置作为着色位置,其中所述着色位置在每次迭代后增加所述光线追踪迭代步幅长度;
在光线追踪计算的每次迭代中,以所述着色位置的T轴方向采样颜色梯度图作为颜色值Gradient;
在所述颜色值Gradient的最大值大于0时,以所述着色位置的RS轴向平面采样形状图作为形状值Shape;
根据所述颜色值Shape和所述形状值Gradient进行设定运算,得到颜色纹样结果Color;
将所有迭代的所述颜色纹样结果Color相加,得到瞳孔虹膜纹样。
在一实施方式中,所述根据所述颜色值Shape和所述形状值Gradient进行设定运算,得到颜色纹样结果Color,包括:
在所述颜色值Gradient和所述形状值Shape分别包括至少两个时;
分别将不同的所述颜色值Gradient和不同的所述形状值Shape对应相乘,得到至少两组相乘数据;
将所述至少两组相乘数据相加,得到颜色纹样结果Color。
本申请第二方面提供一种虚拟角色的瞳孔处理装置,包括:
创建模块,用于创建虚拟角色的眼睛的瞳孔模型;
映射模块,用于对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;
追踪模块,用于在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
在一实施方式中,所述追踪模块包括:
初始设置模块,用于确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
位置处理模块,利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置;
追踪计算模块,用于根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
本申请第三方面提供一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请的技术方案,在创建虚拟角色的眼睛的瞳孔模型后,对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;然后在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。通过利用光线追踪技术对瞳孔模型映射后的虚拟空间进行光线追踪计算来得到瞳孔虹膜纹样,能够更快速和便捷实现虚拟角色的瞳孔虹膜3D化效果。相比于相关技术的平面绘制方式,本申请方案的瞳孔具有更强的3D化的透视关系,真实感也更强;相对于相关技术的模型计算方式,本申请方案的效率更高,效果也更好。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的虚拟角色的瞳孔处理方法的流程示意图;
图2是本申请实施例示出的虚拟角色的瞳孔处理方法的另一流程示意图;
图3是本申请实施例示出的瞳孔处理方法中创建瞳孔模型的示意图;
图4是本申请实施例示出的瞳孔处理方法中采样颜色梯度图的示意图;
图5是本申请实施例示出的瞳孔处理方法中采样形状图的示意图;
图6是本申请实施例示出的瞳孔处理方法中得到的瞳孔虹膜纹样的示意图;
图7是本申请实施例示出的虚拟角色的瞳孔处理装置的结构示意图;
图8是本申请实施例示出的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例提供一种虚拟角色的瞳孔处理方法,能够更便捷实现虚拟角色的瞳孔虹膜3D化效果。
本申请实施例提供的瞳孔处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
以下结合附图详细描述本申请实施例的技术方案。
图1是本申请实施例示出的虚拟角色的瞳孔处理方法的流程示意图。
参见图1,该方法包括:
S101、创建虚拟角色的眼睛的瞳孔模型。
该步骤可以通过相关具有模型资源的软件,创建虚拟角色的眼睛的瞳孔模型,其中可以将瞳孔模型设置为设定大小。
S102、对瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界。
本申请的虚拟空间同样为3D空间,可以记作RST空间。例如,基于RST空间的原点坐标(0,0,0)位置,设定虚拟空间的虚拟边界范围极限值分别记为B0(-1,-1,-1)和B1(1,1,1)。
S103、在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
该步骤S103中可以包括:
1)确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
2)利用光线追踪方向的向量、起始点和结束点进行设定处理,得到起始点的实际位置和结束点的实际位置;
3)根据起始点的实际位置、结束点的实际位置及设置的光线追踪迭代次数,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
其中,利用光线追踪方向的向量、起始点和结束点进行设定处理,得到起始点的实际位置和结束点的实际位置,包括:确定光线追踪体积在虚拟空间的各轴的极限值;根据各轴极限值的比较结果,确定光线追踪体积的最大边界范围值和光线追踪体积的最小边界范围值;根据光线追踪体积的最大边界范围值、光线追踪体积的最小边界范围值、起始点和结束点进行设定运算,得到起始点的实际位置和结束点的实际位置。
其中,根据起始点的实际位置、结束点的实际位置及设置的光线追踪迭代次数,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:根据设置的光线追踪迭代次数,计算光线追踪迭代步幅长度;根据起始点的实际位置、结束点的实际位置、光线追踪迭代次数、光线追踪迭代步幅长度,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
例如,可以将起始点的实际位置作为着色位置,其中着色位置在每次迭代后增加光线追踪迭代步幅长度;在光线追踪计算的每次迭代中,以着色位置的T轴方向采样颜色梯度图作为颜色值Gradient;在颜色值Gradient的最大值大于0时,以着色位置的RS轴向平面采样形状图作为形状值Shape;根据颜色值Shape和形状值Gradient进行设定运算,得到颜色纹样结果Color;将所有迭代的颜色纹样结果Color相加,得到瞳孔虹膜纹样。
需说明的是,在得到瞳孔虹膜纹样也即光线追踪的结果后,可以将瞳孔按照瞳孔虹膜纹样进行渲染以显示虚拟角色的眼睛的瞳孔图像。
从该实施例可以看出,本申请实施例示出的技术方案,在创建虚拟角色的眼睛的瞳孔模型后,对瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;然后在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。通过利用光线追踪技术对瞳孔模型映射后的虚拟空间进行光线追踪计算来得到瞳孔虹膜纹样,能够更快速和便捷实现虚拟角色的瞳孔虹膜3D化效果。相比于相关技术的平面绘制方式,本申请方案的瞳孔具有更强的3D化的透视关系,真实感也更强;相对于相关技术的模型计算方式,本申请方案的效率更高,效果也更好。
图2是本申请实施例示出的虚拟角色的瞳孔处理方法的另一流程示意图。图2相对于图1更详细描述了本申请的方案。本申请实施例的方案可以用于提升3D虚拟角色瞳孔虹膜的2D化美术效果,以及在保留2D绘制效率的同时提升虚拟角色瞳孔虹膜的透视效果。
参见图2,该方法包括:
S201、创建虚拟角色的眼睛的设定大小瞳孔模型。
该步骤可以通过相关具有模型资源的软件,创建虚拟角色的眼睛的瞳孔模型,其中可以将瞳孔模型设置为设定大小,例如设置为设定比例大小。该瞳孔模型可以基于XYZ空间设置。其中,瞳孔模型可参见图3所示。例如,可以使用Unity软件创建瞳孔模型但不局限于此。Unity是面向开发人员的3D/2D游戏引擎和强大的跨平台IDE(IntegratedDevelopment Environment,集成开发环境)。Unity能够提供许多使游戏正常运行的最重要的内置功能。
该步骤创建的瞳孔模型可以是三维模型。三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。在视频游戏产业中使用三维模型可获得更加真实的游戏体验。
S202、对瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界。
在3D空间中,通常以XYZ坐标系代表空间轴向。本申请实施例中,基于XYZ空间的瞳孔模型的背面方向(本申请中例如为-Z方向),进行虚拟空间范围计算。该虚拟空间同样为3D空间,为区别于XYZ空间,本申请将其记作RST空间(包括R轴向、S轴向、T轴向)。
为了方便计算,本申请可以将瞳孔的高度单位距离和宽度单位距离设为1,并且定义瞳孔的深度为1,即RST空间中的宽度向量为(1,0,0),高度向量为(0,1,0),深度向量为(0,0,1)。
然后,基于RST空间的原点坐标(0,0,0)位置,设定虚拟空间的虚拟边界范围极限值分别记为B0(-1,-1,-1)和B1(1,1,1)。
S203、确定光线追踪方向的向量和设置光线追踪的起始点和结束点。
光线追踪技术是利用算法来模拟真实世界中的光线的物理特性,能够做到物理上精确的阴影、反射和折射以及全局光照,在虚拟的游戏场景下,让游戏中的物体更加具有真实感。光线追踪通过在像素平面中以像素点为单位跟踪光的路径并模拟其与虚拟对象相遇的效果来生成图像。光线追踪能够产生高度的视觉真实感,广泛应用于计算机生成的静止图像以及电影和电视视觉效果中。
1)确定光线追踪方向的向量。
本申请设置光线追踪射线方向为视点位置(观察相机位置)C在RST空间的负方向,记作向量D(也可以称为方向向量D)。
其中,视点位置为自定义数据,游戏引擎可以对该自定义数据进行转换和使用,但游戏引擎本身不包含视点位置。通常游戏引擎都会提供一个默认的镜头,这个操作可以理解为游戏引擎提供了一个默认的自定义数据来代表视点位置,该默认位置是可以被调整、替代、弃用。本申请中的视点位置可以理解为“任意被设为视点位置的自定义数据”,而不仅仅是游戏引擎默认的镜头位置。
其中,视点位置C在RST空间的负方向,可以理解为某一个向量,它的向量方向就是观察相机镜头朝向的位置,而这个位置处于一个三维空间坐标之中,这个三维空间坐标系的轴不是XYZ轴而是RST轴。假设该向量被描述为C(r:1,s:1,t:1),则其负方向为-C(r:-1,s:-1,t:-1)即光线追踪方向的向量D=-C。
2)设置光线追踪的起始点和结束点。
本申请可以设定光线追踪计算的起始点P0、结束点P1。P0和P1可以任意设置,该步骤中P0和P1还没有实际值,此时它们都是空值,将在后续步骤填入实际值。
S204、利用光线追踪方向的向量、起始点和结束点进行设定处理,得到起始点的实际位置和结束点的实际位置。
1)确定光线追踪体积在虚拟空间的各轴的极限值。
设定基于RST空间的光线追踪体积的各轴最大值和最小值。其中RST空间的设定空间范围可以称为光线追踪体积。以R轴为例,轴向最大值和最小值可记作Trmax、Trmin。S轴和T轴同理,S轴的轴向最大值和最小值记作Tsmax、Tsmin,T轴的轴向最大值和最小值记作Ttmax、Ttmin。
2)根据各轴极限值的比较结果,确定光线追踪体积的最大边界范围值Tmax和最小边界范围值Tmin。
RST空间中心坐标为(0,0,0),向量D在RST空间会有一个向量值,该值会随着观察相机位置产生变化,而向量D的值并不是一定R/S/T三个轴都大于0,因为观察相机可以随意设定和移动,也就意味着向量D完全有可能出现某一轴或多轴的值为负的情况。
本申请中,对向量D的RST空间3个轴向分别进行是否大于0的判断,并在每次判断时对比边界到观察相机位置的向量模及所占D向量模的百分比。以R轴为例,轴向大于0,则以(B0-C)/D为R轴最小值,记作Trmin;以(B1-C)/D为R轴最大值,记作Trmax。若轴向小于0,则以(B1-C)/D为R轴最小值,记作Trmin;以(B0-C)/D为R轴最大值,记作Trmax。S轴和T轴的轴向最大值和最小值同理可得。
需说明的是,在游戏渲染中,涉及着色的概念。所谓着色就是一层一层的叠加,可以理解为在一张画纸上先画一笔,第二笔如果是叠在第一笔上,则会产生覆盖关系,不管第二笔是否带有透明或者是不透明,从一个空间关系来看它都是在第一笔的上层。因此,根据着色的概念,可以简单理解为之前所设定的边界点B0和B1即为一个空间画纸。如果观察相机的观察方向在RST空间中的正方向,则最底层为其负方向的极限值即B0,而观察方向在负方向时则底层的极限值为B1。其中,B0-C即为负边界到正观察相机位置的向量模。此时正观察相机位置可以理解为,观察相机位置的各向量轴在RST空间中为正。如果观察相机位置的各向量轴的其中一个或多个为负,则负的轴使用B1-C计算。因为观察相机C是自定义数据,所以公式中的C和D都是变量,不会有实际的固定值。一旦C改变,D则会改变,随之对应的其他结果也同样会发生改变。
在得到光线追踪体积的各轴最大值和最小值后,对比各轴最小值即Trmin、Tsmin和Ttmin的值,取其中的最大值作为光线追踪体积的最小边界范围值Tmin。同理对比各轴最大值即Trmax、Tsmax和Ttmax的值,取其中的最小值作为光线追踪体积的最大边界范围值Tmax。
需说明的是,B0到B1是一个RST空间的固定的范围,它不随C和D发生改变,而Tmin和Tmax是会随C和D发生改变。
3)根据光线追踪体积的最大边界范围值Tmax、光线追踪体积的最小边界范围值Tmin、起始点和结束点进行设定运算,得到起始点的实际位置和结束点的实际位置。
其中,起始点P0实际起始位置按以下公式计算得到:C+D*Tmin;
结束点P1实际位置按以下公式计算得到:C+D*Tmax。
也就是说,起始点的实际位置是将向量D与光线追踪体积的最小边界范围值Tmin相乘后与视点位置C相加得到;结束点的实际位置是将向量D与光线追踪体积的最大边界范围值Tmax相乘后与视点位置C相加得到。
S205、根据起始点的实际位置、结束点的实际位置及设置的光线追踪迭代次数,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
1)设定光线追踪的迭代次数SC。
该SC的次数值可自定义,例如为128但不局限于此。
2)基于迭代次数SC,计算光线追踪实际的迭代步幅长度Step。
迭代步幅长度Step的计算公式为:
Step=(P1-P0)/(SC-1)
也就是说,将结束点P1实际位置与起始点P0实际起始位置相减后,再除以迭代次数SC与1的差值,可以得到迭代步幅长度Step。
3)基于起始点的实际位置、结束点的实际位置、迭代次数SC、迭代步幅长度Step,进行光学追踪迭代计算。
31)将起始点的实际位置作为着色位置,其中着色位置在每次迭代后增加光线追踪迭代步幅长度。
本申请可以设置实际着色位置P,将实际着色位置P设定为P0。其中将P设置为P0就意味着下一次的P会叠在当前这次P之上。
然后,基于迭代次数SC和迭代步幅长度Step,进行光学追踪迭代计算。每次迭代后,实际着色位置P都需要加上迭代步幅长度Step。
32)采样颜色梯度图得到颜色值Gradient。
每次迭代计算中,以实际着色位置P的T轴方向采样一张颜色梯度图(参见图4所示)作为颜色值(颜色依据)Gradient。其中Gradient为T轴颜色值,颜色值通常用[0,1]集合表示,0即为最黑,1即为最白。需说明的是,图4所示的颜色梯度图仅供说明用途,可任意替换。
所谓采样,是指将一张2D图或一组3D数据通过UVW映射到一个3D空间中的方法。一般基于UVW空间的坐标值,把对应的2D图或3D数据通过空间矩阵计算,将结果换算到XYZ空间的过程,称作UVW映射。同理,UV映射是指只映射U、V两个轴向,通常用来处理2D图像的映射。
本申请采样使用的UV映射中,其中一轴即为T轴方向,另一轴向则为自定义数据。所谓自定义数据即可以任意设置,但不代表为任意颜色。颜色数据取决于UV映射对应的图中的数据。因为T轴方向与UV映射中的一个轴绑定,所以另一轴向可以为自定义数据。也就是说,假设将这张图的数据的行或者列的数据作为预设,可以依据自定义数据选择哪一行或者哪一列的数据作为T轴颜色值输出。本申请实施例中,使用T轴作为UV映射中的U轴。
本申请实施例中可以采样得到设定数量的颜色值Gradient,例如数量为4,命名以尾缀数字区分,分别记作Gradient1、Gradient2、Gradient3、Gradient4。
33)采样形状图得到形状值Shape。
对颜色值Gradient1、Gradient2、Gradient3、Gradient4分别比较后,取其中的最大值作为颜色总值GradientTotal,其中最大值即颜色梯度图中某一行或列中的颜色最亮的值。若颜色GradientTotal大于0,则以实际着色位置P的RS轴向平面采样一张形状图(参见图5所示)作为形状值(形状依据)Shape。需说明的是,图5所示的形状图仅供说明用途,可任意替换。
其中,采样所使用的UV映射分别对应RS两个轴向。之前步骤所比较得出的颜色总值GradientTotal,是取颜色值Gradient1、Gradient2、Gradient3、Gradient4的最大值得到的结果,即T轴上每一个点的颜色值合集。这个合集虽然取的是最大值,但是不代表Gradient1、Gradient2、Gradient3、Gradient4中在梯度图某个位置一定有值,即可能出现T轴上某个点或者一段值为0的情况;而颜色总值GradientTotal是否为0直接关系到是否在T轴某个位置对形状图进行采样。因为形状图是2D数据图,需要使用UV映射,而UV映射则需要对应的UV两个轴。因此,在当前RST空间中,T轴作为是否对形状图采样的判断,而RS两个轴的数据则在T轴的GradientTotal出现大于0的值的情况下,作为采样形状图所用的UV轴的值。
本申请实施例中可以采样得到设定数量的形状值Shape,例如数量为4,命名以尾缀数字区分,分别记作Shape1、Shape2、Shape3、Shape4。需说明的是,Gradient和Shape的数量可以任意定义,一般可以选择为相等。
34)根据颜色值Shape和形状值Gradient进行设定运算,得到颜色纹样结果Color。
分别取对应数字尾缀的Shape和Gradient结果相乘,例如Shape1*Gradient1。在得到多组数据例如4组数据后再全部相加,则可得到最终输出颜色结果Color。该结果输出后完成一次迭代。
因为Shape实际得出的结果为纹样,而Gradient则是颜色,将Shape和Gradient结果相乘可以理解为对某个纹样Shape涂上了Gradient的颜色,其最终结果是一个带颜色的纹样,而不是单纯的颜色。
35)将所有迭代的颜色纹样结果Color全部相加,得到瞳孔虹膜纹样。
将所有迭代的颜色纹样结果Color全部相加,则可以得到瞳孔虹膜纹样(参见图6所示)。也就是说,可以理解为多个Shape的颜色叠加,叠加后的纹样是一个包含所有Shape纹样特征的新纹样。
需说明的是,在得到瞳孔虹膜纹样也即光线追踪的结果后,可以将瞳孔按照瞳孔虹膜纹样进行渲染以显示虚拟角色的眼睛的瞳孔图像。
从该实施例可以看出,本申请实施例对瞳孔模型进行虚拟空间映射,得到一个虚拟空间记作RST空间。在当前RST空间中,每次迭代计算中以实际着色位置P的T轴方向采样一张颜色梯度图作为颜色值,而RS两个轴的数据则在T轴的GradientTotal出现大于0的值的情况下,以实际着色位置P的RS轴向平面采样一张形状图作为形状值Shape。然后,可以根据颜色值Shape和形状值Gradient进行设定运算,得到颜色纹样结果Color;将所有迭代的颜色纹样结果Color全部相加,得到瞳孔虹膜纹样,从而利用光线追踪技术更快速和便捷实现虚拟角色的瞳孔虹膜3D化效果。
与前述应用功能实现方法实施例相对应,本申请还提供了一种虚拟角色的瞳孔处理装置、计算设备及相应的实施例。
图7是本申请实施例示出的虚拟角色的瞳孔处理装置的结构示意图。
参见图7,本申请实施例提供的一种虚拟角色的瞳孔处理装置70,包括:创建模块71、映射模块72、追踪模块73。
创建模块71,用于创建虚拟角色的眼睛的瞳孔模型。
映射模块72,用于对瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界。
追踪模块73,用于在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
其中,追踪模块73可以包括:初始设置模块731、位置处理模块732、追踪计算模块733。
初始设置模块731,用于确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
位置处理模块732,利用光线追踪方向的向量、起始点和结束点进行设定处理,得到起始点的实际位置和结束点的实际位置;
追踪计算模块733,用于根据起始点的实际位置、结束点的实际位置及设置的光线追踪迭代次数,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
其中,追踪计算模块733可以确定光线追踪体积在虚拟空间的各轴的极限值;根据各轴极限值的比较结果,确定光线追踪体积的最大边界范围值和光线追踪体积的最小边界范围值;根据光线追踪体积的最大边界范围值、光线追踪体积的最小边界范围值、起始点和结束点进行设定运算,得到起始点的实际位置和结束点的实际位置。
其中,追踪计算模块733可以根据设置的光线追踪迭代次数,计算光线追踪迭代步幅长度;根据起始点的实际位置、结束点的实际位置、光线追踪迭代次数、光线追踪迭代步幅长度,对虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
追踪计算模块733可以将起始点的实际位置作为着色位置,其中着色位置在每次迭代后增加光线追踪迭代步幅长度;在光线追踪计算的每次迭代中,以着色位置的T轴方向采样颜色梯度图作为颜色值Gradient;在颜色值Gradient的最大值大于0时,以着色位置的RS轴向平面采样形状图作为形状值Shape;根据颜色值Shape和形状值Gradient进行设定运算,得到颜色纹样结果Color;将所有迭代的颜色纹样结果Color相加,得到瞳孔虹膜纹样。
其中,在颜色值Gradient和形状值Shape分别包括至少两个时;分别将不同的颜色值Gradient和不同的形状值Shape对应相乘,得到至少两组相乘数据;将至少两组相乘数据相加,得到颜色纹样结果Color。
例如,设定数量的颜色值Gradient分别记作Gradient1、Gradient2、Gradient3、Gradient4;设定数量的形状值Shape分别记作Shape1、Shape2、Shape3、Shape4。分别取对应数字尾缀的Shape和Gradient结果相乘,例如Shape1*Gradient1。在得到4组数据后再全部相加,则可得到最终输出颜色纹样结果Color。该结果输出后完成一次迭代。将所有迭代的颜色纹样结果Color全部相加,得到瞳孔虹膜纹样。在得到瞳孔虹膜纹样也即光线追踪的结果后,可以将瞳孔按照瞳孔虹膜纹样进行渲染以显示虚拟角色的眼睛的瞳孔图像。
本申请实施例示出的虚拟角色的瞳孔处理装置,通过利用光线追踪技术对瞳孔模型映射后的虚拟空间进行光线追踪计算来得到瞳孔虹膜纹样,能够更快速和便捷实现虚拟角色的瞳孔虹膜3D化效果。相比于相关技术的平面绘制方式,本申请方案的瞳孔具有更强的3D化的透视关系,真实感也更强;相对于相关技术的模型计算方式,本申请方案的效率和效果也更高。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图8是本申请实施例示出的计算设备的结构示意图。
参见图8,计算设备80包括存储器810和处理器820。
处理器820可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器810可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器820或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器810可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器810可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器810上存储有可执行代码,当可执行代码被处理器820处理时,可以使处理器820执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被计算设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种虚拟角色的瞳孔处理方法,其特征在于,包括:
创建虚拟角色的眼睛的瞳孔模型;
对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;
在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
2.根据权利要求1所述的方法,其特征在于,所述在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置;
根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
3.根据权利要求2所述的方法,其特征在于,所述利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置,包括:
确定光线追踪体积在所述虚拟空间的各轴的极限值;
根据各轴极限值的比较结果,确定光线追踪体积的最大边界范围值和光线追踪体积的最小边界范围值;
根据所述光线追踪体积的最大边界范围值、所述光线追踪体积的最小边界范围值、所述起始点和结束点进行设定运算,得到所述起始点的实际位置和所述结束点的实际位置。
4.根据权利要求2所述的方法,其特征在于,所述根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
根据设置的光线追踪迭代次数,计算光线追踪迭代步幅长度;
根据所述起始点的实际位置、所述结束点的实际位置、所述光线追踪迭代次数、所述光线追踪迭代步幅长度,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
5.根据权利要求4所述的方法,其特征在于,所述根据所述起始点的实际位置、所述结束点的实际位置、所述光线追踪迭代次数、所述光线追踪迭代步幅长度,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样,包括:
将所述起始点的实际位置作为着色位置,其中所述着色位置在每次迭代后增加所述光线追踪迭代步幅长度;
在光线追踪计算的每次迭代中,以所述着色位置的T轴方向采样颜色梯度图作为颜色值Gradient;
在所述颜色值Gradient的最大值大于0时,以所述着色位置的RS轴向平面采样形状图作为形状值Shape;
根据所述颜色值Shape和所述形状值Gradient进行设定运算,得到颜色纹样结果Color;
将所有迭代的所述颜色纹样结果Color相加,得到瞳孔虹膜纹样。
6.根据权利要求5所述的方法,其特征在于,所述根据所述颜色值Shape和所述形状值Gradient进行设定运算,得到颜色纹样结果Color,包括:
在所述颜色值Gradient和所述形状值Shape分别包括至少两个时;
分别将不同的所述颜色值Gradient和不同的所述形状值Shape对应相乘,得到至少两组相乘数据;
将所述至少两组相乘数据相加,得到颜色纹样结果Color。
7.一种虚拟角色的瞳孔处理装置,其特征在于,包括:
创建模块,用于创建虚拟角色的眼睛的瞳孔模型;
映射模块,用于对所述瞳孔模型进行虚拟空间映射,确定映射后瞳孔模型的虚拟空间的边界;
追踪模块,用于在确定光线追踪方向的向量和设置光线追踪的起始点和结束点后,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
8.根据权利要求7所述的装置,其特征在于,所述追踪模块包括:
初始设置模块,用于确定光线追踪方向的向量和设置光线追踪的起始点和结束点;
位置处理模块,利用所述光线追踪方向的向量、所述起始点和结束点进行设定处理,得到所述起始点的实际位置和所述结束点的实际位置;
追踪计算模块,用于根据所述起始点的实际位置、所述结束点的实际位置及设置的光线追踪迭代次数,对所述虚拟空间进行光线追踪计算,得到瞳孔虹膜纹样。
9.一种计算设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于:其上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器执行如权利要求1-6中任一项所述的方法。
CN202210457272.9A 2022-04-28 2022-04-28 虚拟角色的瞳孔处理方法、装置、设备及存储介质 Pending CN114972613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210457272.9A CN114972613A (zh) 2022-04-28 2022-04-28 虚拟角色的瞳孔处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210457272.9A CN114972613A (zh) 2022-04-28 2022-04-28 虚拟角色的瞳孔处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114972613A true CN114972613A (zh) 2022-08-30

Family

ID=82979699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210457272.9A Pending CN114972613A (zh) 2022-04-28 2022-04-28 虚拟角色的瞳孔处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114972613A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170123526A1 (en) * 2015-11-02 2017-05-04 Oculus Vr, Llc Eye tracking using structured light
CN109903374A (zh) * 2019-02-20 2019-06-18 网易(杭州)网络有限公司 虚拟对象的眼球模拟方法、装置及存储介质
CN110934563A (zh) * 2018-09-25 2020-03-31 株式会社拓普康 眼科信息处理装置、眼科装置及眼科信息处理方法
CN111784806A (zh) * 2020-07-03 2020-10-16 珠海金山网络游戏科技有限公司 一种虚拟角色的绘制方法及装置
CN112206517A (zh) * 2020-10-22 2021-01-12 网易(杭州)网络有限公司 一种渲染方法、装置、存储介质及计算机设备
CN113177515A (zh) * 2021-05-20 2021-07-27 罗普特科技集团股份有限公司 一种基于图像的眼动追踪方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170123526A1 (en) * 2015-11-02 2017-05-04 Oculus Vr, Llc Eye tracking using structured light
CN110934563A (zh) * 2018-09-25 2020-03-31 株式会社拓普康 眼科信息处理装置、眼科装置及眼科信息处理方法
CN109903374A (zh) * 2019-02-20 2019-06-18 网易(杭州)网络有限公司 虚拟对象的眼球模拟方法、装置及存储介质
CN111784806A (zh) * 2020-07-03 2020-10-16 珠海金山网络游戏科技有限公司 一种虚拟角色的绘制方法及装置
CN112206517A (zh) * 2020-10-22 2021-01-12 网易(杭州)网络有限公司 一种渲染方法、装置、存储介质及计算机设备
CN113177515A (zh) * 2021-05-20 2021-07-27 罗普特科技集团股份有限公司 一种基于图像的眼动追踪方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张玉轩等: "基于Navarro示意眼模型的视觉真实感绘制", 计算机应用研究, 15 August 2011 (2011-08-15) *

Similar Documents

Publication Publication Date Title
Georgoulis et al. Reflectance and natural illumination from single-material specular objects using deep learning
US20060176302A1 (en) Visible surface determination system & methodology in computer graphics using interval analysis
CN112755535B (zh) 光照渲染方法、装置、存储介质及计算机设备
CN112712582B (zh) 动态全局光照方法、电子设备及计算机可读存储介质
CN111145330B (zh) 人体模型渲染方法、装置、电子设备及存储介质
CN113628317A (zh) 渲染方法、设备以及系统
Wei et al. Object-based illumination estimation with rendering-aware neural networks
WO2023179091A1 (zh) 三维模型渲染方法、装置、设备、存储介质及程序产品
WO2023273133A1 (zh) 一种游戏模型的补光方法及装置、存储介质、计算机设备
US20240062453A1 (en) Generation of tight world space bounding regions
CN113962979A (zh) 一种基于深度图像的布料碰撞仿真增强呈现方法及装置
CN117372607A (zh) 一种三维模型的生成方法、装置及电子设备
CN115082628B (zh) 一种基于隐式光传输函数的动态绘制方法和装置
CN116109803A (zh) 信息构建方法、装置、设备及存储介质
CN114972613A (zh) 虚拟角色的瞳孔处理方法、装置、设备及存储介质
CN114862997A (zh) 图像渲染方法和装置、介质和计算机设备
González et al. based ambient occlusion
CN114842127A (zh) 地形渲染方法及装置、电子设备、介质及产品
US10713836B2 (en) Simulating lenses
Thöner et al. Delta global illumination for mixed reality
CN116977535B (zh) 一种实时光线追踪的方法、装置、存储介质及电子设备
Marek et al. Possibilities for development and use of 3D applications on the android platform
US20240320903A1 (en) Methods and systems for generating enhanced light texture data
WO2024212683A1 (zh) 光线追踪方法、装置、计算机设备、存储介质及计算机程序产品
WO2024183489A1 (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