CN112870707A - 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 - Google Patents
虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112870707A CN112870707A CN202110297572.0A CN202110297572A CN112870707A CN 112870707 A CN112870707 A CN 112870707A CN 202110297572 A CN202110297572 A CN 202110297572A CN 112870707 A CN112870707 A CN 112870707A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- virtual
- scene
- view
- visual angle
- 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.)
- Granted
Links
Images
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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- 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)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请是关于一种虚拟场景中的虚拟物体展示方法、计算机设备及存储介质,属于虚拟场景技术领域。该方法包括:展示虚拟场景界面,响应于第一视角对应的视野范围内存在第一虚拟物体,基于第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;第一纹理图像是绘制于第一虚拟物体的三维模型表面,用于展示第一虚拟物体内部结构的纹理图像;第一纹理图像对应的视角偏移信息用于指示在对二维展开后,第一纹理图像中各个顶点的坐标信息;基于第一纹理图像对应的视角偏移信息,在虚拟场景界面中展示第一场景画面。通过上述方案,降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
Description
技术领域
本申请实施例涉及虚拟场景技术领域,特别涉及一种虚拟场景中的虚拟物体展示方法、计算机设备及存储介质。
背景技术
如今,在三维空间下的虚拟场景中,存在着部分具有内部结构并且透明或者半透明的虚拟物体,由于其通透的结构,视觉表现较为复杂。
在相关技术中,通过传统的方案根据视线方向对虚拟物体采样立方体贴图,并且结合斯涅尔折射定律,计算内部折射的立方体贴图。
然而,采用上述方案进行获取虚拟物体渲染效果时,立方体贴图一般格式为512*512*6,需要占用较多内存,并且需要进行大量且复杂的计算,从而导致对虚拟物体的折射效果的渲染效率较低。
发明内容
本申请实施例提供了一种虚拟场景中的虚拟物体展示方法、计算机设备及存储介质,可以提高虚拟物体渲染效果展示的效率。该技术方案如下:
一方面,提供了一种虚拟场景中的虚拟物体展示方法,所述方法包括:
展示虚拟场景界面,所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;所述第一纹理图像是绘制于所述第一虚拟物体的三维模型表面,用于展示所述第一虚拟物体内部结构的纹理图像;所述第一纹理图像对应的视角偏移信息用于指示在对所述第一虚拟物体的三维模型进行二维展开后,所述第一纹理图像中各个顶点的坐标信息;
基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体具有目标渲染效果;所述目标渲染效果包括模拟所述第一虚拟物体内部结构的折射效果。
一方面,提供了一种虚拟场景中的虚拟物体展示方法,所述方法包括:
展示虚拟场景界面;所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
响应于所述第一视角对应的视野范围内存在第一虚拟物体,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体,且所述第一虚拟物体具有第一目标渲染效果;所述第一目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在所述第一视角下的折射效果;
响应于所述第一视角发生变化,在所述虚拟场景界面中展示第二场景画面,所述第二场景画面中包含所述第一虚拟物体,且所述第一虚拟物体具有第二目标渲染效果;所述第二目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在变化后的所述第一视角下的折射效果。
又一方面,提供了一种虚拟场景中的虚拟物体展示装置,所述装置包括:
界面展示模块,用于展示虚拟场景界面,所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
信息获取模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;所述第一纹理图像是绘制于所述第一虚拟物体的三维模型表面,用于展示所述第一虚拟物体内部结构的纹理图像;所述第一纹理图像对应的视角偏移信息用于指示在对所述第一虚拟物体的三维模型进行二维展开后,所述第一纹理图像中各个顶点的坐标信息;
画面展示模块,用于基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体具有目标渲染效果;所述目标渲染效果包括模拟所述第一虚拟物体内部结构的折射效果。
在一种可能的实现方式中,所述信息获取模块,包括:
局部视角确定子模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于第一相机坐标,确定局部空间视角方向;所述第一相机坐标是所述第一视角对应的第一虚拟摄像头在世界空间坐标系下的位置坐标;所述局部空间视角方向是所述第一视角在局部空间坐标系下的视角方向;
切线视角转换子模块,用于将所述局部空间视角方向转换为切线空间视角方向;所述切线空间视角方向是所述第一视角在切线空间坐标系下的视角方向;
信息获取子模块,用于基于所述切线空间视角方向,获取所述第一纹理图像对应的所述视角偏移信息。
在一种可能的实现方式中,所述局部视角确定子模块,包括:
坐标获取单元,用于将所述第一相机坐标与模型变换矩阵进行矩阵乘法计算,获得第二相机坐标;所述第二相机坐标是所述第一虚拟摄像头在所述局部空间坐标系下的位置坐标;
局部坐标获取单元,用于将所述第一纹理图像上的第一顶点在所述局部空间坐标系下对应的位置坐标获取为局部顶点坐标;所述第一顶点是所述第一纹理图像中的任意顶点;
局部视角确定单元,用于基于所述局部顶点坐标以及所述第二相机坐标,确定所述局部空间视角方向。
在一种可能的实现方式中,所述切线视角转换子模块,包括:
向量获取单元,用于获取所述第一顶点在所述局部空间坐标系下对应的第一切线向量以及第一法线向量;
副法线获取单元,用于通过所述第一切线向量与所述第一法线向量进行叉乘计算,获得所述第一顶点对应的第一副法线向量;
矩阵确定单元,用于基于所述第一切线向量、所述第一法线向量以及所述第一副法线向量,确定切线空间转换矩阵;
切线视角获取单元,用于基于所述切线空间转换矩阵与所述局部空间视角方向,获得所述切线空间视角方向。
在一种可能的实现方式中,所述第一纹理图像绘制于第一贴图上,且所述第一贴图是自发光贴图;
所述信息获取子模块,包括:
单位化单元,用于对所述切线空间视角方向进行单位化,获得单位切线空间视角方向;
二维坐标获取单元,用于将所述第一虚拟物体的三维模型进行二维展开,获得对应的二维平展坐标;
深度获取单元,用于通过所述二维平展坐标对所述第一贴图进行采样,获得偏移深度;
缩放单元,用于基于所述第一纹理图像中的颜色深浅值对所述偏移深度进行缩放,获得视角偏移深度;
信息确定单元,用于基于所述二维平展坐标、所述视角偏移深度以及所述单位切线空间视角方向,确定所述视角偏移信息。
在一种可能的实现方式中,所述画面展示模块,包括:
纹理偏移获取子模块,用于通过所述视角偏移信息对所述第一贴图进行采样,获得纹理偏移位置信息;所述纹理偏移位置信息用于指示偏移后的所述第一纹理图像在所述第一贴图上对应的位置信息;
第一效果确定子模块,用于基于所述纹理偏移位置信息与所述第一纹理图像对应的颜色值,确定第一渲染效果;所述第一渲染效果用于模拟所述第一虚拟物体内部结构的折射效果;
目标效果获取子模块,用于基于所述第一渲染效果,获取所述目标渲染效果;
画面展示子模块,用于基于所述目标渲染效果,在所述虚拟场景界面中展示所述第一场景画面。
在一种可能的实现方式中,所述装置还包括:
模型获取模块,用于展示虚拟场景界面之前,获取所述第一虚拟物体的三维模型;所述第一虚拟物体的三维模型上添加有所述第一贴图、第二贴图以及第三贴图;所述第二贴图包括法线贴图;所述第三贴图包括将金属度贴图、粗糙度贴图以及AO环境光散射贴图通过RGB通道导出的彩色贴图。
在一种可能的实现方式中,所述装置还包括:
第二效果获取模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息之前,获取第二渲染效果;所述第二渲染效果用于指示所述第一虚拟物体在所述虚拟场景中的光照下获得的反射效果。
在一种可能的实现方式中,所述目标效果获取子模块,包括:
目标生成单元,用于将所述第一渲染效果与第二渲染效果进行叠加,生成所述目标渲染效果。
在一种可能的实现方式中,所述第二效果获取模块,包括:
第一获取子模块,用于基于所述虚拟场景对应的渲染设置,获得反照率以及全局光照结构体;
第二确定子模块,用于通过所述第二贴图,确定对应的法线向量;
第三确定子模块,用于通过所述第三贴图,确定反射率、负反射率以及光滑度;
效果确定子模块,用于基于所述反照率、所述全局光照结构体、所述法线向量、所述反射率、所述负反射率、所述光滑度以及所述第一视角对应的视角方向,确定所述第二渲染效果。
又一方面,提供了一种虚拟场景中的虚拟物体展示装置,所述装置包括:
界面展示模块,用于展示虚拟场景界面;所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
第一画面展示模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体,且所述第一虚拟物体具有第一目标渲染效果;所述第一目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在所述第一视角下的折射效果;
第二画面展示模块,用于响应于所述第一视角发生变化,在所述虚拟场景界面中展示第二场景画面,所述第二场景画面中包含所述第一虚拟物体,且所述第一虚拟物体具有第二目标渲染效果;所述第二目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在变化后的所述第一视角下的折射效果。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的虚拟场景中的虚拟物体展示方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的虚拟场景中的虚拟物体展示方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的虚拟场景中的虚拟物体展示方法。
本申请提供的技术方案可以包括以下有益效果:
在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种虚拟场景界面展示系统的示意图;
图2是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图;
图3是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图;
图4是图3所示实施例涉及的一种水晶模型对应的贴图示意图;
图5是图3所示实施例涉及的一种水晶模拟折射对应的渲染颜色确定流程图;
图6是图3所示实施例涉及的一种不同视角方向下水晶的渲染效果示意图;
图7是图3所示实施例涉及的一种游戏场景中对不同视角方向下水晶的渲染图;
图8是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图;
图9是图8所示实施例涉及的一种虚拟场景中水晶的渲染效果示意图;
图10是图8所示实施例涉及的一种游戏场景中矿洞中水晶的渲染效果示意图;
图11是根据一示例性实施例示出的一种虚拟场景中的虚拟对象展示装置的框图;
图12是根据一示例性实施例示出的一种虚拟场景中的虚拟对象展示装置的框图;
图13是根据一示例性实施例示出的一种计算机设备的结构示意图;
图14是根据一示例性实施例示出的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了方便理解,下面对本公开实施例中涉及的名词进行说明。
1)虚拟场景
虚拟场景是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,可选地,该虚拟场景可用于展示至少一个虚拟对象的移动状态。可选地,该虚拟场景还可用于至少一个虚拟对象在指定时间内完成指定动作。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
2)虚拟对象
虚拟对象是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
图1示出了本申请一个实施例提供的虚拟场景界面展示系统的示意图。该系统可以包括:第一终端110、服务器120和第二终端130。
其中,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。第一终端110以及第二终端130可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
其中,第一终端110以及第二终端130与服务器120之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
第一终端110是第一用户112使用的终端,第一用户112可以使用第一终端110控制位于虚拟环境中的第一虚拟对象进行活动,第一虚拟对象可以称为第一用户112的主控虚拟对象。第一虚拟对象的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷、释放技能中的至少一种。示意性的,第一虚拟对象可以是第一虚拟人物,比如仿真人物或动漫人物,也可以是虚拟物体。或者第一用户112也可以使用第一终端110进行控制操作,比如,点击操作或者滑动操作。
第二终端130是第二用户132使用的终端,第二用户132使用第二终端130控制位于虚拟环境中的第二虚拟对象进行活动,第二虚拟对象可以称为第二用户132的主控虚拟角色。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物或动漫人物,也可以是虚拟物体。或者第二用户132也可以使用第二终端130进行控制操作,比如,点击操作或者滑动操作。
可选地,第一终端110以及第二终端130可以展示同一种类的虚拟场景,虚拟场景是由服务器120进行渲染并且分别发送给第一终端110以及第二终端130进行展示的,其中,第一终端110以及第二终端130展示的虚拟场景中可以是同一虚拟场景或者同一种类对应的不同的虚拟场景。
可选地,第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。
图1中仅示出了两个终端,但在不同实施例中存在多个其它终端可以接入服务器120。第一终端110、第二终端130以及其它终端通过无线网络或有线网络与服务器120相连。
服务器120包括一台服务器、多台服务器组成的服务器集群、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持渲染各个三维虚拟环境,并且将渲染的各个虚拟环境发送给对应终端。可选地,服务器120承担主要计算工作,终端承担展示虚拟画面的工作。
图2是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图。该虚拟场景中的虚拟物体展示方法可以由计算机设备执行。比如,该计算机设备可以是具有图像显示功能的终端。如图2所示,该虚拟场景中的虚拟物体展示方法包括的步骤如下:
步骤201,展示虚拟场景界面,虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面。
在本申请实施例中,计算机设备展示虚拟场景界面,该虚拟场景界面是通过第一视角观察虚拟场景时展示的场景画面。
其中,第一视角可以是通过第一虚拟摄像机拍摄得到的,若该虚拟场景中用户主控的第一虚拟对象时,该第一虚拟摄像机可以位于该第一虚拟对象身边的指定位置,该第一虚拟摄像机也会随着第一虚拟对象的移动而进行移动。
步骤202,响应于第一视角对应的视野范围内存在第一虚拟物体,基于第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;第一纹理图像是绘制于第一虚拟物体的三维模型表面,用于展示第一虚拟物体内部结构的纹理图像;第一纹理图像对应的视角偏移信息用于指示在对第一虚拟物体的三维模型进行二维展开后,第一纹理图像中各个顶点的坐标信息。
在本申请实施例中,当计算机设备检测到第一视角对应的视野范围内存在第一虚拟物体,基于第一视角的视角方向,即第一虚拟摄像机的拍摄方向,获取位于第一虚拟物体表面的第一纹理图像对应的视角偏移信息。
其中,第一虚拟物体可以是透明或者半透明材质的虚拟物体,并且该第一虚拟物品需要展现出内部结构的折射效果。
步骤203,基于第一纹理图像对应的视角偏移信息,在虚拟场景界面中展示第一场景画面,第一场景画面中包含的第一虚拟物体具有目标渲染效果;目标渲染效果包括模拟第一虚拟物体内部结构的折射效果。
在本申请实施例中,计算机设备基于获取到的第一纹理图像对应的视角偏移信息,在虚拟场景界面中对应的第一虚拟物体可以具有目标渲染效果。
其中,目标渲染效果可以包括模拟第一虚拟物体内部结构的折射效果以及第一虚拟物体外部的反射效果。
综上所述,在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果展示的效率。
图3是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图。该虚拟场景中的虚拟物体展示方法可以由计算机设备执行。比如,该计算机设备可以是具有图像展示功能的终端。如图3所示,该虚拟场景中的虚拟物体展示方法包括的步骤如下:
步骤301,展示虚拟场景界面。
在本申请实施例中,终端展示虚拟场景对应的虚拟场景界面。
其中,虚拟场景界面是用于展示以第一视角观察虚拟场景时的场景画面。
在一种可能的实现方式中,计算机设备在展示虚拟场景界面的过程中若需要加载第一虚拟物体,则获取第一虚拟物体的三维模型。
其中,该第一虚拟物体的三维模型上可以添加有第一贴图、第二贴图以及第三贴图;第一贴图可以是自发光贴图,第二贴图包括法线贴图,第三贴图包括将金属度贴图、粗糙度贴图以及AO环境光散射贴图通过RGB通道导出的彩色贴图。
其中,第二贴图对应的法线贴图可以是在原物体的凹凸表面的每个点上均作法线,通过RGB颜色通道来标记法线的方向生成的贴图,第三贴图对应的彩色贴图可以用于指示虚拟物体表面的金属度、粗糙度以及环境光散射确定的虚拟物体表面的光影效果。
在一种可能的实现方式中,第一视角是通过第一虚拟摄像机拍摄的视角。
其中,第一虚拟摄像机当前时刻所处的位置可以由用户控制得到,也可以处于世界坐标系中的固定位置。
步骤302,响应于世界空间坐标系下的第一虚拟摄像头拍摄的画面中包括第一虚拟物体,获取第二渲染效果。
在本申请实施例中,当计算机设备检测到当前时刻第一虚拟摄像头拍摄的画面中包括第一虚拟物体,则PBR(Physically Based Rendering,基于物理的渲染)获取该第一虚拟物体对应的第二渲染效果。
PBR(Physically Based Rendering,基于物理的渲染)是利用真实世界的原理和理论,通过各种数学方法推导或简化或模拟出一系列渲染方程,并依赖计算机硬件和图形API渲染出拟真画面的技术。
其中,第二渲染效果用于指示第一虚拟物体在虚拟场景中的光照下获得的反射效果。在世界空间中的坐标是指各个虚拟对象对应的顶点相对于虚拟场景世界的坐标。
在一种可能的实现方式中,基于虚拟场景对应的渲染设置,获得反照率以及全局光照结构体;通过第二贴图,确定对应的法线向量;通过第三贴图,确定反射率、负反射率以及光滑度;基于反照率、全局光照结构体、法线向量、反射率、负反射率、光滑度以及第一视角对应的视角方向,确定第二渲染效果。
其中,计算机设备可以通过调用双向反射分布函数模型,输出得到第二渲染效果,该第二渲染效果可以包括基于外界光源的第一虚拟物体反射得到的渲染效果。
步骤303,基于第一相机坐标,确定局部空间视角方向。
在本申请实施例中,计算机设备获取到当前时刻对应的第一相机坐标后,通过将世界空间坐标转换为局部空间坐标,确定第一虚拟物体上各个顶点对应的局部空间视角方向。
其中,第一相机坐标是第一视角对应的第一虚拟摄像头在世界空间坐标系下的位置坐标;局部空间视角方向是第一视角在局部空间坐标系下的视角方向。局部空间是指虚拟对象所在的坐标空间。
在一种可能的实现方式中,将第一相机坐标与模型变换矩阵进行矩阵乘法计算,获得第二相机坐标,然后,将第一纹理图像上的第一顶点在局部空间坐标系下对应的位置坐标获取为局部顶点坐标,最后基于局部顶点坐标以及第二相机坐标,确定局部空间视角方向。
其中,第二相机坐标是局部空间坐标系下的第一虚拟摄像头的位置坐标,第一顶点是所述第一纹理图像中的任意顶点。
示例性的,通过与模型变换矩阵进行矩阵乘法计算,可以将世界空间坐标系下的第一虚拟摄像头的位置坐标转换为局部空间坐标系下对应的位置坐标。通过第二相机坐标与局部顶点坐标进行坐标相减,可以得到对应的局部空间下的视角方向向量。
步骤304,将局部空间视角方向转换为切线空间视角方向。
在本申请实施例中,计算机设备将获取到的各个顶点对应的局部空间视角方向转换为切线空间坐标系下的切线空间视角方向。
其中,切线空间视角方向是切线空间坐标系下的第一视角对应的视角方向。
在一种可能的实现方式中,获取第一顶点在局部空间坐标系下对应的第一切线向量以及第一法线向量;通过第一切线向量与第一法线向量进行叉乘计算,获得第一顶点对应的第一副法线向量;基于第一切线向量、第一法线向量以及第一副法线向量,确定切线空间转换矩阵;基于切线空间转换矩阵与局部空间视角方向,获得切线空间视角方向。
比如,若第一切线向量为(a,b,c),第一法线向量为(d,e,f),第一副法线向量(g,h,i),则切线空间转换矩阵可以确定为[(a,b,c),(g,h,i),(d,e,f)]。
通过上述将物体的坐标变换到几个过渡坐标系,可以方便在特定的坐标系统中进行一些操作,或者可以使得运算更加方便和容易。
步骤305,基于切线空间视角方向,获取第一纹理图像对应的视角偏移信息。
在本申请实施例中,计算机设备基于获取到的各个顶点对应的切线空间视角方向,计算确定三维模型上的第一纹理图像对应的视角偏移信息。
其中,第一纹理图像可以绘制于第一贴图上,且第一贴图可以是自发光贴图。视角偏移信息可以用于指示第一纹理图像相对于第一虚拟物体的三维模型二维展开偏移的坐标。
在一种可能的实现方式中,对切线空间视角方向进行单位化,获得单位切线空间视角方向;将第一虚拟物体的三维模型进行二维展开,获得对应的二维平展坐标;通过二维平展坐标对第一贴图进行采样,获得偏移深度;基于第一纹理图像中的颜色深浅值对偏移深度进行缩放,获得视角偏移深度;基于二维平展坐标、视角偏移深度以及单位切线空间视角方向,确定视角偏移信息。
其中,基于视角偏移深度与单位切线空间视角方向的乘积,可以确定第一纹理图像上各个顶点在二维平展坐标上的偏移坐标值,通过将二维平展坐标与偏移坐标值相加,可以确定的偏移后第一纹理图像中各个顶点在二维展开图上的坐标值,该坐标值为第一纹理图像对应的视角偏移信息。
示例性的,计算机设备对获取到的切线空间视角方向进行单位化,可以通过归一化指令进行单位化计算,然后获取各个切线空间视角方向对应的单位切线空间视角方向,然后将第一虚拟物体对应的三维模型进行UV展开,获得三维模型上各个顶点对应的二维平展坐标,通过该三维模型的二维平展坐标对自发光贴图进行采样,获得其上第一纹理图像对应的偏移深度,通过对第一纹理图像中各个顶点的颜色深浅值,可以对偏移深度进行一定的缩放,从而获得该第一纹理图像对应的视角偏移深度,通过二维平展坐标与视角偏移深度以及单位切线空间视角方向的乘积相加,获得视角偏移信息。
步骤306,基于第一纹理图像对应的视角偏移信息,在虚拟场景界面中展示第一场景画面。
在本申请实施例中,计算机设备基于第一纹理图像对应的视角偏移信息,在虚拟场景界面中展示包含具有完整渲染效果的第一虚拟物体的第一场景画面。
其中,第一场景画面中包含的第一虚拟物体具有目标渲染效果;目标渲染效果包括模拟第一虚拟物体内部结构的折射效果。
在一种可能的实现方式中,通过视角偏移信息对第一贴图进行采样,获得纹理偏移位置信息;基于纹理偏移位置信息与第一纹理图像对应的颜色值,确定第一渲染效果;基于第一渲染效果,获取目标渲染效果;基于目标渲染效果,在虚拟场景界面中展示第一场景画面。
其中,纹理偏移位置信息用于指示偏移后的第一纹理图像在第一贴图上对应的位置信息;第一渲染效果用于模拟第一虚拟物体内部结构的折射效果。
在一种可能的实现方式中,目标渲染效果包括第一渲染效果以及第二渲染效果,计算机设备将第一渲染效果与第二渲染效果进行叠加,生成目标渲染效果。
其中,第一虚拟物体上各个顶点对应的目标渲染效果可以是第一渲染效果与第二渲染效果叠加后确定的,着色器基于目标渲染效果对第一虚拟物体上各个顶点的颜色进行设置。
第一纹理图像是绘制于第一虚拟物体表面,用于展示第一虚拟物体内部结构的纹理图像,通过计算第一纹理图像对应的视角偏移信息,由于第一纹理图像可以用于模拟第一虚拟物体内部结构的二维表示,从而可以通过第一纹理图像进行模拟第一虚拟物体内部结构的折射渲染效果,获得第一渲染效果。通过第二贴图以及第三贴图指示的第一虚拟物体表面的凹凸度、金属度、粗糙度、以及环境光散射可以获得第二渲染效果。通过将第一渲染效果以及第二渲染效果进行叠加,生成目标渲染效果。
基于上述方案可以设计一款应用该渲染方式的游戏,其中第一虚拟物体可以是虚拟场景中的水晶。该游戏中的第一虚拟物体展示目标渲染效果的实现步骤可以具有如下内容:
1)构建虚拟场景中的水晶模型
在游戏开发工具中,准备需要添加在水晶对应的三维模型上的贴图。图5是本申请实施例涉及的一种水晶模型对应的贴图示意图,如图4所示,水晶对应的三维模型上可以添加有三种贴图,分别是法线贴图41、彩色贴图42以及自发光贴图43,其中,按照传统的PBR流程可以制作水晶模型对应的法线贴图41,将金属度贴图、粗糙度贴图以及AO环境光散射贴图通过RGB通道可以导出彩色贴图42,设置自发光贴图43,并且在自发光贴图上绘制水晶内部的絮状物纹理,用于后续进行,模拟折射效果的计算。最后,将上述设置完成的水晶应用在虚拟场景中。
2)计算PBR光照对应的水晶渲染颜色
当虚拟场景界面中包含上述进行添加贴图的水晶时,首先计算机设备需要确定水晶在PBR光照下对应的渲染颜色。
在游戏开发工具中对虚拟场景的渲染效果进行设置,设置指定的反照率(Albedo)以及全局光照结构体中的直接光源(gi.light)以及间接光源(gi.indirect)。通过获取虚拟物品的三维模型上添加的粗糙度贴图以及金属度贴图可以得到反射率(Specular)、负反射率(OneMinusReflectivity)以及光滑度(Smoothness)。
通过获取虚拟物品的三维模型上添加的法线贴图可以得到法线向量(Normal)。并且,获取当前时刻观察虚拟场景中的第一虚拟物品的视角方向(ViewDir)。
通过UNITY_BRDF_PBS宏,调用BRDF(Bidirectional Reflectance DistributionFunction,双向反射分布函数)模型,通过输入反照率、全局光照结构体、法线向量、反射率、负反射率、光滑度以及视角方向,确定PBR光照对应的水晶的渲染颜色。
比如,通过如下代码可以确定PBR光照对应的水晶的渲染颜色:
float3finalcolor=UNITY_BRDF_PBS(Albedo,Specular,One MinusReflectivity,Smoothness,Normal,ViewDir,gi.light,gi.indirect);
其中,finalcolor是PBR光照颜色,UNITY_BRDF_PBS是调用BRDF模型的宏指令。
3)计算水晶模拟折射对应的渲染颜色
然后,计算机设备需要确定水晶在模拟折射效果下对应的渲染颜色。
示例性的,图5是本申请实施例涉及的一种水晶模拟折射对应的渲染颜色确定流程图。如图5所示,该水晶模拟折射对应的渲染颜色确定步骤包括:
步骤51,计算机设备基于世界空间坐标系下第一虚拟摄像机对应的位置坐标,计算获取在局部空间坐标系下的第一虚拟摄像头对应的位置坐标,并且将局部空间坐标系下的第一虚拟摄像头对应的位置坐标确定为视角局部空间坐标。
其中,计算机设备在获取到当前处于虚拟场景界面中的水晶对应的世界空间坐标后,通过将该世界空间坐标与模型变换矩阵进行矩阵乘法计算,将该世界空间坐标成功转化为视角局部空间坐标。
示例性的,通过如下代码可以将世界空间坐标系下第一虚拟摄像机对应的位置坐标转换为视角局部空间坐标:
float3camPosLocal=mul(unity_WorldToObject,float4(_WorldSpaceCameraPos,1.0)).xyz;
其中,camPosLocal是视角局部空间坐标,_WorldSpaceCameraPos是世界空间坐标系下第一虚拟摄像机对应的位置坐标,mul为对应的乘法指令,unity_WorldToObject是模型变换矩阵。
步骤52,计算机设备基于获取到的第一虚拟摄像机的视角局部空间坐标,计算获得通过第一虚拟摄像机观察水晶对应的局部空间视角方向。
其中,计算机设备获取局部空间坐标系下水晶对应的位置坐标,然后,将局部空间坐标系下水晶各个顶点对应的位置坐标分别与视角局部空间坐标进行向量减法,确定水晶各个顶点对应的局部空间视角方向。
示例性的,通过如下代码可以确定水晶上的各个顶点对应的局部空间视角方向:
float3 dirToCamLocal=camPosLocal-v.vertex.xyz;
其中,dirToCamLocal是到局部空间视角方向,camPosLocal是视角局部空间坐标,v.vertex.xyz是为水晶上各个顶点对应的顶点局部空间坐标。
步骤53,计算机设备将水晶各个顶点对应的局部空间视角方向转换为各个顶点对应的切线空间视角方向。
其中,通过各个顶点对应的局部空间视角方向可以确定各个顶点对应的局部空间顶点切线以及局部空间顶点法线,通过将局部空间顶点切线以及局部空间顶点法线进行向量叉乘计算,可以得到各个顶点对应的副法线。基于各个顶点对应的局部空间顶点切线、局部空间顶点法线以及局部空间顶点副法线,确定各个顶点对应的切线空间转换矩阵,该切线空间转换矩阵可以将局部空间向量转换为切线空间向量。通过各个顶点对应的切线空间转换矩阵与局部空间视角方向进行相乘,将各个顶点对应的局部空间视角方向转换为各个顶点对应的切线空间视角方向。
示例性的,通过如下代码可以将水晶各个顶点对应的局部空间视角方向转换为各个顶点对应的切线空间视角方向:
float3 binormal=cross(v.tangent,v.normal);
float3x3 tbn=float3x3(v.tangent.xyz,binormal,v.normal.xyz);
float3 camDirTexcoord=mul(tbn,dirToCamLocal);
其中,binormal是各个顶点对应的副法线,v.tangent是各个顶点对应的局部空间顶点切线,v.normal是各个顶点对应的局部空间顶点法线,tbn对应的是切线空间转换矩阵,camDirTexcoord为转换后的各个顶点对应的切线空间视角方向。
步骤54,计算机设备基于计算得到的水晶上各个顶点对应的切线空间视角方向,计算各个顶点对应的视角偏移UV。
UV展开是将具有体积和形状的3D表面平移到平坦2D纹理图像上的过程,UV就是展开的2D纹理图像的坐标。每个顶点都有了一个UV参数值,UV坐标也称为纹理坐标。通过偏移UV坐标,可以实现贴图的移动。
其中,首先,计算机设备对获取到的各个顶点对应的切线空间视角方向进行单位化,得到单位切线空间视角方向,然后用水晶模型对应的二维平展UV对自发光贴图进行采样得到对应的偏移深度,自发光贴图上绘制有絮状物纹理,通过坐标点对应的絮状物纹理的深浅对偏移深度进行缩放,得到各个坐标点对应的最终视角偏移深度,最后,通过水晶模型对应的二维平展UV、单位切线空间视角方向以及最终视角偏移深度计算得到各个顶点对应的视角偏移UV。
示例性的,可以通过如下代码计算各个顶点对应的视角偏移UV:
float3 eyeVec=normalize(camDirTexcoord);
float height=tex2D(_EmissionMap,uvcrystal.xy-).x;
float v=height*_FlocHeightScale;
float2 eyeCoords=uvcrystal.xy+eyeVec.xy*v;
其中,eyeVec是单位切线空间视角方向,height是偏移深度,_EmissionMap是自发光贴图,uvcrystal是水晶模型对应的二维平展UV。_FlocHeightScale是絮状物的深浅值,该絮状物的深浅值越大,该絮状物纹理代表在水晶中的位置越深入。v对应的是最终视角偏移深度。eyeCoords对应的是各个顶点对应的视角偏移UV。
步骤55,计算机设备基于获取到的各个顶点对应的视角偏移UV,对自发光贴图进行采样,获得水晶上各个顶点模拟折射对应的渲染颜色。
其中,计算机设备通过各个顶点对应的视角偏移UV对自发光贴图进行采样,得到偏移后的絮状物纹理,通过将偏移后的絮状物纹理与各个顶点对应的絮状物颜色相乘,得到水晶上各个顶点的纹理模拟折射对应的渲染颜色。
示例性的,可以通过如下代码计算水晶上各个顶点模拟折射对应的渲染颜色:
fixed3 texFloc=tex2D(_EmissionMap,eyeCoords).x;
finalcolor.rgb+=texFloc*_FlocInColor;
其中,tex2D这是用来在一张贴图中对一个点进行采样的方法,texFloc是采样结果,_FlocInColor是絮状物颜色。
比如,通过调整絮状物折射颜色为(107,97,181)和(191,115,136)可以分别得到不同类型的水晶,即蓝水晶以及粉水晶。
通过上述步骤由终端展示的图6是本申请实施例涉及的一种不同视角方向下水晶的渲染效果示意图。如图6所示,随着虚拟场景中的水晶绕着y轴旋转90度由初始渲染效果图61获得90度渲染效果图62,旋转100度后获得100度渲染效果图63,并且旋转120度后获得120度渲染效果图64。其中,随着水晶旋转角度的变化,水晶的内部折射效果随之变化,从而增加了“晶莹剔透”的感觉。
示例性的,图7是本申请实施例涉及的一种游戏场景中对不同视角方向下水晶的渲染图,如图7所示,随着虚拟场景中的水晶模型绕着y轴旋转80度,由初始模型渲染图71,获得80度模型渲染图72,旋转90度后,获得90度模型渲染图73,并且旋转100度后,获得100度模型渲染图74,旋转110度后,获得110度模型渲染图75,并且旋转120度后,获得120度模型渲染图76。其中,水晶模型的渲染图中水晶模型内部的折射效果随着视角角度变化而发生变化。
综上所述,在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
图8是根据一示例性实施例示出的一种虚拟场景中的虚拟物体展示方法的流程图。该虚拟场景中的虚拟物体展示方法可以由计算机设备执行。比如,该计算机设备可以是具有图像显示功能的终端。如图8所示,该虚拟场景中的虚拟物体展示方法包括的步骤如下:
步骤801,展示虚拟场景界面;虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面。
步骤802,响应于第一视角对应的视野范围内存在第一虚拟物体,在虚拟场景界面中展示第一场景画面,第一场景画面中包含的第一虚拟物体,且第一虚拟物体具有第一目标渲染效果;第一目标渲染效果包括自发光效果,以及模拟第一虚拟物体内部结构的在第一视角下的折射效果。
步骤803,响应于第一视角发生变化,在虚拟场景界面中展示第二场景画面,第二场景画面中包含第一虚拟物体,且第一虚拟物体具有第二目标渲染效果;第二目标渲染效果包括自发光效果,以及模拟第一虚拟物体内部结构的在变化后的第一视角下的折射效果。
基于上述图5所示方法实施例提供的方案,可以通过在第一虚拟物体的三维模型表面添加自发光贴图,实现第一目标渲染效果以及第二目标渲染效果具有自发光效果,同时通过在自发光贴图上绘制第一纹理图案,可以模拟出第一虚拟物体内部结构在不同视角下的折射效果。
比如,图9是本申请实施例涉及的一种虚拟场景中水晶的渲染效果示意图。如图9所示,水晶91处于虚拟场景画面90中,并且,该虚拟场景画面90展示的是一个山洞内部,虽然在该山洞内部的水晶无法具有充足的外界光源,但是,由于该水晶对应的三维模型上添加有自发光贴图,并且自发光贴图上绘制有水晶内部的絮状物纹理,所以展示的渲染效果可以具有自发光效果,同时可以模拟出水晶内部絮状物在不同视角下的折射效果。
示例性的,图10是本申请实施例涉及的一种游戏场景中矿洞中水晶的渲染效果示意图。如图10所示,在游戏场景中的矿洞环境下展示具有自发光效果,以及折射渲染效果的水晶渲染效果示意图1000。
综上所述,在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
图11是本申请一个示例性实施例提供的虚拟场景中的虚拟物体展示装置的结构框图,该装置可以设置于图1所示终端中,该装置包括:
界面展示模块1110,用于展示虚拟场景界面,所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
信息获取模块1120,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;所述第一纹理图像是绘制于所述第一虚拟物体的三维模型表面,用于展示所述第一虚拟物体内部结构的纹理图像;所述第一纹理图像对应的视角偏移信息用于指示在对所述第一虚拟物体的三维模型进行二维展开后,所述第一纹理图像中各个顶点的坐标信息;
画面展示模块1130,用于基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体具有目标渲染效果;所述目标渲染效果包括模拟所述第一虚拟物体内部结构的折射效果。
在一种可能的实现方式中,所述信息获取模块1120,包括:
局部视角确定子模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于第一相机坐标,确定局部空间视角方向;所述第一相机坐标是所述第一视角对应的第一虚拟摄像头在世界空间坐标系下的位置坐标;所述局部空间视角方向是所述第一视角在局部空间坐标系下的视角方向;
切线视角转换子模块,用于将所述局部空间视角方向转换为切线空间视角方向;所述切线空间视角方向是所述第一视角在切线空间坐标系下的视角方向;
信息获取子模块,用于基于所述切线空间视角方向,获取所述第一纹理图像对应的所述视角偏移信息。
在一种可能的实现方式中,所述局部视角确定子模块,包括:
坐标获取单元,用于将所述第一相机坐标与模型变换矩阵进行矩阵乘法计算,获得第二相机坐标;所述第二相机坐标是所述第一虚拟摄像头在所述局部空间坐标系下的位置坐标;
局部坐标获取单元,用于将所述第一纹理图像上的第一顶点在所述局部空间坐标系下对应的位置坐标获取为局部顶点坐标;所述第一顶点是所述第一纹理图像中的任意顶点;
局部视角确定单元,用于基于所述局部顶点坐标以及所述第二相机坐标,确定所述局部空间视角方向。
在一种可能的实现方式中,所述切线视角转换子模块,包括:
向量获取单元,用于获取所述第一顶点在所述局部空间坐标系下对应的第一切线向量以及第一法线向量;
副法线获取单元,用于通过所述第一切线向量与所述第一法线向量进行叉乘计算,获得所述第一顶点对应的第一副法线向量;
矩阵确定单元,用于基于所述第一切线向量、所述第一法线向量以及所述第一副法线向量,确定切线空间转换矩阵;
切线视角获取单元,用于基于所述切线空间转换矩阵与所述局部空间视角方向,获得所述切线空间视角方向。
在一种可能的实现方式中,所述第一纹理图像绘制于第一贴图上,且所述第一贴图是自发光贴图;
所述信息获取子模块,包括:
单位化单元,用于对所述切线空间视角方向进行单位化,获得单位切线空间视角方向;
二维坐标获取单元,用于将所述第一虚拟物体的三维模型进行二维展开,获得对应的二维平展坐标;
深度获取单元,用于通过所述二维平展坐标对所述第一贴图进行采样,获得偏移深度;
缩放单元,用于基于所述第一纹理图像中的颜色深浅值对所述偏移深度进行缩放,获得视角偏移深度;
信息确定单元,用于基于所述二维平展坐标、所述视角偏移深度以及所述单位切线空间视角方向,确定所述视角偏移信息。
在一种可能的实现方式中,所述画面展示模块1130,包括:
纹理偏移获取子模块,用于通过所述视角偏移信息对所述第一贴图进行采样,获得纹理偏移位置信息;所述纹理偏移位置信息用于指示偏移后的所述第一纹理图像在所述第一贴图上对应的位置信息;
第一效果确定子模块,用于基于所述纹理偏移位置信息与所述第一纹理图像对应的颜色值,确定第一渲染效果;所述第一渲染效果用于模拟所述第一虚拟物体内部结构的折射效果;
目标效果获取子模块,用于基于所述第一渲染效果,获取所述目标渲染效果;
画面展示子模块,用于基于所述目标渲染效果,在所述虚拟场景界面中展示所述第一场景画面。
在一种可能的实现方式中,所述装置还包括:
模型获取模块,用于展示虚拟场景界面之前,获取所述第一虚拟物体的三维模型;所述第一虚拟物体的三维模型上添加有所述第一贴图、第二贴图以及第三贴图;所述第二贴图包括法线贴图;所述第三贴图包括将金属度贴图、粗糙度贴图以及AO环境光散射贴图通过RGB通道导出的彩色贴图。
在一种可能的实现方式中,所述装置还包括:
第二效果获取模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息之前,获取第二渲染效果;所述第二渲染效果用于指示所述第一虚拟物体在所述虚拟场景中的光照下获得的反射效果。
在一种可能的实现方式中,所述目标效果获取子模块,包括:
目标生成单元,用于将所述第一渲染效果与第二渲染效果进行叠加,生成所述目标渲染效果。
在一种可能的实现方式中,所述第二效果获取模块,包括:
第一获取子模块,用于基于所述虚拟场景对应的渲染设置,获得反照率以及全局光照结构体;
第二确定子模块,用于通过所述第二贴图,确定对应的法线向量;
第三确定子模块,用于通过所述第三贴图,确定反射率、负反射率以及光滑度;
效果确定子模块,用于基于所述反照率、所述全局光照结构体、所述法线向量、所述反射率、所述负反射率、所述光滑度以及所述第一视角对应的视角方向,确定所述第二渲染效果。
综上所述,在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
图12是本申请一个示例性实施例提供的虚拟场景中的虚拟物体展示装置的结构框图,该装置可以设置于图1所示终端中,该装置包括:
界面展示模块1210,用于展示虚拟场景界面;所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
第一画面展示模块1220,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体,且所述第一虚拟物体具有第一目标渲染效果;所述第一目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在所述第一视角下的折射效果;
第二画面展示模块1230,用于响应于所述第一视角发生变化,在所述虚拟场景界面中展示第二场景画面,所述第二场景画面中包含所述第一虚拟物体,且所述第一虚拟物体具有第二目标渲染效果;所述第二目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在变化后的所述第一视角下的折射效果。
综上所述,在本申请实施例所示的方案中,通过获取第一虚拟物体对应的第一视角的视角方向,获取第一虚拟物体模型表面用于展示内部结构的第一纹理图像对应的视角偏移信息,并且基于该视角偏移信息展示包括具有目标渲染效果的第一虚拟物体的第一场景画面。通过上述方案,可以通过将用于展示虚拟物体内部结构的纹理绘制在虚拟物体模型表面,基于获取该第一纹理图像的视角偏移信息,展示模拟第一虚拟物体内部结构的折射效果,避免了通过在三维模型内部设置对应的纹理,基于传统的折射算法确定折射效果,而导致的计算量过大的情况,从而降低了对虚拟物体的折射效果进行渲染的内存和计算资源的消耗,提高了虚拟物体渲染效果的展示效率。
图13是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机设备可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现图2、图3或图8所示的方法的全部或者部分步骤。
图14是根据一示例性实施例示出的计算机设备1400的结构框图。该计算机设备1400可以是图1所示的终端。
通常,计算机设备1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,计算机设备1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置计算机设备1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在计算机设备1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在计算机设备1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位计算机设备1400的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1409用于为计算机设备1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以计算机设备1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测计算机设备1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对计算机设备1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在计算机设备1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在计算机设备1400的侧边框时,可以检测用户对计算机设备1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,由处理器1401根据用户对触摸显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置计算机设备1400的正面、背面或侧面。当计算机设备1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在计算机设备1400的前面板。接近传感器1416用于采集用户与计算机设备1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对计算机设备1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图2、图3或图8任一实施例所示的方法的全部或者部分步骤。例如,非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机设备可读介质中或者作为计算机设备可读介质上的一个或多个指令或代码进行传输。计算机设备可读介质包括计算机设备存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机设备程序的任何介质。存储介质可以是通用或专用计算机设备能够存取的任何可用介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的虚拟场景中的虚拟物体展示方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种虚拟场景中的虚拟物体展示方法,其特征在于,所述方法包括:
展示虚拟场景界面,所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;所述第一纹理图像是绘制于所述第一虚拟物体的三维模型表面,用于展示所述第一虚拟物体内部结构的纹理图像;所述第一纹理图像对应的视角偏移信息用于指示在对所述第一虚拟物体的三维模型进行二维展开后,所述第一纹理图像中各个顶点的坐标信息;
基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体具有目标渲染效果;所述目标渲染效果包括模拟所述第一虚拟物体内部结构的折射效果。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息,包括:
响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于第一相机坐标,确定局部空间视角方向;所述第一相机坐标是所述第一视角对应的第一虚拟摄像头在世界空间坐标系下的位置坐标;所述局部空间视角方向是所述第一视角在局部空间坐标系下的视角方向;
将所述局部空间视角方向转换为切线空间视角方向;所述切线空间视角方向是所述第一视角在切线空间坐标系下的视角方向;
基于所述切线空间视角方向,获取所述第一纹理图像对应的所述视角偏移信息。
3.根据权利要求2所述的方法,其特征在于,所述基于第一相机坐标,确定局部空间视角方向,包括:
将所述第一相机坐标与模型变换矩阵进行矩阵乘法计算,获得第二相机坐标;所述第二相机坐标是所述第一虚拟摄像头在所述局部空间坐标系下的位置坐标;
将所述第一纹理图像上的第一顶点在所述局部空间坐标系下对应的位置坐标获取为局部顶点坐标;所述第一顶点是所述第一纹理图像中的任意顶点;
基于所述局部顶点坐标以及所述第二相机坐标,确定所述局部空间视角方向。
4.根据权利要求3所述的方法,其特征在于,所述将所述局部空间视角方向转换为切线空间视角方向,包括:
获取所述第一顶点在所述局部空间坐标系下对应的第一切线向量以及第一法线向量;
通过所述第一切线向量与所述第一法线向量进行叉乘计算,获得所述第一顶点对应的第一副法线向量;
基于所述第一切线向量、所述第一法线向量以及所述第一副法线向量,确定切线空间转换矩阵;
基于所述切线空间转换矩阵与所述局部空间视角方向,获得所述切线空间视角方向。
5.根据权利要求2所述的方法,其特征在于,所述第一纹理图像绘制于第一贴图上,且所述第一贴图是自发光贴图;
所述基于所述切线空间视角方向,获取所述第一纹理图像对应的所述视角偏移信息,包括:
对所述切线空间视角方向进行单位化,获得单位切线空间视角方向;
将所述第一虚拟物体的三维模型进行二维展开,获得对应的二维平展坐标;
通过所述二维平展坐标对所述第一贴图进行采样,获得偏移深度;
基于所述第一纹理图像中的颜色深浅值对所述偏移深度进行缩放,获得视角偏移深度;
基于所述二维平展坐标、所述视角偏移深度以及所述单位切线空间视角方向,确定所述视角偏移信息。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,包括:
通过所述视角偏移信息对所述第一贴图进行采样,获得纹理偏移位置信息;所述纹理偏移位置信息用于指示偏移后的所述第一纹理图像在所述第一贴图上对应的位置信息;
基于所述纹理偏移位置信息与所述第一纹理图像对应的颜色值,确定第一渲染效果;所述第一渲染效果用于模拟所述第一虚拟物体内部结构的折射效果;
基于所述第一渲染效果,获取所述目标渲染效果;
基于所述目标渲染效果,在所述虚拟场景界面中展示所述第一场景画面。
7.根据权利要求6所述的方法,其特征在于,所述展示虚拟场景界面之前,还包括:
获取所述第一虚拟物体的三维模型;所述第一虚拟物体的三维模型上添加有所述第一贴图、第二贴图以及第三贴图;所述第二贴图包括法线贴图;所述第三贴图包括将金属度贴图、粗糙度贴图以及AO环境光散射贴图通过RGB通道导出的彩色贴图。
8.根据权利要求7所述的方法,其特征在于,所述响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息之前,还包括:
获取第二渲染效果;所述第二渲染效果用于指示所述第一虚拟物体在所述虚拟场景中的光照下获得的反射效果。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第一渲染效果,获取所述目标渲染效果,包括:
将所述第一渲染效果与第二渲染效果进行叠加,生成所述目标渲染效果。
10.根据权利要求8所述的方法,其特征在于,所述获取第二渲染效果,包括:
基于所述虚拟场景对应的渲染设置,获得反照率以及全局光照结构体;
通过所述第二贴图,确定对应的法线向量;
通过所述第三贴图,确定反射率、负反射率以及光滑度;
基于所述反照率、所述全局光照结构体、所述法线向量、所述反射率、所述负反射率、所述光滑度以及所述第一视角对应的视角方向,确定所述第二渲染效果。
11.一种虚拟场景中的虚拟物体展示方法,其特征在于,所述方法包括:
展示虚拟场景界面;所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
响应于所述第一视角对应的视野范围内存在第一虚拟物体,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体,且所述第一虚拟物体具有第一目标渲染效果;所述第一目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在所述第一视角下的折射效果;
响应于所述第一视角发生变化,在所述虚拟场景界面中展示第二场景画面,所述第二场景画面中包含所述第一虚拟物体,且所述第一虚拟物体具有第二目标渲染效果;所述第二目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在变化后的所述第一视角下的折射效果。
12.一种虚拟场景中的虚拟物体展示装置,其特征在于,所述装置包括:
界面展示模块,用于展示虚拟场景界面,所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
信息获取模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,基于所述第一视角的视角方向,获取第一纹理图像对应的视角偏移信息;所述第一纹理图像是绘制于所述第一虚拟物体的三维模型表面,用于展示所述第一虚拟物体内部结构的纹理图像;所述第一纹理图像对应的视角偏移信息用于指示在对所述第一虚拟物体的三维模型进行二维展开后,所述第一纹理图像中各个顶点的坐标信息;
画面展示模块,用于基于所述第一纹理图像对应的视角偏移信息,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体具有目标渲染效果;所述目标渲染效果包括模拟所述第一虚拟物体内部结构的折射效果。
13.一种虚拟场景中的虚拟物体展示装置,其特征在于,所述装置包括:
界面展示模块,用于展示虚拟场景界面;所述虚拟场景界面用于展示以第一视角观察虚拟场景时的场景画面;
第一画面展示模块,用于响应于所述第一视角对应的视野范围内存在第一虚拟物体,在所述虚拟场景界面中展示第一场景画面,所述第一场景画面中包含的所述第一虚拟物体,且所述第一虚拟物体具有第一目标渲染效果;所述第一目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在所述第一视角下的折射效果;
第二画面展示模块,用于响应于所述第一视角发生变化,在所述虚拟场景界面中展示第二场景画面,所述第二场景画面中包含所述第一虚拟物体,且所述第一虚拟物体具有第二目标渲染效果;所述第二目标渲染效果包括自发光效果,以及模拟所述第一虚拟物体内部结构的在变化后的所述第一视角下的折射效果。
14.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至权利要求11中任一项所述的虚拟场景中的虚拟物体展示方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至权利要求11中任一项所述的虚拟场景中的虚拟物体展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110297572.0A CN112870707B (zh) | 2021-03-19 | 2021-03-19 | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110297572.0A CN112870707B (zh) | 2021-03-19 | 2021-03-19 | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112870707A true CN112870707A (zh) | 2021-06-01 |
CN112870707B CN112870707B (zh) | 2022-11-18 |
Family
ID=76041469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110297572.0A Active CN112870707B (zh) | 2021-03-19 | 2021-03-19 | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112870707B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538549A (zh) * | 2021-08-31 | 2021-10-22 | 广州光锥元信息科技有限公司 | 在处理图像时保留图像质感纹理的方法及系统 |
CN113592999A (zh) * | 2021-08-05 | 2021-11-02 | 广州益聚未来网络科技有限公司 | 一种虚拟发光体的渲染方法及相关设备 |
CN113784160A (zh) * | 2021-09-09 | 2021-12-10 | 北京字跳网络技术有限公司 | 视频数据生成方法、装置、电子设备及可读存储介质 |
CN114119849A (zh) * | 2022-01-24 | 2022-03-01 | 阿里巴巴(中国)有限公司 | 三维场景渲染方法、设备以及存储介质 |
CN114937140A (zh) * | 2022-07-25 | 2022-08-23 | 深圳大学 | 面向大规模场景的图像渲染质量预测与路径规划系统 |
CN116030228A (zh) * | 2023-02-22 | 2023-04-28 | 杭州原数科技有限公司 | 一种基于web的mr虚拟画面展示方法及装置 |
CN116772886A (zh) * | 2023-08-17 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 虚拟场景中虚拟角色的导航方法、装置、设备及存储介质 |
CN116778127A (zh) * | 2023-07-05 | 2023-09-19 | 广州视景医疗软件有限公司 | 一种基于全景图的三维数字场景构建方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117410A1 (en) * | 2001-12-21 | 2003-06-26 | Dawson Thomas Patrick | Method and apparatus for providing refractive transparency in selected areas of video displays |
US20180256316A1 (en) * | 2014-01-08 | 2018-09-13 | Spy Eye, Llc | Variable resolution eye mounted displays |
CN112215934A (zh) * | 2020-10-23 | 2021-01-12 | 网易(杭州)网络有限公司 | 游戏模型的渲染方法、装置、存储介质及电子装置 |
CN112263837A (zh) * | 2020-11-16 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 虚拟环境中的天气渲染方法、装置、设备及存储介质 |
CN112381915A (zh) * | 2020-10-27 | 2021-02-19 | 杭州电魂网络科技股份有限公司 | 基于物理原理的环境光反射模拟方法、设备和存储介质 |
-
2021
- 2021-03-19 CN CN202110297572.0A patent/CN112870707B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117410A1 (en) * | 2001-12-21 | 2003-06-26 | Dawson Thomas Patrick | Method and apparatus for providing refractive transparency in selected areas of video displays |
US20180256316A1 (en) * | 2014-01-08 | 2018-09-13 | Spy Eye, Llc | Variable resolution eye mounted displays |
CN112215934A (zh) * | 2020-10-23 | 2021-01-12 | 网易(杭州)网络有限公司 | 游戏模型的渲染方法、装置、存储介质及电子装置 |
CN112381915A (zh) * | 2020-10-27 | 2021-02-19 | 杭州电魂网络科技股份有限公司 | 基于物理原理的环境光反射模拟方法、设备和存储介质 |
CN112263837A (zh) * | 2020-11-16 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 虚拟环境中的天气渲染方法、装置、设备及存储介质 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592999A (zh) * | 2021-08-05 | 2021-11-02 | 广州益聚未来网络科技有限公司 | 一种虚拟发光体的渲染方法及相关设备 |
CN113592999B (zh) * | 2021-08-05 | 2022-10-28 | 广州益聚未来网络科技有限公司 | 一种虚拟发光体的渲染方法及相关设备 |
CN113538549B (zh) * | 2021-08-31 | 2023-12-22 | 广州光锥元信息科技有限公司 | 在处理图像时保留图像质感纹理的方法及系统 |
CN113538549A (zh) * | 2021-08-31 | 2021-10-22 | 广州光锥元信息科技有限公司 | 在处理图像时保留图像质感纹理的方法及系统 |
CN113784160A (zh) * | 2021-09-09 | 2021-12-10 | 北京字跳网络技术有限公司 | 视频数据生成方法、装置、电子设备及可读存储介质 |
CN114119849A (zh) * | 2022-01-24 | 2022-03-01 | 阿里巴巴(中国)有限公司 | 三维场景渲染方法、设备以及存储介质 |
WO2023138471A1 (zh) * | 2022-01-24 | 2023-07-27 | 阿里巴巴(中国)有限公司 | 三维场景渲染方法、设备以及存储介质 |
CN114937140A (zh) * | 2022-07-25 | 2022-08-23 | 深圳大学 | 面向大规模场景的图像渲染质量预测与路径规划系统 |
CN116030228A (zh) * | 2023-02-22 | 2023-04-28 | 杭州原数科技有限公司 | 一种基于web的mr虚拟画面展示方法及装置 |
CN116778127A (zh) * | 2023-07-05 | 2023-09-19 | 广州视景医疗软件有限公司 | 一种基于全景图的三维数字场景构建方法及系统 |
CN116778127B (zh) * | 2023-07-05 | 2024-01-05 | 广州视景医疗软件有限公司 | 一种基于全景图的三维数字场景构建方法及系统 |
CN116772886B (zh) * | 2023-08-17 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 虚拟场景中虚拟角色的导航方法、装置、设备及存储介质 |
CN116772886A (zh) * | 2023-08-17 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 虚拟场景中虚拟角色的导航方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112870707B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112870707B (zh) | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 | |
CN108245893B (zh) | 三维虚拟环境中虚拟对象的姿态确定方法、装置及介质 | |
CN109685876B (zh) | 毛发渲染方法、装置、电子设备及存储介质 | |
CN109712224B (zh) | 虚拟场景的渲染方法、装置及智能设备 | |
KR102595150B1 (ko) | 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 | |
CN111464749B (zh) | 进行图像合成的方法、装置、设备及存储介质 | |
CN110427110B (zh) | 一种直播方法、装置以及直播服务器 | |
CN110992248B (zh) | 唇妆特效的显示方法、装置、设备及存储介质 | |
CN111324250B (zh) | 三维形象的调整方法、装置、设备及可读存储介质 | |
CN110064200B (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
CN112884874B (zh) | 在虚拟模型上贴花的方法、装置、设备及介质 | |
CN112907716B (zh) | 虚拟环境中的云朵渲染方法、装置、设备及存储介质 | |
CN111680758B (zh) | 图像训练样本生成方法和装置 | |
WO2018209710A1 (zh) | 一种图像处理方法及装置 | |
CN112565806B (zh) | 虚拟礼物赠送方法、装置、计算机设备及介质 | |
CN111105474B (zh) | 字体绘制方法、装置、计算机设备及计算机可读存储介质 | |
CN112308103B (zh) | 生成训练样本的方法和装置 | |
CN112884873B (zh) | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 | |
CN112750190A (zh) | 三维热力图生成方法、装置、设备及存储介质 | |
CN111754564B (zh) | 视频展示方法、装置、设备及存储介质 | |
CN112950753A (zh) | 虚拟植物显示方法、装置、设备及存储介质 | |
CN116828207A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN113209610B (zh) | 虚拟场景画面展示方法、装置、计算机设备及存储介质 | |
CN111583375B (zh) | 虚拟画面的显示方法、装置、设备及存储介质 | |
CN111445439B (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: 40047808 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |