[发明专利]一种3D场景对象显示方法、装置、设备及存储介质有效
申请号: | 201810505730.5 | 申请日: | 2018-05-23 |
公开(公告)号: | CN108765541B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 孟亚州;姜滨;迟小羽 | 申请(专利权)人: | 歌尔光学科技有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/20;G06T19/00;A63F13/52 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王学强 |
地址: | 261031 山东省潍坊市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 场景 对象 显示 方法 装置 设备 存储 介质 | ||
本申请公开了一种3D场景对象显示方法、装置、设备及存储介质,涉及显示技术领域,用于解决现有3D场景中目标对象被遮挡的问题,包括:确定3D场景中不同对象的渲染顺序;其中,所述3D场景中目标对象的渲染顺序为最后渲染;将所述目标对象设置为一直通过深度测试;对当前所述3D场景进行渲染,得到渲染后的可视化3D场景。本申请在进行渲染之前,已将目标对象的渲染顺序设置为最后渲染,并且将目标对象设置为一直通过深度测试,由此可以使得后续在进行渲染时,将会对目标对象进行最后渲染,并且会一直通过深度测试,这样将会使得目标对象被强制性地显示在3D场景的最前面,从而避免了目标对象被3D场景中的其他对象遮挡。
技术领域
本申请涉及显示技术领域,特别涉及一种3D场景对象显示方法、装置、设备及存储介质。
背景技术
现有的三维游戏场景等3D场景中,通常会包含多种场景对象,如游戏角色等处于运动状态的对象以及处于静止状态的背景画面,另外还可能包含状态栏、场景地图或游戏得分信息栏等对象。
在正常的显示过程中,三维游戏场景中诸如状态栏、场景地图或游戏得分信息栏等对象需要显示在三维游戏场景的前面,避免被场景中的其他对象遮挡,具体如图1所示。然而,由于三维游戏场景中的某些对象是处于运动状态的,致使这些对象在场景中的深度值也发生动态的变化,在有些情况下这些对象在场景中的深度值会小于上述状态栏、场景地图和得分信息栏等对象在场景中的深度值,从而出现如图2所示的处于运动状态的对象覆盖在状态栏和场景地图之上的现象,导致用户无法完整地看清状态栏和场景地图上的信息。
发明内容
有鉴于此,本申请的目的在于提供一种3D场景对象显示方法、装置、设备及存储介质,能够避免目标对象被3D场景中的其他对象遮挡。其具体方案如下:
第一方面,本申请公开了一种3D场景对象显示方法,包括:
确定3D场景中不同对象的渲染顺序;其中,所述3D场景中目标对象的渲染顺序为最后渲染;
将所述目标对象设置为一直通过深度测试;
对当前所述3D场景进行渲染,得到渲染后的可视化3D场景。
可选的,所述可视化3D场景中,所述目标对象至少部分覆盖所述目标对象以外的至少一个对象。
可选的,所述确定3D场景中不同对象的渲染顺序之前,还包括:
从所述3D场景的所有对象中确定出所述目标对象。
可选的,所述从所述3D场景的所有对象中确定出所述目标对象,包括:
确定所述3D场景中每个对象的对象类型,将所述3D场景中对象类型为预设类型的对象确定为所述目标对象;
或者,获取通过预设的对象选取接口触发的对象选取指令;根据所述对象选取指令,从所述3D场景中选取相应的对象作为所述目标对象;
或者,获取每个对象在所述3D场景中的深度值,根据对象的深度值从所述3D场景中确定出所述目标对象。
可选的,所述对当前所述3D场景进行渲染,包括:
在渲染过程的深度测试阶段中,利用预设函数控制与所述目标对象对应的深度测试;
其中,所述预设函数为预先设定的用于强制要求对相应对象一直通过深度测试的函数。
可选的,所述对当前所述3D场景进行渲染,包括:
在渲染过程的深度测试阶段中,获取当前所述3D场景中所述目标对象的深度值以及其他对象的深度值;
若当前所述目标对象的深度值不小于所述其他对象的深度值,则调整对象深度值,以确保调整之后所述目标对象的深度值小于所述其他对象的深度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于歌尔光学科技有限公司,未经歌尔光学科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810505730.5/2.html,转载请声明来源钻瓜专利网。