CN110431513B - 媒体内容发送方法、装置及存储介质 - Google Patents
媒体内容发送方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110431513B CN110431513B CN201880003415.0A CN201880003415A CN110431513B CN 110431513 B CN110431513 B CN 110431513B CN 201880003415 A CN201880003415 A CN 201880003415A CN 110431513 B CN110431513 B CN 110431513B
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual carrier
- client
- carrier
- real
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种媒体内容发送方法,所述方法包括:展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体;当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知所述应用服务器设置所述虚拟载体的状态为第二状态;所述虚拟控制体控制所述虚拟载体为释放状态。本申请还公开了相应的应用于应用服务器的媒体内容发送方法、装置及存储介质。
Description
技术领域
本申请涉及虚拟现实技术领域,尤其涉及虚拟现实环境下的媒体内容发送方法、装置及存储介质。
背景技术
虚拟现实(Virtual Reality VR)技术利用电脑或其他智能计算设备,结合光电传感技术生成逼真的视、听、触一体化的特定范围内的虚拟环境。虚拟现实技术产生的虚拟空间向用户提供视觉、听觉和触觉等感官的体验,使之产生对虚拟空间身临其境的体验。由于其能够超越物理条件的限制,创造多样化的场景来适应多样化的应用需求,因而虚拟现实技术在很多领域都得到了广泛的应用。举例来说,虚拟现实技术可以应用在游戏领域,例如,结合VR的射击游戏,网球游戏等等,虚拟现实技术提供的身临其境的场景增加了游戏的趣味性。虚拟现实技术受到越来越多的关注。
发明内容
本申请实例提供了一种媒体内容发送方法,应用于第一客户端,所述方法包括:
展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体;
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知所述应用服务器设置所述虚拟载体的状态为第二状态;
所述虚拟控制体控制所述虚拟载体为释放状态。
本申请实例还提供了一种媒体内容发送方法,应用于应用服务器,包括:
向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联;
接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态;
将所述虚拟载体的信息发送给第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容。
本申请实例还提供了一种媒体内容发送装置,所述装置包括:
展示模块,展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体;
媒体内容发送模块,用以当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知所述应用服务器设置所述虚拟载体的状态为第二状态
释放模块,用以所述虚拟控制体控制所述虚拟载体为释放状态。
本申请实例还提供了一种媒体内容发送装置,所述装置包括:
第一信息发送模块,用以向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联;
消息接收模块,用以接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态;
第二信息发送模块,用以将所述虚拟载体的信息发送给第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容。
本申请实例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如上述应用于第一客户端的所述的方法。
本申请实例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如上述应用于应用服务器的所述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是是本申请实例涉及的***构架图;
图2是本申请一实例应用于第一客户端的媒体内容发送方法的流程图;
图3A为在虚拟空间中选取虚拟载体的示意图;
图3B为在虚拟空间中抓取虚拟载体的示意图;
图3C为在虚拟空间中对虚拟载体关联媒体内容的示意图;
图3D为在虚拟空间中释放虚拟载体的示意图;
图4A为第一VR设备头戴设备400的结构示意图;
图4B为第一VR设备控制器410的结构示意图;
图5为本申请一实例选取虚拟载体后获取虚拟载体关联的媒体内容的方法的流程图;
图6为本申请一实例获取虚拟载体关联的媒体内容的详细流程图;
图7为本申请一实例对虚拟载体进行互动的流程图;
图8为本申请一实例展示虚拟载体携带的互动信息的示意图;
图9为本申请一实例监听手势“摇一摇”操作的流程示意图;
图10为本申请一实例应用于应用服务器的媒体内容发送方法的流程示意图;
图11为本申请一实例虚拟语音球传递语音的消息交互图;
图12为本申请一实例媒体内容发送装置的结构示意图;
图13为本申请另一实例媒体内容发送装置的结构示意图;
以及
图14为本申请实例中的计算设备组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提出的媒体内容发送方法可应用于VR***。图1示出了一种VR***100,其包括:第一客户端101、第二客户端102、第一VR设备103、第二VR设备104、应用服务器105及数据内容服务器106。在VR***100中,可以包括多个第二客户端102及对应的第二VR设备。第一客户端101及第二客户端102与应用服务器105及数据内容服务器106通过互联网进行连接。
第一客户端101及第二客户端102为VR客户端(即VR APP)。第一VR设备103及第二VR设备104可包括用户可操作的控制器(Controller)和可穿戴的装备(如:各种VR头戴设备、VR体感设备等)。第一客户端101可与第一VR设备103进行信息交互,以为用户提供沉浸式的VR图像并完成相应的操作功能,第二客户端102可与第二VR设备104进行信息交互以为用户提供沉浸式的VR图像并完成相应的操作功能。在图1中,第一VR设备103与第一客户端101、第二VR设备104与第二客户端102为独立的部件,在一些实例中,第一VR设备103与第一客户端101集成为一体,第二VR设备104与第二客户端102集成为一体。VR客户端可根据可穿戴的装备提供的用户在虚拟空间中的位置信息以及运动信息为用户展示相应的VR图像数据,以给用户带来沉浸式体验。VR客户端还可以响应于用户操作控制器发出的指令而执行相应的操作,比如:抓取虚拟空间中的虚拟物体。VR客户端可根据虚拟空间中的虚拟物体的位置数据及运动数据,生成VR全景图像数据,比如:全景图片、全景视频、VR游戏等。应用服务器105为VR应用服务器(简称VR服务器),VR服务器中保存有虚拟空间中的虚拟物体的实时位置数据、运动数据及状态数据,可响应于VR客户端的请求而执行相应的处理。例如,响应于VR客户端的登录请求,将虚拟空间中的虚拟物体的实时位置数据、运动数据及状态数据发送给所述VR客户端。数据内容服务器106用以接收VR客户端上传的媒体内容,该媒体内容与虚拟空间中的虚拟载体相关联。数据内容服务器106还可响应于VR客户端的请求,将媒体内容发送给VR客户端。
这里,上述VR客户端所在终端设备是指具有数据计算处理功能的终端设备,包括但不限于(安装有通信模块的)智能手机、掌上电脑、平板电脑等。所述终端设备还可以与所述VR设备装备为一体。这些通信终端上都安装有操作***,包括但不限于:Android操作***、Symbian操作***、Windows mobile操作***、以及苹果iPhone OS操作***等等。上述的VR头戴设备(HMD,Head Mount Display)包括可以显示实时的画面的屏幕。上述数据内容服务器可以为CDN(Content Delivery Netwoek,内容分发网络)服务器。
本申请提供了一种媒体内容的发送方法200,应用于VR客户端,具体地,可以由终端设备上的VR客户端执行所述方法,如图2所示,该方法包括以下步骤:
S201:展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体。
所述虚拟空间中包括一个或多个虚拟载体及一个或多个虚拟角色。所述一个或多个虚拟载体用于在虚拟空间中传递信息,例如,一个虚拟角色对应的客户端使一个虚拟载体关联信息,当该虚拟角色将该虚拟载体释放后,被另一个虚拟角色抓取到该虚拟载体,则该另一个虚拟角色对应的客户端可获取该虚拟载体关联的信息。其中,一个虚拟角色对应一个客户端,通过控制客户端关联的VR设备控制对应的虚拟角色完成相应操作。所述虚拟控制体与所述第一客户端关联,例如,所述虚拟控制体为所述第一客户端关联的虚拟角色的虚拟双手。所述客户端(包括第一客户端)为基于支持VR的三维渲染引擎(例如UE4)开发得到的客户端。该第一客户端中包括各虚拟载体、各虚拟角色的3D模型,第一客户端可以从应用服务器获取各虚拟载体的信息及各虚拟角色的信息,根据各虚拟载体的信息及各虚拟角色的信息将各虚拟载体、各虚拟角色的3D模型设置在虚拟空间中。进而通过坐标变换,生成要渲染到屏幕上的所有网格数据。对该网格数据进行渲染,生成虚拟现实图像。将生成的虚拟现实图像发送到第一客户端关联的第一VR设备的头戴设备的显示屏显示,从而展示对应的虚拟空间。第一客户端在进行上述渲染时,可以只渲染第一客户端关联的第一虚拟角色的双手,忽略第一虚拟角色的身体。该第一虚拟角色的双手即上述虚拟控制体。例如,在VR游戏场景300中,展示如图3A所示的虚拟空间,在该虚拟空间中,包括四个虚拟玩家303(也可以称为虚拟角色)。其中当前玩家只展示该玩家的虚拟手301,也即上述的虚拟控制体。该虚拟控制体与第一VR设备的控制器(也称手柄)相对应,可以通过控制控制器来控制虚拟控制体执行所需要的操作。虚拟空间中还包括一个虚拟语音球302,也即上述虚拟载体。虚拟空间中的虚拟玩家可以抓取到所述虚拟语音球302后,将虚拟语音球关联语音,之后将虚拟语音球释放,例如抛出,接收到虚拟语音球302的其他虚拟玩家获取到虚拟语音球关联的语音。通过虚拟语音球302实现语音的传递。其中,虚拟空间中虚拟语音球的个数可以为一个或多个,在此不做具体限定。
S202:当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知所述应用服务器设置所述虚拟载体的状态为第二状态。
虚拟载体具有不同的状态,虚拟载体的第一状态为虚拟载体的初始状态,即虚拟载体不关联媒体内容的状态,虚拟载体的第二状态为虚拟载体关联媒体内容后的状态。当虚拟载体状态不同时,虚拟载体在虚拟空间中的颜色不同。例如,图3A所示的VR游戏的虚拟空间中,第一状态(初始状态)的虚拟语音球,例如为金色的。在图3B中,当抓取到虚拟语音球并将虚拟语音球关联媒体内容后,第二状态(关联媒体内容后的状态)的虚拟语音球,例如为红色的。当抓取到的虚拟载体的状态为第一状态时,即初始状态时,将虚拟载体关联媒体内容,该媒体内容可以是第一客户端选择本地存储的媒体内容,也可以为通过与第一客户端关联的外设采集的媒体内容,例如,通过录音部件404录制的语音。用户可以录制一段话或者自己唱一首歌,所述录音部件可以为麦克风。第一客户端上包括与所述录音部件协作的语音实时传输部件,例如,实时语音传输第三方库会在每帧实时抓取录音部件,例如麦克风中的语音,并转化为PCM数据格式,保存在第一客户端所在终端的缓存中。在将虚拟载体关联媒体内容的过程中,在虚拟空间中,可以在虚拟载体的上方添加录音的特效。如图3B所示,在虚拟语音球上添加有特效305。语音数据录制结束后,将缓存中的PCM数据上传到数据内容服务器106,保存成PCM文件,同时保存的PCM文件与虚拟语音球的标识关联保存。所述数据内容服务器106可以为CDN服务器,使用CDN服务器能够保证客户端在任何地点都能及时更新到所需的语音文件。当虚拟语音球录音后,虚拟语音球的状态发生了改变,第一客户端通知应用服务器105,由应用服务器105该虚拟语音球的状态设置为第二状态,第二状态为已录音状态。第一客户端与应用服务器105及数据内容服务器106进行通信时,可以通过网络同步单元进行,例如虚幻引擎中用以网络同步的模块。
S203:所述虚拟控制体控制所述虚拟载体为释放状态。
当获取到与虚拟载体对应的媒体内容,并上传给数据内容服务器106之后,用户可以通过控制控制器释放虚拟载体,例如,用户可以通过手拿控制器做出抛的动作,以实现控制虚拟空间中虚拟控制体抛出虚拟载体的目的。此外,还可以实现踢出虚拟载体、扔出虚拟载体、打出虚拟载体等多种释放虚拟载体的方式。当第一客户端对应的虚拟角色在虚拟空间中将虚拟载体抛出后,虚拟载体的位置数据会发生变化,第一客户端向应用服务器发送虚拟载体的实时位置数据,应用服务器将虚拟载体的实时位置数据更新给第二客户端,使得第二客户端根据虚拟载体的实时位置数据更新虚拟空间中虚拟载体的位置。同时当虚拟载体的状态发生变化时,虚拟载体的颜色也发生变化,应用服务器将虚拟载体的状态更新给第二客户端,使得第二客户端根据虚拟载体的状态更新虚拟空间中虚拟载体的颜色。例如,在上述所述的VR游戏场景中,当虚拟语音球被抛出后,其他玩家可以抓取到该虚拟语音球,并获取虚拟语音球关联的语音。具体地,应用服务器105会实时将虚拟语音球的状态及该虚拟语音球的标识更新给第二客户端,当第二客户端对应的玩家选取到该虚拟语音球后,当虚拟语音球的状态为第二状态时,根据该虚拟语音球的标识,去CDN服务器获取与该虚拟语音球关联的媒体内容。从而通过虚拟语音球实现媒体内容的传递和交流。
采用本申请提供的媒体内容的发送方法,抓取虚拟载体时,输入媒体内容,将该媒体内容上传给数据内容服务器,使虚拟载体与所述媒体内容相关联,在虚拟空间中释放虚拟载体。使得虚拟空间中的虚拟载体作为媒体内容的载体,虚拟载体关联的媒体内容随着虚拟载体在虚拟空间中的传递在多个客户端之间进行传递,使得媒体内容的交互具有3D立体沉浸感,同时媒体内容关联虚拟空间中的虚拟载体,提升VR社交的真实感。
在一些实例中,在上述步骤201中,在执行所述展示虚拟空间时,包括步骤:
S301:接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息。
S302:根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所述虚拟空间。
第一客户端从应用服务器获取虚拟空间中各虚拟载体及各虚拟角色的信息,进而根据获取到的各虚拟载体的信息及各虚拟角色的信息展示虚拟空间。在一些实例中,当用户登录第一客户端101时,第一客户端101向应用服务器105发送登录请求,应用服务器105将虚拟空间中的各虚拟载体的信息及各虚拟角色的信息发送给第一客户端101。其中,一虚拟角色对应一客户端,第一客户端对应的第一虚拟角色为所述虚拟控制体,例如,所述虚拟控制体为所述第一虚拟角色的双手。所述虚拟载体的信息包括:所述虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据。该虚拟载体可以为虚拟空间中的虚拟语音球,虚拟语音球本身具有球的形态特性及弹性物理属性,可以满足一般球类的娱乐目的。所述虚拟角色的信息包括虚拟角色在虚拟空间中的初始位置。
第一客户端在展示虚拟空间时,根据各虚拟载体的位置信息在虚拟空间的对应位置处展示各虚拟载体。同时根据各虚拟角色的初始位置信息在虚拟空间中展示各虚拟角色。后续,第一客户端还会接收应用服务器发送的虚拟空间中各虚拟载体及各虚拟角色的实时位置数据,进而更新虚拟空间中的各虚拟载体及各虚拟角色。第一客户端在展示虚拟空间时,对于第一客户端关联的第一虚拟角色,可以在虚拟空间中只展示第一虚拟角色的双手(虚拟控制体)。在虚拟空间中展示虚拟控制体时,可以根据虚拟角色的位置数据确定虚拟控制体的位置数据,进而在虚拟空间中展示虚拟控制体。其中,第一虚拟角色的初始位置数据可以为第一虚拟角色的中心的位置数据,例如,在VR游戏中,虚拟角色的中心点为虚拟玩家的中心点,进而根据虚拟角色的中心的位置数据确定虚拟控制体的位置。
在一些实例中,在上述步骤202中,在执行所述当所述虚拟控制体抓取所述至少一个虚拟载体中的一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容时,包括步骤:
S401:获取所述第一客户端关联的控制器的实时位置数据;
S402:接收应用服务器发送的所述虚拟载体的实时位置数据;
S403:当根据所述虚拟载体的实时位置数据和所述控制器的实时位置数据确定选取所述虚拟载体时,响应于所述控制器发送的第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,所述虚拟控制体抓取到所述虚拟载体;当所述虚拟载体的状态为第一状态时,获取输入的媒体内容。
与第一客户端关联的第一VR设备包括控制器,第一客户端获取控制器的位置数据。所述第一VR设备还包括***,通过***获取控制器的位置数据,该***可以利用红外光学定位,具体地,***包括多个红外发射摄像头,对室内定位空间进行覆盖,在控制器上放置红外反光点,通过捕捉这些反光点反射回摄像机的图像,确定控制器在空间中的位置信息。***将获取到的控制器的实时位置数据发送给第一客户端。此外,***还可以采用图像***,一台(组)摄像机拍摄控制器,然后由图像处理技术确定控制器的位置。此外,还可以通过超声波三维空间定位获取控制器的实时位置数据,具体地,可以在控制器上设置超声波***,发出高频超声脉冲,由安装在真实空间的天花板上的三个接收器接收信号,通过延迟即可计算距离,确定控制器的实时位置,由接收器将控制器的实时位置数据发送给第一客户端。同时采用上述方式还可以获得第一客户端对应的角色在真实空间中的位置数据,根据该第一客户端对应的角色的位置数据相对于初始位置数据的变化更新虚拟空间中的第一虚拟角色关联的虚拟控制体。其中,第一虚拟角色的初始位置数据,可以当用户登录第一客户端时,由应用服务器105发送。
虚拟载体的实时位置数据从应用服务器105处获得。根据获取的第一客户端对应的角色在真实空间中的位置数据,可以确定控制器相对于所述角色的相对位置数据。进而根据该相对位置数据,确定在虚拟空间中虚拟控制体相对于第一虚拟角色的相对位置数据。进而根据该相对位置数据确定虚拟空间中虚拟控制体的位置数据。其中,第一客户端对应的控制器用以控制与第一客户端对应的虚拟控制体,当控制器的位置发生移动时,虚拟控制体的位置也随着发生相应的移动,因而用户通过控制控制器可以达到控制虚拟控制体的目的。
当虚拟控制体与虚拟载体的空间关系满足预定条件时,选取虚拟载体。响应于控制器发送的第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,以使所述虚拟控制体抓取到所述虚拟载体。第一VR设备可以包括头戴设备400,如图4A所述,主要包括通信部件401、播放组件402、显示屏403、录音部件404。其中,播放组件402、显示屏403、录音部件404与通信部件401进行连接,其中的显示屏403为虚拟现实显示屏。第一VR设备还包括控制器410,如图4B所示,控制器410上包括交互键411及功能键412。当选取所述虚拟载体后,用户点击控制器410上的交互键411,控制器响应于用户对交互键411的点击,向第一客户端发送第一交互信息,第一客户端根据该第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,以使所述虚拟控制体抓取到所述虚拟载体。具体地,第一客户端中保存有虚拟控制体的与握取相关的骨骼动画数据,当第一客户端接收到第一交互消息后,调用所述骨骼动画数据,使得在虚拟空间中,所述虚拟控制体做出与所述骨骼动画数据对应的握取动作。在第一客户端接收到第一交互消息后,将所述虚拟载体附着到虚拟控制体上一个预先设置好的位置点上,虚拟载体附着到所述位置点后,之后会跟着所述位置点进行移动和旋转。为了让虚拟载体(例如,虚拟语音球)有一个飞到虚拟控制器(例如,虚拟手)中的过程,会在虚拟载体到虚拟控制器之间的路径上播放一个飞跃的特效。例如在图3A所示的VR游戏场景中,当用户点击交互键411后,根据虚拟手的握球的骨骼动画数据,使得在虚拟空间中虚拟手301做出握球的动作。同时添加虚拟语音球飞到虚拟手的手心里的特效,使得在虚拟现实场景中呈现虚拟语音球302飞到虚拟手301中,如图3B所示。
在一些实例中,在上述步骤203中,在执行所述虚拟控制体控制所述虚拟载体为释放状态时,包括步骤:响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据,根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体。
用户在手拿控制器做出抛的动作时,按一下控制器上的交互键411,在此刻,对应虚拟空间中,虚拟载体被释放,例如抛出。第一客户端获取该过程中控制器的实时位置数据,当用户按下交互键411后,控制器向第一客户端发送第二交互消息,第一客户端响应于该第二交互消息,根据获取到的控制器的实时位置数据更新虚拟空间中虚拟控制体的位置。同时根据获取到的控制器的实时位置数据确定虚拟载体在抛出时刻的位置数据及运动数据(例如,抛出时刻的速度及加速度)。进而根据虚拟载体在抛出时刻的位置数据及运动数据更新虚拟空间中虚拟载体的位置。在虚拟空间中,虚拟控制体抛出虚拟载体,例如,在VR游戏场景中,如图3D所示,虚拟手301抛出虚拟语音球302。
在一些实例中,其中,所述虚拟空间还包含所述第一客户端对应的第一虚拟角色;其中,在上述步骤S301中,执行在所述接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息时,包括步骤:当所述第一虚拟角色与所述至少一个虚拟载体中各虚拟载体的空间关系满足预定条件时,所述应用服务器向所述第一客户端发送所述至少一个虚拟载体的信息。
所述虚拟角色为操控控制器的用户在虚拟空间中的对象,一个客户端关联的用户对应一个虚拟角色,虚拟空间中的所述虚拟控制体可以对应所述虚拟对象的手,例如在VR游戏中,一个玩家对应虚拟空间中的一个虚拟角色,虚拟控制体对应虚拟玩家的手,一个虚拟角色对应一个客户端。
在该实例中,只有当VR客户端对应的虚拟角色与虚拟载体的空间关系满足预定条件时,应用服务器105才将虚拟载体的信息发送给所述VR客户端。所述预定条件可以为预定距离范围,应用服务器105判断虚拟载体的位置与第一虚拟角色的位置之间的距离,与第一虚拟角色的距离超过所述预定距离范围的虚拟载体的信息不发送给所述第一客户端,与第一虚拟角色的距离在所述预定距离范围内的虚拟载体的信息发送给所述第一客户端。其中,应用服务器105上保存有各虚拟角色的位置数据,例如虚拟角色的中心点的位置数据。其中,当所述距离在所述预定距离范围时,认为所述第一虚拟角色能够看到所述虚拟载体,否则,认为所述第一虚拟角色不能看到所述虚拟载体。例如在上述所述的VR游戏场景中,只有当虚拟语音球与虚拟角色的空间位置关系满足预定条件时,应用服务器才将虚拟语音球的信息发送给所述虚拟角色对应的VR客户端。
在一些实例中,其中,当根据所述虚拟载体的实时位置数据及所述控制器的实时位置数据确定所述虚拟控制体与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
根据控制器的实时位置数据确定虚拟控制体的实时位置数据,例如,在图3A所示的VR游戏场景中,根据控制器的实时位置数据确定虚拟手301在虚拟空间中的实时位置数据,所示虚拟控制体为虚拟角色的虚拟手301,所示虚拟载体为虚拟语音球302。当根据虚拟手的位置数据及虚拟语音球的位置数据确定虚拟手301与虚拟语音球302发生碰撞时,确定选取所述虚拟载体。当判断虚拟手301与虚拟语音球302发生碰撞时,可以采用射线检测、体积扫过、重叠测试等方法。
在一些实例中,其中,所述虚拟空间还包括与所述虚拟控制体关联的虚拟射线,所述虚拟射线是从所述虚拟控制体发出的;所述方法进一步包括以下步骤:
S11:根据所述控制器的所述实时位置数据确定所述虚拟射线在所述虚拟空间中的实时位置数据。
虚拟射线从虚拟控制体发出,根据获取的控制器的实时位置数据,确定虚拟控制体的实时位置数据,由于虚拟射线由虚拟控制体发出,因而根据虚拟控制体的实时位置数据,可以确定虚拟射线的实时位置数据。
S12:其中,当根据所述虚拟射线的所述实时位置数据及所述虚拟控制体的所述实时位置数据确定所述虚拟射线与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
在该实例中,当虚拟射线与虚拟载体发生碰撞时,确定选取所述虚拟载体。例如,在图3A所示的VR游戏场景中,虚拟手301上发出虚拟射线304,当虚拟射线304与虚拟语音球302发生碰撞时,确定选取了所述虚拟语音球。
在一些实例中,在上述步骤202中,在执行所述获取输入的媒体内容时,包括以下步骤:
S21:响应于来自所述第一客户端关联的控制器发送的第一功能消息,通过自身关联的数据采集装置开始接收外部输入的媒体数据;响应于来自所述控制器发送的第二功能消息,停止接收媒体数据。
当用户按下控制器410上的功能键412时,控制器向第一客户端发送第一功能信息,第一客户端接收到该第一功能消息时,通过自身关联的数据采集装置开始接收外部输入的媒体数据,例如通过与第一客户端关联的头戴设备400上的录音部件404采集语音数据。具体地,第一客户端向头戴设备400发送控制消息,使得头戴设备400开启录音部件,开始录取用户输入的语音,用户可以录制一段话或者自己唱一首歌。所述录音部件可以为麦克风。第一客户端上包括与所述录音部件404协作的语音实时传输部件,例如,实时语音传输第三方库(Apollo Voice)会在每帧实时抓取录音部件404,例如麦克风中的语音,并转化为PCM数据格式,保存在第一客户端所在终端的缓存中。
在采集媒体数据的过程中,用户一直按压功能键412,当用户松开功能键412时,控制器向第一客户端发送第二功能信息,第一客户端接收到该第二功能消息时,停止接收语音数据。具体地,第一客户端向头戴设备400发送控制消息,使得头戴设备400关闭录音部件,停止录音。
S22:根据接收到的媒体数据生成媒体内容。
在上述步骤S201中,第一客户端中的语音实时传输部件实时抓取录音部件404中的每一帧PCM数据,根据抓取的每一帧的PCM数据形成语音数据。
在一些实例中,在执行所述响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据时,包括以下步骤:
S31:响应于所述第二交互消息,根据所述控制器的实时位置数据,确定所述虚拟载体的运动轨迹和初始运动数据,并更新所述虚拟控制体的实时位置数据和运动数据。
用户可以通过手拿控制器做出抛的动作,以实现控制虚拟空间中虚拟控制体释放虚拟载体的目的,例如,用户在手拿控制器抛的过程中,按一下控制器上的交互键411,在此刻,对应虚拟空间中,虚拟载体被抛出。第一客户端获取用户按交互键411之前抛控制器的这一过程中控制器的实时位置数据,根据控制器的实时位置数据,确定虚拟空间中虚拟控制体的实时位置数据。因此时,虚拟控制体抓取虚拟载体,根据虚拟控制体的实时位置数据确定虚拟载体的实时位置数据。根据虚拟载体被抛出时上一帧的实时位置、当前帧的实时位置以及上一帧与当前帧之间的时间间隔,确定虚拟载体被抛出时的瞬时速度及方向。同时根据虚拟载体的重力加速度确定虚拟载体的运动轨迹,根据该瞬时速度、方向、所述重力加速度及所述运动轨迹更新所述虚拟载体在虚拟空间中的实时位置。
S32:根据所述运动轨迹和初始运动数据,更新所述虚拟载体的实时位置数据。
其中,在执行所述根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体时,包括步骤:
S33:根据所述虚拟控制体的实时位置数据、运动数据以及所述虚拟载体的实时位置数据显示所述虚拟载体沿所述运动轨迹运动。
根据步骤S301中获取的虚拟载体的运动轨迹及初始运动数据,确定每一帧虚拟现实图像中虚拟载体的实时位置数据,从而当第一客户端将所述虚拟现实图像发送到头戴设备400的显示屏403进行展示时,用户看到的虚拟现实场景中,所述虚拟载体沿所述运动轨迹运动,所述初始运动数据包括虚拟载体被释放时的瞬时速度、方向及重力加速度。如图3D所示,抛出虚拟语音球302后,虚拟语音球302沿图3D所示的轨迹运动。
在一些实例中,本申请提供的媒体内容发送方法500,如图5所示,进一步包括以下步骤:
S501:当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,向所述数据内容服务器发送媒体内容请求消息,所述媒体内容请求消息中携带所述虚拟载体的标识,以使数据内容服务器查找所述虚拟载体的标识关联的媒体内容。
在图2所示的实例中,在上述步骤204之后,即选取虚拟载体之后,虚拟载体的状态为第一状态,即初始状态,在该情况下,接收输入的与虚拟载体关联的媒体数据。在该实例中,当选取虚拟载体之后,虚拟载体的状态为第二状态,即已关联媒体数据的状态,在该情况下,获取与该虚拟载体关联的媒体内容。具体地,第一客户端中的网络同步单元,例如虚幻引擎中的用以网络同步的模块,向数据内容服务器发送媒体内容请求消息,所述媒体内容请求消息中携带所述虚拟载体的标识。数据内容服务器中保存有与虚拟载体的标识相对应的媒体内容,根据虚拟载体的标识查找对应的媒体内容。例如在图3A所示的VR游戏场景中,当如图3A所示选取虚拟语音球后,当虚拟语音球的状态为第二状态时,第一客户端中的网络同步单元向数据内容服务器106请求虚拟语音球携带的语音数据,此外,虚拟语音球也可以携带视频数据等其他媒体数据,所述数据内容服务器106可以为CDN服务器。
S502:接收数据内容服务器响应于所述媒体内容请求消息而发送的所述媒体内容。
在一些实例中,本申请提供的媒体内容传送方法,进一步包括以下步骤:当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,则根据所述虚拟载体的标识查找与所述标识相关联的媒体内容。
在该实例中,当选取虚拟载体之后,虚拟载体的状态为第二状态,即已关联媒体数据的状态,在该情况下,如果本地已经保存了虚拟载体关联的媒体内容,此时,先在本地查找与所述虚拟载体相关联的媒体内容。例如,当第一客户端之前选取过虚拟语音球,则向数据内容服务器106请求过虚拟载体关联的媒体内容,则该媒体内容会保存在本地缓存中。或者当其他客户端抓取到所述虚拟载体,播放所述虚拟载体关联的媒体内容时,如果为非私密播放,则第一客户端也会根据虚拟载体的标识向数据内容服务器106请求虚拟载体关联的媒体内容并播放,请求的所述媒体内容保存在本地的缓存中。因而当获取虚拟载体关联的媒体内容时,先在本地缓存中进行查找,本地缓存中没有时,再去数据内容服务器去请求,能够提高响应速度。
对于图3A所示的VR游戏场景中,获取虚拟语音球关联的媒体内容的流程600,如图6所示,主要包括以下步骤:
步骤S601:第一客户端中的网络同步单元,例如虚幻引擎中的用以网络同步的模块,用以获取与虚拟语音球关联的语音数据,该语音数据以PCM文件的形式保存。
步骤S602:网络同步单元首先在本地缓存中查找所述PCM文件,当本地缓存中存在所述PCM文件时,执行步骤S603,否者执行步骤S604。
步骤S603:在本地缓存中获取所述PCM文件。
步骤S604:去CDN服务器请求所述PCM文件,具体地,根据虚拟语音球的标识去CDN服务器请求所述PCM文件,CDN服务器根据虚拟语音球的标识获取所述PCM文件,并将所述PCM文件返回给所述第一客户端的网络同步单元。
在一些实例中,本申请提供的媒体内容传送方法,进一步包括以下步骤:当确定抓取所述虚拟载体时,响应于所述控制器发送的第三功能消息,播放所述媒体内容;响应于所述控制器发送的第四功能消息,停止播放所述媒体内容。
在抓取到所述虚拟载体后,且在抓取虚拟载体之前选取虚拟载体时,已经获取了与虚拟载体关联的媒体内容,当用户按下控制器410上的功能键412时,控制器将第三功能消息发送给第一客户端,第一客户端响应于所述第三功能消息,开始播放所述媒体内容;当用户松开控制器410上的功能键412时,控制器将第四功能消息发送给第一客户端,第一客户端响应于所述第四功能消息,停止播放所述媒体内容。
在一些实例,本申请提供的媒体内容发送方法,其中,所述媒体内容为语音,所述方法进一步包括播放所述语音时,将所述语音转换为3D语音进行播放,所述方法包括以下步骤:
S41:获取所述第一客户端关联的头戴设备的实时位置数据。
获取第一客户端关联的头戴设备的实时位置数据的方式,可以参考步骤203中获取控制器的实时位置数据的方式,可以采用红外光学的定位方式、图像跟踪定位的方式、以及超生成跟踪定位的方式,在此不再赘述。
S42:根据所述头戴设备的实时位置数据确定虚拟空间中与所述第一客户端关联的第一虚拟角色的头部的实时位置数据。
当在步骤S41中获取到第一客户端关联的头戴设备的实时位置后,采用同样的方式可以获取第一客户端对应的角色在真实空间中的位置数据,例如中心位置数据,可以确定头戴设备相对于所述角色的相对位置数据,进而根据该相对位置数据,确定在虚拟空间中虚拟角色的头部相对于第一虚拟角色的相对位置数据。其中,虚拟角色的初始位置数据,可以当用户登录第一客户端时,由应用服务器105发送,进而确定虚拟角色的头部的实时位置数据。其中,第一虚拟角色的头部与真实空间中的头戴设备相对应。
S43:获取所述第一客户端关联的控制器的实时位置数据,根据所述控制器的实时位置数据确定所述虚拟载体的实时位置数据。
S44:根据所述第一虚拟角色的头部的实时位置数据及所述虚拟载体的实时位置数据,确定所述虚拟载体相对于所述第一虚拟角色的头部的实时距离及实时方向。
在将语音数据转换为3D语音时,需要依据虚拟载体相对于第一虚拟角色的头部的距离及方向,即模拟语音是从虚拟载体发出的语音。例如当所述虚拟载体为虚拟语音球时,模拟所述语音为所述虚拟语音球发出的语音,当所述虚拟语音球距离第一虚拟角色的头部较远时,听到的声音相对小一点;当所述虚拟语音球距离第一虚拟角色的头部较近时,听到的声音相对大一点。当所述虚拟语音球距离第一虚拟角色的左耳较近时,左耳听到的声音相对大一点;当所述虚拟语音球距离第一虚拟角色的右耳较近时,右耳听到的声音相对大一点。
S45:根据所述实时距离及所述实时方向将所述语音转换为具有多维度空间音效的语音。此具有多维度空间音效的语音可以为三维空间音效的语音,简称3D语音。
根据步骤S44中确定的所述虚拟载体相对于所述第一虚拟角色的头部的实时距离及实时方向,将所述语音转换为3D语音。具体地,第一客户端中包括3D语音播放组件,例如虚幻引擎UE4中的播放3D声音的组件(Audio Component),用以将语音转换为3D语音。具体地,将PCM文件中的语音数据每帧填充到Audio Component中,同时将步骤S44中确定的所述实时距离及实时方向输入到Audio Component中,生成左右耳的3D语音数据并播放。其中,头戴设备400中包括播放组件402,例如耳机,将所述3D语音发送给所述耳机,以向用户播放。
第一客户端,即VR客户端基于UE4引擎开发,使用的是Actor结合组件的开发模式。后续如果有其他的多媒体播放信息,可以通过替换组件的方式,来实现不同多媒体数据的播放。例如如果虚拟语音球改成视频球,则可以将Audio Component替换为支持视频播放的组件。
S46:当确定抓取所述虚拟载体时,响应于所述控制器发送的第三功能消息,播放所述具有多维度空间音效的语音;响应于所述控制器发送的第四功能消息,停止播放所述具有多维度空间音效的语音。
将步骤S45中生成的左右耳的3D语音通过与第一客户端关联的播放部件进行播放,例如头戴设备400中的播放组件402进行播放。
在一些实例中,本申请提供的媒体内容发送方法,进一步包括,第一客户端在播放3D语音时,当虚拟载体与第一虚拟角色的头部相距较远时,为非私密播放,此时,其他客户端对应的角色也能听到所述3D语音,具体包括以下步骤:
步骤S51:获取所述第一客户端关联的头戴设备的实时位置数据。
步骤S52:根据所述头戴设备的实时位置数据确定虚拟空间中所述第一虚拟角色的头部的实时位置数据。
步骤S51-S52与步骤S41-S42相同,在此不再赘述。
步骤S53:当所述第一虚拟角色的头部的实时位置数据与所述虚拟载体的实时位置数据满足预设条件时,通知所述应用服务器设置所述虚拟载体的状态为第三状态;通知所述应用服务器将所述虚拟载体的状态发送给一个或多个第二客户端,所述一个或多个第二客户端中各第二客户端对应的虚拟角色与所述第一虚拟角色的空间关系满足预定条件,所述各第二客户端响应于接收到的所述虚拟载体的状态,获取与所述虚拟载体关联的媒体内容并播放。
所述预定条件可以为预设距离阈值,当第一虚拟角色的头部的实时位置与虚拟载体的实时位置之间的距离在所述距离阈值之内时,说明虚拟载体距离第一虚拟角色的头部较近,为私密播放,在私密播放的情况下,只有第一虚拟角色对应的用户才能听到所述3D语音。当第一虚拟角色的头部的实时位置与虚拟载体的实时位置之间的距离超过所述距离阈值时,说明虚拟载体距离第一虚拟角色的头部较远,为公开播放,在公开播放的情况下,其他虚拟角色对应的用户也能听到所述3D语音,或者距离虚拟载体一定距离范围内的其他虚拟角色对应的用户也能听到所述3D语音。当第二客户端能够听到该语音时,第二客户端可以根据虚拟载体的标识去CDN服务器请求与该虚拟载体关联的语音的PCM文件并进行播放。在播放所述PCM文件时,也可以转换为3D语音播放,将PCM文件中的语音数据每帧填充到声音组件中,例如,填充到虚幻引擎UE4中的播放3D声音的组件(Audio Component)中,向所述声音组件中输入虚拟语音球与第二虚拟角色的头部的实时距离及实时方向,从而生成左右耳的3D语音数据并播放。
在一些实例中,在抓取到虚拟载体,并播放了虚拟载体关联的媒体内容后,如图7所示,所述媒体内容发送方法700进一步包括以下步骤:
S701:监听所述控制器的预定手势操作。
当抓取到虚拟载体时,如果该虚拟载体的状态为第二状态,即已经关联过媒体内容,在该情况下,用户可以播放所述虚拟载体关联的媒体内容,同时也可以对该虚拟载体关联的媒体内容进行互动,例如对VR游戏中的虚拟语音球传递的语音进行点赞。在进行所述点赞等互动操作时,用户可以通过操作控制器以实现对虚拟载体携带的所述媒体内容的互动,例如对于VR游戏中的虚拟语音球,当用户对控制器进行“摇一摇”操作时,对虚拟语音球携带的语音进行点赞,第一客户端监听控制器的状态,当监听到所述预定手势操作时,确定用户要对虚拟语音球携带的语音进行点赞。在监听的过程中,第一客户端中的手柄事件驱动模块每帧去轮询手柄的震动状态,根据手柄的震动状态判断是否为手柄的“摇一摇”手势。
S702:当监听到所述控制器的所述预定手势操作时,生成互动信息。
当监听到控制器的所述预定手势操作时,说明用户要对虚拟载体携带的媒体内容进行互动,此时第一客户端生成互动信息,该互动信息中包括与第一客户端关联的用户的标识,虚拟载体的标识。
S703:将该互动信息发送给所述应用服务器,以使应用服务器根据该互动信息更新所述虚拟载体的互动信息,当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。
第一客户端将在步骤S702中生成的互动信息发送给应用服务器,以使应用服务器根据该互动信息更新虚拟载体的互动信息,该更新过程包括,将与该虚拟载体对应的互动次数加1,将所述第一客户端关联的用户的标识更新为最近对该虚拟载体进行互动的用户标识。例如,对应VR游戏场景来说,当第一客户端生成对虚拟语音球的点赞互动信息后,将该互动信息发送给应用服务器,应用服务器将该虚拟语音球的点赞次数进行加1,并将第一客户端对应的用户的标识作为对该虚拟语音球最近进行点赞的用户的标识。当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,例如满足预设距离条件时,应用服务器将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。如图8所示,在VR游戏场景300中,当第二VR客户端选取到所述虚拟语音球时,展示该虚拟语音球的互动信息,该互动信息包括点赞图标802、虚拟语音球的点赞次数803、以及最近对该虚拟语音球进行点赞的用户的标识801。
在一些实例中,在上述步骤S701中,在执行所述监听所述控制器的预定手势操作时,其中,当检测到所述控制器的震动后,在播放第一预设数量的图像帧的过程中监听到所述控制器的震动次数满足第一预设条件,且在之后播放第二预设数量的图像帧的过程中监听到所述控制器的震动次数满足第二预设条件时,确定监听到所述控制器的所述预定手势操作。
在一些实例中,进一步地,当从监听到所述控制器的震动次数满足第一预设条件到监听到所述控制器的震动次数满足第二预设条件之间的时间间隔超过预定时长时,确定监听到所述控制器的所述预定手势操作。
在一些实例中,监听控制器的预定手势操作“摇一摇”的流程900,如下图9所示。其中,上述控制器为手柄,上述虚拟载体为所述图3A所示的VR游戏场景中的虚拟语音球,当抓取到虚拟语音球时,可以通过对手柄进行摇一摇操作,对虚拟语音球携带的媒体内容,例如语音,进行点赞互动。如图9所示,该流程主要包括以下步骤:
步骤S901:第一客户端关联的用户操作手柄,当用户要对虚拟语音球进行点赞时,操作手柄进行摇一摇,以进行点赞。
步骤S902:查询第i帧的手柄的震动状态。
当第一客户端关联的虚拟手抓取到虚拟语音球时,第一客户端中的VR底层驱动可以在VR场景更新一帧时查询手柄的震动状态,其中,手柄的震动状态由手柄上的传感器进行检测并传递给VR客户端,VR客户端会将传感器的检测结果转换为手柄的震动状态而保存在自身的缓存区,所述VR底层驱动会从VR客户端对应的缓存区查询手柄的震动状态。
步骤S903:当查询到手柄的震动状态(比如震动状态参数为“True”)时,即第i帧手柄的状态为震动时,则执行步骤S904,否则,执行步骤S905,将i赋值为i+1,进而返回步骤S902,查询下一帧手柄的状态。
步骤S904:当查询到手柄的震动状态后,即当第i帧手柄的状态为震动时,查询后续的n1个帧的手柄的状态,即查询第i+1帧至i+n1帧手柄的震动状态,与步骤S902中查询手柄的状态方式相同,所述VR底层驱动会从VR客户端对应的缓存区查询手柄的震动状态。VR客户端同时统计在该n1个帧查询到的手柄的震动状态的次数,比如震动状态参数为“True”的次数。在用户刚开始摇动手柄的过程中,不太稳定,用户可能是动了一下手柄,也可能是开始摇动手柄,因而当预定帧内查询到的手柄的震动次数超过预定值时,判定用户开始对手柄进行摇动。
步骤S905:当第i帧手柄的状态不是震动时,将i赋值为i+1,进而返回步骤S902,查询下一帧手柄的状态。
步骤S906:判断所述n1个帧内查询到的手柄的震动状态的次数是否>=n2,其中,n1和n2为预定值。当n1个帧内查询到的手柄的震动次数>=n2时,说明用户开始摇动手柄,在此种情况下,执行步骤S907。当n1个帧内查询到的手柄的震动次数<n2时,说明用户可能动了一下手柄,但并没有对手柄进行摇动,在此种情况下,执行步骤S908。
步骤S907:将i赋值为i+n1,执行步骤S909。
步骤S908:将i赋值为i+n1+1,进而返回步骤S902,查询下一帧手柄的状态。
步骤S909:当在步骤S906中,当满足n1帧内查询到的手柄为震动的次数>=n2时,说明检测到用户开始摇动手柄,此时执行下面的步骤,根据后续的n3个帧手柄的状态,判断用户是否停止摇动手柄,在用户停止摇动手柄的过程中,在固定个帧内,查询到的手柄为震动的次数会越来越少。在该步骤中,查询第i+1帧至i+n3帧手柄的状态,同时统计该后续的n3个帧内查询到的手柄为震动的次数。
步骤S910:判断i+1帧至i+n3帧内,查询到的手柄为震动的次数是否小于n4,如果小于n4,说明用户开始停止摇动手柄,则执行步骤S911,否则,说明用户并没有停止摇动手柄,此时执行步骤S912。
步骤S911:判断时间间隔是否大于预设时间T,所述时间间隔为步骤S906中手柄检测为震动的次数>=n2的时间点到步骤S910中手柄检测为震动的次数<n4的时间点之间的时间,即手柄开始摇动到停止摇动的时间。当所述时间间隔不超过T时,执行步骤S914,手柄手势判定失败,判定用户并没有对手柄进行“摇一摇”操作,否则,执行步骤S913,判定用户对手柄的“摇一摇”手势操作。在该步骤中,只有用户对手柄的摇动超过预定时间时,才判定用户对手柄进行了“摇一摇”操作。
步骤S912:当在步骤S910中,所述n3帧内手柄检测为震动的次数<n4说明用户并没有停止摇动手柄,此时执行步骤S912,将i值赋值为i+n3,后续返回执行步骤S909,查询后续的n3个帧内手柄的震动状态。
步骤S913:判定用户对手柄进行了“摇一摇”操作。当前用户对虚拟语音球进行了一次“摇一摇”手势操作后,确定对该虚拟语音球进行了点赞互动,后续不再进行手势“摇一摇”的识别。
步骤S914:手势“摇一摇”判定失败,判定用户没有对手柄进行“摇一摇”操作。
步骤S915:当手势判定识别时,继续进行手势“摇一摇”的识别,在该步骤中,将i值赋值为i+n3+1,进而返回步骤S902,继续查询手柄的状态,进行后续的手势“摇一摇”的识别。
在该实例中,这里的帧次n1、n2,以及阈值n3、n4都可预先设定,可根据经验进行设置,通过该实例,摇一摇手势能够比较稳定的判断出来,从而极大减少误操作的发生。
本申请还提供一种媒体内容发送方法1000,应用于应用服务器105,如图10所示,包括以下步骤:
S1001:向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联。
该步骤与上述终端侧的应用服务器将虚拟载体的信息及虚拟控制体的信息发送给第一客户端、抓取虚拟载体、将虚拟载体关联媒体内容、将媒体内容发送给数据内容服务器的步骤相同,在此不再赘述
S1002:接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态。
当虚拟载体关联媒体内容后,第一客户端向应用服务器发送通知消息,该通知消息用以使应用服务器根据虚拟载体的状态。例如,当虚拟载体为虚拟语音球时,当虚拟语音球录音后,虚拟语音球的状态发生了改变,第一客户端通知应用服务器105,由应用服务器105将该虚拟语音球的状态设置为第二状态,第二状态为已录音状态,已录音的虚拟语音球的颜色与初始状态的虚拟语音球的颜色不同,例如,可以为红色。第一客户端与应用服务器105及数据内容服务器106进行通信时,可以通过网络同步单元进行,例如虚幻引擎中用以网络同步的模块。
S1003:将所述虚拟载体的信息发送给所述第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容。
例如,在上述所述的VR游戏场景中,当虚拟语音球被释放,例如抛出后,其他玩家可以抓取到该虚拟语音球,并获取虚拟语音球上的语音。具体地,应用服务器105会实时将虚拟语音球的状态及该虚拟语音球的标识更新给第二客户端,当第二客户端对应的玩家选取到该虚拟语音球后,当该虚拟语音球的第二状态,根据该虚拟语音球的标识,去数据内容服务器,例如,CDN服务器获取与该虚拟语音球关联的媒体内容。从而通过虚拟语音球实现媒体内容的传递和交流。
采用本申请提供的媒体内容的发送方法,抓取虚拟载体时,输入媒体内容,将该媒体内容上传给数据内容服务器,使虚拟载体与所述媒体内容相关联;在虚拟空间中释放虚拟载体,使得其他客户端选取到虚拟语音球后,向数据内容服务器获取该虚拟载体关联的媒体内容,并可以进行后续的播放。使得虚拟空间中的虚拟载体作为媒体内容的载体,虚拟载体关联的媒体内容随着虚拟载体在虚拟空间中的传递在多个客户端之间进行传递。使得媒体内容的交互具有3D立体沉浸感,同时媒体内容关联虚拟空间中的虚拟载体,提升VR社交的真实感。
在一些实例中,本申请提供的媒体内容发送方法,进一步包括以下步骤:
S61:接收所述第一客户端发送的互动信息及所述虚拟载体的标识,其中所述第一客户端当确定抓取到所述虚拟载体时,且监听到与所述第一客户端关联的控制器的预定手势操作时,生成所述互动信息并发送。
当抓取到虚拟载体时,如果该虚拟载体的状态为第二状态,即已经关联过媒体内容,在该情况下,用户可以播放所述虚拟载体关联的媒体内容,同时也可以对该虚拟载体关联的媒体内容进行互动,例如对VR游戏中的虚拟语音球传递的语音进行点赞。在进行所述点赞等互动操作时,用户可以通过操作控制器以实现对虚拟载体携带的所述媒体内容的互动,例如对于VR游戏中的虚拟语音球,当用户对控制器进行“摇一摇”操作时,对虚拟语音球携带的语音进行点赞,第一客户端监听控制器的状态,当监听到所述预定手势操作时,确定用户要对虚拟语音球携带的语音进行点赞。在监听的过程中,第一客户端中的手柄事件驱动模块每帧去轮询手柄的震动状态,根据手柄的震动状态判断是否为手柄的“摇一摇”手势。
当监听到控制器的所述预定手势操作时,说明用户要对虚拟载体携带的媒体内容进行互动,此时第一客户端生成互动信息,该互动信息中包括与第一客户端关联的用户的标识,虚拟载体的标识。
S62:根据所述互动信息更新所述虚拟载体的互动信息,并将所述虚拟载体的互动信息与所述虚拟载体的标识相关联。
第一客户端将在步骤S61中生成的互动信息发送给应用服务器,以使应用服务器根据该互动信息更新虚拟载体的互动信息,该更新过程包括,将与该虚拟载体对应的互动次数加1,将所述第一客户端关联的用户的标识作为最近对该虚拟载体进行互动的用户标识。例如,对应VR游戏场景来说,当第一客户端生成对虚拟语音球的点赞互动信息后,将该互动信息发送给应用服务器,应用服务器将该虚拟语音球的点赞次数进行加1,并将第一客户端对应的用户的标识作为对该虚拟语音球最近进行点赞的用户的标识。
S63:当在所述虚拟空间中第二客户端关联的虚拟对象与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在虚拟空间中展示所述虚拟载体的互动信息。
当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,例如满足预设距离条件时,应用服务器将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。如图8所示,当第二VR客户端选取到所述虚拟语音球时,展示该虚拟语音球的互动信息,该互动信息包括点赞图标802、虚拟语音球的点赞次数803、以及最近对该虚拟语音球进行点赞的用户的标识801。
当本申请提供的媒体内容发送方法应用到VR游戏场景中时,所述第一客户端为VR游戏客户端,所述应用服务器为VR游戏服务器,所述虚拟载体为虚拟语音球时,虚拟语音球传递语音的消息交互1100,如图11所示,主要包括以下步骤:
步骤S1101:第一客户端向应用服务器发送APP登录请求。
步骤S1102:应用服务器向第一客户端返回虚拟语音球的信息及虚拟空间中虚拟角色的信息,其中虚拟语音球的信息包括虚拟语音球的状态、标识及实时位置数据。其中,虚拟语音球的状态包括初始状态、已录音状态及播放状态,虚拟角色的信息包括虚拟角色的实时位置数据。
步骤S1103:第一客户端根据虚拟语音球的实时位置数据及虚拟角色的实时位置数据生成虚拟现实图像。
步骤S1104:将生成的虚拟现实图像发送到头戴设备的显示器显示。
步骤S1105:获取手柄的实时位置数据。
步骤S1106:根据手柄的实时位置数据确定虚拟控制体的实时位置数据,根据虚拟控制体的实时位置数据确定虚拟射线的实时位置数据。
步骤S1107:根据虚拟语音球的实时位置数据与虚拟控制体的实时位置数据可以判断是否选取了虚拟语音球,或者根据虚拟语音球的实时位置数据与虚拟射线的实时位置数据可以判断是否选取了虚拟语音球。
步骤S1108:选取虚拟语音球后,用户点击手柄上的交互键,手柄向第一客户端发送第一交互消息。
步骤S1109:第一客户端接收到第一交互消息后,更新虚拟语音球及虚拟控制体在虚拟空间中的位置数据及运动数据,使得虚拟控制体抓取所述虚拟语音球,其中,所述虚拟控制体对应第一虚拟角色的虚拟手。
在抓取到虚拟语音球后,后面出现3种情况,其中步骤S1110-S1116为虚拟语音球的状态为第一状态,即初始状态时,为虚拟语音球关联语音数据。步骤S1117-S1121为当虚拟语音球的状态为第二状态,即已录音状态时,通过对虚拟语音球进行点赞互动。步骤S1122-S1125为当虚拟语音球的状态为第二状态,即已录音状态时,获取虚拟语音球关联的语音进行播放。下面详细介绍各步骤
(1)步骤S1110-S1116
步骤S1110:当虚拟语音球的状态为第一状态,即初始状态时,用户按下手柄上的功能键,手柄向第一客户端发送第一功能消息。
步骤S1112:第一客户端响应于所述第一功能消息,第一客户端中的录音部件,如实时语音传输第三方库(Apollo voice),实时抓取头戴设备的麦克风录制的语音并转化为PCM数据格式。
步骤S1113:用户松开手柄上的功能键,手柄向第一客户端发送第二功能消息。第二客户端停止抓取语音数据。
步骤S1114:第一客户端将获取的PCM语音数据及虚拟语音球的标识发送给CDN服务器,CDN服务器将所述PCM语音数据与虚拟语音球的标识关联保存。
步骤S1115:虚拟语音球关联语音数据后,虚拟语音球的状态发生变化,第一客户端通知应用服务器更改虚拟语音球的状态。
步骤S1116:应用服务器将虚拟语音球的状态设置为第二状态,并将虚拟语音球的状态发送给第二客户端,可选地,当第二客户端对应的虚拟角色与虚拟语音球的空间关系满足预定条件时,将虚拟语音球的状态发送给所述第二客户端。
(2)S1117-S1121
步骤S1117:当虚拟语音球的状态为第二状态时,第一客户端中手柄事件驱动模块每帧去轮询手柄的震动状态。
步骤S1118:根据手柄的震动状态判断是否为手柄的“摇一摇”手势。
步骤S1119:当确定手柄的“摇一摇”手势时,生成交互信息。
步骤S1120:第一客户端将交互消息发送给应用服务器。
步骤S1121:应用服务器更新虚拟语音球的交互信息,主要包括对虚拟语音球的点赞信息加1,更新最新对虚拟语音球进行点赞的用户的标识。应用服务器将虚拟语音球的交互信息发送给第二客户端,可选地,当第二客户端对应的虚拟角色与虚拟语音球的空间关系满足预定条件时,将虚拟语音球的交互信息发送给所述第二客户端。第二客户端在选取该虚拟语音球时,在虚拟空间中展示该虚拟语音球的交互信息。
(3)S1122-S1125
步骤S1122:当选取虚拟语音球时,当虚拟语音球的状态为第二状态时,第一客户端会根据虚拟语音球的标识向CDN服务器请求虚拟语音球关联的语音数据。
步骤S1123:CDN服务器返回虚拟语音球关联的语音数据。
步骤S1124:当第一客户端中虚拟控制体抓取到虚拟语音球时,用户按下手柄上的功能键,手柄向第一客户端发送第一功能消息。
步骤S1125:第一客户端响应于第一功能消息,获取手柄的实时位置数据。
步骤S1126:第一客户端根据手柄的实时位置数据确定虚拟控制体的实时位置数据。第一客户端中的3D语音播放组件,例如,Audio Component,根据虚拟控制体的实时位置数据及虚拟语音球的实时位置数据将语音转换为3D语音并播放。头戴设备中具有与第一客户端关联的耳机,可以将转换后的3D语音传送给头戴设备中的耳机中播放。
步骤S1127:当用户松开手柄上的功能键时,手柄向第一客户端发送第二功能消息。
步骤S1128:第二客户端响应于第二功能消息,停止播放3D语音。
本申请还提供了一种媒体内容发送装置1200,应用于第一客户端,如图12所示,所述装置包括:
展示模块1201,展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体;
媒体内容发送模块1202,用以当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知所述应用服务器设置所述虚拟载体的状态为第二状态
释放模块1203,用以所述虚拟控制体控制所述虚拟载体为释放状态。
在一些实例中,所述展示模块1201,还用以:
接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;
根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所述虚拟空间。
在一些实例中,媒体内容发送模块1202,还用以:
获取所述第一客户端关联的控制器的实时位置数据;
接收应用服务器发送的所述虚拟载体的实时位置数据;
当根据所述虚拟载体的实时位置数据和所述控制器的实时位置数据确定选取所述虚拟载体时,响应于所述控制器发送的第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,所述虚拟控制体抓取到所述虚拟载体;当所述虚拟载体的状态为第一状态时,获取输入的媒体内容。
在一些实例中,所述释放模块1203,用以:
响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据;
根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体。
在一些实例中,所述虚拟空间还包含所述第一客户端对应的第一虚拟角色;所述展示模块1201,还用以:
当所述第一虚拟角色与所述至少一个虚拟载体中各虚拟载体的空间关系满足预定条件时,所述应用服务器向所述第一客户端发送所述至少一个虚拟载体的信息。
在一些实例中,所述媒体内容发送模块1202,还用以:
当根据所述虚拟载体的实时位置数据及所述控制器的实时位置数据确定所述虚拟控制体与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
在一些实例中,所述虚拟空间还包括与所述虚拟控制体关联的虚拟射线,所述虚拟射线是从所述虚拟控制体发出的;
所述媒体内容发送模块1202,还用以:
根据所述控制器的所述实时位置数据确定所述虚拟射线在所述虚拟空间中的实时位置数据;
其中,当根据所述虚拟射线的所述实时位置数据及所述虚拟控制体的所述实时位置数据确定所述虚拟射线与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
在一些实例中,所述媒体内容发送模块1202,还用以:
响应于来自所述第一客户端关联的控制器发送的第一功能消息,通过自身关联的数据采集装置开始接收外部输入的媒体数据;
响应于来自所述控制器发送的第二功能消息,停止接收媒体数据;
根据接收到的媒体数据生成媒体内容。
在一些实例中,所述释放模块1203,还用以:
响应于所述第二交互消息,根据所述控制器的实时位置数据,确定所述虚拟载体的运动轨迹和初始运动数据,并更新所述虚拟控制体的实时位置数据和运动数据;
根据所述运动轨迹和初始运动数据,更新所述虚拟载体的实时位置数据;
所述释放模块1203,还用以:
根据所述虚拟控制体的实时位置数据、运动数据以及所述虚拟载体的实时位置数据显示所述虚拟载体沿所述运动轨迹运动。
在一些实例中,所述装置还包括媒体内容获取模块1204,用以:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,向所述数据内容服务器发送媒体内容请求消息,所述媒体内容请求消息中携带所述虚拟载体的标识,以使数据内容服务器查找所述虚拟载体的标识关联的媒体内容;
接收数据内容服务器响应于所述媒体内容请求消息而发送的所述媒体内容。
在一些实例中,所述媒体内容获取模块1204,还用以:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,则根据所述虚拟载体的标识查找与所述标识相关联的媒体内容。
在一些实例中,所述装置还包括播放模块1205,用以:
当确定抓取所述虚拟载体时,响应于所述控制器发送的第三功能消息,播放所述媒体内容;响应于所述控制器发送的第四功能消息,停止播放所述媒体内容。
在一些实例中,所述媒体内容包括语音,所述播放模块1205,还用以:
获取所述第一客户端关联的头戴设备的实时位置数据;
根据所述头戴设备的实时位置数据确定虚拟空间中与所述第一客户端关联的第一虚拟角色的头部的实时位置数据;
获取所述第一客户端关联的控制器的实时位置数据,根据所述控制器的实时位置数据确定所述虚拟载体的实时位置数据;根据所述第一虚拟角色的头部的实时位置数据及所述虚拟载体的实时位置数据,确定所述虚拟载体相对于所述第一虚拟角色的头部的实时距离及实时方向;
根据所述实时距离及所述实时方向将所述语音转换为具有多维度空间音效的语音;
响应于所述控制器发送的第三功能消息,播放所述具有多维度空间音效的语音;响应于所述控制器发送的第四功能消息,停止播放所述具有多维度空间音效的语音。
在一些实例中,所述播放模块1205,还用以:
获取所述第一客户端关联的头戴设备的实时位置数据,
根据所述头戴设备的实时位置数据确定虚拟空间中所述第一虚拟角色的头部的实时位置数据;
当所述第一虚拟角色的头部的实时位置数据与所述虚拟载体的实时位置数据满足预设条件时,通知所述应用服务器设置所述虚拟载体的状态为第三状态;以使当所述应用服务器将所述虚拟载体的状态发送给所述第二客户端时,所述第二客户端当所述虚拟载体的状态为所述第三状态时,获取与所述虚拟载体关联的媒体内容并播放。
在一些实例中,所述装置还包括互动模块1206,用以:
监听所述控制器的预定手势操作;
当监听到所述控制器的所述预定手势操作时,生成互动信息;
将该互动信息发送给所述应用服务器,以使应用服务器根据该互动信息更新所述虚拟载体的互动信息,当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。
在一些实例中,所述互动模块1206,还用以:
当检测到所述控制器的震动后,在播放第一预设数量的图像帧的过程中监听到所述控制器的震动次数满足第一预设条件,且在之后播放第二预设数量的图像帧的过程中监听到所述控制器的震动次数满足第二预设条件时,确定监听到所述控制器的所述预定手势操作。
在一些实例中,所述互动模块1206,还用以:
当从监听到所述控制器的震动次数满足第一预设条件到监听到所述控制器的震动次数满足第二预设条件之间的时间间隔超过预定时长时,确定监听到所述控制器的所述预定手势操作。
本申请还提供了一种媒体内容发送装置1300,应用于应用服务器,所述装置包括:
第一信息发送模块1301,用以向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联;
消息接收模块1302,用以接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态;
第二信息发送模块1303,用以将所述虚拟载体的信息发送给第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容,
在一些实例中,所述装置还包括:
互动信息接收模块1304,用以接收所述第一客户端发送的互动信息及所述虚拟载体的标识,其中所述第一客户端当确定抓取到所述虚拟载体时,且监听到与所述第一客户端关联的控制器的预定手势操作时,生成所述互动信息;
互动信息更新模块1305,用以根据所述互动信息更新所述虚拟载体的互动信息,并将所述虚拟载体的互动信息与所述虚拟载体的标识相关联;
互动信息发送模块1306,用以当在所述虚拟空间中第二客户端关联的虚拟对象与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在虚拟空间中展示所述虚拟载体的互动信息。
本申请实例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如上述应用于第一客户端的所述的方法。
本申请实例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如上述应用于应用服务器的所述的方法。
图14示出了媒体内容发送装置1200及媒体内容发送装置1300所在的计算设备的组成结构图。如图14所示,该计算设备包括一个或者多个处理器(CPU)1402、通信模块1404、存储器1406、用户接口1410,以及用于互联这些组件的通信总线1408。
处理器1402可通过通信模块1404接收和发送数据以实现网络通信和/或本地通信。
用户接口1410包括一个或多个输出设备1412,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1410也包括一个或多个输入设备914,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器1406可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1406存储处理器1402可执行的指令集,包括:
操作***1416,包括用于处理各种基本***服务和用于执行硬件相关任务的程序;
应用1418,包括用于媒体内容发送的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括媒体内容发送装置1200或媒体内容发送装置1300中的部分或全部单元或者模块。媒体内容发送装置1200或媒体内容发送装置1300中的各单元中的至少一个单元可以存储有机器可执行指令。处理器1402通过执行存储器1406中各单元中至少一个单元中的机器可执行指令,进而能够实现上述各单元或模块中的至少一个模块的功能。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图14模块对应的机器可读指令可以使计算机上操作的操作***等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (40)
1.一种媒体内容发送方法,其特征在于,应用于第一客户端,所述方法包括:
展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和所述第一客户端对应的虚拟控制体,所述至少一个虚拟载体用于在所述虚拟空间中传递信息;
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知应用服务器设置所述虚拟载体的状态为第二状态;其中,所述第一状态为虚拟载体不关联媒体内容的状态,所述第二状态为虚拟载体关联媒体内容后的状态;
所述虚拟控制体控制所述虚拟载体为释放状态,以将所述虚拟载体关联的媒体内容传递给获取到该虚拟载体的第二客户端。
2.根据权利要求1所述的方法,其中,所述展示虚拟空间包括:
接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;
根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所述虚拟空间。
3.根据权利要求2所述的方法,其中,所述虚拟空间还包含所述第一客户端对应的第一虚拟角色;
其中,所述接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息包括:当所述第一虚拟角色与所述至少一个虚拟载体中各虚拟载体的空间关系满足预定条件时,所述应用服务器向所述第一客户端发送所述至少一个虚拟载体的信息。
4.根据权利要求1所述的方法,其中,所述当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容包括:
获取所述第一客户端关联的控制器的实时位置数据;
接收应用服务器发送的所述虚拟载体的实时位置数据;
当根据所述虚拟载体的实时位置数据和所述控制器的实时位置数据确定选取所述虚拟载体时,响应于所述控制器发送的第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,所述虚拟控制体抓取到所述虚拟载体;
当所述虚拟载体的状态为第一状态时,获取输入的媒体内容。
5.根据权利要求4所述的方法,其中,当根据所述虚拟载体的实时位置数据及所述控制器的实时位置数据确定所述虚拟控制体与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
6.根据权利要求4所述的方法,其中,所述虚拟空间还包括与所述虚拟控制体关联的虚拟射线,所述虚拟射线是从所述虚拟控制体发出的;
所述方法进一步包括:
根据所述控制器的所述实时位置数据确定所述虚拟射线在所述虚拟空间中的实时位置数据;
其中,当根据所述虚拟射线的所述实时位置数据及所述虚拟控制体的所述实时位置数据确定所述虚拟射线与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
7.根据权利要求1所述的方法,其中,所述虚拟控制体控制所述虚拟载体为释放状态包括:
响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据;
根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体。
8.根据权利要求7所述的方法,其中,所述响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据包括:
响应于所述第二交互消息,根据所述控制器的实时位置数据,确定所述虚拟载体的运动轨迹和初始运动数据,并更新所述虚拟控制体的实时位置数据和运动数据;
根据所述运动轨迹和初始运动数据,更新所述虚拟载体的实时位置数据;
其中,所述根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体包括:
根据所述虚拟控制体的实时位置数据、运动数据以及所述虚拟载体的实时位置数据显示所述虚拟载体沿所述运动轨迹运动。
9.根据权利要求1所述的方法,其中,所述获取输入的媒体内容包括:
响应于来自所述第一客户端关联的控制器发送的第一功能消息,通过自身关联的数据采集装置开始接收外部输入的媒体数据;
响应于来自所述控制器发送的第二功能消息,停止接收媒体数据;
根据接收到的媒体数据生成媒体内容。
10.根据权利要求1所述的方法,进一步包括:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,向所述数据内容服务器发送媒体内容请求消息,所述媒体内容请求消息中携带所述虚拟载体的标识,以使数据内容服务器查找所述虚拟载体的标识关联的媒体内容;
接收数据内容服务器响应于所述媒体内容请求消息而发送的所述媒体内容。
11.根据权利要求1所述的方法,进一步包括:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,则根据所述虚拟载体的标识查找与所述标识相关联的媒体内容。
12.根据权利要求10或11所述的方法,进一步包括:
当确定抓取所述虚拟载体时,响应于来自所述第一客户端关联的控制器发送的第三功能消息,播放所述媒体内容;响应于所述控制器发送的第四功能消息,停止播放所述媒体内容。
13.根据权利要求10或11所述的方法,其中,所述媒体内容包括语音,所述方法进一步包括:
获取所述第一客户端关联的头戴设备的实时位置数据;
根据所述头戴设备的实时位置数据确定虚拟空间中与所述第一客户端关联的第一虚拟角色的头部的实时位置数据;
获取所述第一客户端关联的控制器的实时位置数据,根据所述控制器的实时位置数据确定所述虚拟载体的实时位置数据;
根据所述第一虚拟角色的头部的实时位置数据及所述虚拟载体的实时位置数据,确定所述虚拟载体相对于所述第一虚拟角色的头部的实时距离及实时方向;
根据所述实时距离及所述实时方向将所述语音转换为具有多维度空间音效的语音;
响应于所述控制器发送的第三功能消息,播放所述具有多维度空间音效的语音;响应于所述控制器发送的第四功能消息,停止播放所述具有多维度空间音效的语音。
14.根据权利要求13所述的方法,进一步包括:
获取所述第一客户端关联的头戴设备的实时位置数据,
根据所述头戴设备的实时位置数据确定虚拟空间中所述第一虚拟角色的头部的实时位置数据;
当所述第一虚拟角色的头部的实时位置数据与所述虚拟载体的实时位置数据满足预设条件时,通知所述应用服务器设置所述虚拟载体的状态为第三状态,通知所述应用服务器将所述虚拟载体的状态发送给一个或多个第二客户端,所述一个或多个第二客户端中各第二客户端对应的虚拟角色与所述第一虚拟角色的空间关系满足预定条件,所述各第二客户端响应于接收到的所述虚拟载体的状态,获取与所述虚拟载体关联的媒体内容并播放。
15.根据权利要求14所述的方法,其中,所述方法进一步包括:
监听所述控制器的预定手势操作;
当监听到所述控制器的所述预定手势操作时,生成互动信息;
将该互动信息发送给所述应用服务器,以使应用服务器根据该互动信息更新所述虚拟载体的互动信息,当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。
16.根据权利要求15所述的方法,其中,
当检测到所述控制器的震动后,在播放第一预设数量的图像帧的过程中监听到所述控制器的震动次数满足第一预设条件,且在之后播放第二预设数量的图像帧的过程中监听到所述控制器的震动次数满足第二预设条件时,确定监听到所述控制器的所述预定手势操作。
17.根据权利要求15所述的方法,进一步包括:
当从监听到所述控制器的震动次数满足第一预设条件到监听到所述控制器的震动次数满足第二预设条件之间的时间间隔超过预定时长时,确定监听到所述控制器的所述预定手势操作。
18.一种媒体内容发送方法,其特征在于,应用于应用服务器,所述方法包括:
向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体用于在虚拟空间中传递信息,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联;其中,所述第一状态为虚拟载体不关联媒体内容的状态;
接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态,其中,所述第二状态为虚拟载体关联媒体内容后的状态;
将所述虚拟载体的信息发送给第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容。
19.根据权利要求18所述的方法,进一步包括:
接收所述第一客户端发送的互动信息及所述虚拟载体的标识,其中所述第一客户端当确定抓取到所述虚拟载体时,且监听到与所述第一客户端关联的控制器的预定手势操作时,生成所述互动信息;
根据所述互动信息更新所述虚拟载体的互动信息,并将所述虚拟载体的互动信息与所述虚拟载体的标识相关联;
当在所述虚拟空间中第二客户端关联的虚拟对象与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在虚拟空间中展示所述虚拟载体的互动信息。
20.一种媒体内容发送装置,其特征在于,所述装置包括:
展示模块,展示虚拟空间,所述虚拟空间中包括至少一个虚拟载体和第一客户端对应的虚拟控制体,所述至少一个虚拟载体用于在所述虚拟空间中传递信息;
媒体内容发送模块,用以当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联,并通知应用服务器设置所述虚拟载体的状态为第二状态,其中,所述第一状态为虚拟载体不关联媒体内容的状态,所述第二状态为虚拟载体关联媒体内容后的状态;
释放模块,用以所述虚拟控制体控制所述虚拟载体为释放状态,以将所述虚拟载体关联的媒体内容传递给获取到该虚拟载体的第二客户端。
21.根据权利要求20所述的装置,其中,所述展示模块,还用以:
接收应用服务器发送的所述至少一个虚拟载体的信息及所述虚拟控制体的信息,其中,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;
根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所述虚拟空间。
22.根据权利要求21所述的装置,其中,所述虚拟空间还包含所述第一客户端对应的第一虚拟角色;所述展示模块,还用以:
当所述第一虚拟角色与所述至少一个虚拟载体中各虚拟载体的空间关系满足预定条件时,所述应用服务器向所述第一客户端发送所述至少一个虚拟载体的信息。
23.根据权利要求20所述的装置,其中,媒体内容发送模块,用以:
获取所述第一客户端关联的控制器的实时位置数据;
接收应用服务器发送的所述虚拟载体的实时位置数据;
当根据所述虚拟载体的实时位置数据和所述控制器的实时位置数据确定选取所述虚拟载体时,响应于所述控制器发送的第一交互消息,更新所述虚拟控制体及所述虚拟载体在所述虚拟空间中的位置数据和/或运动数据,所述虚拟控制体抓取到所述虚拟载体;当所述虚拟载体的状态为第一状态时,获取输入的媒体内容。
24.根据权利要求23所述的装置,其中,所述媒体内容发送模块,还用以:
当根据所述虚拟载体的实时位置数据及所述控制器的实时位置数据确定所述虚拟控制体与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
25.根据权利要求23所述的装置,其中,所述虚拟空间还包括与所述虚拟控制体关联的虚拟射线,所述虚拟射线是从所述虚拟控制体发出的;
所述媒体内容发送模块,还用以:
根据所述控制器的所述实时位置数据确定所述虚拟射线在所述虚拟空间中的实时位置数据;
其中,当根据所述虚拟射线的所述实时位置数据及所述虚拟控制体的所述实时位置数据确定所述虚拟射线与所述虚拟载体发生碰撞时,确定选取所述虚拟载体。
26.根据权利要求20所述的装置,其中,所述释放模块,用以:
响应于所述第一客户端关联的控制器发送的第二交互消息,更新所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据;
根据所述虚拟载体及所述虚拟控制体在所述虚拟空间中的位置数据和运动数据显示所述虚拟控制体释放所述虚拟载体。
27.根据权利要求26所述的装置,其中,所述释放模块,还用以:
响应于所述第二交互消息,根据所述控制器的实时位置数据,确定所述虚拟载体的运动轨迹和初始运动数据,并更新所述虚拟控制体的实时位置数据和运动数据;
根据所述运动轨迹和初始运动数据,更新所述虚拟载体的实时位置数据;
所述释放模块,还用以:
根据所述虚拟控制体的实时位置数据、运动数据以及所述虚拟载体的实时位置数据显示所述虚拟载体沿所述运动轨迹运动。
28.根据权利要求20所述的装置,其中,所述媒体内容发送模块,还用以:
响应于来自所述第一客户端关联的控制器发送的第一功能消息,通过自身关联的数据采集装置开始接收外部输入的媒体数据;
响应于来自所述控制器发送的第二功能消息,停止接收媒体数据;
根据接收到的媒体数据生成媒体内容。
29.根据权利要求20所述的装置,其中,所述装置还包括媒体内容获取模块,用以:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,向所述数据内容服务器发送媒体内容请求消息,所述媒体内容请求消息中携带所述虚拟载体的标识,以使数据内容服务器查找所述虚拟载体的标识关联的媒体内容;
接收数据内容服务器响应于所述媒体内容请求消息而发送的所述媒体内容。
30.根据权利要求20所述的装置,其中,所述媒体内容获取模块,还用以:
当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,如果所述虚拟载体的状态为第二状态,则根据所述虚拟载体的标识查找与所述标识相关联的媒体内容。
31.根据权利要求29或30所述的装置,其中,所述装置还包括播放模块,用以:
当确定抓取所述虚拟载体时,响应于来自所述第一客户端关联的控制器发送的第三功能消息,播放所述媒体内容;响应于所述控制器发送的第四功能消息,停止播放所述媒体内容。
32.根据权利要求29或30所述的装置,其中,所述媒体内容包括语音,所述装置还包括播放模块,用以:
获取所述第一客户端关联的头戴设备的实时位置数据;
根据所述头戴设备的实时位置数据确定虚拟空间中与所述第一客户端关联的第一虚拟角色的头部的实时位置数据;
获取所述第一客户端关联的控制器的实时位置数据,根据所述控制器的实时位置数据确定所述虚拟载体的实时位置数据;根据所述第一虚拟角色的头部的实时位置数据及所述虚拟载体的实时位置数据,确定所述虚拟载体相对于所述第一虚拟角色的头部的实时距离及实时方向;
根据所述实时距离及所述实时方向将所述语音转换为具有多维度空间音效的语音;
响应于所述控制器发送的第三功能消息,播放所述具有多维度空间音效的语音;响应于所述控制器发送的第四功能消息,停止播放所述具有多维度空间音效的语音。
33.根据权利要求32所述的装置,其中,所述播放模块,还用以:
获取所述第一客户端关联的头戴设备的实时位置数据,
根据所述头戴设备的实时位置数据确定虚拟空间中所述第一虚拟角色的头部的实时位置数据;
当所述第一虚拟角色的头部的实时位置数据与所述虚拟载体的实时位置数据满足预设条件时,通知所述应用服务器设置所述虚拟载体的状态为第三状态;以使当所述应用服务器将所述虚拟载体的状态发送给所述第二客户端时,所述第二客户端当所述虚拟载体的状态为所述第三状态时,获取与所述虚拟载体关联的媒体内容并播放。
34.根据权利要求33所述的装置,其中,所述装置还包括互动模块,用以:
监听所述控制器的预定手势操作;
当监听到所述控制器的所述预定手势操作时,生成互动信息;
将该互动信息发送给所述应用服务器,以使应用服务器根据该互动信息更新所述虚拟载体的互动信息,当在所述虚拟空间中第二客户端对应的第二虚拟角色与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在所述虚拟空间中展示所述虚拟载体的互动信息。
35.根据权利要求34所述的装置,其中,所述互动模块,还用以:
当检测到所述控制器的震动后,在播放第一预设数量的图像帧的过程中监听到所述控制器的震动次数满足第一预设条件,且在之后播放第二预设数量的图像帧的过程中监听到所述控制器的震动次数满足第二预设条件时,确定监听到所述控制器的所述预定手势操作。
36.根据权利要求34所述的装置,所述互动模块,还用以:
当从监听到所述控制器的震动次数满足第一预设条件到监听到所述控制器的震动次数满足第二预设条件之间的时间间隔超过预定时长时,确定监听到所述控制器的所述预定手势操作。
37.一种媒体内容发送装置,其特征在于,应用于应用服务器,所述装置包括:
第一信息发送模块,用以向第一客户端发送至少一个虚拟载体的信息及所述第一客户端关联的虚拟控制体的信息,其中,所述至少一个虚拟载体用于在虚拟空间中传递信息,所述至少一个虚拟载体的信息包括:各虚拟载体的标识、状态及在所述虚拟空间中的实时位置数据,所述虚拟控制体的信息包括所述虚拟控制体的初始位置信息;以使所述第一客户端根据所述至少一个虚拟载体的信息及所述虚拟控制体的信息展示所虚拟空间,当所述虚拟控制体抓取所述至少一个虚拟载体中一虚拟载体时,当所述虚拟载体的状态为第一状态时,获取输入的媒体内容,将所述媒体内容及所述虚拟载体的标识发送给数据内容服务器,以使所述数据内容服务器将所述媒体内容与所述虚拟载体的标识相关联;其中,所述第一状态为虚拟载体不关联媒体内容的状态;
消息接收模块,用以接收所述第一客户端发送的通知消息,根据该通知消息将所述虚拟载体的状态设置为第二状态;其中,所述第二状态为虚拟载体关联媒体内容后的状态;
第二信息发送模块,用以将所述虚拟载体的信息发送给第二客户端,以使所述第二客户端,从所述数据内容服务器获取与所述虚拟载体的标识相关联的媒体内容。
38.根据权利要求37所述的装置,其中,所述装置还包括:
互动信息接收模块,用以接收所述第一客户端发送的互动信息及所述虚拟载体的标识,其中所述第一客户端当确定抓取到所述虚拟载体时,且监听到与所述第一客户端关联的控制器的预定手势操作时,生成所述互动信息;
互动信息更新模块,用以根据所述互动信息更新所述虚拟载体的互动信息,并将所述虚拟载体的互动信息与所述虚拟载体的标识相关联;
互动信息发送模块,用以当在所述虚拟空间中第二客户端关联的虚拟对象与所述虚拟载体的空间关系满足预设条件时,将所述虚拟载体的互动信息发送给所述第二客户端,以使所述第二客户端,当确定选取所述虚拟载体时,在虚拟空间中展示所述虚拟载体的互动信息。
39.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1-17任一项所述的方法。
40.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,可以使至少一个处理器执行如权利要求18-19任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/074074 WO2019144330A1 (zh) | 2018-01-25 | 2018-01-25 | 媒体内容发送方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110431513A CN110431513A (zh) | 2019-11-08 |
CN110431513B true CN110431513B (zh) | 2020-11-27 |
Family
ID=67395811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880003415.0A Active CN110431513B (zh) | 2018-01-25 | 2018-01-25 | 媒体内容发送方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110431513B (zh) |
WO (1) | WO2019144330A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784850B (zh) * | 2020-07-03 | 2024-02-02 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的物体抓取仿真方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003797A (zh) * | 2015-09-08 | 2017-08-01 | 苹果公司 | 媒体环境中的智能自动化助理 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10062208B2 (en) * | 2015-04-09 | 2018-08-28 | Cinemoi North America, LLC | Systems and methods to provide interactive virtual environments |
KR20170082028A (ko) * | 2016-01-05 | 2017-07-13 | 주식회사 비블톡 | 림 모션 장치 |
US10089071B2 (en) * | 2016-06-02 | 2018-10-02 | Microsoft Technology Licensing, Llc | Automatic audio attenuation on immersive display devices |
CN106658146A (zh) * | 2016-12-28 | 2017-05-10 | 上海翌创网络科技股份有限公司 | 基于虚拟现实的弹幕方法 |
CN107132917B (zh) * | 2017-04-25 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 用于虚拟现实场景中的手型显示方法及装置 |
CN107562201B (zh) * | 2017-09-08 | 2020-07-07 | 网易(杭州)网络有限公司 | 定向交互方法、装置、电子设备及存储介质 |
-
2018
- 2018-01-25 CN CN201880003415.0A patent/CN110431513B/zh active Active
- 2018-01-25 WO PCT/CN2018/074074 patent/WO2019144330A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003797A (zh) * | 2015-09-08 | 2017-08-01 | 苹果公司 | 媒体环境中的智能自动化助理 |
Also Published As
Publication number | Publication date |
---|---|
WO2019144330A1 (zh) | 2019-08-01 |
CN110431513A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6724110B2 (ja) | 仮想空間中のアバター表示システム、仮想空間中のアバター表示方法、コンピュータプログラム | |
US11231841B2 (en) | Continuation of playback of media content by different output devices | |
US10445941B2 (en) | Interactive mixed reality system for a real-world event | |
US8867886B2 (en) | Surround video playback | |
CN110213616B (zh) | 视频提供方法、获取方法、装置及设备 | |
US9632683B2 (en) | Methods, apparatuses and computer program products for manipulating characteristics of audio objects by using directional gestures | |
US11250636B2 (en) | Information processing device, information processing method, and program | |
CN105450736B (zh) | 与虚拟现实连接的方法和装置 | |
EP2840463A1 (en) | Haptically enabled viewing of sporting events | |
US20130129304A1 (en) | Variable 3-d surround video playback with virtual panning and smooth transition | |
JP6843164B2 (ja) | プログラム、方法、および情報処理装置 | |
CN104813642A (zh) | 用于触发手势辨识模式以及经由非触摸手势的装置配对和共享的方法、设备和计算机可读媒体 | |
CN109151565A (zh) | 播放语音的方法、装置、电子设备及存储介质 | |
JP6470374B1 (ja) | 仮想現実を提供するためにコンピュータで実行されるプログラムおよび情報処理装置 | |
CN110431513B (zh) | 媒体内容发送方法、装置及存储介质 | |
JP7244450B2 (ja) | コンピュータプログラム、サーバ装置、端末装置、及び方法 | |
WO2021078182A1 (zh) | 一种播放方法以及播放*** | |
WO2019104533A1 (zh) | 一种视频播放方法及装置 | |
EP3549009A1 (en) | Realtime recording of gestures and/or voice to modify animations | |
EP4270155A1 (en) | Virtual content | |
CN106780676B (zh) | 一种用于显示动画的方法和装置 | |
JP2018114241A (ja) | 情報処理装置およびゲーム画音生成方法 | |
CN116964544A (zh) | 信息处理装置、信息处理终端、信息处理方法和程序 | |
CN115604408A (zh) | 虚拟场景下的视频录制方法、装置、存储介质及电子设备 | |
JP2021179933A (ja) | 通信端末、通信システム、通信方法、及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |