画面渲染方法、装置和可读存储介质
技术领域
本发明涉及人机交互技术领域,尤其涉及一种画面渲染方法、装置和可读存储介质。
背景技术
头戴显示设备,是一种可穿戴的虚拟显示产品。目前的头戴显示设备的技术原理大致分为虚拟现实(Virtual Reality)简称VR,增强现实(Augmented Reality)简称AR,混合现实(Mixed Reality)简称MR和扩展现实(Extended Reality)简称XR。
随着头戴显示设备产品应用越来越广泛,应用场景也越来越多。而用户穿戴头戴显示设备时,不能在虚拟场景中观察其他用户视角或者其它视角,沉浸体验的灵活性不佳。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
基于此,针对目前用户穿戴头戴显示设备时,不能在虚拟场景中观察其他用户视角或者其它视角,沉浸体验的灵活性不佳的问题,有必要提供一种画面渲染方法、装置和可读存储介质,能够在虚拟场景中观看其它视角的画面,提高用户在沉浸式体验中的灵活性。
为实现上述目的,本发明提出的一种画面渲染方法,所述画面渲染方法用于头戴显示设备,所述画面渲染方法包括:
获取观察视角;
创建动态画布;
依据所述观察视角,在所述动态画布上设置显示画布;
对所述显示画布进行画面渲染。
可选地,所述显示画布包括至少一块二维画布;
所述依据所述观察视角,在所述动态画布上设置显示画布的步骤,包括:
依据所述观察视角,在所述动态画布上设置至少一块二维画布;
所述对所述显示画布进行画面渲染的步骤包括:
依据所述二维画布的数量建立与所述二维画布对应的渲染窗口,将画面渲染的内容和所述二维画布进行绑定。
可选地,所述观察视角包括第一视角和第二视角;
所述依据所述观察视角,在所述动态画布上设置显示画布的步骤,还包括:
依据所述第一视角,在所述动态画布上设置一块二维画布;和/或,
依据所述第二视角,在所述动态画布上设置两块二维画布。
可选地,所述获取观察视角的步骤之前,包括:
构建虚拟场景,在所述虚拟场景中选定观察视角。
可选地,所述创建动态画布的步骤,包括:
获取创建动态画布的操作指令,在所述虚拟场景中,依据所述操作指令创建所述动态画布。
可选地,所述获取创建动态画布的操作指令,在所述虚拟场景中,依据所述操作指令创建所述动态画布的步骤之前,包括:
接收用户手势和/或眼球注视点,生成操作指令。
可选地,所述对所述显示画布进行画面渲染的步骤,包括:
若所述显示画布的透明度等于100%,则删除所述显示画布最外层之下的画面的至少部分内容;
若所述显示画布的透明度小于100%,则显示所述显示画布最外层画面。
此外,为了实现上述目的,本发明还提供一种画面渲染装置,所述画面渲染装置用于头戴显示设备,所述画面渲染装置包括:
获取模块,用于获取观察视角;
创建模块,用于创建动态画布;
设置模块,用于依据所述观察视角,在所述动态画布上设置显示画布;
渲染模块,用于对所述显示画布进行画面渲染。
可选地,所述显示画布包括至少一块二维画布,
所述设置模块还用于依据所述观察视角,在所述动态画布上设置至少一块二维画布;
所述渲染模块用于依据所述二维画布的数量建立与所述二维画布对应的渲染窗口,将画面渲染的内容和所述二维画布进行绑定。
此外,为了实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储画面渲染程序,所述画面渲染程序被处理器执行时实现如上文所述的画面渲染方法的步骤。
本发明提出的技术方案中,获取观察视角,创建动态画布,依据所述观察视角,在所述动态画布上设置相应的显示画布,对所述显示画布进行画面渲染,由此可以通过观察视角观看其他角度的显示画面,提高用户在沉浸式体验中的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明画面渲染方法第一实施例的流程示意图;
图2为本发明画面渲染方法第二实施例的流程示意图;
图3为本发明画面渲染方法第三实施例的流程示意图;
图4为本发明画面渲染方法第四实施例的流程示意图;
图5为本发明画面渲染方法第五实施例的流程示意图;
图6为本发明画面渲染方法第六实施例的流程示意图;
图7为本发明画面渲染方法第六实施例的流程示意图
图8为本发明画面渲染装置的连接结构示意图。
附图标号说明:
| 标号 |
名称 |
标号 |
名称 |
| 10 |
获取模块 |
40 |
渲染模块 |
| 20 |
创建模块 |
50 |
构建模块 |
| 30 |
设置模块 |
60 |
生成模块 |
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,本发明提出的第一实施例,一种画面渲染方法,画面渲染方法用于头戴显示设备,画面渲染方法包括:
步骤S10,获取观察视角;其中,观察视角包括视角范围的扩大或缩小,也包括观察视角的切换。例如扩大视角范围,用户能够观察到更加广阔的范围。或者缩小视角范围,能够观察到景物的细节之处。再或者,在虚拟环境中,选定其中的一个位置为观察视角。例如原本用户的视角是站在桥上看岸边的风景,通过选地观察视角,用户还可以通过将视角切换至岸边,相当于用户站在岸边看桥上的风景。或者在显示界面中同时观察到两个视角内的场景。观察视角的选定可以是预先绑定的视角,也可以是在虚拟场景中,用户任意选定的一个坐标点作为观察视角的点。
步骤S20,创建动态画布;动态画布可以理解为画面的底层,在头戴显示设备中,画面的显示过程是一个动态持续的过程,通过设置动态画布,在动态画布之上设置画布能够保证用户观看的画面是一个动态过程。例如,用户在穿戴头戴显示设备的过程中,观看直播比赛,比赛的进程是持续性的。创建的观察视角,其中的显示画面同样是建立在动态画布上的。
步骤S30,依据观察视角,在动态画布上设置显示画布;在选定的观察视角基础上,构建新的显示内容,将显示画布设置在动态画布上,在通过对显示画布进行画面渲染,用户就能够在新选定的观察视角下,观看新的画面。比如,虚拟环境中用户观看比赛,在直播比赛的画面中,选定守门员附近视角,用户能够同时观看到两个视角中的画面,还可在两个视角之间进行画面切换。
步骤S40,对显示画布进行画面渲染。画面渲染简单来说是在显示画布表面按照帧节频率将图片渲染在显示画布上。头戴显示设备中设置有处理器,通过处理器控制执行对显示画布的图片渲染,再将图片渲染后显示画布切换至头戴显示设备的显示屏幕中。
本实施例的技术方案中,获取观察视角,创建动态画布,依据所述观察视角,在所述动态画布上设置相应的显示画布,对所述显示画布进行画面渲染,由此可以通过观察视角观看其他角度的显示画面,提高用户在沉浸式体验中的灵活性。
参阅图2所示,在本发明提出的第一实施例的基础上,提出本发明的第二实施例,显示画布包括至少一块二维画布;
依据观察视角,在动态画布上设置显示画布的步骤S30,包括:
步骤S31,依据观察视角,在动态画布上设置至少一块二维画布。
用户在需要观看平面的二维画面时需要在动态画布上设置一块二维画布,如果需要观看多个二维画面时,则可以在动态画布上设置多个独立二维画布,其中每个二维画布对应一个观察视角,这些观察视角可以相同,也可以不同。
还可以设置两块二维画布,两块二维画布组合生成一个三维画布,通过视角切换,用户可以由当下视角,切换至新建立的观察视角,在三维画布中,两个二维画布叠加组合形成立体的画面。同样地,可以设置多个三维画布,用户可以在多个三维画布之间任意切换,从而能够在任意观察视角获得沉浸式体验。
对显示画布进行画面渲染的步骤S40,包括:
步骤S41,依据二维画布的数量建立与二维画布对应的渲染窗口,将画面渲染的内容和二维画布进行绑定。
例如,创建一个二维画布,建立一个二维画布和用户人眼对应的渲染窗口,将画面渲染的内容和二维画布进行绑定,通过渲染窗口,用户能够观看到在相应观察视角下的画面。同样地,在多个二维画布上建立对应的渲染窗口,在虚拟界面中,能够显示出多个显示窗口。
参阅图3所示,在本发明提出的第二实施例的基础上,提出本发明的第三实施例,观察视角包括第一视角和第二视角;
依据所述观察视角,在所述动态画布上设置显示画布的步骤S30,还包括:
步骤S310,依据第一视角,在动态画布上设置一块二维画布;和/或,
步骤S320,依据第二视角,在动态画布上设置两块二维画布。
也可以理解的是,步骤S30包括有三种情况,第一种情况,依据第一视角,在动态画布上设置一块二维画布。第二种情况,依据第二视角,在动态画布上设置两块二维画布。第三种情况,依据第一视角,在动态画布上设置一块二维画布,同时依据第二视角,在动态画布上设置两块二维画布,设置一块二维画布能够形成二维画面,设置两块二维画布,通过在两块二维画布上渲染画面,能够形成三维画面。其中第一视角和第二视角可以是相同的视角,也可是不同的视角。
另外,还可以在两块二维画布组成的三维画面上创建渲染窗口,用户可以选择,其中任一渲染窗口进行画面视角的切换。也就是说,在虚拟显示界面中,设置有若干小窗口,通过这些小窗口,用户能够观察到其他观察视角的显示画面,小窗口的大小可以按照用户的需求而调整,并通过选定相应的小窗口进行画面切换。
再者,根据用户的使用需求,还可以同时创建多个二维画面和多个画面画布,由此获得多个二维显示窗口和多个三维显示窗口画面,即是说,二维显示窗口和三维显示窗口可同时显示,也可以单独显示。
参阅图4所示,在本发明提出的第一实施例的基础上,提出本发明的第四实施例,获取观察视角的步骤S10之前,包括:
步骤S50,构建虚拟场景,在虚拟场景中选定观察视角。
观察视角是在虚拟场景中作出的选择,如此,用户能够依据虚拟场景的显示内容进行观察视角的选择,进而选择的灵活性更高。
除此之外,观察视角的选定可以是预先设置的,用户可以在虚拟场景中,在预先设置的观察视角中作出选择。
参阅图5所示,在本发明提出的第四实施例的基础上,提出本发明的第五实施例,创建动态画布的步骤S20,包括:
步骤S21,获取创建动态画布的操作指令,在虚拟场景中,依据操作指令创建动态画布。
具体地,操作指令可以依据输入的指令生成,其中,输入的指令来源可以是语音命令或者手势命令等。还可以是通过用户的眼球注视点完成的指令输入。
参阅图6所示,在本发明提出的第五实施例的基础上,提出本发明的第六实施例,获取创建动态画布的操作指令,在虚拟场景中,依据操作指令创建动态画布的步骤S21之前,包括:
步骤S60,接收用户手势和/或眼球注视点,生成操作指令。
在虚拟场景中,可以通过用户手势变化,确定相应的操作内容,生成操作指令。还可是通过用户眼球注视点的变化,确定相应的操作内容,生成操作指令。也还可以是通过用户手势和眼球注视点结合的方式,确定相应的操作内容,生成操作指令。通过用户手势或眼球注视点的选择,在虚拟场景中,更易对用户手势和眼球注视点的选择做出反应,且用户手势和眼球注视点更符合虚拟场景中的操作条件。
参阅图7所示,在本发明提出的第一实施例至第六实施例中任一实施例的基础上,提出本发明的第七实施例,对显示画布进行画面渲染的步骤S40,包括:
步骤S401,若显示画布的透明度等于100%,则删除显示画布最外层之下的画面的至少部分内容。
通常,在显示画布中,如果显示画布透明度等于100%,用户观看画面则是处于透明状态,画面中的物体或景象的线条是杂乱无章,难以区分画面的显示效果,为此,通过将用户前面景物保留,删除显示画布最外层之下的画面的至少部分内容,将被前面景物遮挡的景物覆盖掉,避免透视效果,由此保证观看的景象正常。
步骤S402,若显示画布的透明度小于100%,则显示所述显示画布最外层画面。
最外层画面是指用户在观看显示画面时,面向用户的人眼方向是最上面的画面。显示画布的透明度不等于100%也就是显示画布是不透明的,如此,将显示画布最上面的图层进行画面渲染。
参阅图8所示,本发明还提供一种画面渲染装置,画面渲染装置用于头戴显示设备,画面渲染装置包括:获取模块10、创建模块20、设置模块30和渲染模块40。
获取模块10,用于获取观察视角;其中,观察视角包括视角范围的扩大或缩小,也包括观察视角的切换。例如扩大视角范围,用户能够观察到更加广阔的范围。或者缩小视角范围,能够观察到景物的细节之处。再或者,在虚拟环境中,选定其中的一个位置为观察视角。例如原本用户的视角是站在桥上看岸边的风景,通过选地观察视角,用户还可以通过将视角切换至岸边,相当于用户站在岸边看桥上的风景。或者在显示界面中同时观察到两个视角内的场景。观察视角的选定可以是预先绑定的视角,也可以是在虚拟场景中,用户任意选定的一个坐标点作为观察视角的点。
创建模块20,用于创建动态画布;动态画布可以理解为画面的底层,在头戴显示设备中,画面的显示过程是一个动态持续的过程,通过设置动态画布,在动态画布之上设置画布能够保证用户观看的画面是一个动态过程。例如,用户在穿戴头戴显示设备的过程中,观看直播比赛,比赛的进程是持续性的。创建的观察视角,其中的显示画面同样是建立在动态画布上的。
设置模块30,用于依据观察视角,在动态画布上设置显示画布;在选定的观察视角基础上,构建新的显示内容,将显示画布设置在动态画布上,在通过对显示画布进行画面渲染,用户就能够在新选定的观察视角下,观看新的画面。比如,虚拟环境中用户观看比赛,在直播比赛的画面中,选定守门员附近视角,用户能够同时观看到两个视角中的画面,还可在两个视角之间进行画面切换。
渲染模块40,用于对显示画布进行画面渲染。画面渲染简单来说是在显示画布表面按照帧节频率将图片渲染在显示画布上。头戴显示设备中设置有处理器,通过处理器控制执行对显示画布的图片渲染,再将图片渲染后显示画布切换至头戴显示设备的显示屏幕中。
本实施例的技术方案中,获取观察视角,创建动态画布,依据所述观察视角,在所述动态画布上设置相应的显示画布,对所述显示画布进行画面渲染,由此可以通过观察视角观看其他角度的显示画面,提高用户在沉浸式体验中的灵活性。
进一步地,显示画布包括至少一块二维画布。
设置模块30还用于依据观察视角,在动态画布上设置至少一块二维画布;用户在需要观看平面的二维画面时需要在动态画布上设置一块二维画布,如果需要观看多个二维画面时,则可以在动态画布上设置多个独立二维画布,其中每个二维画布对应一个观察视角,这些观察视角可以相同,也可以不同。
还可以设置两块二维画布,两块二维画布组合生成一个三维画布,通过视角切换,用户可以由当下视角,切换至新建立的观察视角,在三维画布中,两个二维画布叠加组合形成立体的画面。同样地,可以设置多个三维画布,用户可以在多个三维画布之间任意切换,从而能够在任意观察视角获得沉浸式体验。
渲染模块40还用于依据二维画布的数量建立与二维画布对应的渲染窗口,将画面渲染的内容和二维画布进行绑定。
例如,创建一个二维画布,建立一个二维画布和用户人眼对应的渲染窗口,将画面渲染的内容和二维画布进行绑定,通过渲染窗口,用户能够观看到在相应观察视角下的画面。同样地,在多个二维画布上建立对应的渲染窗口,在虚拟界面中,能够显示出多个显示窗口。
进一步到地,设置模块30还用于依据第一视角,在动态画布上设置一块二维画布;和/或,依据第二视角,在动态画布上设置两块二维画布。
也可以理解的是,共计有三种情况,第一种情况,依据第一视角,在动态画布上设置一块二维画布。第二种情况,依据第二视角,在动态画布上设置两块二维画布。第三种情况,依据第一视角,在动态画布上设置一块二维画布,同时依据第二视角,在动态画布上设置两块二维画布,设置一块二维画布能够形成二维画面,设置两块二维画布,通过在两块二维画布上渲染画面,能够形成三维画面。其中第一视角和第二视角可以是相同的视角,也可是不同的视角。
另外,还可以在两块二维画布组成的三维画面上创建渲染窗口,用户可以选择,其中任一渲染窗口进行画面视角的切换。也就是说,在虚拟显示界面中,设置有若干小窗口,通过这些小窗口,用户能够观察到其他观察视角的显示画面,小窗口的大小可以按照用户的需求而调整,并通过选定相应的小窗口进行画面切换。
再者,根据用户的使用需求,还可以同时创建多个二维画面和多个画面画布,由此获得多个二维显示窗口和多个三维显示窗口画面,即是说,二维显示窗口和三维显示窗口可同时显示,也可以单独显示
另外,还可以在两块二维画布组成的三维画布上创建渲染窗口,用户可以选择,其中任一渲染窗口进行画面视角的切换。也就是说,在虚拟显示界面中,设置有若干小窗口,通过这些小窗口,用户能够观察到其他观察视角的显示画面,小窗口的大小可以按照用户的需求而调整,并通过选定相应的小窗口进行画面切换。
再者,根据用户的使用需求,还可以同时创建多个二维画布和多个三维画布,由此获得多个二维显示窗口和多个三维显示窗口画面,即是说,二维显示窗口和三维显示窗口可同时显示。
进一步地,画面渲染装置还包括:
构建模块50,用于构建虚拟场景,在虚拟场景中选定观察视角。
观察视角是在虚拟场景中作出的选择,如此,用户能够依据虚拟场景的显示内容进行观察视角的选择,进而选择的灵活性更高。
除此之外,观察视角的选定可以是预先设置的,用户可以在虚拟场景中,在预先设置的观察视角中作出选择。
进一步地,创建模块20还用于获取创建动态画布的操作指令,在虚拟场景中,依据操作指令创建动态画布。
具体地,操作指令可以依据输入的指令生成,其中,输入的指令来源可以是语音命令或者手势命令等。还可以是通过用户的眼球注视点完成的指令输入。
进一步地,画面渲染装置还包括生成模块60,生成模块60用于接收用户手势和/或眼球注视点,生成操作指令。
在虚拟场景中,可以通过用户手势变化,确定相应的操作内容,生成操作指令。还可是通过用户眼球注视点的变化,确定相应的操作内容,生成操作指令。也还可以是通过用户手势和眼球注视点结合的方式,确定相应的操作内容,生成操作指令。通过用户手势或眼球注视点的选择,在虚拟场景中,更易对用户手势和眼球注视点的选择做出反应,且用户手势和眼球注视点更符合虚拟场景中的操作条件。
进一步地,渲染模块40还用于若显示画布的透明度等于100%,则删除显示画布最外层之下的画面的至少部分内容。
通常,在显示画布中,如果显示画布透明度等于100%,用户观看画面则是处于透明状态,画面中的物体或景象的线条是杂乱无章,难以区分画面的显示效果,为此,通过将用户前面景物保留,将被前面景物遮挡的景物覆盖掉,避免透视效果,由此保证观看的景象正常。
渲染模块40还用于若显示画布的透明度小于100%,则显示显示画布最外层画面。
最外层画面是指用户在观看显示画面时,面向用户的人眼方向是最上面的画面。显示画布的透明度不等于100%也就是显示画布是不透明的,如此,将显示画布最上面的图层进行画面渲染。
本发明还提供一种可读存储介质,所述可读存储介质上存储画面渲染程序,所述画面渲染程序被处理器执行时实现如上文所述的画面渲染方法的步骤。
本发明可读存储介质具体实施方式可以参照上述画面渲染方法各实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。