虚拟现实场景的加载方法、设备及虚拟现实设备与流程

文档序号:11250698阅读:630来源:国知局
虚拟现实场景的加载方法、设备及虚拟现实设备与流程

本发明涉及虚拟现实技术领域,更具体地,涉及一种虚拟现实场景的加载方法、设备及虚拟现实设备。



背景技术:

随着虚拟现实(vr)技术的逐步成熟,诸如虚拟现实头盔、虚拟现实眼镜等等各种虚拟现实设备陆续出现,可以在用户进行游戏、观看视频、场景互动时,通过呈现虚拟现实场景为用户提供犹如身临其境的虚拟现实体验。

因此虚拟现实场景的呈现,是影响用户可获取的虚拟现实体验的关键因素。目前在现有技术中,通常采用场景开发平台例如unity3d来开发虚拟现实场景,unity3d是一个全面整合的专业游戏引擎,由unitytechnologies公司开发提供,可以使得虚拟现实场景的开发者轻松开发创建虚拟现实场景,此外,并且,unity3d的编辑器还可以运行在多种操作系统下呈现虚拟现实场景。

但是,发明人发现,目前的unity3d或者类似的场景开发平台,随着场景开发需求的不断升级,会不断推出满足开发需求的升级版本,而多个版本之间通常会存在兼容问题,例如,用户使用的虚拟现实设备例如虚拟现实眼镜,是基于某个低版本的unity3d来呈现虚拟现实场景,而用户期望加载的虚拟现实场景是基于某个高版本的unity3d来开发的,因为版本无法兼容而出现场景加载时的渲染错误,导致该虚拟现实场景加载失败,影响用户体验。

因此,发明人认为,有必要对上述现有技术中存在的问题进行改进。



技术实现要素:

本发明的一个目的是提供一种用于加载虚拟现实场景的新技术方案。

根据本发明的第一方面,提供了一种虚拟现实场景的加载方法,包括:

创建加载控制脚本,

其中,所述加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息;

响应于目标虚拟现实场景的加载请求,获取所述加载控制脚本;

根据预设的执行优先级执行所述加载控制脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述加载控制脚本包括控制子脚本和渲染子脚本,

其中,所述控制子脚本至少包括所述渲染时序,所述渲染子脚本至少包括所述渲染执行信息;

所述执行所述加载控制脚本的步骤包括:

执行所述控制子脚本,以根据所述渲染时序执行所述渲染子脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述预设的执行优先级是最高的执行优先级。

可选地,所述预设的执行优先级是最高的执行优先级。

进一步可选地,所述场景摄像机包括左眼摄像机和右眼摄像机。

或者,可选地,所述虚拟现实场景的加载方法还包括:

将所述加载控制脚本添加在预设的通用场景对象中,以供加载虚拟现实场景时重复使用。

根据本发明的第二方面,提供一种虚拟现实场景的加载设备,包括:

脚本创建单元,用于创建加载控制脚本,

其中,所述加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息;

脚本获取单元,用于响应于目标虚拟现实场景的加载请求,获取所述加载控制脚本;

脚本执行单元,用于根据预设的执行优先级执行所述加载控制脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述加载控制脚本包括控制子脚本和渲染子脚本,

其中,所述控制子脚本至少包括所述渲染时序,所述渲染子脚本至少包括所述渲染执行信息;

所述脚本执行单元,用于执行所述控制子脚本,以根据所述渲染时序执行所述渲染子脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述虚拟现实场景的加载设备还包括:

通用设置单元,用于将所述加载控制脚本添加在预设的通用场景对象中,以供加载虚拟现实场景时重复使用。

根据本发明的第三方面,还提供一种虚拟现实设备,至少包括根据本发明的第二方面提供的任意一项虚拟现实场景的加载设备。

本发明的发明人发现,在现有技术中,尚未存在一种虚拟现实场景的加载方法、设备及虚拟现实设备,可以使得虚拟现实场景的加载不受限于场景开发平台的版本,从而避免场景开发平台的版本不兼容导致的虚拟现实场景加载失败,提升用户的虚拟现实体验。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是显示可用于实现本发明的实施例的电子设备的硬件配置的例子的框图。

图2示出了本发明的实施例的虚拟现实场景的加载方法的流程图。

图3示出了本发明的实施例的虚拟现实场景的加载设备的框图。

图4示出了本发明的实施例的虚拟现实设备的框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<硬件配置>

图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。

电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。或者,还可以虚拟现实眼镜、虚拟现实头盔等虚拟现实产品。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。

图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项虚拟现实场景的加载方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

<实施例>

本实施例的总体构思,是提供一种虚拟现实场景的加载方案,以克服现有技术中存在的,虚拟现实场景的加载所基于的场景开发平台,与加载的虚拟现实场景开发时所基于的场景开发平台的版本不一致,无法兼容而导致的虚拟现实场景加载失败的缺陷,可以使得虚拟现实场景的加载不受限于场景开发平台的版本,从而避免场景开发平台的版本不兼容导致的虚拟现实场景加载失败,提升用户的虚拟现实体验。

<方法>

本实施例中提供一种虚拟现实场景的加载方法,如图2所示,包括:

步骤s2100,创建加载控制脚本,

其中,所述加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息;

具体地,所述渲染时序是虚拟现实场景中包含的场景对象执行渲染的时间顺序,所述与所述渲染时序对应的渲染执行信息,是根据所述渲染时序执行渲染时具体对应的执行内容,例如,渲染的区域、渲染的目标等。

具体地,所述渲染时序可以是场景摄像机的渲染时序。

所述场景摄像机是通过场景开发平台例如unity3d开发时,设置于开发的虚拟现实场景中呈现场景对象的元件。通常一个虚拟现实场景中可能包含多个场景摄像机,每个场景摄像机呈现的虚拟现实场景的场景对象不同或者是呈现同一个场景对象的不同显示效果。例如,对于如虚拟现实眼镜这样的虚拟现实设备,通常场景摄像机都包括左眼摄像机和右眼摄像机。

具体地,在加载虚拟现实场景时,都必须依据一定的渲染时序对虚拟现实场景中包含的场景对象进行渲染,才能成功加载该虚拟现实场景向用户呈现,因此,所述渲染时序是影响虚拟现实场景加载的关键因素。

例如,unity3d开发的虚拟现实场景中,通常可以通过依次渲染场景摄像机对应的场景对象来完成对虚拟现实场景的加载,因此,场景摄像机的渲染时序出现错误时,会影响虚拟现实场景的加载,导致加载失败,例如,通过虚拟现实眼镜为用户加载虚拟现实场景时,应该以先渲染左眼摄像机再渲染右眼摄像机的渲染时序对虚拟现实场景所包含的场景对象进行渲染,而在实际加载时,先渲染右眼摄像机对应的场景对象,就会导致虚拟现实场景加载失败。

而发明人发现,在例如unity3d这样的场景开发平台中,不同版本的场景开发平台之间无法兼容,主要原因是开发或者加载虚拟现实场景时所基于的渲染时序存在不一致,例如通过高版本a的场景开发平台加载虚拟现实场景的渲染时序,与通过低版本b的场景开发平台加载虚拟现实场景的渲染时序不一致,因此通过高版本a的场景开发平台加载基于低版本b的场景开发平台开发的虚拟现实场景时,会因为渲染时序错误,导致加载虚拟现实场景失败。

因此,在如图2所示的本实施例中提供的虚拟现实场景的加载方法中,通过在加载虚拟现实场景之前,创建加载控制脚本,在加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息,使得可以在加载目标虚拟现实场景时,通过执行所述加载控制脚本,以对所述目标虚拟现实场景中包含的场景对象按指定的渲染时序执行渲染,从而避免不同版本的场景开发平台带来的渲染时序不一致,使得虚拟现实场景的加载不受限于场景开发平台的版本。

具体地,所述指定的渲染时序,可以是指定的场景摄像机渲染时序,更具体地,在unity3d中,可以通过设置多个场景摄像机不同的深度值(depth)来实现设置指定的场景摄像机渲染时序,例如可以通过将左眼摄像机的深度值设置比右眼摄像机深度值小,使得指定的渲染时序为先渲染左眼摄像机再渲染右眼摄像机。而所述指定的渲染时序所表示的具体渲染时序,可以根据具体的应用场景的需求设置,也可以根据工程经验或者试验仿真设置。

具体地,还可以将所述加载控制脚本添加在预设的通用场景对象中,以供加载虚拟现实场景时重复使用。

例如,预设的通用场景对应可以是unity3d的prefabs。在unity3d中,prefabs(预设)是一种资源类型,可被重复使用的场景对象,它可以被置入多个场景中,又或者能够在一个场景中被多次置入。可以新建prefabs,将加载控制脚本添加在该prefabs中,以供加载虚拟现实场景时重复使用,提高使用效率。

此外,所述加载控制脚本还可以包括控制子脚本和渲染子脚本,其中,所述控制子脚本至少包括所述渲染时序,所述渲染子脚本至少包括所述渲染执行信息。

步骤s2200,响应于目标虚拟现实场景的加载请求,获取所述加载控制脚本;

具体地,所述目标虚拟现实场景的加载请求通常在实际存在虚拟现实场景的加载需求时触发,例如,用户使用虚拟现实设备体验虚拟现实游戏时。

响应于目标虚拟现实场景的加载请求,可以获取加载控制脚本,例如,具体地,当加载控制脚本添加在预设的通用场景对象中时,可以将该通用场景对象置入对应的目标虚拟现实场景中。

步骤s2300,根据预设的执行优先级执行所述加载控制脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

