CN115170722A - 3d实时软阴影获取方法、装置和存储介质 - Google Patents
3d实时软阴影获取方法、装置和存储介质 Download PDFInfo
- Publication number
- CN115170722A CN115170722A CN202210783069.0A CN202210783069A CN115170722A CN 115170722 A CN115170722 A CN 115170722A CN 202210783069 A CN202210783069 A CN 202210783069A CN 115170722 A CN115170722 A CN 115170722A
- Authority
- CN
- China
- Prior art keywords
- target model
- model
- transparency
- color
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种3D实时软阴影获取方法、装置和存储介质,涉及计算机技术领域,所述方法包括:加载目标模型;通过正交相机从所述目标模型的底部向上取景;将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;根据所述透明度通道生成所述目标模型的软阴影。解决了现有技术中生成的阴影真实感较差的问题,达到了可以提高阴影的真实感的效果。
Description
技术领域
本发明涉及一种3D实时软阴影获取方法、装置和存储介质,属于计算机技术领域。
背景技术
在设计领域,为了提高模型的真实感和对复杂场景的适应性,经常需要生成模型的实时阴影。
现有方案中,通过shadowmap方法生成模型的实时阴影,上述方法可以根据灯光的颜色将模型形状映射到地面等接受阴影的面上,生成的实时阴影的轮廓清晰更接近于真实世界的阳光直射阴影效果,在多光源(如室内)的应用场景中,真实感较差。
发明内容
本发明的目的在于提供一种3D实时软阴影获取方法、装置和存储介质,用于解决现有技术中存在的问题。
为达到上述目的,本发明提供如下技术方案:
根据第一方面,本发明实施例提供了一种3D实时软阴影获取方法,所述方法包括:
加载目标模型;
通过正交相机从所述目标模型的底部向上取景;
将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;
通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;
将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;
根据所述透明度通道生成所述目标模型的软阴影。
可选地,所述加载目标模型,包括:
通过three.js加载所述目标模型。
可选地,所述目标模型为glb格式模型或者gltf格式模型。
可选地,所述将材质颜色设置为纯黑色,包括:
通过修改所述MeshDepthMaterial深度材质算法的shader将所述材质颜色设置为纯黑色。
可选地,所述根据所述透明度通道生成所述目标模型的软阴影,包括:
根据所述透明度通道将获取到的颜色信息进行差值模糊处理;
将渲染结果根据所述目标模型的大小进行放大。
可选地,所述方法还包括:
接收调整所述正交相机的角度的调整指令;
根据所述调整指令调整所述正交相机的取景角度,并再次执行所述通过正交相机从所述目标模型的底部向上取景的步骤。
可选地,所述方法应用于个人电脑PC、安卓或者IOS系统的网页端。
第二方面,提供了一种3D实时软阴影获取装置,所述装置包括存储器和处理器,所述存储器中存储有至少一条程序指令,所述处理器通过加载并执行所述至少一条程序指令以实现如第一方面所述的方法。
第三方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条程序指令,所述至少一条程序指令被处理器加载并执行以实现如第一方面所述的方法。
通过加载目标模型;通过正交相机从所述目标模型的底部向上取景;将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;根据所述透明度通道生成所述目标模型的软阴影。解决了现有技术中生成的阴影真实感较差的问题,达到了可以提高阴影的真实感的效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1为本发明一个实施例提供的3D实时软阴影获取方法的方法流程图;
图2为本发明一个实施例提供的为目标模型生成的软阴影的一种可能的示意图;
图3为本发明一个实施例提供的为目标模型生成的软阴影的另一种可能的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
请参考图1,其示出了本申请一个实施例提供的3D实时软阴影获取方法的方法流程图,如图1所示,所述方法包括:
步骤101,加载目标模型;
本申请所述的方法可以用于网页端中,该网页端可以搭载在PC、安卓或者IOS系统、鸿蒙系统中,本实施例对此并不做限定。
可选地,网页端可以通过three.js加载所述目标模型。其中,目标模型可以为glb格式模型或者gltf格式模型。
步骤102,通过正交相机从所述目标模型的底部向上取景;
在加载目标模型之后,通过正交相机从目标模型的底部向上拍摄场景内的所有可见物体。
步骤103,将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;
步骤104,通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;
其中,目标模型的模型顶点的渲染像素的颜色值与上述距离呈负相关关系。具体的,距离所述正交相机越近的顶点将渲染像素的颜色alpha通道值设置越高,距离所述正交相机越远的顶点将渲染像素的颜色alpha通道值设置越低,并且,重叠部分的像素取alpha最大值的结果。
步骤105,将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;
可选地,可以通过MeshDepthMaterial深度材质算法的shader将所述材质颜色设置为纯黑色。
步骤106,根据所述透明度通道生成所述目标模型的软阴影。
可选地,本步骤包括:
第一,根据所述透明度通道将获取到的颜色信息进行差值模糊处理。
将生成后的颜色图通过fragment shader遍历所有像素点,将当前像素点与横向的8个像素点结果按距离越近的占比越大结果相加进行横向模糊修正。再将上述横向模糊后的结果进行纵向模糊修正,最终获得模糊后的阴影颜色。
第二,将渲染结果根据所述目标模型的大小进行放大。
可选地,可以将渲染结果根据目标模型放大预设倍数,1<预设倍数<倍数阈值。倍数阈值为接近于1的数值,比如,倍数阈值可以为1.1、或者1.2。
比如,请参考图2和图3,其分别示出了生成的两种可能的软阴影的示意图。并且,图中示出了本申请方案与现有方案中生成的软阴影的不同。
可选地,在一种可能的实施方式中,上述方法还可以包括:
第一,接收调整所述正交相机的角度的调整指令;
在生成实时软阴影之后,若用户想要调整阴影的角度,则用户可以施加调整正交相机的角度的调整指令。其中,该调整指令可以为通过拖拽指令、输入角度的输入指令等等,对此并不做限定。
第二,根据所述调整指令调整所述正交相机的取景角度,并再次执行所述通过正交相机从所述目标模型的底部向上取景的步骤。
在调整正交相机的取景角度之后,即可根据调整后的正交相机对目标模型重新进行取景,并执行后续的步骤,本实施例在此不再赘述。通过调整正交相机的取景角度即可模拟光源从不同角度照射物体时的阴影。
综上所述,通过加载目标模型;通过正交相机从所述目标模型的底部向上取景;将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;根据所述透明度通道生成所述目标模型的软阴影。解决了现有技术中生成的阴影真实感较差的问题,达到了可以提高阴影的真实感的效果。
本申请还提供了一种3D实时软阴影获取装置,所述装置包括存储器和处理器,所述存储器中存储有至少一条程序指令,所述处理器通过加载并执行所述至少一条程序指令以实现如上所述的方法。
本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条程序指令,所述至少一条程序指令被处理器加载并执行以实现如上所述的方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种3D实时软阴影获取方法,其特征在于,所述方法包括:
加载目标模型;
通过正交相机从所述目标模型的底部向上取景;
将取景结果赋值至所述目标模型地面以上的MeshDepthMaterial材质的面片;
通过MeshDepthMaterial深度材质算法根据所述目标模型的模型顶点与所述正交相机的距离获取渲染颜色的透明度结果;
将材质颜色设置为纯黑色,并将所述透明度结果赋值至所述材质的透明度通道;
根据所述透明度通道生成所述目标模型的软阴影。
2.根据权利要求1所述的方法,其特征在于,所述加载目标模型,包括:
通过three.js加载所述目标模型。
3.根据权利要求1所述的方法,其特征在于,所述目标模型为glb格式模型或者gltf格式模型。
4.根据权利要求1至3任一所述的方法,其特征在于,所述将材质颜色设置为纯黑色,包括:
通过修改所述MeshDepthMaterial深度材质算法的shader将所述材质颜色设置为纯黑色。
5.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述透明度通道生成所述目标模型的软阴影,包括:
根据所述透明度通道将获取到的颜色信息进行差值模糊处理;
将渲染结果根据所述目标模型的大小进行放大。
6.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
接收调整所述正交相机的角度的调整指令;
根据所述调整指令调整所述正交相机的取景角度,并再次执行所述通过正交相机从所述目标模型的底部向上取景的步骤。
7.根据权利要求1至3任一所述的方法,其特征在于,所述方法应用于个人电脑PC、安卓或者IOS系统的网页端。
8.一种3D实时软阴影获取装置,其特征在于,所述装置包括存储器和处理器,所述存储器中存储有至少一条程序指令,所述处理器通过加载并执行所述至少一条程序指令以实现如权利要求1至7任一所述的方法。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条程序指令,所述至少一条程序指令被处理器加载并执行以实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783069.0A CN115170722A (zh) | 2022-07-05 | 2022-07-05 | 3d实时软阴影获取方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783069.0A CN115170722A (zh) | 2022-07-05 | 2022-07-05 | 3d实时软阴影获取方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115170722A true CN115170722A (zh) | 2022-10-11 |
Family
ID=83491891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210783069.0A Pending CN115170722A (zh) | 2022-07-05 | 2022-07-05 | 3d实时软阴影获取方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115170722A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112237A1 (en) * | 2001-12-13 | 2003-06-19 | Marco Corbetta | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
CN101055645A (zh) * | 2007-05-09 | 2007-10-17 | 北京金山软件有限公司 | 一种阴影实现的方法及装置 |
CN109360263A (zh) * | 2018-10-09 | 2019-02-19 | 温州大学 | 一种面向资源受限移动设备的实时软阴影生成方法及装置 |
CN111724313A (zh) * | 2020-04-30 | 2020-09-29 | 完美世界(北京)软件科技发展有限公司 | 一种阴影贴图生成方法与装置 |
CN113362253A (zh) * | 2021-06-30 | 2021-09-07 | 成都纵横自动化技术股份有限公司 | 一种图像阴影校正方法、系统及其装置 |
US11232628B1 (en) * | 2020-11-10 | 2022-01-25 | Weta Digital Limited | Method for processing image data to provide for soft shadow effects using shadow depth information |
-
2022
- 2022-07-05 CN CN202210783069.0A patent/CN115170722A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112237A1 (en) * | 2001-12-13 | 2003-06-19 | Marco Corbetta | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
CN101055645A (zh) * | 2007-05-09 | 2007-10-17 | 北京金山软件有限公司 | 一种阴影实现的方法及装置 |
CN109360263A (zh) * | 2018-10-09 | 2019-02-19 | 温州大学 | 一种面向资源受限移动设备的实时软阴影生成方法及装置 |
CN111724313A (zh) * | 2020-04-30 | 2020-09-29 | 完美世界(北京)软件科技发展有限公司 | 一种阴影贴图生成方法与装置 |
US11232628B1 (en) * | 2020-11-10 | 2022-01-25 | Weta Digital Limited | Method for processing image data to provide for soft shadow effects using shadow depth information |
CN113362253A (zh) * | 2021-06-30 | 2021-09-07 | 成都纵横自动化技术股份有限公司 | 一种图像阴影校正方法、系统及其装置 |
Non-Patent Citations (2)
Title |
---|
ANTHONY DROSSANO: "《三维之星 三维精美动画技术精粹》", 北京希望电子出版社, pages: 95 * |
程序你好: "如何实现一个3d场景中的阴影效果(threejs)?", Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1851831?from=15425> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358643B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2021174939A1 (zh) | 人脸图像的获取方法与系统 | |
CN110189248B (zh) | 图像融合方法及装置、存储介质、电子设备 | |
EP3061071B1 (en) | Method, apparatus and computer program product for modifying illumination in an image | |
US8665258B2 (en) | Generating a depth map based on a single image | |
US6529206B1 (en) | Image processing apparatus and method, and medium therefor | |
US8737736B2 (en) | Tone mapping of very large aerial image mosaic | |
US6556195B1 (en) | Image processing device and image processing method | |
CN113256781B (zh) | 虚拟场景的渲染和装置、存储介质及电子设备 | |
CN112734896B (zh) | 环境遮蔽渲染方法、装置、存储介质及电子设备 | |
US20230368459A1 (en) | Systems and methods for rendering virtual objects using editable light-source parameter estimation | |
EP3034999B1 (en) | Method and apparatus for generating a composite image based on an ambient occlusion | |
JP2024508457A (ja) | 3dモデリングを強化するために一時的なテクスチャアプリケーションを提供する方法及びシステム | |
KR20200099633A (ko) | 영상의 질감 분석 방법 및 컴퓨터 프로그램 | |
CN111382618A (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN111597963B (zh) | 用于图像中人脸的补光方法、系统、介质以及电子设备 | |
WO2024002064A1 (zh) | 三维模型构建方法、装置、电子设备及存储介质 | |
CN115170722A (zh) | 3d实时软阴影获取方法、装置和存储介质 | |
CN112102169A (zh) | 一种红外图像拼接方法、装置和存储介质 | |
EP4283566A2 (en) | Single image 3d photography with soft-layering and depth-aware inpainting | |
CN111223192B (zh) | 一种图像处理方法及其应用方法、装置及设备 | |
CN113496140A (zh) | 虹膜定位方法以及美瞳虚拟试戴方法和装置 | |
US20210042986A1 (en) | Variational technique for texturing a mesh from multiple views | |
Pandey et al. | A novel approach to multi-scale blending based on saliency mapping for multimedia image compositing applications | |
Yang et al. | Realistic texture synthesis for point-based fruitage phenotype |
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 |