纹理坐标计算方法及装置与流程

文档序号:14266568阅读:391来源:国知局
纹理坐标计算方法及装置与流程

本发明涉及游戏场景处理技术领域,具体而言,涉及一种纹理坐标计算方法及装置。



背景技术:

在三维游戏中,道路是游戏场景中比较重要的组成部分,而道路的生成需要获取道路模型在对应道路纹理贴图上的纹理坐标数据,以便于将该道路纹理贴图中各纹素映射至道路模型上对应位置处,从而完成道路生成流程。其中,如何获取高精度的纹理坐标数据便是一个极为重要的问题。

在现有技术中,常用的纹理坐标计算方式是根据对道路模型进行网格划分时网格上的点到周围切面的距离来计算纹理坐标的,这种计算方式的计算精度不高,需要划分出的网格的整体形状处于一种极为规则的状态,否则无法计算出该网格中不同点的纹理坐标,易在进行纹理映射时出现映射错误,影响玩家的感官体验。



技术实现要素:

为了克服现有技术中的上述不足,本发明的目的在于提供一种纹理坐标计算方法及装置,所述纹理坐标计算方法计算精度高,能够精准地计算出任意形状的网格四边形中不同点的纹理坐标,降低映射失误率,提高玩家感官体验。

就方法而言,本发明较佳的实施例提供一种纹理坐标计算方法,所述方法包括:

获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标;

基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算;

根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标。

就装置而言,本发明较佳的实施例提供一种纹理坐标计算装置,所述装置包括:

空间坐标获取模块,用于获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标;

转换系数计算模块,用于基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算;

纹理坐标计算模块,用于根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标。

相对于现有技术而言,本发明较佳的实施例提供的纹理坐标计算方法及装置具有以下有益效果:所述纹理坐标计算方法计算精度高,能够精准地计算出任意形状的网格四边形中不同点的纹理坐标,降低映射失误率,提高玩家感官体验。首先,所述方法获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标;接着,所述方法基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算;最后,所述方法根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标,从而精准地计算出任意形状的网格四边形中各点的纹理坐标,降低纹理贴图的映射失误率,提高玩家感官体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳的实施例提供的计算设备的方框示意图。

图2为本发明较佳的实施例提供的纹理坐标计算方法的一种流程示意图。

图3为图2中所示的步骤s210包括的子步骤的流程示意图。

图4为本发明较佳的实施例提供的纹理坐标计算方法的另一种流程示意图。

图5为图4中所示的步骤s209包括的子步骤的流程示意图。

图6为本发明较佳的实施例提供的图1中所示的纹理坐标计算装置的一种方框示意图。

图7为图6中所示的空间坐标获取模块的方框示意图。

图8为本发明较佳的实施例提供的图1中所示的纹理坐标计算装置的另一种方框示意图。

图标:10-计算设备;11-存储器;12-处理器;13-通信单元;14-显卡单元;100-纹理坐标计算装置;110-空间坐标获取模块;120-转换系数计算模块;130-纹理坐标计算模块;111-网格划分子模块;112-三角化处理子模块;140-转换等式配置模块;150-贴图映射模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

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

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,是本发明较佳的实施例提供的计算设备10的方框示意图。在本发明实施例中,所述计算设备10能够在三维游戏的道路构建过程中,精准地计算出由道路模型划分得到的任意形状的网格四边形对应的纹理坐标,降低道路纹理贴图映射到所述道路模型上时的映射失误率,从而在玩家参与所述三维游戏时增强玩家的感官体验。其中所述网格四边形对应的纹理坐标包括形成该网格四边形的四个顶点所对应的纹理坐标,及所述网格四边形内分布位置不同的各点所对应的纹理坐标。在本实施例中,所述计算设备10可以是,但不限于,个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)或具有图像处理功能的服务器等。

在本实施例中,所述计算设备10可以包括纹理坐标计算装置100、存储器11、处理器12、通信单元13及显卡单元14。所述存储器11、处理器12、通信单元13及显卡单元14各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述纹理坐标计算装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,从而执行各种功能应用以及数据处理。

