一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟对象透视处理方法、装置及计算机设备与流程

2022-05-11 13:39:48 来源:中国专利 TAG:


1.本技术涉及图像处理应用领域,具体涉及一种虚拟对象透视处理方法、装置及计算机设备。


背景技术:

2.随着计算机通信技术的发展,电子游戏已成为用户生活娱乐的重要部分,在电子游戏的开发过程中,通常需要对游戏中的二维模型、三维模型进行渲染。以单目相机下的横版游戏为例,在模型渲染过程中,对于具有特定透视效果的虚拟对象,通常需要先该虚拟对象的源网格模型进行透视校正处理,以使渲染输出的该虚拟对象表现出不同相机视场角下透视效果。
3.具体的,参照图1所示目前采用的虚拟对象透视处理流程示意图,目前是先由美术制作人员在三维建模工具中,手动对所构建的虚拟对象的源网格模型进行晶格变形处理,再将变形后的目标网格模型导入游戏引擎中,以完成后续的模型渲染流程,达到所需透视展示效果。
4.然而,现有的这种人工对网格模型进行晶格变形处理的方式,往往会受到美术制作人员的主观视觉影响,可靠性及精准度都是不可控的,且为了保证最终虚拟对象的展示效果,要求任一游戏场景下的相机视场角,必须与美术制作人员在三维建模工具中设定的相机视场角保持一致,具有很大局限性,往往无法满足应用需求,降低了用户体验。


技术实现要素:

5.为实现上述目的,本技术实施例提供如下技术方案:
6.一方面,本技术提出了一种虚拟对象透视处理方法,所述方法包括:
7.获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型;
8.利用所述目标相机视场角和所述源相机视场角各自对应的投影矩阵,对所述源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型;
9.按照视场角变化约束条件,对所述源相机视场角下的源相机空间位置和所述第一虚拟对象的源渲染空间位置进行偏移校正,得到所述目标相机视场角下的目标相机空间位置及所述第一虚拟对象的目标渲染空间位置;
10.依据所述目标相机空间位置和所述目标渲染空间位置,对所述目标网格模型进行渲染,得到所述第一虚拟对象的目标渲染图像。
11.可选的,所述获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型,包括:
12.获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中各虚拟对象对应的源相机视场角和源网格模型;
13.将所述各虚拟对象对应的源相机视场角分别与所述目标相机视场角进行比较;
14.依据比较结果,确定出第一虚拟对象所对应的源相机视场角和源网格模型,所述第一虚拟对象是指与所述目标相机视场角不一致的所述源相机视场角所对应的虚拟对象。
15.可选的,所述第一虚拟对象的源相机视场角和源网格模型的获取方法包括:
16.接收电子设备发送的三维模型数据导入请求,所述三维模型数据导入请求是所述电子设备响应于对第一虚拟对象的三维模型数据导入操作而生成的;
17.解析所述三维模型数据导入请求,得到所述第一虚拟对象的源相机视场角和源网格模型。
18.可选的,所述利用所述目标相机视场角和所述源相机视场角各自对应的投影矩阵,对所述源网格模型的各顶点进行空间位置偏移校正,得到世界坐标系下的目标网格模型,包括:
19.获取所述目标相机视场角的第一投影矩阵、所述源相机视场角的第二投影矩阵、相机坐标系与世界坐标系之间的相机变换矩阵,以及所述源网格模型中各顶点对应的源顶点空间位置;
20.利用所述第一投影矩阵、所述第二投影矩阵及所述相机变换矩阵,对所述源顶点空间位置进行偏移校正,得到所述世界坐标系下相应顶点的位置偏移量;
21.依据得到的多个所述位置偏移量,对所述源网格模型的相应顶点进行空间位置偏移校正,得到所述第一虚拟对象在所述世界坐标系下的目标网格模型。
22.可选的,所述视场角变化约束条件包括不同相机视场角下,同一虚拟对象的屏幕空间尺寸相同。
23.可选的,所述按照视场角变化约束条件,对所述源相机视场角下的源相机空间位置和所述第一虚拟对象的源渲染空间位置进行偏移校正,得到所述目标相机视场角下的目标相机空间位置及所述第一虚拟对象的目标渲染空间位置,包括:
24.获取所述世界坐标系中所述源相机视场角下的源相机状态参数;
25.依据所述源相机状态参数,获得所述目标相机视场角下的目标相机空间位置,及所述第一虚拟对象的渲染校正参数;其中,所述渲染校正参数包括所述世界坐标系下,对所述源渲染空间位置的位置校正参数,和/或对所述第一虚拟对象的模型缩放比例;
26.利用所述渲染校正参数,对所述第一虚拟对象的源渲染空间位置进行校正,得到目标渲染空间位置。
27.可选的,所述源相机状态参数包括源相机空间位置、源相机俯仰角,以及源相机位置向量的第一夹角,其中,所述第一夹角是指所述源相机位置向量与所述世界坐标系的第一坐标轴之间的夹角,所述第一坐标轴可以指所述世界坐标系的y轴或x轴,所述源相机空间位置包括源相机投影在所述第一坐标轴上的第一坐标,和投影在所述世界坐标系的第二坐标轴上的第二坐标,所述第二坐标轴包括z轴;
28.所述依据所述源相机状态参数,获得所述目标相机视场角下的目标相机空间位置,及所述第一虚拟对象的渲染校正参数,包括:
29.利用所述第一坐标和所述第二坐标,得到所述源相机视场角下的源相机与世界坐标系原点之间的相机源距离;
30.利用所述源相机视场角和所述目标相机视场角,得到第一虚拟对象的模型缩放比例;
31.依据所述相机源距离、所述模型缩放比例及所述第一夹角,获得所述目标相机视场角下的目标相机空间位置;
32.依据所述模型缩放比例、所述第一坐标、所述相机源俯仰角及所述第一夹角,获得所述第一虚拟对象的渲染校正参数。
33.可选的,所述依据所述相机源距离、所述模型缩放比例及所述第一夹角,获得所述目标相机视场角下的目标相机空间位置,包括:
34.利用所述相机源距离和所述模型缩放比例,得到相机距离偏移量;
35.利用所述第一坐标、所述相机源俯仰角、所述第一夹角、所述相机距离偏移量以及所述相机源距离,获得所述目标相机视场角下的相机位置偏移量,其中,所述相机位置偏移量是指目标相机相对于所述源相机投影在所述z轴上的位置偏移量;
36.利用所述相机位置偏移量、所述第一夹角、所述相机距离偏移量以及所述相机源距离,得到所述目标相机视场角下的第三坐标,其中,所述第三坐标是指所述目标相机投影在所述z轴上的坐标;
37.利用所述第一夹角、所述相机距离偏移量以及所述相机源距离,得到所述目标相机视场角下的第四坐标,其中,所述第四坐标是指所述目标相机投影在所述第一坐标轴上的坐标;
38.由所述第三坐标和所述第四坐标,确定所述目标相机视场角下的目标相机空间位置;
39.所述依据所述模型缩放比例、所述第一坐标、所述相机源俯仰角及所述第一夹角,获得所述第一虚拟对象的渲染校正参数,包括:
40.由所述相机位置偏移量和所述模型缩放比例,构成所述第一虚拟对象的渲染校正参数。
41.又一方面,本技术还提出了一种虚拟对象透视处理装置,所述装置包括:
42.第一数据获取模块,用于获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型;
43.第一位置校正模块,用于利用所述目标相机视场角和所述源相机视场角各自对应的投影矩阵,对所述源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型;
44.第二位置校正模块,用于按照视场角变化约束条件,对所述源相机视场角下的源相机空间位置和所述第一虚拟对象的源渲染空间位置进行偏移校正,得到所述目标相机视场角下的目标相机空间位置及所述第一虚拟对象的目标渲染空间位置;
45.渲染模块,用于依据所述目标相机空间位置和所述目标渲染空间位置,对所述目标网格模型进行渲染,得到所述第一虚拟对象的目标渲染图像。
46.又一方面,本技术还提出了一种计算机设备,所述计算机设备包括:
47.通信模块;
48.存储器,用于存储如上述的虚拟对象透视处理方法的程序;
49.处理器,用于加载并执行所述存储器存储的所述程序,实现如上述的虚拟对象透视处理方法的各步骤。
50.又一方面,本技术还提出了一种可读存储介质,其特征在于,其上存储有计算机程
序,所述计算机程序被处理器加载并执行,实现如上述的虚拟对象透视处理方法的各步骤。
51.基于上述技术方案,本技术实施例不需要美术制作人员在三维建模工具中进行第一虚拟对象(即需要透视校正的虚拟对象)的透视校正,而是在横版游戏这类应用的运行过程中,直接由计算机设备(如游戏引擎)获取第一虚拟应用场景(即任一应用运行时刻对应的虚拟应用场景)的目标相机视场角,以及该第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型,之后,可以利用目标相机视场角和所述源相机视场角各自对应的投影矩阵,对源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型,同时,按照视场角变化约束条件,对源相机视场角下的源相机空间位置和第一虚拟对象的源渲染空间位置进行偏移校正,得到目标相机视场角下的目标相机空间位置及第一虚拟对象的目标渲染空间位置,以实现对目标网格模型的渲染,得到第一虚拟对象的目标渲染图像,这种自动实现虚拟对象透视校正的处理方式,不再限制游戏运行过程中的相机视场角,保证了各运行时刻的虚拟应用场景所展示的目标渲染图像,能够达到相应要求的透视效果,且不会影响应用原运行状态,提高了用户体验。
附图说明
52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
53.图1为目前采用的虚拟对象透视处理流程示意图;
54.图2为适用于本技术提出的虚拟对象透视处理方法和装置的计算机设备实施例的硬件结构示意图;
55.图3为适用于本技术提出的虚拟对象透视处理方法和装置的电子设备实施例的硬件结构示意图;
56.图4为本技术提出的虚拟对象透视处理方法的一可选示例的流程示意图;
57.图5a为相机坐标系示意图;
58.图5b为世界坐标系示意图;
59.图6为本技术提出的虚拟对象透视处理方法的又一可选示例的流程示意图;
60.图7为本技术提出的虚拟对象透视处理方法的又一可选示例的流程示意图;
61.图8为本技术提出的虚拟对象透视处理方法中,第一虚拟对象在世界坐标系的yoz平面上的透视投影处理示意图;
62.图9为本技术提出的虚拟对象透视处理方法的又一可选示例的流程示意图;
63.图10为本技术提出的虚拟对象透视处理装置的一可选示例的结构示意图;
64.图11为本技术提出的虚拟对象透视处理装置的又一可选示例的结构示意图。
具体实施方式
65.基于背景技术部分的描述的技术问题,本技术希望能够由游戏引擎(即支持游戏正常运行的计算机设备)自动实现对横版游戏这类应用中,具有特定透视要求的虚拟对象的透视校正处理,即对该虚拟对象的网格模型的顶点和相机进行空间位置实时校正,以使
该虚拟对象表现出不同于当前相机视场角的透视效果,该透视校正过程不再由美术制作人员在三维建模工具(如maya/max等建模软件)手动完成,从而解决因人工对虚拟对象的网格模型进行晶格变形处理,而带来的一系列问题。
66.本技术实际应用中,对于虚拟对象的网格模型的构建,可以依据人工智能(artificial intelligence,ai)技术实现。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等基础技术,以及计算机视觉技术(computer vision,cv)、语音处理技术(speech technology)、自然语言处理技术(nature language processing,nlp)以及机器学习(machine learning,ml)/深度学习等几大方向的软件技术。
67.对于本技术提出的单目相机的横版游戏这类应用,可以依据应用需求,从中选择合适的人工智能技术。如利用计算机视觉技术中的图像识别与处理、三维物体重建、三维技术等,构建游戏场景中各游戏对象(即虚拟对象)的网格模型(即虚拟对象模型的网格体),具体构建过程本技术不做详述,可以理解,在模型构建过程中,可以结合如人工神经网络、置信网络、强化学习、迁移学习、归纳学习等中的一个或多个机器学习算法实现,但并不局限于本实施例描述的模型构建方式。
68.在完成网格模型的透视校正处理后的模型渲染阶段,本技术可以利用渲染技术实现,具体实现过程不做详述,且在渲染过程中,可以依据应用需求,结合如上文描述的人工智能技术实现,以提高渲染效率及可靠性。
69.在一些实施例中,对于上述模型渲染过程可以利用云渲染技术实现,即将三维程序放在远程的服务器中渲染,用户终端通过web软件或者直接在本地的三维程序中点击如“云渲染”功能按钮,通过互联网接入访问资源,将云渲染请求发送至服务器,由服务器根据该云渲染请求执行对应的渲染任务,并将得到渲染结果画面反馈至用户终端进行展示,达到所需的动画展示效果,供用户观看并操作。当然,本技术也可以由本地具有一定数据处理能力的电子设备完成上述模型渲染过程,本技术对执行模型渲染的计算机设备类型不做限制,可视情况而定。
70.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
72.应当理解,本技术中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
73.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备
也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
74.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
75.参照图2,为适用于本技术提出的虚拟对象透视处理方法和装置的计算机设备的硬件结构示意图,结合上述分析,该计算机设备可以是服务器和/或电子设备,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是支持云计算服务的云服务器等。服务器可以通过有线或无线通信方式,实现与如智能手机、平板电脑、笔记本电脑、台式计算机、上网本等电子设备直接或间接地连接,满足电子设备与服务器之间的数据交互需求,具体通信连接方式可视情况而定。
76.如图2所示,本技术实施例提出的计算机设备可以包括但并不局限于:通信模块11、存储器12和处理器13,其中:
77.通信模块11、存储器12和处理器13各自的数量可以为至少一个,且通信模块11、存储器12和处理器13可以均连接通信总线,以实现相互间的数据通信,具体通信过程可视情况而定。
78.通信模块11可以包括gsm模块、gprs模块、wifi模块,和/或实现其他无线通信网络或有线通信网络的通信模块等,还可以包括如usb接口、串/并口等通信模块,以实现计算机设备内部组成部件相互之间的数据传输,本技术对计算机设备所包含的通信模块的类型及其数量不做限制,可以依据应用场景下的数据通信需求确定,本实施例在此不做一一详述。
79.存储器12可以用于存储实现本技术提出的虚拟对象透视处理方法的程序,处理器13可以用于加载并执行存储器12所存储的程序,以实现本技术实施例提出的虚拟对象透视处理方法的各步骤,具体实现过程可以参照但并不局限于下文方法实施例相应部分的描述,在此不做详述。
80.在本技术实施例中,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器13,可以为中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。
81.应该理解的是,图2所示的计算机设备的结构并不构成对本技术实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图2所示的更多或更少的部件,或者组合某些部件。示例性的,若上述计算机设备为如上文列举的电子设备,该电子设备可以配置有支持应用正常运行的应用引擎,如支持横版游戏运行的游戏引擎,此外,从硬件结构来看,参照图3所示,该电子设备还可以包括如显示器、各输入设备、各输出设备、天线、电源模块、传感器模块等,本技术在此不做一一列举。
82.在实际应用中,结合上文相关部分描述,在游戏动画的生产制作阶段,通常需要美
术制作人员使用电子设备中按照的三维建模工具,完成各游戏场景中的游戏对象(记为虚拟对象)的动画制作,如利用获取的各对象资源,构建相应虚拟对象的三维模型或二维模型等,本技术对模型构建过程不做详述,且对于实现虚拟对象的模型构建的电子设备的组成结构,可以参照上文相应部分的描述,本实施例在此不做赘述。
83.在本技术实施例中,结合上文对本技术技术构思的描述,美术制作人员在三维建模工具上完成横版游戏或其他固定视角类游戏中,各虚拟对象的网格模型(也可以称为模型网格体)的构建后,可以直接将其导入上述计算机设备,这样,在游戏运行过程中,可以实时计算游戏场景的目标相机视场角,并发送至计算机设备,从而由计算机设备中的游戏引擎(即一些已编写好的可编辑电脑游戏系统,或者一些交互式实时图像应用程序的核心组件)执行本技术提出的虚拟对象透视处理方法,依据当前时刻的目标相机视场角,实现对该游戏场景中的第一虚拟对象(即具有非常规透视表现需求的虚拟对象)进行透视校正,从而使该第一虚拟对象能够表现任意相机视场角的透视效果,提高了游戏运行过程中透视校正及渲染效率,极大减轻了美术制作人员的工作量,解决了人工对网格模型进行晶格变形处理,所造成的可靠性及精准度都不可控,且严格限制游戏过程中的相机视场角的技术问题。
84.下面将从计算机设备角度,来详细描述本技术提出的虚拟对象透视处理方法,但并不局限于下文各实施例描述的处理方法,且对于本技术中使用流程图所说明的根据本技术实施例的计算机设备所执行的操作,可以理解,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作,本技术下文实施例并未一一详述,但均属于本技术技术方案的保护范围。
85.参照图4,为本技术提出的虚拟对象透视处理方法的一可选示例的流程示意图,该方法适用于如上文描述的计算机设备,如图4所示,该方法可以包括但并不局限于以下步骤:
86.步骤s11,获取第一虚拟应用场景的目标相机视场角,以及第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型;
87.本技术实施例中,第一虚拟应用场景可以是应用运行过程中所要输出的任一待渲染的应用场景,如单目相机下的横版游戏运行过程中的任一游戏场景。相应地,第一虚拟对象可以是指该第一虚拟应用场景中,具有非常规透视展示效果的虚拟对象,也就是说,该第一虚拟对象按照常规模型渲染处理,所达到的透视展示效果无法满足应用需求,需要先对该第一虚拟对象进行透视校正,再利用校正后的数据进行模型渲染,才能够使第一虚拟应用场景展示的第一虚拟对象达到需要的透视效果。
88.其中,上述相机可以是虚拟应用场景设置,用以实现虚拟对象的模型渲染的场景相机,其通常有一定的空间位置和方向,或者说具有一定的视场角fov(field of view),决定了相应虚拟应用场景的视野范围,即该虚拟应用场景的展示内容。因此,在该场景相机的视场角发生变化时,展示给用户的虚拟应用场景所包含的虚拟对象也可能会发生变化,满足用户对应用的操作需求。
89.在构建虚拟应用场景中各虚拟对象的网格模型过程中,通常会确定该虚拟应用场景中各虚拟对象对应的初始视场角,记为源相机视场角,其可能无法满足不同用户对该虚拟对象输出时所希望展示的透视效果。示例性的,若虚拟对象1预设的源相机视场角选取数
值较小,如5
°
(单位:度),游戏玩家所控制该虚拟对象往往表现接近于正交投影,无法达到透视投影的视觉效果。
90.对此,以单目相机下的横版游戏这类应用为例,本技术提出依据游戏运行过程中,所实时获取的目标相机视场角,对预设的源相机视场角与该目标相机视场角不一致的第一虚拟对象,即按照源相机视场角进行模型渲染,无法达到所需的透视展示效果的虚拟对象,进行网格模型的各顶点空间位置、相机空间位置及渲染空间位置等信息的校正,以使得渲染展示的第一虚拟对象(即游戏场景中的三维游戏对象)能够达到所需的透视效果。
91.可以理解,上述目标相机视场角可以是游戏运行过程中实时计算得到,会随着用户玩游戏而动态变化,本技术对该目标相机视场角的计算方法不做限制,可以依据当前所展示的第一虚拟应用场景的场景数据、用户输入的操作数据、用户用来玩游戏的电子设备所感应的各状态参数等信息,来实时计算不同时刻的目标相机视场角,具体实现过程本实施例不做详述。
92.对于上述第一虚拟对象的源网格模块可以是,美术制作人员在三维建模工具中构建完成,并导入计算机设备的,本技术对不同虚拟对象的网格模型构建方法不做详述。
93.步骤s12,利用目标相机视场角和源相机视场角各自对应的投影矩阵,对源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型;
94.继续上文描述,第一虚拟对象的源网格模型是在源相机视场角下构建而成的,但此时用户需要展示的目标相机视场角与该源相机视场角不一致,若继续对该源网格模型进行渲染,会导致最终所展示的渲染图像无法达到所需的透视投影的视觉效果。因此,本技术提出按照当前获得目标相机视场角,对第一虚拟对象的源网格模型进行校正。
95.由于虚拟对象的网格模型通常是由一个个三角面(或其他形状平面,本技术以三角面为例进行说明)构成,每个三角面由三个顶点构成,在改变各顶点的空间位置后,会改变相应构成的三角面的形状,以及与相邻三角面之间的相对位置关系,从而达到改变网格模型的展示结构,产生所需透视动画的效果。所以,为了使得该虚拟对象能够展示出所需的透视投影的视觉效果,本技术提出可以动态调整虚拟对象的源网络模型中,各顶点的空间位置,即对源网格模型的各顶点的空间位置进行偏移校正,具体实现方法不做限制。可以理解,透视投影是用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图。它具有消失感、距离感、相同大小的形体呈现出有规律的变化等一系列的透视特性,能逼真地反映形体的空间形象,通常可以用于动画、视觉仿真以及其它许多具有真实性反映的方面。本技术为了满足第一虚拟对象的透视投影的视觉效果,可以通过调整相机模型(即上述场景相机)的相机焦距或缩放比例,即采用投影变换处理方式,满足透视校正需求。
96.其中,投影变换可以是利用投影矩阵对网格模型中各顶点的空间位置进行变换处理,从而将一个三维场景投影到屏幕上成为一个二维图像,并使该二维图像能够达到上述透视投影的视觉效果。因此,在本技术实施例中,为了使得第一虚拟对象能够表现出目标相机视场角下的渲染效果,可以对其对应的源相机视场角的投影矩阵进行校正,以此反推计算出源网格模型中各顶点的空间位置的偏移量,具体计算过程可以参照但并不局限于下文实施例相应部分的描述,且本技术对不同相机视场角下的投影矩阵的具体构建方法不做详述。
97.在实际应用中,对于上述目标相机视场角、源相机视场角、源网格模型等数据,可能是在相机空间的相机坐标系下获得的,该相机坐标系是指以相机为原点的坐标系,如图5a所示。为了方便透视校正处理,可以将这些数据转换到世界坐标系下,即世界空间的三维空间坐标系,如图5b所示。具体可以利用相机变换矩阵,实现相机坐标系到世界坐标系的空间位置坐标的转换处理,最终得到世界坐标系下的目标网格模型,即校正处理后的网格模型,本技术对相机变换处理的具体实现过程不做详述。
98.步骤s13,按照视场角变化约束条件,对源相机视场角下的源相机空间位置和第一虚拟对象的源渲染空间位置进行偏移校正,得到目标相机视场角下的目标相机空间位置及第一虚拟对象的目标渲染空间位置;
99.其中,视场角变化约束条件可以包括:不同相机视场角下,同一虚拟对象的屏幕空间尺寸相同,保证相邻帧展示的虚拟应用场景中,同一虚拟对象的屏幕空间尺寸不变,因此,本技术还需要对相机的空间位置和第一虚拟对象的空间位置(其可以称为渲染空间位置)进行校正。具体校正处理过程本实施例不做详述。
100.步骤s14,依据目标相机空间位置和目标渲染空间位置,对目标网格模型进行渲染,得到第一虚拟对象的目标渲染图像。
101.参照图6所示的虚拟对象校正处理方法的流程示意图,如上述分析,美术制作人员完成第一虚拟对象的网格模型构建后,可以将源网格模型导入计算机设备的游戏引擎,由其分别按照上述步骤描述的方式,分别实现源网格模型的顶点空间位置校正、源渲染空间位置校正(即虚拟对象的空间位置校正)和相机空间位置校正,这样,在模型渲染阶段,可以利用校正后得到的数据,实现对第一虚拟对象的模型渲染,得到该第一虚拟对象的目标渲染图像,使其展示时能够达到所需的透视投影的视觉效果。
102.具体的,上述渲染过程可以由游戏引擎中的渲染引擎,将目标网格模型、动画、光影、透视、特效等效果实时计算出来并展示在屏幕上,且可以处理来自键盘、鼠标和其他外设的信号,实现游戏玩家与电子设备之间的沟通,本技术对模型渲染的具体实现过程不做详述。
103.综上所述,在本技术实施例中,美术制作人员只需要在三维建模工具中完成第一渲染对象的模型构建,不需要考虑透视效果问题,将构建的源网格模型导入计算机设备,在游戏运行过程中,可以直接由计算机设备(具体如游戏引擎)获取当前时刻的第一虚拟应用场景(即任一应用运行时刻对应的虚拟应用场景)的目标相机视场角,以及该第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型后,可以利用目标相机视场角和所述源相机视场角各自对应的投影矩阵,对源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型,同时,按照视场角变化约束条件,对源相机视场角下的源相机空间位置和第一虚拟对象的源渲染空间位置进行偏移校正,得到目标相机视场角下的目标相机空间位置及第一虚拟对象的目标渲染空间位置,以实现对目标网格模型的渲染,得到第一虚拟对象的目标渲染图像,这种自动实现虚拟对象透视校正的处理方式,极大提高了透视处理效率及可靠性,且不再限制游戏运行期间的各游戏场景的相机视场角,保证了各运行时刻的虚拟应用场景所展示的目标渲染图像,能够达到相应要求的透视效果,也不会影响游戏运行状态,提高了用户体验。
104.参照图7,为本技术提出的虚拟对象透视处理方法的又一可选示例的流程示意图,
本实施例可以是对上述实施例描述的虚拟对象透视处理方法的一可选实现方式,但并不局限于本实施例描述的这种细化实现方式。结合上述分析,本技术可以适用于以单目相机的横版游戏,需要游戏对象表现出不同相机视场角透视效果的场景,具体的,如图7所示,该方法可以包括:
105.步骤s21,获取第一虚拟应用场景的目标相机视场角,以及第一虚拟应用场景中各虚拟对象对应的源相机视场角和源网格模型;
106.结合上文实施例的描述,在游戏动画生产制作阶段,可以构建游戏场景中各虚拟对象的模型网格体,记为源网格模型,并确定相应的源相机视场角,并这些数据导入计算机设备中的游戏引擎中。这样,用户玩游戏过程中,游戏引擎可以实时当前展示的第一虚拟应用场景,即第一游戏场景的目标相机视场角,具体获取过程不做详述。
107.基于此,在一些实施例中,虚拟对象的源相机视场角和源网格模型的获取过程可以包括:接收电子设备发送的三维模型数据导入请求,该三维模型数据导入请求可以是电子设备响应于对虚拟对象的三维模型数据导入操作而生成的,如完成虚拟对象的模型构建后,可以点击“导入”功能按钮,以生成该三维模型数据导入请求,但并不局限于本实施例描述的这种生成方式。之后,游戏引擎可以解析该三维模型数据导入请求,得到各虚拟对象的源相机视场角和源网格模型。
108.可以理解,对于虚拟应用场景中的各虚拟对象的源相机视场角和源网格模型,均可以按照上述方式获取。在实际应用中,美术制作人员可以每构建完成一个虚拟对象的源网格模型,直接将其导入游戏引擎;也可以在构建完成所有虚拟对象各自的源网格模型后,再一起导入游戏引擎,本技术对此不做限制,可视情况而定。
109.而且,结合上文实施例相应部分对计算机设备类型的相关描述,上述游戏引擎可以部署在上述电子设备中,此时,上述三维模型数据导入请求可以是由该电子设备中三维建模工具生成;若游戏引擎部署在服务器上,电子设备可以与其建立通信连接,将生成的三维模型数据导入请求发送至服务器,以使游戏引擎获得各虚拟对象的源相机视场角和源网格模型等。
110.步骤s22,将各虚拟对象对应的源相机视场角分别与目标相机视场角进行比较;
111.步骤s23,依据比较结果,确定出第一虚拟对象所对应的源相机视场角和源网格模型;
112.继上文描述,本技术只需要对具有非常规透视展示要求的虚拟对象进行透视校正处理,即与目标相机视场角不一致的源相机视场角所对应的虚拟对象,记为第一虚拟对象,而对于与目标相机视场角一致的源相机视场角对应的虚拟对象,记为第二虚拟对象,用户希望其展示的透视效果,与按照其具有的源相机视场角,对源网格模型进行渲染展示的透视效果相同,也就不需要再进行透视校正。所以,本技术实施例主要对第一虚拟对象进行透视校正处理。
113.示例性的,某横版游戏运行过程中,不同时刻的游戏场景的目标相机视场角可能不同,且按照三维建模工具的处理结果,使得游戏场景中各游戏对象所能够表现的渲染效果的源相机视场角也会所有差异,具体确定方式可以参照上述实施例相应部分描述。本实施例在此以表1所示的不同时刻对应的目相机视场角,及该时刻的游戏场景中虚拟对象a和虚拟对象b各自具有的源相机视场角为例,来说明虚拟对象透视处理方案。
114.表1
[0115][0116]
如上表1所示,在横版游戏运行的第一时刻,游戏场景的目标相机视场角为fov1,此时虚拟对象a和虚拟对象b各自对应的源相机视场角,即对源网格模型进行渲染所得到渲染图像的相机视场角,均与该时刻的目标相机视场角fov1一致,说明用户对该时刻展示的虚拟对象a和虚拟对象b的渲染效果为常规透视效果,不需要进行校正处理,可以直接对其源网格模型进行渲染展示。
[0117]
而在游戏运行到第二时刻,游戏场景的目标视场角变为fov2,此时虚拟对象a对应的源相机视场角也是fov2,不需要对该虚拟对象a进行透视校正;但此时的虚拟对象b的源相机视场角是fov1,与第二时刻的目标相机视场角fov2不一致,可以将该虚拟对象b作为第一虚拟对象,按照本技术提出的虚拟对象透视处理方法,对该虚拟对象b透视校正。
[0118]
由此可见,本技术通过将同一时刻的源相机视场角与目标相机视场角进行比较,确定两者不一致所对应的第一虚拟对象后,后续直接对该第一虚拟对象所对应的源相机视场角和源网格模型进行校正处理,而对于比较结果为一致的第二虚拟对象,可以直接进行模型渲染,不需要执行后续校正处理步骤,所以,后续校正处理步骤中涉及到的源相机视场角和源网格模型是指第一虚拟对象的相关模型数据。
[0119]
步骤s24,获取目标相机视场角的第一投影矩阵、第一虚拟对象的源相机视场角的第二投影矩阵、相机坐标系与世界坐标系之间的相机变换矩阵,以及源网格模型中各顶点对应的源顶点空间位置;
[0120]
继上文表1所示的场景示例,需要对虚拟对象b(即第一虚拟对象)进行透视校正,为了方便后续描述处理过程,本技术对获取的虚拟对象b具有的各模型参数,以及当前时刻的目标相机视场角下的相关参数进行符号表示。
[0121]
具体的,可以将源网格模型中各顶点对应的源顶点空间位置,即顶点原始世界空间坐标位置,记为v
world
,将目标相机视场角的第一投影矩阵记为m
projection1
,将第一虚拟对象的源相机视场角的第二投影矩阵记为m
projection2
,将上述相机变换矩阵记为m
view

