体素对象生成方法、装置和计算机可读存储介质与流程
未命名
07-29
阅读:104
评论:0
1.本技术涉及互联网技术领域,具体涉及一种体素对象生成方法、装置和计算机可读存储介质。
背景技术:
2.随着互联网技术的快速发展,三维技术的应用越来越广泛,例如,应用在以三维(3d)模型实现的游戏、影视剧等场景。为了提升三维模型的显示效果,需要对三维模型进行视觉特效的设计,例如,将三维模型进行体素化,从而基于体素模型进行视觉特效的设计。在现有的体素对象生成方法中,往往通过沿着目标空间场景的三坐标轴(x,y,z)方向渲染三维模型,并在将三维模型光栅化后,根据三维模型的像素的空间位置,在目标空间场景中写入三维纹理以进行体素化。
3.在对现有技术的研究和实践过程中发现,现有的以三坐标轴方向渲染三维模型并写入三维纹理进行体素化的体素对象生成方法,需要对三维模型进行多次渲染,在三维模型面数较高将会使得渲染资源消耗过高,进而导致体素对象生成效率较低。
技术实现要素:
4.本技术实施例提供一种体素对象生成方法、装置和计算机可读存储介质,可以提升体素对象生成的效率。
5.本技术实施例提供一种体素对象生成方法,包括:
6.对目标对象对应的体素阵列模型进行uv展开,得到所述体素阵列模型的uv信息,所述体素阵列模型由体素模型排列组成,所述目标对象为目标虚拟场景中的三维模型对象;
7.获取所述目标虚拟场景中的主摄像机参数,并根据所述主摄像机参数生成拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数;
8.基于所述正交摄像机拍摄参数将所述目标对象进行渲染处理,得到所述目标对象的目标贴图,所述目标贴图包括所述目标对象的深度信息和色彩信息;
9.基于所述正交摄像机拍摄参数和所述目标对象在所述目标虚拟场景中的位置,将所述体素阵列模型放置在所述目标虚拟场景中;
10.根据所述uv信息以及所述深度信息,确定所述体素阵列模型中各体素模型对应的目标深度信息,并根据所述目标深度信息将多个所述体素模型覆盖至所述目标对象的表面,得到覆盖在所述目标对象的表面上的目标体素模型;
11.基于所述uv信息以及所述色彩信息,确定所述目标体素模型对应的颜色参数,并基于所述颜色参数对所述目标体素模型进行渲染处理,得到所述目标对象对应的目标体素对象。
12.相应的,本技术实施例提供一种体素对象生成装置,包括:
13.展开单元,用于对目标对象对应的体素阵列模型进行uv展开,得到所述体素阵列
模型的uv信息,所述体素阵列模型由体素模型排列组成,所述目标对象为目标虚拟场景中的三维模型对象;
14.获取单元,用于获取所述目标虚拟场景中的主摄像机参数,并根据所述主摄像机参数生成拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数;
15.渲染单元,用于基于所述正交摄像机拍摄参数将所述目标对象进行渲染处理,得到所述目标对象的目标贴图,所述目标贴图包括所述目标对象的深度信息和色彩信息;
16.放置单元,用于基于所述正交摄像机拍摄参数和所述目标对象在所述目标虚拟场景中的位置,将所述体素阵列模型放置在所述目标虚拟场景中;
17.覆盖单元,用于根据所述uv信息以及所述深度信息,确定所述体素阵列模型中各体素模型对应的目标深度信息,并根据所述目标深度信息将多个所述体素模型覆盖至所述目标对象的表面,得到覆盖在所述目标对象的表面上的目标体素模型;
18.确定单元,用于基于所述uv信息以及所述色彩信息,确定所述目标体素模型对应的颜色参数,并基于所述颜色参数对所述目标体素模型进行渲染处理,得到所述目标对象对应的目标体素对象。
19.在一实施例中,所述覆盖单元,包括:
20.匹配关系确定子单元,用于根据所述目标对象和所述体素阵列模型在所述虚拟正交摄像机的拍摄方向上的对应关系,确定所述体素模型和所述目标贴图中像素之间的匹配关系;
21.中心点位置信息获取子单元,用于基于所述uv信息获取每一体素模型的中心点位置信息;
22.深度采样子单元,用于根据所述中心点位置信息以及所述匹配关系在所述深度信息中进行深度采样处理,得到所述体素阵列模型中各体素模型对应的目标深度信息。
23.在一实施例中,所述深度采样子单元,包括:
24.顶点空间位置信息获取模块,用于获取所述体素阵列模型在所述目标虚拟场景中的顶点空间位置信息;
25.空间位置信息确定模块,用于基于所述顶点空间位置信息以及所述中心点位置信息,确定各所述体素模型在所述目标虚拟场景中的体素空间位置信息;
26.目标深度信息确定模块,用于根据所述体素空间位置信息以及所述匹配关系,确定所述体素阵列模型中各体素模型对应的目标深度信息。
27.在一实施例中,所述覆盖单元,包括:
28.第一特效控制参数获取子单元,用于获取所述目标对象对应的第一特效控制参数;
29.参数调节子单元,用于根据所述第一特效控制参数对所述体素模型进行参数调节处理;
30.平移子单元,用于基于所述目标深度信息,将参数调节处理后的体素模型在所述虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在所述目标对象的表面上的目标体素模型。
31.在一实施例中,所述平移子单元,包括:
32.第一深度信息阈值确定模块,用于根据所述目标虚拟场景的场景包围盒尺寸信息
确定第一深度信息阈值;
33.体素筛选模块,用于基于所述第一深度信息阈值以及所述目标深度信息对参数调节处理后的体素模型进行筛选,得到所述目标对象对应的筛选后体素模型;
34.体素平移模块,用于根据所述筛选后体素模型对应的目标深度信息,在所述虚拟正交摄像机的拍摄方向上将所述筛选后体素模型进行平移处理。
35.在一实施例中,所述确定单元,包括:
36.第二深度信息阈值确定子单元,用于根据所述目标虚拟场景的场景包围盒尺寸信息确定所述目标对象对应的第二深度信息阈值;
37.目标像素识别子单元,用于根据所述目标深度信息和所述第二深度信息阈值,在所述目标贴图的像素中识别出所述目标对象对应的目标像素;
38.颜色参数计算子单元,用于基于所述uv信息以及所述目标像素对应的色彩信息,计算所述目标体素模型对应的颜色参数。
39.在一实施例中,所述颜色参数计算子单元,包括:
40.坐标信息获取模块,用于基于所述uv信息,获取各所述目标体素模型对应的uv坐标信息;
41.候选色彩信息搜索模块,用于根据所述uv坐标信息在所述目标像素对应的色彩信息中搜索到与所述目标体素模型匹配的目标色彩信息;
42.颜色参数确定模块,用于基于所述目标色彩信息确定所述目标体素模型对应的颜色参数。
43.在一实施例中,所述正交摄像机拍摄参数包括第一位置信息和拍摄方向向量,所述放置单元,包括:
44.模型旋转子单元,用于基于所述正交摄像机拍摄参数中的拍摄方向向量,对所述体素阵列模型进行模型旋转处理;
45.模型放置子单元,用于基于所述正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在所述目标对象和所述虚拟正交摄像机之间。
46.在一实施例中,所述获取单元,包括:
47.位置信息提取子单元,用于在所述主摄像机参数中提取出所述目标虚拟场景中虚拟主摄像机的位置信息,得到第二位置信息;
48.信息获取子单元,用于获取所述目标对象在所述目标虚拟场景中的对象中心点位置信息以及包围盒尺寸信息;
49.参数确定子单元,用于基于所述第二位置信息、所述对象中心点位置信息以及所述包围盒尺寸信息,确定拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
50.在一实施例中,所述参数确定子单元,包括:
51.方向向量计算模块,用于基于所述第二位置信息和所述对象中心点位置信息,计算拍摄所述目标对象的虚拟正交摄像机在所述目标虚拟场景中的方向向量,得到拍摄方向向量;
52.位置信息计算模块,用于根据所述拍摄方向向量、所述对象中心点位置信息以及所述包围盒尺寸信息,计算所述虚拟正交摄像机在所述目标虚拟场景中的位置,得到第一位置信息;
53.参数设定模块,用于将所述拍摄方向向量和所述第一位置信息作为所述虚拟正交摄像机的正交摄像机拍摄参数。
54.在一实施例中,所述体素对象生成装置,还包括:
55.第二特效控制参数获取单元,用于获取针对所述目标体素对象中各目标体素模型的第二特效控制参数;
56.参数调节处理单元,用于基于所述特效控制参数对所述目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。
57.此外,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种体素对象生成方法中的步骤。
58.此外,本技术实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本技术实施例提供的体素对象生成方法。
59.本技术实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本技术实施例提供的体素对象生成方法中的步骤。
60.本技术实施例通过对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,目标贴图包括目标对象的深度信息和色彩信息;基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。以此,通过在目标虚拟场景中生成目标对象对应的虚拟正交摄像机,从而通过该虚拟正交摄像机对该目标对象进行渲染得到目标对象对应的深度信息以及色彩信息,并将目标对象对应的体素阵列模型放置在目标虚拟场景中,然后,根据深度信息和体素阵列模型对应的uv信息将体素模型覆盖到目标对象表面上的对应位置,并根据色彩信息和uv信息对覆盖在目标对象表面的体素模型进行渲染得到目标对象对应的目标体素对象,以此无需在生成目标对象的体素对象时对目标对象进行多次渲染,实现了在低渲染资源消耗的同时便捷完成对目标对象的体素化显示过程,进而提升了体素对象生成的效率。
附图说明
61.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
62.图1是本技术实施例提供的一种体素对象生成方法实施场景示意图;
63.图2是本技术实施例提供的一种体素对象生成方法的流程示意图;
64.图3是本技术实施例提供的一种体素对象生成方法的uv展开示意图;
65.图4a是本技术实施例提供的一种体素对象生成方法的空间位置示意图;
66.图4b是本技术实施例提供的一种体素对象生成方法的具体流程示意图;
67.图4c是本技术实施例提供的一种体素对象生成方法的另一空间位置示意图;
68.图5a是本技术实施例提供的一种体素对象生成方法的另一具体流程示意图;
69.图5b是本技术实施例提供的一种体素对象生成方法的特效显示示意图;
70.图5c是本技术实施例提供的一种体素对象生成方法的系统结构示意图;
71.图6是本技术实施例提供的一种体素对象生成方法的另一流程示意图;
72.图7是本技术实施例提供的体素对象生成装置的结构示意图;
73.图8是本技术实施例提供的计算机设备的结构示意图。
具体实施方式
74.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
75.本技术实施例提供一种体素对象生成方法、装置和计算机可读存储介质。其中,该体素对象生成装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
76.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
77.请参阅图1,以体素对象生成装置集成在计算机设备中为例,图1为本技术实施例所提供的体素对象生成方法的实施场景示意图,其中,该计算机设备可以为服务器,也可以为终端,该计算机设备可以对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,目标贴图包括目标对象的深度信息和色彩信息;基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色
参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。
78.需要说明的是,本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。图1所示的体素对象生成方法的实施环境场景示意图仅仅是一个示例,本技术实施例描述的体素对象生成方法的实施环境场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定。本领域普通技术人员可知,随着体素对象生成的演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
79.本技术实施例提供的方案具体通过如下实施例进行说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
80.本实施例将从体素对象生成装置的角度进行描述,该体素对象生成装置具体可以集成在计算机设备中,该计算机设备可以是服务器,本技术在此不作限制。
81.请参阅图2,图2是本技术实施例提供的体素对象生成方法的流程示意图。该体素对象生成方法包括:
82.在步骤101中,对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息。
83.其中,该体素阵列模型可以由多个体素模型排列组成的三维模型,该体素模型即为体素,体素是体积元素(volume pixel)的简称,是三维空间分割上的最小单位。该目标对象可以为目标虚拟场景中的三维模型对象,该三维模型对象可以为三维空间中的对象,可以为物体、人物、动物、游戏角色等对象。该目标虚拟场景可以为虚拟的三维空间场景,例如,可以为游戏引擎中的三维场景。该uv信息可以为包括体素阵列模型中各体素模型在二维空间的位置关系的信息,可以包括体素阵列模型中体素模型映射在二维空间中的坐标等信息,在uv信息中,每一体素模型具有对应的uv坐标,uv是uvw的简称(因w坐标不常用,可以简称为uv),可以指纹理贴图坐标跟体素阵列模型的体素模型在三维空间中的xyz坐标相互关联,uv定义了uv贴图中每一点的位置信息,uv展开,又叫uv拆解,可以指把三维模型的一个面平铺在二维的画布上的过程。
84.其中,可以在三维软件内将单个体素3d模型(3d的立方体小方格)阵列化,例如下图为一个50x50的体素阵列的透视图,共有2500个体素。
85.可选的,对目标对象对应的体素阵列模型进行uv展开的方式可以有多种,例如,请参考图3,图3是本技术实施例提供的一种体素对象生成方法的uv展开示意图,该体素阵列模型由多个体素模型排列而成,可以对体素阵列模型进行平面投影处理,得到体素阵列模型的第一uv信息,根据该第一uv信息,获取各体素模型在第一uv信息中对应的顶点坐标,并基于顶点坐标计算各体素模型在第一uv信息中的中心点坐标,根据各体素在第一uv信息中的中心点坐标,得到第二uv信息。
86.其中,该第一uv信息可以包括体素阵列模型中每一体素模型在平面投影中的第一uv坐标,该第一uv坐标可以为每一体素模型在该第一uv信息中区域中的坐标,每一体素模型在第一uv信息中的区域可以由体素模型在第一uv信息中的4个顶点围合成,像素着色器(pixelshader)可根据该第一uv信息读取目标对象对应的贴图,从而使体素模型上显示目标对象对应的图像。第二uv信息包括体素阵列模型中体素模型对应的第二uv坐标,在该第一uv信息中,一个体素模型对应一个第二uv坐标,该第二uv坐标可以为体素模型在该第一
uv信息中的顶点坐标的中心点的坐标。顶点着色器(vertexshader)可根据该第一uv信息计算各体素模型在目标虚拟场景中的中心点坐标。
87.在步骤102中,获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
88.其中,该主摄像机参数可以为目标虚拟场景中虚拟主摄像机的拍摄参数,可以包括虚拟主摄像机在目标虚拟场景中的位置等信息,该虚拟主摄像机可以为目标虚拟场景中的主摄像机(main camera),即游戏窗口摄像机,可以用于拍摄目标虚拟场景中的内容以展示给用户。该虚拟正交摄像机可以为透视摄像机,它的视野窗口可以为一个四锥体,虚拟主摄像机可以根据与拍摄物体的距离远近来改变物体的大小。该虚拟正交摄像机可以为目标虚拟场景中的正交摄像机,正交摄像机的视野窗口可以为一个长方体,它所拍摄到的内容是拍摄物体的投影,不会因为正交摄像机与拍摄物体的距离远近而改变视野。该正交摄像机拍摄参数可以为虚拟正交摄像机的拍摄参数,可以包括虚拟正交摄像机在目标虚拟场景中的位置以及方向等信息。为了可以对目标虚拟场景中的目标对象进行体素化显示,需要在目标虚拟场景中生成可以完全拍摄到目标对象的虚拟正交摄像机,为此,可以根据目标对象以及虚拟主摄像机在目标虚拟场景中的位置,确定需要生成的虚拟正交摄像机在目标虚拟场景中的拍摄参数,从而可以基于正交摄像机拍摄参数创建目标对象对应的虚拟正交摄像机。
89.其中,根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数的方式可以有多种,例如,可以在主摄像机参数中提取出目标虚拟场景中虚拟主摄像机的位置信息,得到第二位置信息,获取目标对象在目标虚拟场景中的对象中心点位置信息以及包围盒尺寸信息,基于第二位置信息、对象中心点位置信息以及包围盒尺寸信息,确定拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
90.其中,该第一位置信息可以为虚拟主摄像机在目标虚拟场景中的位置信息,即虚拟主摄像机的空间位置,该位置信息可以为描述位置的信息,例如,可以为坐标。该对象中心点位置信息可以为目标对象的中心点在目标虚拟场景中的位置信息,可以用于表征目标对象在目标虚拟场景中的位置,该包围盒尺寸信息可以为目标对象的包围盒的尺寸信息,目标对象的包围盒可以采样包围盒算法进行构建,该尺寸信息可以为描述目标对象的包围盒的大小的信息,例如,可以包括目标对象的包围盒的长度、宽度以及高度等。
91.其中,基于第二位置信息、对象中心点位置信息以及包围盒尺寸信息,确定拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数的方式可以有多种,例如,可以基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量,得到拍摄方向向量,根据拍摄方向向量、对象中心点位置信息以及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置,得到第一位置信息,将拍摄方向向量和第一位置信息作为虚拟正交摄像机的正交摄像机拍摄参数。
92.其中,该拍摄方向向量可以为描述虚拟正交摄像机在目标虚拟场景中的拍摄方向的信息,可以为正交摄像机的投射方向。该第一位置信息可以为虚拟正交摄像机在目标虚拟场景中的位置信息。
93.其中,基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量的方式可以有多种,例如,该虚拟正交摄像机的位置
可以与虚拟主摄像机以及目标对象处于同一平面上,譬如,请参考图4a,图4a是本技术实施例提供的一种体素对象生成方法的空间位置示意图,以该目标对象为三维的兔子模型为例,假设虚拟主摄像机在目标虚拟场景中的位置,即第二位置信息为p
cam
,该目标对象的对象中心点位置信息可以表示为p
obj
,则可以得到向量v=p
obj-p
cam
,由于虚拟正交摄像机为正交投影,投影方向的俯仰角为0,因此,可以将该向量v投影到水平平面(z=0)中,再将投影后的向量v进行单位化,得到虚拟正交摄像机在目标虚拟场景中的方向向量,即拍摄方向向量可以表示为
94.v
ortho_
=normalize(v
x
,vy,0)
95.在基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量之后,便可以根据拍摄方向向量、对象中心点位置信息以及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置,得到第一位置信息。其中,根据拍摄方向向量、对象中心点位置信息以及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置的方式可以有多种,例如,为了可以让虚拟正交摄像机完整的拍摄到目标对象,可以根据在目标对象的包围盒尺寸,确定出一个可以完整拍摄到目标对象的位置,比如,可以将虚拟正交摄像机放置在目标对象的前面,避免与目标对象存在交集或者遮挡,为此,请继续参考图4a,可以将虚拟正交摄像机的位置确定在目标对象的包围盒之前。可选的,为了可以对目标对象的多个角度进行完整拍摄,可以获取目标对象的包围盒的最大尺寸,从而可以将虚拟正交摄像机与目标对象之间的距离确定为该最大尺寸。譬如,可以根据包围盒尺寸信息将目标对象对应的包围盒的长宽高构建为向量b=(b
x
,by,bz),则虚拟正交摄像机的位置可以表示为
96.p
ortho_
=p
obj-max(b
x
,by,bz)
·vortho_
97.其中,虚拟正交摄像机的正交投影尺寸为max(b
x
,by,bz),max(b
x
,by,bz)表示取b
x
、by、bz中的最大值,以使得虚拟正交摄像机与目标对象之间的距离为目标对象的包围盒的长度、宽度、高度中数值最大的距离值,从而保证虚拟正交摄像机不与目标对象产生交集,虚拟正交摄像机的拍摄范围可以包围目标对象所在包围盒,进而可以完整拍摄到目标对象。
98.以此,可以将拍摄方向向量和第一位置信息作为虚拟正交摄像机的正交摄像机拍摄参数,从而可以根据该正交摄像机拍摄参数,在目标虚拟场景中生成可以完全拍摄到目标对象的虚拟正交摄像机。
99.可选的,目标对象在目标虚拟场景中的显示方式可以有多种,例如,可以在目标对象的表面叠加体素模型,也可以不在目标虚拟场景终止显示目标对象,只显示目标对象对应的体素模型。若不显示目标对象,则需要在游戏引擎中将目标对象的隐藏选项进行开启,此时目标对象不会被渲染。若需要显示目标对象,则可以关闭该目标对象对应的隐藏选项,从而可以在目标虚拟环境中渲染目标对象。在一实施例中,请参考图4b,图4b是本技术实施例提供的一种体素对象生成方法的具体流程示意图,图中的流程可以通过中央处理器(cpu)执行,可以通过中央处理器判断是否需要显示目标对象,在需要显示目标对象时,可以通过虚拟主摄像机在目标虚拟场景中渲染目标对象,在不需要显示目标对象时,直接获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
100.在步骤103中,基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象
的目标贴图。
101.其中,该目标贴图可以为采样虚拟正交摄像机对目标对象进行渲染得到的贴图,可以包括目标对象的深度信息和色彩信息,该深度信息可以为包含目标对象对应的目标贴图中每一像素的像素深度的信息,该像素深度(pixel depth)可以表示当前所渲染的像素的深度,即该像素与虚拟正交摄像机之间的距离。该色彩信息可以为包含目标贴图中每一像素的色彩值(rgb值)的信息,例如,该目标贴图可以四通道的颜色空间[rgba,代表red(红色)green(绿色)blue(蓝色)和alpha(透明度)的色彩空间]的贴图,其中,在对目标对象进行渲染处理时,可以将目标对象的色彩信息写入颜色通道(rgb通道),深度信息写入深度通道(alpha通道,简称a通道),从而得到目标贴图。
[0102]
可选的,在对目标对象进行渲染处理之前,可以将贴图的深度通道中每一像素位置的初始深度设定为最高位数,例如,可以为无穷大值,在对目标对象进行渲染处理时,可以忽略目标虚拟场景中的其他物体,只对目标对象进行渲染处理,从而对于虚拟正交摄像机拍摄到的目标贴图中,属于非目标对象的区域(即背景),其对应的深度信息可以为无穷大值,而属于目标对象的区域,其对应的深度信息并非无穷大值,可以为小于目标虚拟场景包围盒的长宽高中最大数值的值。以此,可以根据深度信息来判断目标贴图中每一像素是背景还是目标对象等。
[0103]
在步骤104中,基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中。
[0104]
其中,基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中的方式可以有多种,例如,可以以该虚拟正交摄像机的正交摄像机拍摄参数包括第一位置信息和拍摄方向向量为例,可以基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理,基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间。
[0105]
其中,基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理的方式可以有多种,例如,为了便于对目标对象进行体素化显示,可以将体素阵列模型的方向旋转至与虚拟正交摄像机的方向向量相同,以使得虚拟正交摄像机的方向向量与体素阵列模型的平面为垂直关系。
[0106]
在基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理之后,便可以基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间。其中,基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间的方式可以有多种,例如,请参考图4c,图4c是本技术实施例提供的一种体素对象生成方法的另一空间位置示意图,可以将模型旋转处理后的体素阵列模型放置在虚拟正交摄像机所在的位置,即第一位置信息对应的位置,在虚拟正交摄像机的投影视角中,体素阵列模型可以将目标对象进行完全遮挡。
[0107]
可选的,还可以将模型旋转处理后的体素阵列模型放置在虚拟正交摄像机与目标对象之间的位置,并可以记录模型旋转处理后的体素阵列模型与虚拟正交摄像机之间的距离,以进行后续的体素阵列模型的渲染操作。
[0108]
以此,请继续参考图4b,可以将虚拟正交摄像机拍摄参数、目标贴图中深度信息、
色彩信息、体素阵列模型中四个顶点的空间位置、体素模型的大小以及其他特效控制参数等变量作为对体素阵列模型进行渲染的材质参数,从而基于材质参数对体素阵列模型进行渲染并输出渲染画面,实现对目标对象的体素化显示,同时可以对体素形态的目标对象进行控制以实现视觉特效,提升视觉显示效果。其中,该特效控制参数可以为对体素化的目标对象的显示过程进行特效控制的参数,可以包括抖动参数、缩放参数以及自定义外观控制参数等特效参数,该抖动参数可以控制体素模型的抖动属性,该抖动属性可以包括抖动程度、抖动频率等属性,该缩放参数可以控制体素模型的缩放属性,该缩放属性可以包括缩放比例、缩放方向等属性,该自定义外观控制参数可以自定义控制目体素模型的颜色、发光等材质属性。
[0109]
在步骤105中,根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型。
[0110]
其中,该目标深度信息可以为体素模型对应的深度信息,可以为体素阵列模型中体素模型在目标贴图中对应的像素的深度信息,可以表征体素阵列模型中各体素模型到目标对象的表面上对应位置的距离。该目标体素模型可以为覆盖在目标对象表面的体素模型,即可以为构成体素形态的目标对象的体素模型。
[0111]
其中,根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息的方式可以有多种,例如,可以根据目标对象和体素阵列模型在虚拟正交摄像机的拍摄方向上的对应关系,确定体素模型和目标贴图中像素之间的匹配关系,基于uv信息获取每一体素模型的中心点位置信息,根据中心点位置信息以及匹配关系在深度信息中进行深度采样处理,得到体素阵列模型中各体素模型对应的目标深度信息。
[0112]
其中,该拍摄方向可以为虚拟正交摄像机的拍摄方向向量所对应的方向,该匹配关系可以为体素模型与目标贴图中像素之间的映射关系,例如,假设目标对象中存在某一区域a,根据目标对象和体素阵列模型在虚拟正交摄像机的拍摄方向上的对应关系,可以在体素阵列模型中确定出区域a对应的体素模型b,而根据目标贴图与目标对象的对应关系,可以在目标贴图的像素中确定出与区域a对应的像素c,因此,体素模型b与目标贴图中像素c存在匹配关系。该中心点位置信息可以为uv信息中体素模型的中心点的位置信息,例如,请继续参考图3,该中心点位置信息可以为体素模型在第二uv信息中对应的坐标。
[0113]
其中,根据中心点位置信息以及匹配关系在深度信息中进行深度采样处理,得到体素阵列模型中各体素模型对应的目标深度信息的方式可以有多种,例如,可以获取体素阵列模型在目标虚拟场景中的顶点空间位置信息,基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息,根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息。
[0114]
其中,该顶点空间位置信息可以为放置在目标虚拟场景中的体素阵列模型的四个顶点在目标虚拟场景中的位置信息,该四个顶点可以包括体素阵列模型的左上角顶点、右上角顶点、左下角顶点、右下角顶点,该顶点空间位置信息可以为放置在目标虚拟场景中的体素阵列模型的四个顶点在目标虚拟场景中的空间位置坐标,即左上角顶点空间位置坐标、右上角顶点空间位置坐标、左下角顶点空间位置坐标、右下角顶点空间位置坐标。该体素空间位置信息可以为各体素模型在目标虚拟场景中的空间位置信息,例如,可以为体素
模型的中心点在目标虚拟场景中的空间坐标等。
[0115]
其中,基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息的方式可以有多种,比如,可以根据各体素模型的中心点位置信息以及体素阵列模型的顶点空间位置信息,采用线性插值算法计算各体素模型在目标虚拟场景中的体素空间位置信息。例如,假设该中心点位置信息可以为每一体素阵列模型对应的第二uv坐标,该空间位置信息可以为体素模型的中心点在目标虚拟场景中的坐标,即中心点坐标,请参考图5a,图5a是本技术实施例提供的一种体素对象生成方法的另一具体流程示意图,图中的流程可以通过图形处理器(gpu)执行,可以通过cpu端获取到第二uv信息以及体素阵列模型的顶点空间位置信息来插值计算体素模型的中心点坐标。具体的,假设体素阵列模型的顶点空间位置信息为左上角顶点空间位置坐标p
lt
、右上角顶点空间位置坐标p
rt
、左下角顶点空间位置坐标,p
lb
、右下角顶点空间位置坐标p
rb
。从而可以采用线性插值算法计算体素模型的中心点坐标,例如,插值计算过程可以表示为
[0116]
p
temp1
=lerp(p
lt
,p
rt
,uv0.x)
[0117]
p
temp2
=lerp(p
1b
,p
rb
,uv0.x)
[0118]
p
center
=lerp(p
temp1
,p
temp2
,uv0.y)
[0119]
其中,lerp(a,b,alpha)可以表示为线性插值函数,该线性插值函数可以为双线性插值函数,a与b之间为线性插值计算的范围,alpha可以为插值权重,uv0.x可以表示为第二uv信息中在横坐标方向上的插值权重,即每一第二uv坐标在第二uv信息中横坐标的值,uv0.y可以表示第二uv信息中在纵坐标方向上的插值权重,即每一第二uv坐标在第二uv信息中纵坐标的值,p
temp1
可以表示为左上角顶点空间位置坐标与右上角顶点空间位置坐标之间的线性插值结果,p
temp2
可以表示为左下角顶点空间位置坐标与右下角顶点空间位置坐标之间的线性插值结果,p
center
可以表示为每一体素模型的中心点坐标。
[0120]
在基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息之后,便可以根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息。其中,根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息的方式可以有多种,例如,可以根据匹配关系,在目标贴图中搜索出体素阵列模型中各体素模型的体素空间位置信息匹配的像素,并根据该像素在深度通道中的深度信息,得到体素阵列模型中各体素模型对应的目标深度信息。
[0121]
在根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息之后,便可以根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型。其中,根据目标深度信息将多个体素模型覆盖至目标对象的表面的方式可以有多种,例如,请继续参考图5a,可以根据目标深度信息,将体素模型中每一顶点沿着虚拟正交摄像机的拍摄方向进行平移处理,以将体素阵列模型中体素模型覆盖至目标对象的表面。可选的,对每一顶点的平移处理结果可以作为顶点着色器的输出,并可以输出到像素着色器中,以进行后续的体素模型的渲染步骤。
[0122]
可选的,在模型旋转处理后的体素阵列模型放置在虚拟正交摄像机与目标对象之间的位置时,可以记录模型旋转处理后的体素阵列模型在拍摄方向上与虚拟正交摄像机之间的距离,根据该距离对体素模型对应的目标深度信息进行调节,从而可以根据调节后深
度信息,将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型。
[0123]
可选的,根据目标深度信息将多个体素模型覆盖至目标对象的表面的方式还可以有多种,例如,可以获取目标对象对应的第一特效控制参数,根据第一特效控制参数对体素模型进行参数调节处理,基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在目标对象的表面上的目标体素模型。
[0124]
其中,该第一特效控制参数可以为对体素阵列模型进行渲染过程中特效控制的参数,可以包括抖动参数、缩放参数以及自定义外观控制参数等特效参数,该抖动参数可以控制体素模型的抖动属性,该缩放参数可以控制体素模型的缩放属性,该自定义外观控制参数可以自定义控制目体素模型的颜色、发光等材质属性。
[0125]
在一实施例中,该第一特效控制参数可以包括围绕体素模型的中心点进行缩放并抖动,具体的,请继续参考图5a,可以获取体素模型的顶点在目标虚拟场景中的空间位置信息,即顶点坐标p
vert
,以及体素模型在目标虚拟场景中的中心点坐标,从而可以围绕体素模型的中心点坐标对顶点坐标p
vert
进行缩放处理,同时可以使用噪声函数n对体素模型的顶点缩放处理的结果进行随机偏移,根据第一特效控制参数对体素模型进行参数调节处理后,参数调节处理后的体素模型的顶点的坐标可以表示为
[0126]
p’vert
=(p
vert-p
center
)
·svoxel
+v
·n·svoxel
+p
vert
[0127]
其中,p’vert
可以表示参数调节处理后的体素模型的顶点的坐标,p
center
可以表示为体素模型在目标虚拟场景中的中心点坐标,该噪声函数可以有多种,例如,可以使用游戏引擎内部的随机程序化噪声函数,也可以将第一uv信息中的uv坐标随时间进行偏移,从而可以从偏移后的噪声贴图中读出噪声数值。v可以表示抖动参数,可以用来控制体素模型的抖动程度,v为0时表示无抖动。s
voxel
可以表示为体素模型的大小。
[0128]
其中,需要说明的是,在无需对体素模型进行特效设置、只需对目标对象进行体素化显示时,可以不对体素模型进行特效参数调节,具体可以根据实际业务需求进行设定,本技术实施例在此不做限定。
[0129]
在根据第一特效控制参数对体素模型进行参数调节处理之后,便可以基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在目标对象的表面上的目标体素模型。其中,基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理的方式可以有多种,例如,可以根据目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值,基于第一深度信息阈值以及目标深度信息对参数调节处理后的体素模型进行筛选,得到目标对象对应的筛选后体素模型,根据筛选后体素模型对应的目标深度信息,在虚拟正交摄像机的拍摄方向上将筛选后体素模型进行平移处理。
[0130]
其中,该场景包围盒尺寸信息可以为目标虚拟场景的包围盒的尺寸信息,可以包括目标虚拟场景的包围盒的长度、宽度以及高度等尺寸信息。该第一深度信息阈值可以为一个深度信息的临界值,在深度信息大于该临界值时,可以认为该深度信息对应的像素为背景,可以将该深度信息对应的体素模型进行丢弃,在深度信息不大于该临界值时,可以认为该深度信息对应的像素为目标对象,可以将深度信息对应的体素模型进行保留。该筛选后体素模型可以为将类型为背景的体素模型丢弃后的体素模型。
[0131]
其中,根据目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值的方式可以有多种,例如,为了对无需覆盖到目标对象表面上的体素模型(即为背景的像素对应的体素模型)进行渲染,减少体素模型渲染的资源消耗,可以将目标深度信息大于场景包围盒的体素模型进行丢弃,为此,可以在场景包围盒尺寸信息获取目标虚拟场景的包围盒的长度、宽度以及高度,并将目标虚拟场景的包围盒的长度、宽度以及高度进行比较,从而将长度、宽度以及高度中最大的数值确定为第一深度信息阈值。
[0132]
在根据目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值之后,可以基于第一深度信息阈值以及目标深度信息对参数调节处理后的体素模型进行筛选。其中,基于第一深度信息阈值以及目标深度信息对参数调节处理后的体素模型进行筛选的方式可以有多种,例如,可以将目标深度信息与该第一深度信息阈值进行对比,从而可以将目标深度信息大于该第一深度阈值的体素模型进行丢弃,将目标深度信息不大于该第一深度阈值的体素模型进行保留,得到筛选后体素模型。以此,可以避免对无需覆盖到目标对象表面上的体素模型进行渲染,减少体素模型渲染的资源消耗。
[0133]
在基于第一深度信息阈值以及目标深度信息对参数调节处理后的体素模型进行筛选之后,便可以根据筛选后体素模型对应的目标深度信息,在虚拟正交摄像机的拍摄方向上将筛选后体素模型进行平移处理。其中,根据筛选后体素模型对应的目标深度信息,在虚拟正交摄像机的拍摄方向上将筛选后体素模型进行平移处理的方式可以有多种,例如,可以根据筛选后体素模型对应的目标深度信息,确定筛选后体素模型与目标对象的表面中对应的位置的距离,根据筛选后体素模型与目标对象的表面中对应的位置的距离,将筛选后体素模型以虚拟正交摄像机的拍摄方向平移到目标对象的表面。
[0134]
在步骤106中,基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。
[0135]
其中,该颜色参数可以为描述显示在目标体素模型的像素的颜色的信息,该目标体素对象可以为对目标对象进行体素化显示得到的对象,即体素形态的目标对象,可以由体素模型构成。
[0136]
其中,基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数的方式可以有多种,例如,可以根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值,根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素,基于uv信息以及目标像素对应的色彩信息,计算目标体素模型对应的颜色参数。
[0137]
其中,该第二深度信息阈值可以为深度信息的临界值,在深度信息大于该临界值时,可以表明该深度信息对应的像素为虚拟正交摄像机拍摄到的背景区域,在深度信息不大于该临界值时,可以表明该深度信息对应的像素为虚拟正交摄像机拍摄到的目标对象所在区域。可选的,该第二深度信息阈值可以为目标虚拟场景的包围盒尺寸的长度、宽度以及高度中最大的数值。该目标像素可以为目标对象对应的像素。
[0138]
其中,根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值的方式可以有多种,例如,请继续参考图5a,可以为了对无需覆盖到目标对象表面上的体素模型进行渲染,减少体素模型渲染的资源消耗,可以在场景包围盒尺寸信息获取目标虚拟场景的包围盒的长度、宽度以及高度,并将目标虚拟场景的包围盒的长度、宽度以及
高度进行比较,从而将长度、宽度以及高度中最大的数值确定为第二深度信息阈值,从而可以基于该第二深度信息阈值将属于虚拟正交摄像机拍摄的背景区域的像素进行丢弃,降低渲染资源的消耗。
[0139]
在根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值之后,便可以根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素。其中,根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素的方式可以有多种,例如,请继续参考图5a,可以将目标深度信息与该第二深度信息阈值进行对比,从而可以将目标深度信息大于该第二深度阈值的像素进行丢弃,将目标深度信息不大于该第二深度阈值的像素进行保留。以此,可以避免对无需覆盖到目标对象表面上的体素模型进行渲染,减少体素模型渲染的资源消耗。
[0140]
其中,基于uv信息以及目标像素对应的色彩信息,计算目标体素模型对应的颜色参数的方式可以有多种,例如,可以基于uv信息,获取各目标体素模型对应的uv坐标信息,根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息,基于目标色彩信息确定目标体素模型对应的颜色参数。
[0141]
其中,该uv坐标信息可以为包括各目标体素模型在uv信息中对应的坐标的信息,例如,可以为各目标体素模型在第一uv信息中的uv坐标,即第一uv坐标。该目标色彩信息可以为目标体素模型对应的色彩信息。
[0142]
其中,根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息的方式可以有多种,例如,可以在目标贴图的目标像素中查找出与体素模型对应的uv坐标信息在像素空间中距离较近的至少一个候选像素,根据该候选像素的色彩信息计算出目标体素模型对应的目标色彩信息。
[0143]
其中,该候选像素可以为像素空间中与体素模型对应的uv坐标信息距离较近的像素,体素模型对应的候选像素的数量可以根据实际需求进行设定,例如,可以为2个、4个,在计算资源充足时,可以选取更多候选像素,以得到与目标对象的色彩更加接近的目标色彩信息。可选的,为了得到体素模型对应的较为平滑的色彩信息,可以设定每一uv坐标信息可以对应有四个候选像素,从而可以采用双线性插值算法对uv坐标信息对应的四个候选像素进行融合处理,得到每一uv坐标信息对应的目标色彩信息。
[0144]
其中,根据该候选像素的色彩信息计算出目标体素模型对应的目标色彩信息的方式可以有多种,例如,可以对体素模型对应的每一uv坐标信息对应的候选像素的色彩信息进行融合处理,譬如,可以对每一uv坐标信息对应的候选像素的色彩信息进行双线性插值处理,从而得到每一uv坐标信息对应的目标色彩信息,即目标体素模型对应的目标色彩信息。
[0145]
在根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息之后,便可以基于目标色彩信息确定目标体素模型对应的颜色参数。其中,基于目标色彩信息确定目标体素模型对应的颜色参数的方式可以有多种,例如,可以获取每一体素模型对应的外观特效参数,在该外观特效参数中确定出颜色调节参数,基于该颜色调节参数对该目标色彩信息进行颜色调节,得到目标体素模型对应的颜色参数。譬如,假设根据业务需求需要对目标对象体素化过程中的体素模型进行颜色渐变显示,可以根据颜色渐变的变化情况设计体素模型的外观特效参数,例如,可以为颜色值变化函数,可以控制像
素的色彩信息的变化,从而可以根据该颜色值变化函数,对目标色彩信息进行颜色调节,得到目标体素模型对应的颜色参数,从而可以实时的根据颜色参数对体素模型进行渲染,实现体素化过程中的体素模型的颜色渐变显示效果。
[0146]
可选的,在基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象之后,可以通过控制目标体素模型的形态和外观来实现目标对象对应的目标体素对象的各种不同的视觉特效,例如,可以获取针对目标体素对象中各目标体素模型的第二特效控制参数,基于特效控制参数对目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。
[0147]
其中,该第二特效控制参数可以为对目标体素对象中体素模型进行特效控制的参数,可以包括抖动参数、缩放参数以及自定义外观控制参数等特效参数,基于该第二特效控制参数,可以控制目标体素对象中体素模型的缩放、顶点偏移,从而可以实现目标体素对象在目标虚拟场景中溶解消失、干扰、抖动、闪现等视觉效果,此外,特效实现过程中不需要对目标对象的材质进行任何修改。
[0148]
在一实施例中,可以采用本技术实施例提供的体素对象生成方法实现目标对象在抖动中渐渐显示的视觉效果,例如,请参考图5b,图5b是本技术实施例提供的一种体素对象生成方法的特效显示示意图,以该目标对象为兔子外形的三维模型为例,其中,在特效控制过程的第一阶段中,可以在游戏引擎中对目标对象的隐藏选项进行开启,从而可以在目标虚拟场景中隐藏目标对象,接着采用本技术实施例提供的体素对象生成方法将体素阵列模型中的体素模型平移至目标对象表面,并逐渐增大体素模型的体积以及抖动程度,从而使得目标虚拟场景中逐渐显示出一个抖动的体素形态的目标对象。在第二阶段中,可以在游戏引擎中对目标对象的隐藏选项进行关闭,从而可以在目标虚拟场景中显示目标对象,此时,抖动的体素阵列模型可以完全覆盖住目标对象,目标对象的突然出现将不会被虚拟摄像机所见。在第三阶段中,可以将覆盖在目标对象表面的体素模型的体积以及抖动程度进行逐渐减小,随着体素模型的缩小,体素模型将不再遮挡目标对象,目标对象逐渐显露,以此,一个完整的目标对象渐渐显示的特效过程便完成了。需要说明的是,具体的特效控制参数可以根据实际业务需求进行设计,本技术在此不做限定。以此,通过本技术实施例提供的体素对象生成方法,可以预先制作一个目标对象对应的体素阵列模型,并将体素阵列模型投射到目标对象表面,从而以较低消耗生成目标对象对应的目标体素对象,从而可以通过调节体素阵列模型中的体素模型的大小、形变、材质等参数,对目标体素对象进行特效控制,从而实现目标对象的多种不同视觉效果,提高了视觉显示效果。
[0149]
在一实施例中,本技术实施例提高的体素对象生成方法可以集成在游戏引擎的资源复合体中,实现一种基于游戏引擎实时渲染的视觉特效方案,例如,请参考图5c,图5c是本技术实施例提供的一种体素对象生成方法的系统结构示意图,该资源复合体可以由体素阵列模型、着色程序、控制程序组成,系统的组成,从而可以在游戏引擎的虚拟场景中生成该资源复合体,并选择需要进行体素化的目标对象,从而可以基于该资源复合体以及游戏引擎渲染模块将体素阵列模型中体素模型覆盖至目标对象的表面,实现目标对象的体素化,同时,可以根据业务需求设定特效、外观等控制参数,从而可以通过控制参数调节体素模型的形态和外观,实现各种不同的视觉效果。
[0150]
由以上可知,本技术实施例通过对目标对象对应的体素阵列模型进行uv展开,得
到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,目标贴图包括目标对象的深度信息和色彩信息;基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。以此,通过在目标虚拟场景中生成目标对象对应的虚拟正交摄像机,从而通过该虚拟正交摄像机对该目标对象进行渲染得到目标对象对应的深度信息以及色彩信息,并将目标对象对应的体素阵列模型放置在目标虚拟场景中,然后,根据深度信息和体素阵列模型对应的uv信息将体素模型覆盖到目标对象表面上的对应位置,并根据色彩信息和uv信息对覆盖在目标对象表面的体素模型进行渲染得到目标对象对应的目标体素对象,以此无需在生成目标对象的体素对象时对目标对象进行多次渲染,实现了在低渲染资源消耗的同时便捷完成对目标对象的体素化显示过程,进而提升了体素对象生成的效率。
[0151]
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
[0152]
在本实施例中,将以该体素对象生成装置具体集成在计算机设备为例进行说明。其中,该体素对象生成方法以服务器为执行主体,以该目标虚拟场景为游戏引擎中的三维场景为例进行具体的描述。
[0153]
为了更好的描述本技术实施例,请参阅图6,图6为本技术实施例提供的体素对象生成方法的另一流程示意图。具体流程如下:
[0154]
在步骤201中,服务器对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
[0155]
可选的,服务器对目标对象对应的体素阵列模型进行uv展开的方式可以有多种,例如,请参考图3,该体素阵列模型由多个体素模型排列而成,服务器可以对体素阵列模型进行平面投影处理,得到体素阵列模型的第一uv信息,根据该第一uv信息,获取各体素模型在第一uv信息中对应的顶点坐标,并基于顶点坐标计算各体素模型在第一uv信息中的中心点坐标,根据各体素在第一uv信息中的中心点坐标,得到第二uv信息。
[0156]
其中,服务器根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数的方式可以有多种,例如,服务器可以在主摄像机参数中提取出目标虚拟场景中虚拟主摄像机的位置信息,得到第二位置信息,获取目标对象在目标虚拟场景中的对象中心点位置信息以及包围盒尺寸信息,基于第二位置信息、对象中心点位置信息以及包围盒尺寸信息,确定拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
[0157]
其中,服务器基于第二位置信息、对象中心点位置信息以及包围盒尺寸信息,确定拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数的方式可以有多种,例如,服务器可以基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量,得到拍摄方向向量,根据拍摄方向向量、对象中心点位置信息以
及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置,得到第一位置信息,将拍摄方向向量和第一位置信息作为虚拟正交摄像机的正交摄像机拍摄参数。
[0158]
其中,服务器基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量的方式可以有多种,例如,该虚拟正交摄像机的位置可以与虚拟主摄像机以及目标对象处于同一平面上,譬如,请参考图4a,以该目标对象为三维的兔子模型为例,假设虚拟主摄像机在目标虚拟场景中的位置,即第二位置信息为p
cam
,该目标对象的对象中心点位置信息可以表示为p
obj
,则可以得到向量v=p
obj-p
cam
,由于虚拟正交摄像机为正交投影,投影方向的俯仰角为0,因此,服务器可以将该向量v投影到水平平面(z=0)中,再将投影后的向量v进行单位化,得到虚拟正交摄像机在目标虚拟场景中的方向向量,即拍摄方向向量可以表示为
[0159]vortho_
=normalize(v
x
,vy,0)
[0160]
服务器在基于第二位置信息和对象中心点位置信息,计算拍摄目标对象的虚拟正交摄像机在目标虚拟场景中的方向向量之后,便可以根据拍摄方向向量、对象中心点位置信息以及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置,得到第一位置信息。其中,服务器根据拍摄方向向量、对象中心点位置信息以及包围盒尺寸信息,计算虚拟正交摄像机在目标虚拟场景中的位置的方式可以有多种,例如,为了可以让虚拟正交摄像机完整的拍摄到目标对象,服务器可以根据在目标对象的包围盒尺寸,确定出一个可以完整拍摄到目标对象的位置,比如,可以将虚拟正交摄像机放置在目标对象的前面,避免与目标对象存在交集或者遮挡,为此,请继续参考图4a,可以将虚拟正交摄像机的位置确定在目标对象的包围盒之前。可选的,为了可以对目标对象的多个角度进行完整拍摄,可以获取目标对象的包围盒的最大尺寸,从而可以将虚拟正交摄像机与目标对象之间的距离确定为该最大尺寸。譬如,可以根据包围盒尺寸信息将目标对象对应的包围盒的长宽高构建为向量b=(b
x
,by,bz),则虚拟正交摄像机的位置可以表示为
[0161]
p
ortho_
=p
obj-max(b
x
,by,bz)
·vortho_
[0162]
其中,虚拟正交摄像机的正交投影尺寸为max(b
x
,by,bz),max(b
x
,by,bz)表示取b
x
、by、bz中的最大值,以使得虚拟正交摄像机与目标对象之间的距离为目标对象的包围盒的长度、宽度、高度中数值最大的距离值,从而保证虚拟正交摄像机不与目标对象产生交集,虚拟正交摄像机的拍摄范围可以包围目标对象所在包围盒,进而可以完整拍摄到目标对象。
[0163]
以此,服务器可以将拍摄方向向量和第一位置信息作为虚拟正交摄像机的正交摄像机拍摄参数,从而可以根据该正交摄像机拍摄参数,在目标虚拟场景中生成可以完全拍摄到目标对象的虚拟正交摄像机。
[0164]
在步骤202中,服务器基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理,基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间。
[0165]
其中,该目标贴图可以包括目标对象的深度信息和色彩信息,该目标贴图可以四通道的rgba贴图,其中,在对目标对象进行渲染处理时,服务器可以将目标对象的色彩信息写入颜色通道(rgb通道),深度信息写入深度通道(a通道),从而得到目标贴图。
[0166]
其中,服务器基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行
模型旋转处理的方式可以有多种,例如,为了便于对目标对象进行体素化显示,服务器可以将体素阵列模型的方向旋转至与虚拟正交摄像机的方向向量相同,以使得虚拟正交摄像机的方向向量与体素阵列模型的平面为垂直关系。
[0167]
服务器在基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理之后,便可以基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间。其中,服务器基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间的方式可以有多种,例如,请参考图4c,可以将模型旋转处理后的体素阵列模型放置在虚拟正交摄像机所在的位置,即第一位置信息对应的位置,在虚拟正交摄像机的投影视角中,体素阵列模型可以将目标对象进行完全遮挡。
[0168]
在步骤203中,服务器根据目标对象和体素阵列模型在虚拟正交摄像机的拍摄方向上的对应关系,确定体素模型和目标贴图中像素之间的匹配关系,基于uv信息获取每一体素模型的中心点位置信息。
[0169]
其中,该匹配关系可以为体素模型与目标贴图中像素之间的映射关系,例如,假设目标对象中存在某一区域a,根据目标对象和体素阵列模型在虚拟正交摄像机的拍摄方向上的对应关系,服务器可以在体素阵列模型中确定出区域a对应的体素模型b,而根据目标贴图与目标对象的对应关系,可以在目标贴图的像素中确定出与区域a对应的像素c,因此,体素模型b与目标贴图中像素c存在匹配关系。该中心点位置信息可以为uv信息中体素模型的中心点的位置信息,例如,请继续参考图3,该中心点位置信息可以为体素模型在第二uv信息中对应的坐标,即第二uv坐标。
[0170]
在步骤204中,服务器获取体素阵列模型在目标虚拟场景中的顶点空间位置信息,基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息,根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息。
[0171]
其中,服务器基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息的方式可以有多种,比如,服务器可以根据各体素模型的中心点位置信息以及体素阵列模型的顶点空间位置信息,采用线性插值算法计算各体素模型在目标虚拟场景中的体素空间位置信息。例如,假设该中心点位置信息可以为每一体素阵列模型对应的第二uv坐标,该空间位置信息可以为体素模型的中心点在目标虚拟场景中的坐标,即中心点坐标,请参考图5a,图5a是本技术实施例提供的一种体素对象生成方法的另一具体流程示意图,图中的流程可以通过图形处理器(gpu)执行,可以通过cpu端获取到第二uv信息以及体素阵列模型的顶点空间位置信息来插值计算体素模型的中心点坐标。具体的,假设体素阵列模型的顶点空间位置信息为左上角顶点空间位置坐标p
lt
、右上角顶点空间位置坐标p
rt
、左下角顶点空间位置坐标,p
lb
、右下角顶点空间位置坐标p
rb
。从而可以采用线性插值算法计算体素模型的中心点坐标,例如,插值计算过程可以表示为
[0172]
p
temp1
=lerp(p
lt
,p
rt
,uv0.x)
[0173]
p
temp2
=lerp(p
lb
,p
rb
,uv0.x)
[0174]
p
center
=lerp(p
temp1
,p
temp2
,uv0.y)
[0175]
其中,lerp(a,b,alpha)可以表示为线性插值函数,该线性插值函数可以为双线性
插值函数,a与b之间为线性插值计算的范围,alpha可以为插值权重,uv0.x可以表示为第二uv信息中在横坐标方向上的插值权重,即每一第二uv坐标在第二uv信息中横坐标的值,uv0.y可以表示第二uv信息中在纵坐标方向上的插值权重,即每一第二uv坐标在第二uv信息中纵坐标的值,p
temp1
可以表示为左上角顶点空间位置坐标与右上角顶点空间位置坐标之间的线性插值结果,p
temp2
可以表示为左下角顶点空间位置坐标与右下角顶点空间位置坐标之间的线性插值结果,p
center
可以表示为每一体素模型的中心点坐标。
[0176]
服务器在基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息之后,便可以根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息。其中,服务器根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息的方式可以有多种,例如,服务器可以根据匹配关系,在目标贴图中搜索出体素阵列模型中各体素模型的体素空间位置信息匹配的像素,并根据该像素在深度通道中的深度信息,得到体素阵列模型中各体素模型对应的目标深度信息。
[0177]
在步骤205中,服务器获取目标对象对应的第一特效控制参数,根据第一特效控制参数对体素模型进行参数调节处理,基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在目标对象的表面上的目标体素模型。
[0178]
在一实施例中,该第一特效控制参数可以包括围绕体素模型的中心点进行缩放并抖动,具体的,请继续参考图5a,服务器可以获取体素模型的顶点在目标虚拟场景中的空间位置信息,即顶点坐标p
vert
,以及体素模型在目标虚拟场景中的中心点坐标,从而可以围绕体素模型的中心点坐标对顶点坐标p
vert
进行缩放处理,同时可以使用噪声函数n对体素模型的顶点缩放处理的结果进行随机偏移,根据第一特效控制参数对体素模型进行参数调节处理后,参数调节处理后的体素模型的顶点的坐标可以表示为
[0179]
p’vert
=(p
vert-p
center
)
·svoxel
+v
·n·svoxel
+p
vert
[0180]
其中,p’vert
可以表示参数调节处理后的体素模型的顶点的坐标,p
center
可以表示为体素模型在目标虚拟场景中的中心点坐标,该噪声函数可以有多种,例如,可以使用游戏引擎内部的随机程序化噪声函数,也可以将第一uv信息中的uv坐标随时间进行偏移,从而可以从偏移后的噪声贴图中读出噪声数值。v可以表示抖动参数,可以用来控制体素模型的抖动程度,v为0时表示无抖动。s
voxel
可以表示为体素模型的大小。
[0181]
其中,需要说明的是,在无需对体素模型进行特效设置、只需对目标对象进行体素化显示时,服务器可以不对体素模型进行特效参数调节,具体可以根据实际业务需求进行设定,本技术实施例在此不做限定。
[0182]
服务器在根据第一特效控制参数对体素模型进行参数调节处理之后,便可以基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在目标对象的表面上的目标体素模型。其中,服务器基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理的方式可以有多种,例如,服务器可以根据目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值,基于第一深度信息阈值以及目标深度信息对参数调节处理后的体素模型进行筛选,得到目标对象对应的筛选后体素模型,根据筛选后体素模型对应的目标深度信息,在虚拟正交摄像
机的拍摄方向上将筛选后体素模型进行平移处理。
[0183]
在步骤206中,服务器根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值,根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素。
[0184]
其中,服务器根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值的方式可以有多种,例如,请继续参考图5a,可以为了对无需覆盖到目标对象表面上的体素模型进行渲染,减少体素模型渲染的资源消耗,服务器可以在场景包围盒尺寸信息获取目标虚拟场景的包围盒的长度、宽度以及高度,并将目标虚拟场景的包围盒的长度、宽度以及高度进行比较,从而将长度、宽度以及高度中最大的数值确定为第二深度信息阈值,从而可以基于该第二深度信息阈值将属于虚拟正交摄像机拍摄的背景区域的像素进行丢弃,降低渲染资源的消耗。
[0185]
服务器在根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值之后,便可以根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素。其中,服务器根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素的方式可以有多种,例如,请继续参考图5a,服务器可以将目标深度信息与该第二深度信息阈值进行对比,从而可以将目标深度信息大于该第二深度阈值的像素进行丢弃,将目标深度信息不大于该第二深度阈值的像素进行保留。以此,可以避免对无需覆盖到目标对象表面上的体素模型进行渲染,减少体素模型渲染的资源消耗。
[0186]
在步骤207中,服务器基于uv信息以及目标像素对应的色彩信息,计算目标体素模型对应的颜色参数,基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。
[0187]
其中,服务器基于uv信息以及目标像素对应的色彩信息,计算目标体素模型对应的颜色参数的方式可以有多种,例如,服务器可以基于uv信息,获取各目标体素模型对应的uv坐标信息,根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息,基于目标色彩信息确定目标体素模型对应的颜色参数。
[0188]
其中,服务器根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息的方式可以有多种,例如,服务器可以在目标贴图的目标像素中查找出与体素模型对应的uv坐标信息在像素空间中距离较近的至少一个候选像素,根据该候选像素的色彩信息计算出目标体素模型对应的目标色彩信息。
[0189]
其中,服务器根据该候选像素的色彩信息计算出目标体素模型对应的目标色彩信息的方式可以有多种,例如,服务器可以对体素模型对应的每一uv坐标信息对应的候选像素的色彩信息进行融合处理,譬如,服务器可以对每一uv坐标信息对应的候选像素的色彩信息进行双线性插值处理,从而得到每一uv坐标信息对应的目标色彩信息,即目标体素模型对应的目标色彩信息。
[0190]
服务器在根据uv坐标信息在目标像素对应的色彩信息中搜索到与目标体素模型匹配的目标色彩信息之后,便可以基于目标色彩信息确定目标体素模型对应的颜色参数。其中,服务器基于目标色彩信息确定目标体素模型对应的颜色参数的方式可以有多种,例如,服务器可以获取每一体素模型对应的外观特效参数,在该外观特效参数中确定出颜色
调节参数,基于该颜色调节参数对该目标色彩信息进行颜色调节,得到目标体素模型对应的颜色参数。譬如,假设根据业务需求需要对目标对象体素化过程中的体素模型进行颜色渐变显示,可以根据颜色渐变的变化情况设计体素模型的外观特效参数,例如,可以为颜色值变化函数,可以控制像素的色彩信息的变化,从而可以根据该颜色值变化函数,对目标色彩信息进行颜色调节,得到目标体素模型对应的颜色参数,从而可以实时的根据颜色参数对体素模型进行渲染,实现体素化过程中的体素模型的颜色渐变显示效果。
[0191]
在步骤208中,服务器获取针对目标体素对象中各目标体素模型的第二特效控制参数,基于特效控制参数对目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。
[0192]
其中,该第二特效控制参数可以为对目标体素对象中体素模型进行特效控制的参数,可以包括抖动参数、缩放参数以及自定义外观控制参数等特效参数,基于该第二特效控制参数,可以控制目标体素对象中体素模型的缩放、顶点偏移,从而可以实现目标体素对象在目标虚拟场景中溶解消失、干扰、抖动、闪现等视觉效果,此外,特效实现过程中不需要对目标对象的材质进行任何修改。
[0193]
在一实施例中,本技术实施例提高的体素对象生成方法可以集成在游戏引擎的资源复合体中,实现一种基于游戏引擎实时渲染的视觉特效方案,例如,请参考图5c,该资源复合体可以由体素阵列模型、着色程序、控制程序组成,系统的组成,从而服务器可以在游戏引擎的虚拟场景中生成该资源复合体,并选择需要进行体素化的目标对象,从而可以基于该资源复合体以及游戏引擎渲染模块将体素阵列模型中体素模型覆盖至目标对象的表面,实现目标对象的体素化,同时,可以根据业务需求设定特效、外观等控制参数,从而可以通过控制参数调节体素模型的形态和外观,实现各种不同的视觉效果。
[0194]
由以上可知,本技术实施例通过服务器对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;服务器基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,基于正交摄像机拍摄参数中的拍摄方向向量,对体素阵列模型进行模型旋转处理,基于正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在目标对象和虚拟正交摄像机之间;服务器根据目标对象和体素阵列模型在虚拟正交摄像机的拍摄方向上的对应关系,确定体素模型和目标贴图中像素之间的匹配关系,基于uv信息获取每一体素模型的中心点位置信息;服务器获取体素阵列模型在目标虚拟场景中的顶点空间位置信息,基于顶点空间位置信息以及中心点位置信息,确定各体素模型在目标虚拟场景中的体素空间位置信息,根据体素空间位置信息以及匹配关系,确定体素阵列模型中各体素模型对应的目标深度信息;服务器获取目标对象对应的第一特效控制参数,根据第一特效控制参数对体素模型进行参数调节处理,基于目标深度信息,将参数调节处理后的体素模型在虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在目标对象的表面上的目标体素模型;服务器根据目标虚拟场景的场景包围盒尺寸信息确定目标对象对应的第二深度信息阈值,根据目标深度信息和第二深度信息阈值,在目标贴图的像素中识别出目标对象对应的目标像素;服务器基于uv信息以及目标像素对应的色彩信息,计算目标体素模型对应的颜色参数,基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象;服务器获取针对目标
体素对象中各目标体素模型的第二特效控制参数,基于特效控制参数对目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。以此,通过在目标虚拟场景中生成目标对象对应的虚拟正交摄像机,从而通过该虚拟正交摄像机对该目标对象进行渲染得到目标对象对应的深度信息以及色彩信息,并将目标对象对应的体素阵列模型放置在目标虚拟场景中,然后,根据深度信息和体素阵列模型对应的uv信息将体素模型覆盖到目标对象表面上的对应位置,并根据色彩信息和uv信息对覆盖在目标对象表面的体素模型进行渲染得到目标对象对应的目标体素对象,以此无需在生成目标对象的体素对象时对目标对象进行多次渲染,实现了在低渲染资源消耗的同时便捷完成对目标对象的体素化显示过程,同时,通过每一像素的深度信息对目标贴图中的像素进行筛选,以将属于背景区域的像素进行丢弃,避免对无需覆盖到目标对象表面上的体素模型进行渲染,进一步减少体素模型渲染的资源消耗,进而提升了体素对象生成的效率。此外,可以在对目标对象进行体素化显示过程中通过对体素模型的参数进行控制,实现不同的视觉特效,同时,还可以通过调节体素阵列模型中的体素模型的大小、形变、材质等参数,对目标体素对象进行特效控制,从而实现目标对象的多种不同视觉效果,提高了视觉显示效果。
[0195]
为了更好地实施以上方法,本发明实施例还提供一种体素对象生成装置,该体素对象生成装置可以集成在计算机设备中,该计算机设备可以为服务器。
[0196]
例如,如图7所示,为本技术实施例提供的体素对象生成装置的结构示意图,该体素对象生成装置可以包括展开单元301、获取单元302、渲染单元303、放置单元304、覆盖单元305和确定单元306,如下:
[0197]
展开单元301,用于对目标对象对应的体素阵列模型进行uv展开,得到该体素阵列模型的uv信息,该体素阵列模型由体素模型排列组成,该目标对象为目标虚拟场景中的三维模型对象;
[0198]
获取单元302,用于获取该目标虚拟场景中的主摄像机参数,并根据该主摄像机参数生成拍摄该目标对象的虚拟正交摄像机的正交摄像机拍摄参数;
[0199]
渲染单元303,用于基于该正交摄像机拍摄参数将该目标对象进行渲染处理,得到该目标对象的目标贴图,该目标贴图包括该目标对象的深度信息和色彩信息;
[0200]
放置单元304,用于基于该正交摄像机拍摄参数和该目标对象在该目标虚拟场景中的位置,将该体素阵列模型放置在该目标虚拟场景中;
[0201]
覆盖单元305,用于根据该uv信息以及该深度信息,确定该体素阵列模型中各体素模型对应的目标深度信息,并根据该目标深度信息将多个该体素模型覆盖至该目标对象的表面,得到覆盖在该目标对象的表面上的目标体素模型;
[0202]
确定单元306,用于基于该uv信息以及该色彩信息,确定该目标体素模型对应的颜色参数,并基于该颜色参数对该目标体素模型进行渲染处理,得到该目标对象对应的目标体素对象。
[0203]
在一实施例中,该覆盖单元305,包括:
[0204]
匹配关系确定子单元,用于根据该目标对象和该体素阵列模型在该虚拟正交摄像机的拍摄方向上的对应关系,确定该体素模型和该目标贴图中像素之间的匹配关系;
[0205]
中心点位置信息获取子单元,用于基于该uv信息获取每一体素模型的中心点位置信息;
[0206]
深度采样子单元,用于根据该中心点位置信息以及该匹配关系在该深度信息中进行深度采样处理,得到该体素阵列模型中各体素模型对应的目标深度信息。
[0207]
在一实施例中,该深度采样子单元,包括:
[0208]
顶点空间位置信息获取模块,用于获取该体素阵列模型在该目标虚拟场景中的顶点空间位置信息;
[0209]
空间位置信息确定模块,用于基于该顶点空间位置信息以及该中心点位置信息,确定各该体素模型在该目标虚拟场景中的体素空间位置信息;
[0210]
目标深度信息确定模块,用于根据该体素空间位置信息以及该匹配关系,确定该体素阵列模型中各体素模型对应的目标深度信息。
[0211]
在一实施例中,该覆盖单元305,包括:
[0212]
第一特效控制参数获取子单元,用于获取该目标对象对应的第一特效控制参数;
[0213]
参数调节子单元,用于根据该第一特效控制参数对该体素模型进行参数调节处理;
[0214]
平移子单元,用于基于该目标深度信息,将参数调节处理后的体素模型在该虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在该目标对象的表面上的目标体素模型。
[0215]
在一实施例中,该平移子单元,包括:
[0216]
第一深度信息阈值确定模块,用于根据该目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值;
[0217]
体素筛选模块,用于基于该第一深度信息阈值以及该目标深度信息对参数调节处理后的体素模型进行筛选,得到该目标对象对应的筛选后体素模型;
[0218]
体素平移模块,用于根据该筛选后体素模型对应的目标深度信息,在该虚拟正交摄像机的拍摄方向上将该筛选后体素模型进行平移处理。
[0219]
在一实施例中,该确定单元306,包括:
[0220]
第二深度信息阈值确定子单元,用于根据该目标虚拟场景的场景包围盒尺寸信息确定该目标对象对应的第二深度信息阈值;
[0221]
目标像素识别子单元,用于根据该目标深度信息和该第二深度信息阈值,在该目标贴图的像素中识别出该目标对象对应的目标像素;
[0222]
颜色参数计算子单元,用于基于该uv信息以及该目标像素对应的色彩信息,计算该目标体素模型对应的颜色参数。
[0223]
在一实施例中,该颜色参数计算子单元,包括:
[0224]
坐标信息获取模块,用于基于该uv信息,获取各该目标体素模型对应的uv坐标信息;
[0225]
候选色彩信息搜索模块,用于根据该uv坐标信息在该目标像素对应的色彩信息中搜索到与该目标体素模型匹配的目标色彩信息;
[0226]
颜色参数确定模块,用于基于该目标色彩信息确定该目标体素模型对应的颜色参数。
[0227]
在一实施例中,该正交摄像机拍摄参数包括第一位置信息和拍摄方向向量,该放置单元304,包括:
[0228]
模型旋转子单元,用于基于该正交摄像机拍摄参数中的拍摄方向向量,对该体素阵列模型进行模型旋转处理;
[0229]
模型放置子单元,用于基于该正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在该目标对象和该虚拟正交摄像机之间。
[0230]
在一实施例中,该获取单元302,包括:
[0231]
位置信息提取子单元,用于在该主摄像机参数中提取出该目标虚拟场景中虚拟主摄像机的位置信息,得到第二位置信息;
[0232]
信息获取子单元,用于获取该目标对象在该目标虚拟场景中的对象中心点位置信息以及包围盒尺寸信息;
[0233]
参数确定子单元,用于基于该第二位置信息、该对象中心点位置信息以及该包围盒尺寸信息,确定拍摄该目标对象的虚拟正交摄像机的正交摄像机拍摄参数。
[0234]
在一实施例中,该参数确定子单元,包括:
[0235]
方向向量计算模块,用于基于该第二位置信息和该对象中心点位置信息,计算拍摄该目标对象的虚拟正交摄像机在该目标虚拟场景中的方向向量,得到拍摄方向向量;
[0236]
位置信息计算模块,用于根据该拍摄方向向量、该对象中心点位置信息以及该包围盒尺寸信息,计算该虚拟正交摄像机在该目标虚拟场景中的位置,得到第一位置信息;
[0237]
参数设定模块,用于将该拍摄方向向量和该第一位置信息作为该虚拟正交摄像机的正交摄像机拍摄参数。
[0238]
在一实施例中,该体素对象生成装置,还包括:
[0239]
第二特效控制参数获取单元,用于获取针对该目标体素对象中各目标体素模型的第二特效控制参数;
[0240]
参数调节处理单元,用于基于该特效控制参数对该目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。
[0241]
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0242]
由以上可知,本技术实施例通过展开单元301对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取单元302获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;渲染单元303基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,目标贴图包括目标对象的深度信息和色彩信息;放置单元304基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;覆盖单元305根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;确定单元306基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。以此,通过在目标虚拟场景中生成目标对象对应的虚拟正交摄像机,从而通过该虚拟正交摄像机对该目标对象进行渲染得到目标对象对应的深度信息以及色彩信息,并将目标对象对应的体素阵列
模型放置在目标虚拟场景中,然后,根据深度信息和体素阵列模型对应的uv信息将体素模型覆盖到目标对象表面上的对应位置,并根据色彩信息和uv信息对覆盖在目标对象表面的体素模型进行渲染得到目标对象对应的目标体素对象,以此无需在生成目标对象的体素对象时对目标对象进行多次渲染,实现了在低渲染资源消耗的同时便捷完成对目标对象的体素化显示过程,进而提升了体素对象生成的效率。
[0243]
本技术实施例还提供一种计算机设备,如图8所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,该计算机设备可以是服务器,具体来讲:
[0244]
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0245]
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
[0246]
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及体素对象生成。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
[0247]
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0248]
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0249]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
[0250]
对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的
目标贴图,目标贴图包括目标对象的深度信息和色彩信息;基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。
[0251]
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。应当说明的是,本技术实施例提供的计算机设备与上文实施例中的适用于体素对象生成方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
[0252]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0253]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种体素对象生成方法中的步骤。例如,该指令可以执行如下步骤:
[0254]
对目标对象对应的体素阵列模型进行uv展开,得到体素阵列模型的uv信息,体素阵列模型由体素模型排列组成,目标对象为目标虚拟场景中的三维模型对象;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成拍摄目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标对象的目标贴图,目标贴图包括目标对象的深度信息和色彩信息;基于正交摄像机拍摄参数和目标对象在目标虚拟场景中的位置,将体素阵列模型放置在目标虚拟场景中;根据uv信息以及深度信息,确定体素阵列模型中各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到覆盖在目标对象的表面上的目标体素模型;基于uv信息以及色彩信息,确定目标体素模型对应的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标对象对应的目标体素对象。
[0255]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0256]
由于该计算机可读存储介质中所存储的指令,可以执行本技术实施例所提供的任一种体素对象生成方法中的步骤,因此,可以实现本技术实施例所提供的任一种体素对象生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0257]
其中,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
[0258]
以上对本技术实施例所提供的一种体素对象生成方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种体素对象生成方法,其特征在于,包括:对目标对象对应的体素阵列模型进行uv展开,得到所述体素阵列模型的uv信息,所述体素阵列模型由体素模型排列组成,所述目标对象为目标虚拟场景中的三维模型对象;获取所述目标虚拟场景中的主摄像机参数,并根据所述主摄像机参数生成拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数;基于所述正交摄像机拍摄参数将所述目标对象进行渲染处理,得到所述目标对象的目标贴图,所述目标贴图包括所述目标对象的深度信息和色彩信息;基于所述正交摄像机拍摄参数和所述目标对象在所述目标虚拟场景中的位置,将所述体素阵列模型放置在所述目标虚拟场景中;根据所述uv信息以及所述深度信息,确定所述体素阵列模型中各体素模型对应的目标深度信息,并根据所述目标深度信息将多个所述体素模型覆盖至所述目标对象的表面,得到覆盖在所述目标对象的表面上的目标体素模型;基于所述uv信息以及所述色彩信息,确定所述目标体素模型对应的颜色参数,并基于所述颜色参数对所述目标体素模型进行渲染处理,得到所述目标对象对应的目标体素对象。2.如权利要求1所述的体素对象生成方法,其特征在于,所述根据所述uv信息以及所述深度信息,确定所述体素阵列模型中各体素模型对应的目标深度信息,包括:根据所述目标对象和所述体素阵列模型在所述虚拟正交摄像机的拍摄方向上的对应关系,确定所述体素模型和所述目标贴图中像素之间的匹配关系;基于所述uv信息获取每一体素模型的中心点位置信息;根据所述中心点位置信息以及所述匹配关系在所述深度信息中进行深度采样处理,得到所述体素阵列模型中各体素模型对应的目标深度信息。3.如权利要求2所述的体素对象生成方法,其特征在于,所述根据所述中心点位置信息以及所述匹配关系在所述深度信息中进行深度采样处理,得到所述体素阵列模型中各体素模型对应的目标深度信息,包括:获取所述体素阵列模型在所述目标虚拟场景中的顶点空间位置信息;基于所述顶点空间位置信息以及所述中心点位置信息,确定各所述体素模型在所述目标虚拟场景中的体素空间位置信息;根据所述体素空间位置信息以及所述匹配关系,确定所述体素阵列模型中各体素模型对应的目标深度信息。4.如权利要求1所述的体素对象生成方法,其特征在于,所述根据所述目标深度信息将多个所述体素模型覆盖至所述目标对象的表面,得到覆盖在所述目标对象的表面上的目标体素模型,包括:获取所述目标对象对应的第一特效控制参数;根据所述第一特效控制参数对所述体素模型进行参数调节处理;基于所述目标深度信息,将参数调节处理后的体素模型在所述虚拟正交摄像机的拍摄方向上进行平移处理,得到覆盖在所述目标对象的表面上的目标体素模型。5.如权利要求4所述的体素对象生成方法,其特征在于,所述基于所述目标深度信息,将参数调节处理后的体素模型在所述虚拟正交摄像机的拍摄方向上进行平移处理,包括:
根据所述目标虚拟场景的场景包围盒尺寸信息确定第一深度信息阈值;基于所述第一深度信息阈值以及所述目标深度信息对参数调节处理后的体素模型进行筛选,得到所述目标对象对应的筛选后体素模型;根据所述筛选后体素模型对应的目标深度信息,在所述虚拟正交摄像机的拍摄方向上将所述筛选后体素模型进行平移处理。6.如权利要求1所述的体素对象生成方法,其特征在于,所述基于所述uv信息以及所述色彩信息,确定所述目标体素模型对应的颜色参数,包括:根据所述目标虚拟场景的场景包围盒尺寸信息确定所述目标对象对应的第二深度信息阈值;根据所述目标深度信息和所述第二深度信息阈值,在所述目标贴图的像素中识别出所述目标对象对应的目标像素;基于所述uv信息以及所述目标像素对应的色彩信息,计算所述目标体素模型对应的颜色参数。7.如权利要求6所述的体素对象生成方法,其特征在于,所述基于所述uv信息以及所述目标像素对应的色彩信息,计算所述目标体素模型对应的颜色参数,包括:基于所述uv信息,获取各所述目标体素模型对应的uv坐标信息;根据所述uv坐标信息在所述目标像素对应的色彩信息中搜索到与所述目标体素模型匹配的目标色彩信息;基于所述目标色彩信息确定所述目标体素模型对应的颜色参数。8.如权利要求1所述的体素对象生成方法,其特征在于,所述正交摄像机拍摄参数包括第一位置信息和拍摄方向向量,所述基于所述正交摄像机拍摄参数和所述目标对象在所述目标虚拟场景中的位置,将所述体素阵列模型放置在所述目标虚拟场景中,包括:基于所述正交摄像机拍摄参数中的拍摄方向向量,对所述体素阵列模型进行模型旋转处理;基于所述正交摄像机拍摄参数中的第一位置信息,将模型旋转处理后的体素阵列模型放置在所述目标对象和所述虚拟正交摄像机之间。9.如权利要求1所述的体素对象生成方法,其特征在于,所述根据所述主摄像机参数生成拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数,包括:在所述主摄像机参数中提取出所述目标虚拟场景中虚拟主摄像机的位置信息,得到第二位置信息;获取所述目标对象在所述目标虚拟场景中的对象中心点位置信息以及包围盒尺寸信息;基于所述第二位置信息、所述对象中心点位置信息以及所述包围盒尺寸信息,确定拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数。10.如权利要求9所述的体素对象生成方法,其特征在于,所述基于所述第二位置信息、所述对象中心点位置信息以及所述包围盒尺寸信息,确定拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数,包括:基于所述第二位置信息和所述对象中心点位置信息,计算拍摄所述目标对象的虚拟正交摄像机在所述目标虚拟场景中的方向向量,得到拍摄方向向量;
根据所述拍摄方向向量、所述对象中心点位置信息以及所述包围盒尺寸信息,计算所述虚拟正交摄像机在所述目标虚拟场景中的位置,得到第一位置信息;将所述拍摄方向向量和所述第一位置信息作为所述虚拟正交摄像机的正交摄像机拍摄参数。11.如权利要求1至10中任一项所述的体素对象生成方法,其特征在于,所述基于所述颜色参数对所述目标体素模型进行渲染处理,得到所述目标对象对应的目标体素对象之后,包括:获取针对所述目标体素对象中各目标体素模型的第二特效控制参数;基于所述特效控制参数对所述目标体素模型进行参数调节处理,得到特效控制后的目标体素对象。12.一种体素对象生成装置,其特征在于,包括:展开单元,用于对目标对象对应的体素阵列模型进行uv展开,得到所述体素阵列模型的uv信息,所述体素阵列模型由体素模型排列组成,所述目标对象为目标虚拟场景中的三维模型对象;获取单元,用于获取所述目标虚拟场景中的主摄像机参数,并根据所述主摄像机参数生成拍摄所述目标对象的虚拟正交摄像机的正交摄像机拍摄参数;渲染单元,用于基于所述正交摄像机拍摄参数将所述目标对象进行渲染处理,得到所述目标对象的目标贴图,所述目标贴图包括所述目标对象的深度信息和色彩信息;放置单元,用于基于所述正交摄像机拍摄参数和所述目标对象在所述目标虚拟场景中的位置,将所述体素阵列模型放置在所述目标虚拟场景中;覆盖单元,用于根据所述uv信息以及所述深度信息,确定所述体素阵列模型中各体素模型对应的目标深度信息,并根据所述目标深度信息将多个所述体素模型覆盖至所述目标对象的表面,得到覆盖在所述目标对象的表面上的目标体素模型;确定单元,用于基于所述uv信息以及所述色彩信息,确定所述目标体素模型对应的颜色参数,并基于所述颜色参数对所述目标体素模型进行渲染处理,得到所述目标对象对应的目标体素对象。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至11任一项所述的体素对象生成方法中的步骤。14.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的体素对象生成方法。15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至11任一项所述的体素对象生成方法中的步骤。
技术总结
本申请实施例公开了一种体素对象生成方法、装置和计算机可读存储介质;通过对目标对象的体素阵列模型进行UV展开,得到UV信息;获取目标虚拟场景中的主摄像机参数,并根据主摄像机参数生成正交摄像机拍摄参数;基于正交摄像机拍摄参数将目标对象进行渲染处理,得到目标贴图;基于正交摄像机拍摄参数和目标对象的位置,将体素阵列模型放置在目标虚拟场景中;根据UV信息和深度信息,确定各体素模型对应的目标深度信息,并根据目标深度信息将多个体素模型覆盖至目标对象的表面,得到目标体素模型;基于UV信息和色彩信息,确定目标体素模型的颜色参数,并基于颜色参数对目标体素模型进行渲染处理,得到目标体素对象。以此,提升体素对象生成效率。对象生成效率。对象生成效率。
技术研发人员:李博
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.02.22
技术公布日:2023/7/26
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种多式联运保鲜集装器用电池组的制作方法 下一篇:一种译码方法与译码装置