具体地,所述执行优先级对应加载控制脚本的执行次序,优先级越高,执行次序越靠前。在本实施例中,加载控制脚本的执行优先级应高于其他脚本的执行优先级,以使得具体执行加载控制脚本时,能确保对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染。因此,可以通过预设的执行优先级来实现,根据预设的执行优先级执行所述加载控制脚本,使得加载控制脚本的执行次序优于其他脚本的执行次序。

更具体地,所述预设的执行优先级是最高的执行优先级。例如,可以通过将unity3d中提供的脚本执行次序对应的属性值设置为负值,实现将加载控制脚本的执行优先级设置为最高的执行优先级。

执行加载控制脚本,加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息,可以使得对所述目标虚拟现实场景中按渲染时序并根据对应的渲染执行信息来执行渲染,实现对目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染。

此外,创建的加载控制脚本可以包括控制子脚本和渲染子脚本,其中,所述控制子脚本至少包括所述渲染时序,所述渲染子脚本至少包括所述渲染执行信息,对应地,所述执行所述加载控制脚本的步骤包括:

执行所述控制子脚本,以根据所述渲染时序执行所述渲染子脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

具体地,可以在创建加载控制脚本后,将创建控制子脚本,再根据控制子脚本创建对应的渲染子脚本,而后将控制子脚本添加到预设的通用场景对象例如新建的prefabs中,再将渲染子脚本添加到该prefabs中,在加载目标虚拟现实场景时,将该prefabs置入场景中,以实现执行加载控制脚本,完成目标虚拟现实场景的加载。

<装置>

在本实施例中,还提供一种虚拟现实场景的加载设备3000,如图3所示,包括:脚本创建单元3100、脚本获取单元3200以及脚本执行单元3300,可选地,还包括通用设置单元3400,用于实施本实施例中提供的任意一项虚拟现实场景的加载方法,在此不再赘述。

虚拟现实场景的加载设备3000,包括:

脚本创建单元3100,用于创建加载控制脚本,

其中,所述加载控制脚本中至少包含指定的渲染时序、以及与所述渲染时序对应的渲染执行信息;

脚本获取单元3200,用于响应于目标虚拟现实场景的加载请求,获取所述加载控制脚本;

脚本执行单元3300,用于根据预设的执行优先级执行所述加载控制脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述预设的执行优先级是最高的执行优先级。

可选地,所述渲染时序至少包括场景摄像机的渲染时序。

进一步可选地,所述场景摄像机包括左眼摄像机和右眼摄像机。

或者,可选地,所述加载控制脚本包括控制子脚本和渲染子脚本,

其中,所述控制子脚本至少包括所述渲染时序,所述渲染子脚本至少包括所述渲染执行信息;

所述脚本执行单元3300,用于执行所述控制子脚本,以根据所述渲染时序执行所述渲染子脚本,对所述目标虚拟现实场景中包含的场景对象按所述渲染时序执行渲染,以加载所述目标虚拟现实场景。

可选地,所述虚拟现实场景的加载设备3000,还包括:

通用设置单元3400,用于将所述加载控制脚本添加在预设的通用场景对象中,以供加载虚拟现实场景时重复使用。

在具体应用中,所述虚拟现实场景的加载设备3000可能存在多种实施形式,例如,可以是内置与虚拟现实设备中的功能单元,也可以是以插件的形式提供不同的虚拟现实设备安装或者加载,以获取相应的技术效果,等等,在此不一一列举。

此外,虚拟现实场景的加载设备3000的硬件配置,可以如图1所示的电子设备1000。

本领域技术人员应当明白,可以通过各种方式来实现虚拟现实场景的加载设备3000。例如,可以通过指令配置处理器来实现虚拟现实场景的加载设备3000。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现虚拟现实场景的加载设备3000。例如,可以将虚拟现实场景的加载设备3000固化到专用器件(例如asic)中。可以将虚拟现实场景的加载设备3000分成相互独立的单元,或者可以将它们合并在一起实现。虚拟现实场景的加载设备3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

<产品>

在本实施例中,还提供一种虚拟现实设备4000,如图4所示,至少包括本实施例中提供的任意一项虚拟现实场景的加载设备3000。具体地,所述虚拟现实设备4000可以是虚拟现实眼镜、虚拟现实头盔等。

此外,虚拟现实设备4000的硬件配置,可以如图1所示的电子设备1000。

以上已经结合附图描述了本发明的实施例,根据本实施例,提供一种虚拟现实场景的加载方法、设备及虚拟现实设备,通过创建至少包含指定的渲染时序以及与渲染时序对应的渲染执行信息的加载控制脚本,使得在加载虚拟现实场景时,可以根据预设的优先级执行加载控制脚本,实现虚拟现实场景中包含的场景对象按指定的渲染时序执行渲染,从而避免不同版本的场景开发平台带来的渲染时序不一致带来的虚拟现实场景加载失败,使得虚拟现实场景的加载不受限于场景开发平台的版本,提升用户的虚拟现实体验。

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1