CN115965731A - 渲染交互方法、装置、终端、服务器、存储介质及产品 - Google Patents

渲染交互方法、装置、终端、服务器、存储介质及产品 Download PDF

Info

Publication number
CN115965731A
CN115965731A CN202211542949.5A CN202211542949A CN115965731A CN 115965731 A CN115965731 A CN 115965731A CN 202211542949 A CN202211542949 A CN 202211542949A CN 115965731 A CN115965731 A CN 115965731A
Authority
CN
China
Prior art keywords
rendering
target
dimensional model
event
interaction
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
Application number
CN202211542949.5A
Other languages
English (en)
Inventor
祝丰年
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Beijing Technologies Co Ltd
Original Assignee
Cloudminds Beijing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cloudminds Beijing Technologies Co Ltd filed Critical Cloudminds Beijing Technologies Co Ltd
Priority to CN202211542949.5A priority Critical patent/CN115965731A/zh
Publication of CN115965731A publication Critical patent/CN115965731A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种渲染交互方法、装置、终端、服务器、存储介质及产品,属于图像处理领域。所述方法包括:响应于外设设备的交互事件,获取交互事件的事件参数;根据事件参数,确定目标三维模型的空间属性的变化量;向目标渲染服务器发送渲染请求,渲染请求包括目标三维模型的空间属性的当前量、空间属性的变化量及交互事件中至少一项,渲染请求用于请求目标渲染服务器重新渲染目标三维模型。本申请中客户端在检测到外设设备的交互事件之后,基于交互事件的事件参数,确定三维场景中目标三维模型的空间属性的变化值,进而通过向渲染服务器发送渲染请求,使得渲染服务器能够对目标三维模型进行渲染,从而实现了客户端与渲染服务器之间的渲染交互。

Description

渲染交互方法、装置、终端、服务器、存储介质及产品
技术领域
本申请涉及图像处理技术领域,特别涉及一种渲染交互方法、装置、终端、服务器、存储介质及程序产品。
背景技术
三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚拟的物体。通过对三维场景中的三维模型进行渲染,可实现三维场景的可视化。
在三维场景下,为了降低渲染服务器的资源消耗,可由不同的渲染服务器对三维场景中的三维模型进行加载和渲染,叠加引擎对不同渲染服务器的渲染结果进行叠加,得到叠加图像,进而将叠加图像发送至客户端进行显示。
上述方法虽然解决了渲染服务器资源消耗较大的问题,但是在渲染过程中,如何实现客户端和渲染服务器之间的渲染交互,则成为当前亟需解决的问题。
发明内容
本申请实施例提供了一种渲染交互方法、装置、终端、服务器、存储介质及产品,能够实现客户端与渲染服务器之间的渲染交互。所述技术方案如下:
第一方面,提供了一种渲染交互方法,所述方法包括:
响应于外设设备在三维场景中的交互事件,获取所述交互事件的事件参数,所述三维场景包括至少一个三维模型;
根据所述事件参数,确定目标三维模型的空间属性的变化量,所述目标三维模型为所述至少一个三维模型中的全部或部分;
向目标渲染服务器发送渲染请求,所述渲染请求包括所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,所述渲染请求用于请求所述目标渲染服务器重新渲染所述目标三维模型。
在另一种可能的实现方式中,所述事件参数包括所述交互事件的类型、所述外设设备的移动速度、移动方向、移动距离中至少一项;
所述空间属性包括所述目标三维模型的移动方向、移动速度、移动距离、缩放比例中至少一项。
在另一种可能的实现方式中,所述根据所述事件参数,确定目标三维模型的空间属性的变化量,包括:
获取屏幕坐标系与所述目标三维模型对应的坐标系之间的映射关系;
按照所述映射关系,调整所述屏幕坐标系下获取到的事件参数,得到所述空间属性的变化量。
在另一种可能的实现方式中,所述向目标渲染服务器发送渲染请求之后,还包括:
接收所述目标渲染服务器发送的渲染图像,所述渲染图像为所述目标渲染服务器根据所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项渲染得到;
对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像;
显示所述叠加图像。
在另一种可能的实现方式中,所述向目标渲染服务器发送渲染请求之后,还包括:
接收叠加引擎发送的叠加图像,所述叠加图像为所述叠加引擎对各个渲染服务器发送的渲染图像叠加得到;
显示所述叠加图像。
在另一种可能的实现方式中,所述对各个渲染服务器发送的渲染图像进行叠加,包括:
获取各个渲染图像对应的三维模型在所述交互事件发生后的景深,所述景深用于表示在所述外设设备的视角下、三维模型在所述三维场景中的位置与所述外设设备的光标位置之间的距离;
根据各个渲染图像对应的三维模型的景深,确定所述各个深度图像的叠加顺序;
按照所述叠加顺序,对所述各个渲染图像进行叠加。
第二方面,提供了一种渲染交互方法,所述方法包括:
接收客户端发送的渲染请求,所述渲染请求包括目标三维模型的空间属性的当前量、所述空间属性的变化量及外设设备在三维场景中的交互事件中至少一项,所述空间属性的变化量根据所述交互事件的事件参数确定;
响应于所述渲染请求,根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
在另一种可能的实现方式中,所述根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像,包括:
根据每种空间属性的变化量,对相应空间属性的当前量进行调整,得到每种空间属性的更新量;
按照每种空间属性的更新量,确定所述目标三维模型的空间位置;
根据所述空间位置和所述交互事件,确定所述目标三维模型的模型元素;
根据所述模型元素,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
在另一种可能的实现方式中,所述根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像之后,还包括:
将所述目标三维模型对应的渲染图像发送至叠加引擎,以使所述叠加引擎对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,将所述叠加图像发送至所述客户端进行显示;或者,
将所述目标三维模型对应的渲染图像发送至所述客户端,以使所述客户端对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,显示所述叠加图像。
第三方面,提供了一种渲染交互装置,所述装置包括:
获取模块,用于响应于外设设备在三维场景中的交互事件,获取所述交互事件的事件参数,所述三维场景包括至少一个三维模型;
确定模块,用于根据所述事件参数,确定目标三维模型的空间属性的变化量,所述目标三维模型为所述至少一个三维模型中的全部或部分;
发送模块,用于向目标渲染服务器发送渲染请求,所述渲染请求包括所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,所述渲染请求用于请求所述目标渲染服务器重新渲染所述目标三维模型。
在另一种可能的实现方式中,所述事件参数包括所述交互事件的类型、所述外设设备的移动速度、移动方向、移动距离中至少一项;
所述空间属性包括所述目标三维模型的移动方向、移动速度、移动距离、缩放比例中至少一项。
在另一种可能的实现方式中,所述确定模块,用于获取屏幕坐标系与所述目标三维模型对应的坐标系之间的映射关系;按照所述映射关系,调整所述屏幕坐标系下获取到的事件参数,得到所述空间属性的变化量。
在另一种可能的实现方式中,所述装置还包括:
接收模块,用于接收所述目标渲染服务器发送的渲染图像,所述渲染图像为所述目标渲染服务器根据所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项渲染得到;
叠加模块,用于对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像;
显示模块,用于显示所述叠加图像。
在另一种可能的实现方式中,所述装置还包括:
接收模块,用于接收叠加引擎发送的叠加图像,所述叠加图像为所述叠加引擎对各个渲染服务器发送的渲染图像叠加得到;
显示模块,用于显示所述叠加图像。
在另一种可能的实现方式中,所述叠加模块,用于获取各个渲染图像对应的三维模型在所述交互事件发生后的景深,所述景深用于表示在所述外设设备的视角下、三维模型在所述三维场景中的位置与所述外设设备的光标位置之间的距离;根据各个渲染图像对应的三维模型的景深,确定所述各个深度图像的叠加顺序;按照所述叠加顺序,对所述各个渲染图像进行叠加。
第四方面,提供了一种渲染交互装置,所述装置包括:
接收模块,用于接收客户端发送的渲染请求,所述渲染请求包括目标三维模型的空间属性的当前量、所述空间属性的变化量及外设设备在三维场景中的交互事件中至少一项,所述空间属性的变化量根据所述交互事件的事件参数确定;
渲染模块,用于响应于所述渲染请求,根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
在另一种可能的实现方式中,所述渲染模块,用于根据每种空间属性的变化量,对相应空间属性的当前量进行调整,得到每种空间属性的更新量;按照每种空间属性的更新量,确定所述目标三维模型的空间位置;根据所述空间位置和所述交互事件,确定所述目标三维模型的模型元素;根据所述模型元素,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
在另一种可能的实现方式中,所述装置还包括:
发送模块,用于将所述目标三维模型对应的渲染图像发送至叠加引擎,以使所述叠加引擎对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,将所述叠加图像发送至所述客户端进行显示;或者,
发送模块,用于将所述目标三维模型对应的渲染图像发送至所述客户端,以使所述客户端对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,显示所述叠加图像。
第五方面,提供了一种终端,所述终端包括存储器及处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如第一方面所述的渲染交互方法。
第六方面,提供了一种服务器,所述服务器包括存储器及处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如第二方面所述的渲染交互方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序被处理器执行时能够实现如第一方面所述的渲染交互方法,或第二方面所述的渲染交互方法。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时能够实现如第一方面所述的渲染交互方法,或第二方面所述的渲染交互方法。
本申请实施例提供的技术方案带来的有益效果是:
客户端在检测到外设设备的交互事件之后,基于交互事件的事件参数,确定三维场景中待渲染的目标三维模型的空间属性的变化值,进而通过向渲染服务器发送渲染请求,使得渲染服务器能够对目标三维模型进行渲染,从而实现了客户端与渲染服务器之间的渲染交互。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种渲染交互方法所涉及的实施环境的示意图;
图2是本申请实施例提供的一种客户端的交互流程图;
图3是本申请实施例提供的另一种渲染交互方法所涉及的实施环境的示意图;
图4是本申请实施例提供的一种渲染交互方法的流程图;
图5是本申请实施例提供的一种渲染服务器A和渲染服务器B渲染的图像的效果图;
图6是本申请实施例提供的一种叠加图像的效果图;
图7是本申请实施例提供的另一种渲染服务器A和渲染服务器B渲染的图像的效果图;
图8是本申请实施例提供的另一种叠加图像的效果图;
图9是本申请实施例提供的一种渲染交互装置结构示意图;
图10是本申请实施例提供的另一种渲染交互装置结构示意图;
图11示出了本申请一个示例性实施例提供的一种电子设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请实施例所使用的术语“每个”、“多个”及“任一”等,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指对应的多个中的任意一个。举例来说,多个词语包括10个词语,而每个词语是指这10个词语中的每一个词语,任一词语是指10个词语中的任意一个词语。
本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
目前三维模型渲染被广泛应用于元宇宙、游戏、数字孪生等领域中,比如元宇宙中的三维数字场景、动漫游戏中的三维场景以及数字孪生中的三维场景。每种三维场景中都包含至少一个三维模型,通过对至少一个三维模型进行渲染,可实现三维场景的可视化。以游戏场景为例,根据游戏的风格类型,可以有不同的三维场景,比如说在古风类型的游戏的三维场景中,可以包含山脉、河流、楼台、树木、虚拟人物角色、传统建筑等三维模型。而且还可以根据虚拟游戏场景的布局设置,在三维场景中呈现各种三维模型。
在传统的三维世界加载和部署时,通常会将所有三维实际所需的资源放在同一个服务器上,利用服务器强大的渲染能力将场景中模型的根据距离远近,分等级加载和显示三维世界。当三维世界场景非常大并且涉及很多三维模型的时候,在进行场景的渲染时依赖的硬件配置就会很高,进而导致服务器会耗费大量内存、CPU(Central ProcessingUnit,中央处理器)等资源。通过空间多区域层叠将三维世界中涉及到的三维模型,分别由不同的渲染服务器加载和渲染,叠加引擎通过将不同渲染服务器的渲染图像进行叠加,得到叠加图像,进而将叠加图像发送至客户端进行显示。
然而,现有技术并没有给出在采用上述渲染方法时,客户端和渲染服务器之间的交互方案。为实现客户端和渲染服务器之间的交互,本申请实施例提供了一种渲染交互方法,该方法通过监测外设设备的交互事件,并在监测到外设设备的交互事件时,获取交互事件的事件参数,并基于交互事件的事件参数,获取三维场景中目标三维模型的空间属性的变化量,进而将目标三维模型的空间属性的当前量、空间属性的变化量及交互事件等携带在渲染请求中发送至目标渲染服务器,该目标渲染服务器为目标三维模型对应的渲染服务器,用于对目标三维模型进行渲染。目标渲染服务器根据渲染请求,对目标三维模型进行渲染,从而实现客户端和渲染服务器之间的交互和信息同步。
本申请实施例对于三维世界中涉及到的三维模型,采用分布式的多渲染服务器进行加载和渲染,在实现三维模型在不同的渲染服务器上处理的同时,通过将用户操作外设设备交互过程中三维模型的空间属性的变化量发送给渲染服务器,使得渲染服务器能够根据三维模型的空间属性的变化量进行渲染,从而保证渲染的结果符合用户的操作。
图1示出了本申请实施例提供的渲染交互方法所涉及的实施环境,参见图1,该实施环境包括:终端101和至少两个渲染服务器102。终端101和每个渲染服务器102通过网络103进行通信,该网络103可以为有线网络,也可以为无线网络。
其中,终端101可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC(Personal Computer,个人计算机)等电子设备。该终端101中安装和运行有操作系统和应用程序的客户端,该操作系统为应用程序提供对计算机硬件的安全访问的基础软件,该应用程序为支持三维场景的应用程序,例如,虚拟现实应用程序、三维地图程序、三维游戏程序等任一种。
渲染服务器102为终端101内应用程序提供渲染服务的服务器。该渲染服务器102可以是一台服务器、多台服务器组成的服务器集群、云计算平台、虚拟化中心等中的至少一种。该渲染服务器102承担主要渲染功能,终端101承担次要渲染工作;或者,渲染服务器102承担次要渲染工作,终端101承担主要渲染工作;或者,渲染服务器102、终端101之间采用分布式计算架构进行协同渲染。
在申请实施例中,终端101可以配置有外设设备,该外设设备包括鼠标、键盘、摇杆等至少一种,参见图2,在三维应用程序的运行过程中,该三维应用程序的客户端可进行事件监测、属性解析、消息发送等操作。具体地,
事件监测:检测外设设备的交互事件,诸如鼠标点击事件、鼠标移动事件、摇杆触控事件等所有的交互事件;
属性解析:根据检测到的交互事件,以鼠标为例,当检测到鼠标滑动事件,获取鼠标滑动操作的移动速度、移动方向等事件参数,进而根据该事件参数,解析当前三维场景中目标三维模型的空间属性(移动方向、移动的速度、移动距离、缩放比例等)的变化量;
消息发送:将通过解析属性得到空间属性(移动方向、移动速度、移动距离、缩放比例等)的变化量、空间属性的当前量及交互事件等中至少一项携带在渲染请求中发送给相应的渲染服务器,由相应的渲染服务器根据接收到的三维模型的变化量对三维模型进行对应的处理。
渲染服务器102接收到渲染请求,根据渲染请求中携带的空间属性(的变化量、空间属性的当前量及交互事件等中至少一项,对相应的三维模型进行渲染。
在一种可能的实现方式中,上述客户端还具有图像叠加能力,能够对各个渲染服务器生成的渲染图像进行叠加,得到叠加图像,并显示该叠加图像。针对客户端的叠加功能,当各个渲染服务器渲染完三维模型后,各个渲染服务器可将得到的渲染图像发送至客户端,客户端对各个渲染服务器发送的渲染图像叠加后,显示该叠加图像。
在另一种可能的实现方式中,上述客户端不具备图像叠加能力,参见图3,为实现对各个渲染服务器渲染的图像的叠加,该实施环境还包括:叠加引擎104,该叠加引擎104可以为一种服务器,例如,可以是一种单独的物理服务器,也可以是多个物理服务器组成的集群或分布式系统等,该叠加引擎104还可以为一种终端,例如,台式电脑、笔记本电脑等等。
当接收到各个渲染服务器发送的渲染图像,叠加引擎104获取各个渲染图像对应的三维模型交互事件发生后在三维场景中的景深,进而根据各个三维模型的景深大小,确定各个三维模型对应的渲染图像的叠加顺序,进而按照该叠加顺序,对各个渲染图像进行叠加,得到叠加图像,然后将该叠加图像发送至客户端,由客户端显示该叠加图像,从而实现了客户端、渲染服务器及叠加引擎之间的交互。通过客户端、渲染服务器及叠加引擎之间的交互,使得客户端上所显示的图像能够随着用户的操作而相应的变化,提高了用户的操作体验。
本申请实施例提供了一种渲染交互方法,以终端和渲染服务器执行本申请实施例为例,具体来说,可由终端中安装有上述应用程序的客户端执行,参见图4,本申请实施例提供的方法流程包括:
401、响应于外设设备在三维场景中的交互事件,客户端获取交互事件的事件参数。
其中,外设设备包括鼠标、键盘、摇杆等至少一种具有输入功能的设备。三维场景为三维应用程序运行过程在显示屏幕上所呈现的场景画面,该三维场景承载着场景中各个三维交互对象,每个三维交互对象对应一个三维模型,也即是,该三维场景包括至少一个三维模型,该至少一个三维模型可以包括虚拟人物、虚拟动物、虚拟背景等等。以游戏场景为例,三维场景可以为单人/多人对战场景等。
其中,交互事件可以为鼠标的点击事件、鼠标的滑动事件、键盘的操作事件、摇杆的移动事件等等,本申请实施例不对交互事件作具体的限定。交互事件的事件参数为交互事件发生时采集到的外设设备的变化参数,能够反映出外设设备的光标位置在交互事件发生过程的变动。该交互事件的事件参数包括交互事件的类型、外设设备的移动速度、移动方向、移动距离等至少一项。交互事件的类型包括点击、滑动等。在本申请实施例中,显示屏幕对应一个坐标系,该坐标系用于确定发生在显示屏幕上交互事件的事件参数。基于该显示屏幕对应的坐标系,当监测到外设设备的交互事件时,可根据外设设备的光标位置的移动,确定在该坐标系下交互事件的事件参数。
例如,基于该显示屏幕对应的坐标系,当监测到交互事件发生时,外设设备的光标的坐标为(x1,y1),交互事件结束时,外设设备的光标的坐标为(x2,y2),则可根据移动前后光标的坐标,可以确定出外设设备的移动距离,并进一步确定出外设设备的移动方向与X轴(水平方向)之间的夹角。在交互事件发生过程中,该客户端可调用系统时钟记录交互事件的发生时间,进而根据移动距离,计算出外设设备的移动速度;客户端还可调用陀螺仪等设备获取外设设备的移动速度。
402、客户端根据事件参数,确定目标三维模型的空间属性的变化量。
其中,三维目标模型为检测到交互事件之后三维场景中需要渲染的模型,该目标三维模型为至少一个三维模型中的全部或部分。目标三维模型主要根据外设设备的交互事件确定。举例来说,外设设备的交互事件为移动事件,在外设设备移动过程中,三维场景中各个三维模型的位置、尺寸等会随着外设设备的移动变化,因而可将三维场景中的全部三维模型作为目标三维模型;举例来说,外设设备的交互事件为点击事件,外设设备并未移动,诸如对某一三维模型的选择操作,或者对某一三维模型的攻击操作,以外设设备作为第一视角,第一视角内显示的三维模型的数量及尺寸并没有变化,此时可将三维场景中全部的三维模型作为目标三维模型,也可从节省渲染服务器的资源消耗角度,将被选择或被攻击的三维模型作为目标三维模型。
其中,空间属性用于表示目标三维模型相对于自身的空间位置变化,该空间属性包括目标三维模型的移动方向、移动速度、移动距离、缩放比例等中至少一项。在根据事件参数,确定目标三维模型的空间属性的变化量时,包括以下步骤:
4021、获取屏幕坐标系与目标三维模型对应的坐标系之间的映射关系。
在本申请实施例中,每个三维模型都对应一个坐标系,该坐标系与屏幕坐标系具有映射关系,通过获取屏幕坐标系与目标三维模型对应的坐标系之间的映射关系,能够在外设设备移动过程中,将外设设备的事件参数转换成目标三维模型相对于自身在交互事件发生前的空间属性的变化量。
4022、按照映射关系,调整屏幕坐标系下获取到的事件参数,得到空间属性的变化量。
基于屏幕坐标系与目标三维模型对应的坐标系之间的映射关系,可将事件参数中的移动方向、移动速度、移动距离等,转换成目标三维模型对应的坐标系下的相应移动方向、移动速度、移动距离等。
进一步地,如果目标三维模型包括三维场景中全部的三维模型,对于位置、尺寸大小等空间属性均未变化的目标三维模型,则可确定该目标三维模型的空间属性的变化量为0,而无需进行计算。
403、客户端向目标渲染服务器发送渲染请求。
其中,渲染请求包括空间属性的当前量、空间属性的变化量及交互事件等中至少一项。该渲染请求用于请求目标渲染服务器对目标三维模型进行渲染。
404、响应于渲染请求,目标渲染服务器根据空间属性的当前量、空间属性的变化量及交互事件中至少一项,对目标三维模型进行渲染,得到目标三维模型对应的渲染图像。
当接收到客户端发送的渲染请求,响应于该渲染请求,目标渲染服务器将根据空间属性的当前量、空间属性的变化量及交互事件中至少一项,对目标三维模型进行渲染,得到目标三维模型对应的渲染图像。具体地,可采用如下方法:
4041、根据每种空间属性的变化量,对相应空间属性的当前量进行调整,得到每种空间属性的更新量。
在一种可能的实现方式中,基于每种空间属性的变化量,目标渲染服务器则在相应空间属性的当前量基础上,基于每种空间属性的变化量,对相应空间属性的变化量进行调整,得到每种空间属性的更新量。例如,目标三维模型正沿着X轴正方向以3厘米/秒的速度移动,如果获取空间属性的变化量为:移动方向是正北方向,移动速度为4厘米/秒,则需要在X轴正方向基础上,对X轴正向和正北方向进行合成,得到移动方向为东北方向,移动速度为5厘米/秒。
在另一种可能的实现方式中,渲染服务器中配置有调整模块,用于对接收到的每种空间属性的变化量进行调整,因此,当获取到每种空间属性的变化量,渲染服务器还将基于该调整模型,对每种空间属性的变化量进行调整,然后基于每种属性调整后的变化量,对每种空间属性的当前值进行调整。
4042、按照每种空间属性的更新量,确定目标三维模型的空间位置。
基于每种空间属性的更新量,目标渲染服务器确定渲染时刻目标三维模型在三维画布上的空间位置,进而在后续步骤中基于该空间位置对目标三维模型进行渲染。
4043、根据空间位置和交互事件,确定目标三维模型的模型元素。
其中,模型元素为构建目标三维模型的各个元素,为目标三维模型的一部分,例如,目标三维模型为虚拟人物,则目标三维模型的模型参数为虚拟人物的头部、上肢、下肢、躯干部分等。
基于空间位置和交互事件,目标渲染服务器可确定目标三维模型中在三维画布中能够保留的模型元素,以及每个模型元素的大小。例如,基于空间位置可以确定出目标三维模型中模型元素A和模型元素B能够保留在三维画布上,而交互事件为对目标三维模型中模型元素A的攻击事件,攻击后该模型元素A消失,则根据空间位置和交互事件可确定出最终保留在三维画布上的模型元素B。
4044、根据模型元素,对目标三维模型进行渲染,得到目标三维模型对应的渲染图像。
基于所确定的模型元素,渲染服务器将该模型元素渲染到三维画布上,得到该目标三维模型对应的渲染图像。
进一步,为便于后续对不同渲染服务器得到的渲染图像叠加时,不同渲染图像中的三维模型不被其他渲染图像的背景色遮挡,可将渲染图像上除三维模型所在的图像区域以外的其他图像区域设置为透明色。
由于三维模型由不同的渲染服务器进行渲染,当客户端检测到交互事件时,通过将用户的操作指令同步到各个渲染服务器,使得各个渲染服务器同时能够根据用户的操作指令来调整渲染服务器的内容的输出,从而使得渲染的图像能够符合当前场景下的显示要求。
在本申请的另一个实施例中,为实现客户端的显示,目标渲染服务器得到目标三维模型对应的渲染图像之后,可将目标三维模型对应的渲染图像发送至叠加引擎,当接收到目标三维模型对应的渲染图像之后,叠加引擎对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,进而将叠加图像发送至客户端进行显示。
在本申请的另一个实施例中,目标渲染服务器得到目标三维模型对应的渲染图像之后,还可将目标三维模型对应的渲染图像发送至客户端,客户端接收到目标三维模型对应的渲染图像,对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,进而显示该叠加图像。
上述叠加引擎或客户端在对各个渲染服务器发送的渲染图像进行叠加时,可采用如下方法:
第一步,获取各个渲染图像对应的三维模型在交互事件发生后的景深。
其中,景深用于表示在外设设备的视角下、三维模型在三维场景中的位置与外设设备的光标位置之间的距离。通常景深越大,表示三维模型在三维场景中与外设设备的光标位置越远,也即是,该三维模型为三维场景中的远景;景深越小,表示三维模型在三维场景中与外设设备的光标位置越近,也即是,该三维模型为三维场景中的近景。
第二步,根据各个渲染图像对应的三维模型的景深,确定各个深度图像的叠加顺序。
根据各个渲染图像对应的三维模型的景深,按照景深由小到的顺序,对各个深度图像进行排序,为景深最小的渲染图像设置最小的叠加顺序,也即是,将该景深最小的深度图像作为最上层的图层进行叠加;为景深最大的深度图像设置最大的叠加顺序,也即是,将该景深最大的渲染图像作为最下层的图层进行叠加。
第三步,按照叠加顺序,对各个渲染图像进行叠加。
基于各个渲染渲染图像对应的叠加顺序,按照叠加顺序由大到小的顺序,对各个渲染图像进行叠加,最终得到叠加图像。
图5示出了渲染服务器A和渲染服务器B对图像的渲染过程,渲染服务器A接收到渲染请求后,对三维模型A进行渲染,得到渲染图像A;渲染服务器B接收到渲染请求后,对三维模型B进行渲染,得到渲染图像B。然后渲染服务器A将渲染图像A发送给叠加引擎,渲染服务器B将渲染图像B发送给渲染引擎,叠加引擎对该渲染图像A和渲染图像B进行叠加。根据三维模型A和三维模型B对应的景深,将渲染图像A叠加在底层,将渲染图像B叠加在顶层,得到图6所示的叠加图像。
当在三维场景中监测到外设设备的滑动事件,客户端获取滑动事件的事件参数,进而基于该事件参数,确定出三维模型A对应的空间属性的变化量,并确定出三维模型B对应的空间属性的变化量,进而向渲染服务器A发送携带三维模型A的空间属性的变化量、空间属性的当前量及滑动事件等的渲染请求,并向渲染服务器B发送携带三维模型B的空间属性的变化量、空间属性的当前量及滑动事件等的渲染请求。参见图7,响应于接收到的渲染请求,渲染服务器A对三维模型A进行渲染,得到渲染图像A`;响应于接收到的渲染请求,渲染服务器对三维模型B进行渲染,得到渲染图像B`。然后,渲染服务器A将渲染图像A`发送给叠加引擎,渲染服务器B将渲染图像B`发送给渲染引擎,叠加引擎对该渲染图像A`和渲染图像B`进行叠加,根据三维模型A和三维模型B对应的景深,将渲染图像A`叠加在底层,将渲染图像B`叠加在顶层,得到图8所示的叠加图像。
本申请实施例提供的方法,客户端在检测到外设设备的交互事件之后,基于交互事件的事件参数,确定三维场景中待渲染的目标三维模型的空间属性的变化值,进而通过向渲染服务器发送渲染请求,使得渲染服务器能够对目标三维模型进行渲染,从而实现了客户端与渲染服务器之间的渲染交互。
请参考图9,其示出了本申请实施例提供了一种渲染交互装置的结构示意图,该装置可以通过软件、硬件或者二者结合实现,成为终端的全部或一部分,该装置包括:
获取模块901,用于响应于外设设备在三维场景中的交互事件,获取交互事件的事件参数,该三维场景包括至少一个三维模型;
确定模块902,用于根据事件参数,确定目标三维模型的空间属性的变化量,该目标三维模型为至少一个三维模型中的全部或部分;
发送模块903,用于向目标渲染服务器发送渲染请求,该渲染请求包括目标三维模型的空间属性的当前量、空间属性的变化量及交互事件中至少一项,该渲染请求用于请求目标渲染服务器重新渲染目标三维模型。
在另一种可能的实现方式中,事件参数包括交互事件的类型、外设设备的移动速度、移动方向、移动距离中至少一项;
空间属性包括目标三维模型的移动方向、移动速度、移动距离、缩放比例中至少一项。
在另一种可能的实现方式中,确定模块902,用于获取屏幕坐标系与目标三维模型对应的坐标系之间的映射关系;按照映射关系,调整屏幕坐标系下获取到的事件参数,得到空间属性的变化量。
在另一种可能的实现方式中,该装置还包括:
接收模块,用于接收目标渲染服务器发送的渲染图像,渲染图像为目标渲染服务器根据目标三维模型的空间属性的当前量、空间属性的变化量及交互事件中至少一项渲染得到;
叠加模块,用于对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像;
显示模块,用于显示叠加图像。
在另一种可能的实现方式中,该装置还包括:
接收模块,用于接收叠加引擎发送的叠加图像,叠加图像为叠加引擎对各个渲染服务器发送的渲染图像叠加得到;
显示模块,用于显示叠加图像。
在另一种可能的实现方式中,叠加模块,用于获取各个渲染图像对应的三维模型在交互事件发生后的景深,景深用于表示在外设设备的视角下、三维模型在三维场景中的位置与外设设备的光标位置之间的距离;根据各个渲染图像对应的三维模型的景深,确定各个深度图像的叠加顺序;按照叠加顺序,对各个渲染图像进行叠加。
综上,本申请实施例提供的装置,客户端在检测到外设设备的交互事件之后,基于交互事件的事件参数,确定三维场景中待渲染的目标三维模型的空间属性的变化值,进而通过向渲染服务器发送渲染请求,使得渲染服务器能够对目标三维模型进行渲染,从而实现了客户端与渲染服务器之间的渲染交互。
请参考图10,其示出了本申请实施例提供了一种渲染交互装置的结构示意图,该装置可以通过软件、硬件或者二者结合实现,成为渲染服务器的全部或一部分,该装置包括:
接收模块1001,用于接收客户端发送的渲染请求,该渲染请求包括目标三维模型的空间属性的当前量、空间属性的变化量及外设设备在三维场景中的交互事件中至少一项,该空间属性的变化量根据交互事件的事件参数确定;
渲染模块1002,用于响应于渲染请求,根据空间属性的当前量、空间属性的变化量及交互事件中至少一项,对目标三维模型进行渲染,得到目标三维模型对应的渲染图像。
在另一种可能的实现方式中,渲染模块1002,用于根据每种空间属性的变化量,对相应空间属性的当前量进行调整,得到每种空间属性的更新量;按照每种空间属性的更新量,确定目标三维模型的空间位置;根据空间位置和交互事件,确定目标三维模型的模型元素;根据模型元素,对目标三维模型进行渲染,得到目标三维模型对应的渲染图像。
在另一种可能的实现方式中,该装置还包括:
发送模块,用于将目标三维模型对应的渲染图像发送至叠加引擎,以使叠加引擎对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,将叠加图像发送至客户端进行显示;或者,
发送模块,用于将目标三维模型对应的渲染图像发送至客户端,以使客户端对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,显示叠加图像。
本申请实施例提供的装置,渲染服务器接收客户端发送的渲染请求,该渲染请求为客户端在检测到外设设备的交互事件之后,基于交互事件的事件参数确定出三维场景中待渲染的目标三维模型的空间属性的变化值后发送,基于该渲染请求,渲染服务器能够对目标三维模型进行渲染,从而实现了客户端与渲染服务器之间的渲染交互。
图11示出了本申请一个示例性实施例提供的一种电子设备1100的结构框图。该电子设备1100可以为终端,也可以为渲染服务器。通常,电子设备1100包括有:处理器1101和存储器1102。
处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是CD-ROM(Compact Disc Read-Only Memory,只读光盘)、ROM、RAM(Random AccessMemory,随机存取存储器)、磁带、软盘和光数据存储设备等。该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序被执行时能够实现渲染交互方法。
当然,上述电子设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理器和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于电子设备和其他设备之间有线或无线方式的通信等。
本领域技术人员可以理解,图11中示出的结构并不构成对电子设备1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序被处理器执行时能够实现上述渲染交互方法。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时能够实现上述渲染交互方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (14)

1.一种渲染交互方法,其特征在于,所述方法包括:
响应于外设设备在三维场景中的交互事件,获取所述交互事件的事件参数,所述三维场景包括至少一个三维模型;
根据所述事件参数,确定目标三维模型的空间属性的变化量,所述目标三维模型为所述至少一个三维模型中的全部或部分;
向目标渲染服务器发送渲染请求,所述渲染请求包括所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,所述渲染请求用于请求所述目标渲染服务器重新渲染所述目标三维模型。
2.根据权利要求1所述的方法,其特征在于,所述事件参数包括所述交互事件的类型、所述外设设备的移动速度、移动方向、移动距离中至少一项;
所述空间属性包括所述目标三维模型的移动方向、移动速度、移动距离、缩放比例中至少一项。
3.根据权利要求1所述的方法,其特征在于,所述根据所述事件参数,确定目标三维模型的空间属性的变化量,包括:
获取屏幕坐标系与所述目标三维模型对应的坐标系之间的映射关系;
按照所述映射关系,调整所述屏幕坐标系下获取到的事件参数,得到所述空间属性的变化量。
4.根据权利要求1所述的方法,其特征在于,所述向目标渲染服务器发送渲染请求之后,还包括:
接收所述目标渲染服务器发送的渲染图像,所述渲染图像为所述目标渲染服务器根据所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项渲染得到;
对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像;
显示所述叠加图像。
5.根据权利要求1所述的方法,其特征在于,所述向目标渲染服务器发送渲染请求之后,还包括:
接收叠加引擎发送的叠加图像,所述叠加图像为所述叠加引擎对各个渲染服务器发送的渲染图像叠加得到;
显示所述叠加图像。
6.根据权利要求4或5所述的方法,其特征在于,所述对各个渲染服务器发送的渲染图像进行叠加,包括:
获取各个渲染图像对应的三维模型在所述交互事件发生后的景深,所述景深用于表示在所述外设设备的视角下、三维模型在所述三维场景中的位置与所述外设设备的光标位置之间的距离;
根据各个渲染图像对应的三维模型的景深,确定所述各个深度图像的叠加顺序;
按照所述叠加顺序,对所述各个渲染图像进行叠加。
7.一种渲染交互方法,其特征在于,所述方法包括:
接收客户端发送的渲染请求,所述渲染请求包括目标三维模型的空间属性的当前量、所述空间属性的变化量及外设设备在三维场景中的交互事件中至少一项,所述空间属性的变化量根据所述交互事件的事件参数确定;
响应于所述渲染请求,根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
8.根据权利要求7所述的方法,其特征在于,所述根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像,包括:
根据每种空间属性的变化量,对相应空间属性的当前量进行调整,得到每种空间属性的更新量;
按照每种空间属性的更新量,确定所述目标三维模型的空间位置;
根据所述空间位置和所述交互事件,确定所述目标三维模型的模型元素;
根据所述模型元素,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
9.根据权利要求7所述的方法,其特征在于,所述根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像之后,还包括:
将所述目标三维模型对应的渲染图像发送至叠加引擎,以使所述叠加引擎对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,将所述叠加图像发送至所述客户端进行显示;或者,
将所述目标三维模型对应的渲染图像发送至所述客户端,以使所述客户端对各个渲染服务器发送的渲染图像进行叠加,得到叠加图像,显示所述叠加图像。
10.一种渲染交互装置,其特征在于,所述装置包括:
获取模块,用于响应于外设设备在三维场景中的交互事件,获取所述交互事件的事件参数,所述三维场景包括至少一个三维模型;
确定模块,用于根据所述事件参数,确定目标三维模型的空间属性的变化量,所述目标三维模型为所述至少一个三维模型中的全部或部分;
发送模块,用于向目标渲染服务器发送渲染请求,所述渲染请求包括所述目标三维模型的空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,所述渲染请求用于请求所述目标渲染服务器重新渲染所述目标三维模型。
11.一种渲染交互装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的渲染请求,所述渲染请求包括目标三维模型的空间属性的当前量、所述空间属性的变化量及外设设备在三维场景中的交互事件中至少一项,所述空间属性的变化量根据所述交互事件的事件参数确定;
渲染模块,用于响应于所述渲染请求,根据所述空间属性的当前量、所述空间属性的变化量及所述交互事件中至少一项,对所述目标三维模型进行渲染,得到所述目标三维模型对应的渲染图像。
12.一种终端,其特征在于,所述终端包括存储器及处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至6中任一项所述的渲染交互方法。
13.一种服务器,其特征在于,所述服务器包括存储器及处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求7至9中任一项所述的渲染交互方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序被处理器执行时能够实现如权利要求1至6中任一项所述的渲染交互方法,或权利要求7至9中任一项所述的渲染交互方法。
CN202211542949.5A 2022-12-02 2022-12-02 渲染交互方法、装置、终端、服务器、存储介质及产品 Pending CN115965731A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211542949.5A CN115965731A (zh) 2022-12-02 2022-12-02 渲染交互方法、装置、终端、服务器、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211542949.5A CN115965731A (zh) 2022-12-02 2022-12-02 渲染交互方法、装置、终端、服务器、存储介质及产品

Publications (1)

Publication Number Publication Date
CN115965731A true CN115965731A (zh) 2023-04-14

Family

ID=87352202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211542949.5A Pending CN115965731A (zh) 2022-12-02 2022-12-02 渲染交互方法、装置、终端、服务器、存储介质及产品

Country Status (1)

Country Link
CN (1) CN115965731A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117258303A (zh) * 2023-11-20 2023-12-22 腾讯科技(深圳)有限公司 一种模型对比方法及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117258303A (zh) * 2023-11-20 2023-12-22 腾讯科技(深圳)有限公司 一种模型对比方法及相关装置
CN117258303B (zh) * 2023-11-20 2024-03-12 腾讯科技(深圳)有限公司 一种模型对比方法及相关装置

Similar Documents

Publication Publication Date Title
US10657716B2 (en) Collaborative augmented reality system
JP7387758B2 (ja) インタフェース表示方法、装置、端末、記憶媒体及びコンピュータプログラム
CN109102560B (zh) 三维模型渲染方法及装置
CN112138386A (zh) 一种体积渲染方法、装置、存储介质及计算机设备
US20230290043A1 (en) Picture generation method and apparatus, device, and medium
WO2023020254A1 (zh) 用户界面的显示方法、装置、设备及存储介质
CN113952720A (zh) 游戏场景渲染方法、装置、电子设备及存储介质
CN111142967B (zh) 一种增强现实显示的方法、装置、电子设备和存储介质
CN115965731A (zh) 渲染交互方法、装置、终端、服务器、存储介质及产品
CN113332720A (zh) 一种游戏地图展示方法、装置、计算机设备和存储介质
US20230142566A1 (en) System and method for precise positioning with touchscreen gestures
CN114344894B (zh) 场景元素处理方法、装置、设备和介质
CN113192173B (zh) 三维场景的图像处理方法、装置及电子设备
CN116402931A (zh) 体积渲染方法、装置、计算机设备和计算机可读存储介质
EP4325344A1 (en) Multi-terminal collaborative display update method and apparatus
CN114742970A (zh) 虚拟三维模型的处理方法、非易失性存储介质及电子装置
CN112843697A (zh) 一种图像处理方法、装置、存储介质及计算机设备
GB2595445A (en) Digital sandtray
US11875445B2 (en) Seamless image processing of a tiled image region
CN112365567B (zh) 场景切换方法、装置及设备
CN114332333A (zh) 遮挡效果的渲染方法、装置、计算机设备及可读存储介质
US20220392150A1 (en) Computer-assisted graphical development tools
CN113144591A (zh) 虚拟角色的边缘绘制方法、装置及电子设备
CN115588066A (zh) 一种虚拟对象的渲染方法、装置、计算机设备及存储介质
CN114419233A (zh) 模型生成方法、装置、计算机设备及存储介质

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