[0122]
步骤s25,利用第一投影矩阵、第二投影矩阵及相机变换矩阵,对源顶点空间位置进行偏移校正,得到世界坐标系下相应顶点的位置偏移量;
[0123]
可选的,为了实现对第一虚拟对象的源网格模型中各顶点的空间位置校正,本技术实施例可以按照以下公式,获取各顶点的位置偏移量,即各顶点世界空间坐标位置偏移量v
wpo
,但并不局限于本实施例描述这种位置偏移量计算方式:
[0124]vwpo
=v
world
×
(m
view
×mprojection2
×
(m
view
×mprojection1
)-1-i);
[0125]
在位置偏移量计算公式中,i可以表示单位矩阵,()-1
可以表示逆矩阵。本技术实施例按照上述方式得到各矩阵后,可以代入该位置偏移量计算公式,得到世界坐标系下,第一虚拟对象的源网格模型中各顶点空间坐标位置的位置偏移量,具体计算过程本技术不做详述。
[0126]
步骤s26,依据得到的多个位置偏移量,对源网格模型的相应顶点进行空间位置偏移校正,得到第一虚拟对象在世界坐标系下的目标网格模型;
[0127]
结合上文对虚拟对象的网格模型的相关描述,按照上述方式,确定各顶点的位置偏移量后,可以按照该位置偏移量,调整源网格模型中相应顶点的源空间位置,得到该顶点的目标空间位置,与此同时,顶点空间位置的改变,会导致构成网格模型的各三角面发生变形,从而使得源网格模型的整体结构发生变形,将变形后的网格模型记为目标网格模型。
[0128]
在一些实施例中,对于第一虚拟对象的源网格模型的顶点校正处理过程,可以由游戏引擎中的动画变形器,按照预设的模型变形规则,利用所得到的各顶点的位置偏移量,获得第一虚拟对象的目标网格模型,具体实现过程本技术不做详述。
[0129]
步骤s27,获取世界坐标系中源相机视场角下的源相机状态参数;
[0130]
本技术中,仍以上表1所示的场景实例,以及图8所示的世界坐标系yoz平面投影的相机位置校正示意图为例进行说明,可以理解,由于本技术适用的横版游戏场景中,相机在世界坐标系的z轴方向无旋转,本技术图8仅以横版游戏中与屏幕平面垂直的平面为yoz平面这一情况为例,来说明虚拟对象的透视投影校正处理过程,但并不局限于此,根据需要,也可以将横版游戏中与屏幕平面垂直的平面配置为xoz平面,此时可以对虚拟对象在xoz平面上的透视投影进行校正处理,具体实现过程类似,本技术对这一情况不做赘述。
[0131]
因此,基于图8所示的相机位置校正示意图,本实施例获取的源相机状态参数可以包括源相机空间位置(如虚拟对象b在fov1下的相机原始位置)、源相机俯仰角pitch,以及源相机位置向量的第一夹角pitch’。其中,第一夹角pitch’可以是指源相机位置向量与世界坐标系的第一坐标轴(具体可以是y轴或x轴,本技术仅以第一坐标轴为y轴为例进行说明,对于第一坐标轴为x轴的投影处理方式类似,本技术不做赘述)之间的夹角,源相机空间位置可以包括源相机在世界坐标系的第一坐标轴和第二坐标轴(如z轴)构成的第一平面(如图8所示的yoz平面)上的第一投影位置,第一投影位置可以包括源相机投影在该世界坐标系的y轴(在获取xoz平面上的投影时,此处可以为x轴)上的第一坐标cy,和投影在世界坐标系的z轴上的第二坐标cz,可见,本实施例中源相机空间位置可以记为camera(cy,cz)。
[0132]
需要说明,上述源相机视场角下的源相机状态参数包含的内容并不局限于上文列举的内容,且本技术对各参数的获取方式不做限制,如可以在确定世界坐标系的原点o(target)后,利用源网格模型的相关数据,以及第一虚拟应用场景对应的操作数据等计算得到等,可以依据各参数内容确定,本技术不做一一详述。
[0133]
步骤s28,依据源相机状态参数,获得目标相机视场角下的目标相机空间位置,及第一虚拟对象的渲染校正参数;
[0134]
参照图8所示,依据三角函数等数学运算原理,在得知源相机空间位置camera(cy,cz)的情况下,可以利用第一坐标cy和第二坐标cz,得到源相机视场角下的源相机与世界坐标系原点之间的相机源距离do,即标系原点之间的相机源距离do,即
[0135]
本实施例中,上述渲染校正参数可以包括世界坐标系下,对源渲染空间位置的位置校正参数,和/或对第一虚拟对象的模型缩放比例。其中,位置校正参数可以包括上述第一坐标cy、相机源俯仰角pitch及第一夹角pitch’等参数;对于模型缩放比例dr的获取方式可以参照但并不局限于以下实现方式:
[0136]
利用源相机视场角fov1和目标相机视场角fov2,得到第一虚拟对象的模型缩放比例dr,具体可以利用正切函数tan()构建该模型缩放比例dr的计算公式,但并不局限于该计算公式:
[0137][0138]
步骤s29,利用渲染校正参数,对第一虚拟对象的源渲染空间位置进行校正,得到目标渲染空间位置;
[0139]
步骤s210,依据目标相机空间位置和目标渲染空间位置,对目标网格模型进行渲染,得到第一虚拟对象的目标渲染图像。
[0140]
在本技术实施例中,可以利用上述渲染校正参数,获取第一虚拟对象的位置偏移值,即源渲染空间位置的偏移值,以及第一虚拟对象的模型缩放比例,在模型渲染阶段可以依据源渲染空间位置的偏移值、模型缩放比例,实现目标网格模型的渲染,以保证渲染得到的第一虚拟对象的目标渲染图像,在屏幕空间尺寸与对源网格模型渲染得到的源渲染图像的屏幕空间尺寸一致。
[0141]
需要说明,如图6所示,上述网格模型顶点空间位置校正过程、渲染空间位置校正过程及相机空间位置校正过程,可以同步执行,以提高透视校正效率;当然,也可以按照其他执行顺序实现,并不局限于本实施例上文各步骤的执行顺序。
[0142]
综上,在如横版游戏等这类应用运行过程中,计算机设备可以获取当前第一虚拟应用场景的目标相机视场角,确定该第一虚拟应用场景中与该目标相机视场角不一致的源相机视场角对应的第一虚拟对象后,可以利用该目标相机视场角和源相机视场角各自的投影矩阵,以及相机变换矩阵,对该第一虚拟对象的源网格模型的各顶点进行空间位置校正,得到能够达到所需透视效果的目标网格模型,同时,为了保证第一虚拟对象的屏幕空间尺寸不变,还可以利用源相机状态参数,对第一虚拟对象的渲染空间位置和相机空间位置进行校正,以使得计算机设备依据目标相机空间位置和目标渲染空间位置,对目标网格模型进行渲染,所得到的第一虚拟对象的目标渲染图像展示后,能够达到所需的透视投影的视觉效果。可见,本技术可以在横版游戏运行时进行透视校正和模型渲染,极大提高了处理效率,且解决了人工借助三维建模工具,对源网格模型进行晶格变形处理方式,所存在的可靠性及精准度均不可控,并限制游戏场景的目标相机视场角必须与预设的源相机视场角保持一致的技术问题。
[0143]
而且,本技术还可以用以满足其他固定视场角类游戏中的非常规透视表现要求提高了适用范围;在需要表现游戏内异次元等情境时,按照本技术提出的虚拟对象透视处理方法,不需要切换场景,且可以将当前游戏状态完整保留。可见,相对于背景技术描述的人工透视校正处理方式,本技术提高方案适用范围,极大减少了人工工作量,减少了美术制作人员的负担。
[0144]
在本技术提出的一些实施例中,结合上图8所示,本技术可以对上文描述的相机空间位置校正过程,及第一虚拟对象的渲染空间位置校正过程做进一步细化描述,但并不局限于本实施例描述的这种细化处理方式,关于源网格模型的顶点空间位置校正过程,可以参照上述实施例相应部分的描述,本实施例不做赘述。如图9所示,本技术提出的虚拟对象透视处理方法可以包括:
[0145]
步骤s31,获取世界坐标系中源相机视场角下的源相机空间位置、源相机俯仰角,以及源相机位置向量的第一夹角;
[0146]
步骤s32,利用源相机空间位置中的第一坐标和第二坐标,得到源相机视场角下的源相机与世界坐标系原点之间的相机源距离;
[0147]
步骤s33,利用源相机视场角和目标相机视场角,得到第一虚拟对象的模型缩放比例;
[0148]
关于步骤s31~步骤s33的实现过程,可以参照上述实施例相应部分的描述,本实施例不做赘述。
[0149]
步骤s34,利用相机源距离和模型缩放比例,得到相机距离偏移量;
[0150]
可选的,参照图8所示的yoz平面上的透视投影校正示意图,可以利用合适的数据运算公式,利用上述相机源距离do和模型缩放比例dr,计算得到相机距离偏移量dp,即dp=do
×
(dr-1),但并不局限于此。
[0151]
步骤s35,利用第一坐标、相机源俯仰角、第一夹角、相机距离偏移量以及相机源距离,获得目标相机视场角下的相机位置偏移量;
[0152]
如图8所示,相机位置偏移量可以是指目标相机相对于源相机投影在在z轴上的位置偏移量offset。
[0153]
可选的,本技术实施例第一坐标cy、相机源俯仰角pitch、第一夹角pitch’、相机距离偏移量dp以及相机源距离do之后,可以利用如下计算公式,来计算得到目标相机空间位置在z轴上的位置偏移量offset,但并不局限于这种计算方式:
[0154][0155]
步骤s36,利用相机位置偏移量、第一夹角、相机距离偏移量以及相机源距离,得到目标相机视场角下的第三坐标;
[0156]
如图8所示,上述第三坐标是指目标相机投影在z轴上的坐标,可以记为c
z’,结合上文得到的各参数数值,如图8所示,本技术可以利用三角函数运算公式,计算得到目标相机视场角下,目标相机投影在z轴上的坐标即c
z’,如c
′z=(do dp)
×
sin(pitch

)-offset,但并不局限于这种计算方式。
[0157]
步骤s37,利用第一夹角、相机距离偏移量以及相机源距离,得到目标相机视场角下的第四坐标;
[0158]
步骤s38,由第三坐标和第四坐标,确定目标相机视场角下的目标相机空间位置;
[0159]
如图8所示,第四坐标是指目标相机投影在所述y轴上的坐标,可以记为c
y’,结合上文得到的各参数数值,如图8所示,本技术可以利用三角函数运算公式,计算得到第四坐标c
y’,即c
′y=(do dp)
×
cos(pitch

),但并不局限于这种计算方式。此时,可以得到世界坐标系下,yoz平面中目标相机视场角下目标相机空间位置camera’(c
y’,c
z’)。
[0160]
需要说明,对于本技术适用的横版游戏场景,相机在世界坐标系的z轴方向无旋转,上文实施例仅对虚拟对象在世界坐标系的yoz平面的透视投影校正处理进行了描述,关于虚拟对象在xoz平面的透视投影校正处理过程类似,本技术不做赘述。
[0161]
步骤s39,利用相机位置偏移量和模型缩放比例,获得第一虚拟对象的目标渲染空间位置。
[0162]
继上文描述,为了保证第一虚拟对象的屏幕空间尺寸一致,可以依据上文得到的相机位置偏移量offset和模型缩放比例dr,来确定图8中,第一虚拟对象的位置偏移值(0,0,-offset),以及缩放值(dr,dr,dr),在对目标网格模型的渲染过程中,可以依据这两个参数,确定第一虚拟对象的目标渲染空间位置,保证模型渲染得到的目标渲染图像能够满足所需的透视效果。
[0163]
参照图10,为本技术提出的虚拟对象透视处理装置的一可选示例的结构示意图,该装置可以适用于上述计算机设备,如图10所示,该装置可以包括:
[0164]
第一数据获取模块21,用于获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中第一虚拟对象的源相机视场角和源网格模型;
[0165]
在本技术提出的一些实施例中,第一数据获取模块21可以包括:
[0166]
第一信息获取单元,用于获取第一虚拟应用场景的目标相机视场角,以及所述第一虚拟应用场景中各虚拟对象对应的源相机视场角和源网格模型;
[0167]
可选的,第一信息获取单元可以包括:
[0168]
导入请求接收单元,用于接收电子设备发送的三维模型数据导入请求,所述三维模型数据导入请求是所述电子设备响应于对第一虚拟对象的三维模型数据导入操作而生成的;
[0169]
导入请求解析单元,用于解析所述三维模型数据导入请求,得到所述第一虚拟对象的源相机视场角和源网格模型。
[0170]
第一比较单元,用于将所述各虚拟对象对应的源相机视场角分别与所述目标相机视场角进行比较;
[0171]
第一确定单元,用于依据比较结果,确定出第一虚拟对象所对应的源相机视场角和源网格模型,所述第一虚拟对象是指与所述目标相机视场角不一致的所述源相机视场角所对应的虚拟对象。
[0172]
第一位置校正模块22,用于利用所述目标相机视场角和所述源相机视场角各自对应的投影矩阵,对所述源网格模型的各顶点进行空间位置校正,得到世界坐标系下的目标网格模型;
[0173]
第二位置校正模块23,用于按照视场角变化约束条件,对所述源相机视场角下的源相机空间位置和所述第一虚拟对象的源渲染空间位置进行偏移校正,得到所述目标相机视场角下的目标相机空间位置及所述第一虚拟对象的目标渲染空间位置;
[0174]
渲染模块24,用于依据所述目标相机空间位置和所述目标渲染空间位置,对所述目标网格模型进行渲染,得到所述第一虚拟对象的目标渲染图像。
[0175]
在本技术提出的一些实施例中,如图11所示,上述第一位置校正模块22可以包括:
[0176]
第二信息获取单元221,用于获取所述目标相机视场角的第一投影矩阵、所述源相机视场角的第二投影矩阵、相机坐标系与世界坐标系之间的相机变换矩阵,以及所述源网格模型中各顶点对应的源顶点空间位置;
[0177]
第一偏移校正单元222,用于利用所述第一投影矩阵、所述第二投影矩阵及所述相机变换矩阵,对所述源顶点空间位置进行偏移校正,得到所述世界坐标系下相应顶点的位置偏移量;
[0178]
第二偏移校正单元223,用于依据得到的多个所述位置偏移量,对所述源网格模型
的相应顶点进行空间位置偏移校正,得到所述第一虚拟对象在所述世界坐标系下的目标网格模型。
[0179]
本实施例中,上述视场角变化约束条件可以包括不同相机视场角下,同一虚拟对象的屏幕空间尺寸相同,为了保证透视校正的虚拟对象满足该视场角变化约束条件,上述第二位置校正模块23具体可以包括
[0180]
第三信息获取单元231,用于获取所述世界坐标系中所述源相机视场角下的源相机状态参数;
[0181]
第四信息获取单元232,用于依据所述源相机状态参数,获得所述目标相机视场角下的目标相机空间位置,及所述第一虚拟对象的渲染校正参数;其中,所述渲染校正参数包括所述世界坐标系下,对所述源渲染空间位置的位置校正参数,和/或对所述第一虚拟对象的模型缩放比例;
[0182]
第三偏移校正单元234,用于利用所述渲染校正参数,对所述第一虚拟对象的源渲染空间位置进行校正,得到目标渲染空间位置。
[0183]
在一种可能的实现方式中,上述源相机状态参数可以包括源相机空间位置、源相机俯仰角,以及源相机位置向量的第一夹角,其中,所述第一夹角是指所述源相机位置向量与所述世界坐标系的第一坐标轴之间的夹角,所述第一坐标轴可以指所述世界坐标系的y轴或x轴,所述源相机空间位置包括源相机投影在第一坐标轴上的第一坐标,和投影在所述世界坐标系的z轴上的第二坐标。
[0184]
基于此,上述第四信息获取单元232可以包括:
[0185]
相机源距离得到单元,用于利用所述第一坐标和所述第二坐标,得到所述源相机视场角下的源相机与世界坐标系原点之间的相机源距离;
[0186]
模型缩放比例得到单元,用于利用所述源相机视场角和所述目标相机视场角,得到第一虚拟对象的模型缩放比例;
[0187]
目标相机空间位置获得单元,用于依据所述相机源距离、所述模型缩放比例及所述第一夹角,获得所述目标相机视场角下的目标相机空间位置;
[0188]
渲染校正参数获得单元,用于依据所述模型缩放比例、所述第一坐标、所述相机源俯仰角及所述第一夹角,获得所述第一虚拟对象的渲染校正参数。
[0189]
进一步地,在一些实施例中,上述目标相机空间位置获得单元可以包括:
[0190]
相机距离偏移量得到单元,用于利用所述相机源距离和所述模型缩放比例,得到相机距离偏移量;
[0191]
相机位置偏移量获得单元,用于利用所述第一坐标、所述相机源俯仰角、所述第一夹角、所述相机距离偏移量以及所述相机源距离,获得所述目标相机视场角下的相机位置偏移量;
[0192]
其中,所述相机位置偏移量是指目标相机相对于源相机投影在所述z轴上的位置偏移量;
[0193]
第三坐标得到单元,用于利用所述相机位置偏移量、所述第一夹角、所述相机距离偏移量以及所述相机源距离,得到所述目标相机视场角下的第三坐标;
[0194]
其中,所述第三坐标是指目标相机投影在所述z轴上的坐标;
[0195]
第四坐标得到单元,用于利用所述第一夹角、所述相机距离偏移量以及所述相机
源距离,得到所述目标相机视场角下的第四坐标;
[0196]
其中,所述第四坐标是指目标相机投影在所述第一坐标轴上的坐标;
[0197]
目标相机空间位置确定单元,用于由所述第三坐标和所述第四坐标,确定所述目标相机视场角下的所述目标相机空间位置;
[0198]
相应地,上述渲染校正参数获得单元具体可以用于由所述相机位置偏移量和所述模型缩放比例,构成所述第一虚拟对象的渲染校正参数。
[0199]
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
[0200]
本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现上述的虚拟对象透视处理方法的各步骤,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。
[0201]
本技术还提出了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟对象透视处理方法方面或虚拟对象透视处理装置方面的各种可选实现方式中所提供方法,具体实现过程可以参照上述相应实施例的描述,不做赘述。
[0202]
最后,需要说明,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0203]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计预设条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0204]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的核心思想或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献