在本实施例中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除可编程只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。进一步地,上述存储器11内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

在本实施例中,所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本实施例中,所述通信单元13用于通过网络建立所述计算设备10与其他外部设备之间的通信连接,并通过所述网络进行数据传输。

在本实施例中,所述显卡单元14用于对图形数据进行运算处理,以缓解处理器12的运算压力。其中,所述显卡单元14的核心部件为gpu(graphicsprocessingunit,图形处理器),用于将计算设备10所需的图形数据信息进行转换驱动,并控制显示器进行显示。

在本实施例中,所述计算设备10通过存储在所述存储器11中的纹理坐标计算装置100对道路模型所对应的各网格四边形内的各点的纹理坐标进行计算,得到高精度的纹理坐标,从而道路生成过程中道路纹理贴图的映射失误率,增强玩家参与游戏时的感官体验,提高玩家的游戏舒适度。

可以理解的是,图1所示的结构仅为计算设备10的一种结构示意图,所述计算设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参照图2,是本发明较佳的实施例提供的纹理坐标计算方法的一种流程示意图。在本发明实施例中,所述纹理坐标计算方法应用于上述的计算设备10,下面对图2所示的纹理坐标计算方法的具体流程和步骤进行详细阐述。

在本发明实施例中,所述纹理坐标计算方法包括以下步骤:

步骤s210,获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标。

在本实施例中,所述计算设备10可通过网络从与该计算设备10通信的其他电子设备处,获取所述道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标;所述计算设备10也可通过提供外部输入设备的方式,接收游戏设计人员输入的各网格四边形中的各顶点及各分布点的空间坐标;所述计算设备10还可通过直接对所述道路模型进行网格划分处理及坐标识别处理的方式,得到划分出的各网格四边形中各顶点及各分布点的空间坐标。其中,所述各顶点为构建对应网格四边形时的四个顶点,所述分布点为对应网格四边形内任意分布或规则分布的点,所述网格四边形可以是平行四边形、矩形或不规则四边形。

可选地,请参照图3,是图2中所示的步骤s210包括的子步骤的流程示意图。在本发明实施例中,所述步骤s210可以包括子步骤s211及子步骤s212,所述子步骤s211及所述子步骤s212如下所示:

子步骤s2111,对当前游戏场景中的道路模型进行网格划分,得到不同形状的各网格四边形。

在本实施例中,所述计算设备10对当前游戏场景中的道路模型进行网格划分,得到不同形状的各网格四边形的步骤可以包括:

按照预设间距对所述道路模型中的道路曲线进行采样,得到所述道路曲线上的各采样点;

以各采样点为中心,绘制出垂直于相邻采样点之间的连线,且长度等于所述道路模型的道路宽度的线段,并基于绘制出的相邻线段的四个顶点构成对应形状的网格四边形。

其中,绘制出的各线段,与所述线段经过的采样点及该采样点的前一采样点之间的连线相互垂直,且所述线段经过的采样点为该线段的中点。由相邻线段的四个顶点构成的网格四边形因道路曲线的弯曲程度及各采样点的分布情况的不同会存在不同的形状。

子步骤s212,对各网格四边形进行三角化处理,得到对应网格四边形中的各顶点的空间坐标及各分布点的空间坐标。

在本实施例中,所述计算设备10可通过对每个网格四边形进行三角化处理,使每个网格四边形可由多个三角形相互拼接形成。所述计算设备10在对每个网格四边形进行三角化处理的过程中,会依次得到每个网格四边形的四个顶点在整个空间坐标系中对应的空间坐标,及各个网格四边形中用于划分出多个三角形的各分部点的空间坐标。

步骤s220,基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算。

在本实施例中,所述转换等式可以表征空间坐标与纹理坐标之间的转换关系,所述转换系数可以表征对应网格四边形中每个分布点在所述转换等式中的转换比例,所述计算设备10会针对同一网格四边形中不同分布点生成不同的转换系数。

在本实施例中,一个网格四边形的四个顶点的空间坐标可分别表示为p0、p1、p2及p3,p0在对应道路纹理贴图中的纹理坐标为(0,0),p1在对应道路纹理贴图中的纹理坐标为(1,0),p2在对应道路纹理贴图中的纹理坐标为(1,1),p3在对应道路纹理贴图中的纹理坐标为(0,1),所述网格四边形中的一个分布点的空间坐标p对应的纹理坐标为(x,y),则所述转换等式可用下式表示:

其中,ac、bc、cd、ab、bd均为分布点在所述转换等式中所对应的转换系数,x与y即为所述分布点对应的纹理坐标的横坐标值及纵坐标值,则ac=f(a,c),bc=f(b,c),cd=f(c,d),ab=f(a,b),bd=f(b,d)。其中a=p0-p,b=p1-p0,c=p3-p0,d=p2+p0-p1-p3,f((x1,y1),(x2,y2))=x1*y2-x2*y1,所述计算设备10可根据同一网格四边形中各顶点的空间坐标,及各分布点的空间坐标,得到各分布点在所述空间坐标与纹理坐标之间的转换等式中对应的转换系数ac、bc、cd、ab及bd。

步骤s230,根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标。

在本实施例中,所述计算设备10在得到同一网格四边形内各分布点对应的转换系数ac、bc、cd、ab及bd后,将基于所述转换系数ac、bc、cd、ab及bd在上述的转换等式中计算求得该分布点在对应道路纹理贴图中的纹理坐标。

请参照图4,是本发明较佳的实施例提供的纹理坐标计算方法的另一种流程示意图。在本发明实施例中,在所述步骤s210之前,所述方法还可以包括:

步骤s209,对空间坐标及纹理坐标之间的转换等式进行配置。

可选地,请参照图5,是图4中所示的步骤s209包括的子步骤的流程示意图。在本实施例中,所述步骤s209可以包括子步骤s201及子步骤s202,所述子步骤s201及所述子步骤s202如下所示:

子步骤s201,根据网格四边形中分布点在四条边上的映射点的位置信息,及对应映射点在道路纹理贴图上的纹理坐标,建立各映射点在空间坐标与纹理坐标上的转换关系。

在本实施例中,一个网格四边形中的分布点在对应道路纹理贴图中的纹理坐标为(x,y)时,该分布点在所述网格四边形的四条边上必然映射有纹理横坐标为x的映射点或纹理纵坐标为y的映射点,比如,边p0p1上存在空间坐标为p4的对应纹理横坐标为x的映射点,边p3p2上存在空间坐标为p5的对应纹理横坐标为x的映射点,所述分布点则在这两个映射点的连线上,而这两个映射点在空间坐标与纹理坐标上的转换关系可表示为p4=(p1-p0)*x+p0,p5=(1-x)*p3+p2,p=(p5-p4)*y+p4,则可以得到p=(1-y)*[(1-x)*p0+x*p1]+y*[(1-x)*p3+x*p2]。

子步骤s202,根据各映射点在空间坐标与纹理坐标上的转换关系,生成网格四边形的空间坐标与纹理坐标之间的转换等式。

在本实施例中,所述计算设备10可通过a=p0-p,b=p1-p0,c=p3-p0,d=p2+p0-p1-p3对等式p=(1-y)*[(1-x)*p0+x*p1]+y*[(1-x)*p3+x*p2]进行变换,得到等式(0,0)=a+x*b+y*c+x*y*d。所述计算设备10通过以f((x1,y1),(x2,y2))=x1*y2-x2*y1的函数对等式(0,0)=a+x*b+y*c+x*y*d的两端进行消c运算后及消b运算,从而得到上述的转换等式。

在本发明实施例中,所述步骤s230之后,所述方法还可以包括:

步骤s240,根据各网格四边形中各顶点及各分布点对应的纹理坐标,将道路纹理贴图中各纹理坐标对应的纹素映射到所述道路模型上对应位置处。

在本实施例中,所述计算设备10在得到每个网格四边形中各分布点在对应道路纹理贴图中的纹理坐标后,将基于得到的各纹理坐标将道路纹理贴图中各纹理坐标对应的纹素映射到所述道路模型上对应位置处,从而在当前游戏场景中生成完整的道路。

