阴影制作方法、装置、设备和存储介质制造方法及图纸

技术编号:34948355 阅读:16 留言:0更新日期:2022-09-17 12:24
本发明专利技术实施例提供一种阴影制作方法、装置、设备和存储介质,该方法包括:确定场景中各模型的顶点分别与预设光源之间的距离;获取各模型的顶点各自对应的深度值;基于距离以及深度值,确定各模型的顶点各自对应的阴影状态,阴影状态用于指示对应的顶点是否处于阴影中;将各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中。采用本发明专利技术,在游戏制作完成之后,游戏的安装包中携带有模型的各顶点的颜色属性,而在颜色属性中记录有模型的各顶点对应的阴影状态。进而,在游戏运行的过程中,可以从模型的各顶点的颜色属性中读取相应顶点对应的阴影状态。由于游戏的安装包中不再添加有专门的烘焙的阴影贴图,因此安装包的数据量会大大减少。会大大减少。会大大减少。

【技术实现步骤摘要】
阴影制作方法、装置、设备和存储介质


[0001]本专利技术涉及图像渲染
,尤其涉及一种阴影制作方法、装置、设备和存储介质。

技术介绍

[0002]为了提高游戏画面的逼真程度,在游戏运行的过程中会为场景中的模型添加阴影效果。一般来说,可以选择使用动态阴影或者静态阴影两种方式为模型添加阴影效果。
[0003]对于动态阴影来说,需要在游戏运行的过程中实时计算各模型分别对应的阴影效果,因此动态阴影所需消耗的计算量相对较高。对于静态阴影来说,不再需要实时计算各模型分别对应的阴影效果,而是在编写游戏之时就预先对各场景进行预烘焙以获得烘焙的阴影贴图,然后在游戏运行的过程中只需要对烘焙的阴影贴图进行采样就可得到各模型的阴影效果。
[0004]由于通过静态阴影的手段,需要使用到烘焙的阴影贴图获得阴影效果,这就导致不得不在游戏的安装包中增加大量的阴影贴图。大量的阴影贴图会导致安装包的数据量剧增。

技术实现思路

[0005]本专利技术实施例提供一种阴影制作方法、装置、设备和存储介质,用以实现在降低游戏运行过程中对阴影效果的计算量的同时,减少游戏的安装包的数据量。
[0006]第一方面,本专利技术实施例提供一种阴影制作方法,该方法包括:
[0007]确定场景中各模型的顶点分别与预设光源之间的距离;
[0008]获取所述各模型的顶点各自对应的深度值;
[0009]基于所述距离以及所述深度值,确定所述各模型的顶点各自对应的阴影状态,所述阴影状态用于指示对应的顶点是否处于阴影中
[0010]将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中。
[0011]可选地,在将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中之后,所述方法还包括:
[0012]在着色器中通过所述各模型的顶点的颜色属性,获取所述各模型的顶点各自对应的阴影状态;
[0013]基于所述阴影状态,对所述场景中的各模型进行渲染处理,以绘制所述各模型分别对应的阴影。
[0014]可选地,所述将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中,包括:
[0015]若任一顶点对应的阴影状态指示所述任一顶点处于阴影中,则确定所述任一顶点的颜色属性中阴影状态对应的参数为第一数值;
[0016]若任一顶点对应的阴影状态指示所述任一顶点未处于阴影中,则确定所述任一顶
点的颜色属性中阴影状态对应的参数为第二数值,所述第二数值与所述第一数值不同。
[0017]可选地,所述基于所述距离以及所述深度值,确定所述各模型的顶点各自对应的阴影状态,包括:
[0018]若任一顶点与所述预设光源之间的距离大于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为处于阴影中;
[0019]若任一顶点与所述预设光源之间的距离小于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为未处于阴影中。
[0020]可选地,所述确定场景中各模型的顶点分别与预设光源之间的距离,包括:
[0021]获取预设光源对应的光源矩阵;
[0022]获取所述各模型的顶点各自对应的世界坐标,所述世界坐标为对应的顶点在预先建立的世界坐标系中的坐标;
[0023]基于所述光源矩阵以及所述世界坐标,确定所述各模型的顶点分别与所述预设光源之间的距离。
[0024]可选地,所述获取预设光源对应的光源矩阵,包括:
[0025]确定各模型对应的最小包围盒;
[0026]获取所述预设光源的朝向信息;
[0027]基于所述最小包围盒以及所述朝向信息,确定预设光源对应的光源矩阵。
[0028]可选地,所述基于所述光源矩阵以及所述世界坐标,确定所述各模型的顶点分别与所述预设光源之间的距离,还包括:
[0029]基于所述光源矩阵以及所述世界坐标,确定所述各顶点分别对应的采样坐标,所述采样坐标用于对深度图进行采样操作;
[0030]所述获取所述各模型的顶点各自对应的深度值,包括:
[0031]获取所述深度图;
[0032]基于所述采样坐标对所述深度图进行采样操作,得到所述各顶点分别对应的深度值。
[0033]可选地,所述深度图的规格尺寸为摄像机拍摄的渲染图像的精度参数确定的。
[0034]第二方面,本专利技术实施例提供一种阴影制作装置,包括:
[0035]确定模块,用于确定场景中各模型的顶点分别与预设光源之间的距离;
[0036]获取模块,用于获取所述各模型的顶点各自对应的深度值;
[0037]所述确定模块,用于基于所述距离以及所述深度值,确定所述各模型的顶点各自对应的阴影状态,所述阴影状态用于指示对应的顶点是否处于阴影中;
[0038]存储模块,用于将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中。
[0039]可选地,所述装置还包括绘制模块,所述绘制模块,用于:
[0040]在着色器中通过所述各模型的顶点的颜色属性,获取所述各模型的顶点各自对应的阴影状态;
[0041]基于所述阴影状态,对所述场景中的各模型进行渲染处理,以绘制所述各模型分别对应的阴影。
[0042]可选地,所述存储模块,用于:
[0043]若任一顶点对应的阴影状态指示所述任一顶点处于阴影中,则确定所述任一顶点的颜色属性中阴影状态对应的参数为第一数值;
[0044]若任一顶点对应的阴影状态指示所述任一顶点未处于阴影中,则确定所述任一顶点的颜色属性中阴影状态对应的参数为第二数值,所述第二数值与所述第一数值不同。
[0045]可选地,所述确定模块,用于:
[0046]若任一顶点与所述预设光源之间的距离大于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为处于阴影中;
[0047]若任一顶点与所述预设光源之间的距离小于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为未处于阴影中。
[0048]可选地,所述确定模块,用于:
[0049]获取预设光源对应的光源矩阵;
[0050]获取所述各模型的顶点各自对应的世界坐标,所述世界坐标为对应的顶点在预先建立的世界坐标系中的坐标;
[0051]基于所述光源矩阵以及所述世界坐标,确定所述各模型的顶点分别与所述预设光源之间的距离。
[0052]可选地,所述获取模块,用于:
[0053]确定各模型对应的最小包围盒;
[0054]获取所述预设光源的朝向信息;
[0055]基于所述最小包围盒以及所述朝向信息,确定预设光源对应的光源矩阵。
[0056]可选地,所述确定模块,还用于:
[0057]基于所述光源矩阵以及所述世界坐标,确定所述各顶点分别对应的采样坐标,所述采样坐标用于对深度图进行采样操作;
[0058]获取所述深度图;
[0059]基于所述采样坐标对所述深度图进行采样操作,得到所述各顶本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种阴影制作方法,其特征在于,包括:确定场景中各模型的顶点分别与预设光源之间的距离;获取所述各模型的顶点各自对应的深度值;基于所述距离以及所述深度值,确定所述各模型的顶点各自对应的阴影状态,所述阴影状态用于指示对应的顶点是否处于阴影中;将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中。2.根据权利要求1所述的方法,其特征在于,在将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中之后,所述方法还包括:在着色器中通过所述各模型的顶点的颜色属性,获取所述各模型的顶点各自对应的阴影状态;基于所述阴影状态,对所述场景中的各模型进行渲染处理,以绘制所述各模型分别对应的阴影。3.根据权利要求1所述的方法,其特征在于,所述将所述各模型的顶点各自对应的阴影状态记录在各顶点的颜色属性中,包括:若任一顶点对应的阴影状态指示所述任一顶点处于阴影中,则确定所述任一顶点的颜色属性中阴影状态对应的参数为第一数值;若任一顶点对应的阴影状态指示所述任一顶点未处于阴影中,则确定所述任一顶点的颜色属性中阴影状态对应的参数为第二数值,所述第二数值与所述第一数值不同。4.根据权利要求1所述的方法,其特征在于,所述基于所述距离以及所述深度值,确定所述各模型的顶点各自对应的阴影状态,包括:若任一顶点与所述预设光源之间的距离大于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为处于阴影中;若任一顶点与所述预设光源之间的距离小于所述任一顶点的深度值,则确定所述任一顶点对应的阴影状态为未处于阴影中。5.根据权利要求1所述的方法,其特征在于,所述确定场景中各模型的顶点分别与预设光源之间的距离,包括:获取预设光源对应的光源矩阵;获取所述各模型的顶点各自对应的世界坐标,所述世界坐标为对应的顶点在预先建立的世界...

【专利技术属性】
技术研发人员:程庆宝
申请(专利权)人:上海完美时空软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1