请参照图6,是本发明较佳的实施例提供的图1中所示的纹理坐标计算装置100的一种方框示意图。在本发明实施例中,所述纹理坐标计算装置100包括空间坐标获取模块110、转换系数计算模块120及纹理坐标计算模块130。

所述空间坐标获取模块110,用于获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标。

在本实施例中,所述空间坐标获取模块110可以执行图2中的步骤s210,关于所述空间坐标获取模块110的描述可以参照上文中对所述步骤s210的描述。

可选地,请参照图7,是图6中所示的空间坐标获取模块110的方框示意图。在本实施例中,所述空间坐标获取模块110可以包括网格划分子模块111及三角化处理子模块112。

所述网格划分子模块111,用于对当前游戏场景中的道路模型进行网格划分,得到不同形状的各网格四边形。

在本实施例中,所述网格划分子模块111对当前游戏场景中的道路模型进行网格划分,得到不同形状的各网格四边形的方式包括:

按照预设间距对所述道路模型中的道路曲线进行采样,得到所述道路曲线上的各采样点;

以各采样点为中心,绘制出垂直于相邻采样点之间的连线,且长度等于所述道路模型的道路宽度的线段,并基于绘制出的相邻线段的四个顶点构成对应形状的网格四边形。

在本实施例中,所述网格划分子模块111可以执行图3中的子步骤s211,具体的描述可参照上文对所述子步骤s211的详细描述。

所述三角化处理子模块112,用于对各网格四边形进行三角化处理,得到对应网格四边形中的各顶点的空间坐标及各分布点的空间坐标。

在本实施例中,所述三角化处理子模块112可以执行图3中的子步骤s212,具体的描述可参照上文对所述子步骤s212的详细描述。

所述转换系数计算模块120,用于基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算。

在本实施例中,所述转换系数计算模块120可以执行图2中的步骤s220,具体的描述可参照上文对所述步骤s220的详细描述。

所述纹理坐标计算模块130,用于根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标。

在本实施例中,所述纹理坐标计算模块130可以执行图2中的步骤s230,具体的描述可参照上文对所述步骤s230的详细描述。

请参照图8,是本发明较佳的实施例提供的图1中所示的纹理坐标计算装置100的另一种方框示意图。在本发明实施例中,所述纹理坐标计算装置100还可以包括转换等式配置模块140及贴图映射模块150。

所述转换等式配置模块140,用于对空间坐标与纹理坐标之间的转换等式进配置。

在本实施例中,所述转换等式配置模块140对空间坐标与纹理坐标之间的转换等式进配置的方式包括:

根据网格四边形中分布点在四条边上的映射点的位置信息,及对应映射点在道路纹理贴图上的纹理坐标,建立各映射点在空间坐标与纹理坐标上的转换关系;

根据各映射点在空间坐标与纹理坐标上的转换关系,生成网格四边形的空间坐标与纹理坐标之间的转换等式。

所述贴图映射模块150,用于根据各网格四边形中各顶点及各分布点对应的纹理坐标,将道路纹理贴图中各纹理坐标对应的纹素映射到所述道路模型上对应位置处。

在本实施例中,所述贴图映射模块150可以执行图4中的步骤s240,具体的描述可参照上文中对所述步骤s240的描述。

综上所述,在本发明较佳的实施例提供的纹理坐标计算方法及装置中,所述纹理坐标计算方法计算精度高,能够精准地计算出任意形状的网格四边形中不同点的纹理坐标,降低映射失误率,提高玩家感官体验。首先,所述方法获取当前游戏场景中道路模型对应的各网格四边形中的各顶点及各分布点的空间坐标;接着,所述方法基于同一网格四边形中各顶点及各分布点的空间坐标,对各分布点在空间坐标与纹理坐标之间的转换等式中的转换系数进行计算;最后,所述方法根据所述转换等式及计算得到的各分布点对应的转换系数,计算得到各分布点在道路纹理贴图中对应的纹理坐标,从而精准地计算出任意形状的网格四边形中各点的纹理坐标,降低纹理贴图的映射失误率,提高玩家感官体验。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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