本发明大体上涉及计算机图形,并且更具体地涉及用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法和系统。本发明还涉及计算机程序产品。
发明背景
计算机图形的创建和可视化在不同的计算领域(诸如,计算机辅助设计(CAD)、建筑走查、仿真、医学可视化和计算机游戏)中产生日益增加的重要性。计算机图形的可视化还经常需要与模型的交互以大于每秒10帧的交互频率进行。
计算机图形的共同趋势是日益增加的复杂性以及因此日益增加的计算机图形模型的大小。例如,在动画电影中使用的非常详细的模型通常经过预处理步骤,在预处理步骤完成之前,如果没有数千小时的处理时间,也花费了大约几百小时的处理时间。同样,用于来源于数学模型(诸如,NURBS或者细分表面)的CAD的计算机图形模型的原始数据可以包括大约数百万个三角形和顶点。
因此,那些3D模型在计算上是非常昂贵的,并且因此需要专用图形系统来处理,另外,3D模型通常不能被交互式处理。由于计算机图形的大小和辅助计算机存储器的大小以比其相关的硬件发展更快的速度在增加,因此计算机硬件的发展不太可能提供那些3D模型的交互式处理。除了少数例外,使用三角网格或四边形网格、或甚至更普遍地使用多个多边形来表示3D模型。这些网格通常不被优化用于显示或仿真性能。在大部分应用中,初始网格通常被优化的简化的版本代替,优化的简化的版本是具有少得多的面的近似,或包含使它们更适合于诸如之前所提到的那些特定应用的其它特性。
为了使用户提供适合于例如目标计算机系统的这样的优化的版本,用户必须将现有3D模型网格化以得到初始网格,并且然后将属性(诸如,材料、光照等)应用于初始网格,以便获得他或她期望的美学外观和/或功能。例如,选定的材料可以提供虚拟物理特性(诸如,数字对象的摩擦和/或重量)和纹理两者,并且光照将允许用户在该对象的随后的可视化中看见对象将看起来像什么。然而,向3D模型的优化的版本提供应用的属性需要将初始网格和所应用的属性发送到处理单元,处理单元将初始网格和所应用的属性进行优化,以向较少计算上大大简化的网格提供相应的应用的属性。可以在某些条件下(例如,最大数量的顶点或多边形)进行简化。这个优化过程通常花费大约几个小时或更长时间。因此,当用户看到最终结果(具有所应用的属性的简化的网格)时,他可以随后决定优化的版本不符合所需的保真度等。因此,他必须重新开始该过程,并且损失了几小时或几天的工作。
因此,当前的过程是低效的,并且为目标计算机系统提供具有应用的属性的3D模型的优化的版本是耗时的。为多个计算机系统提供优化的版本需要用户针对每个优化的版本执行该过程,并且因此这是非常耗时的。可选的方案是使用几个计算机系统的优化的版本,其中缺点是一些计算机系统将发现优化的版本在计算上繁重,同时一些计算机系统将能够以更高的保真度处理优化的版本。
因此,存在提供改进的过程的需要,该过程可以减少用户(通常是图形艺术家)提供现有3D模型的适合于特定的计算机系统(并且优选地是多个计算机系统)的优化的版本所花费的时间量。
发明概述
关于以上提到的需要,本发明的总体目的是提供用于转换现有3D模型的方法或系统中的一项,其可以在短时间内提供优化的3D模型的更快的可视化,使得用户可以确定优化的版本是否具有足够的质量。
根据本发明的第一方面,这些目标和其他目标是通过用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法来实现,该方法包括:将3D模型储存在预处理单元可访问的储存服务器上。在预处理单元中创建一组单独优化的简化网格,每个简化的网格具有简化程度以及用于将在简化的网格的面上的点映射到在3D模型上的对应点的映射结构,简化程度和映射结构适用于计算机系统中的一个计算机系统。在图形用户界面中,允许用户与3D模型的可视化进行交互,以向3D模型提供包括材料和照度中的至少一项的选定的表面属性,并且从多个计算机系统中选择目标计算机系统并且选择简化程度。该方法还包括:基于选定的表面属性和在一组简化的网格中适当简化的网格,创建图形数据,该适当简化的网格具有选定的简化程度和对应于目标计算机系统的映射结构;并且按图形数据将在目标计算机系统上显现的方式,将图形数据的预览输出在图形用户界面上。
本发明基于以下实现:通过预处理并且提前创建一组单独优化的网格,在短时间内就可以按图形数据将在目标计算机系统上显现的方式而在图形用户界面上预览该图形数据。因此,应理解的是,创建优化的简化的网格的过程仍将花费大量时间,但是从简化的网格和选定的表面属性中创建对应于现有3D模型的可视化的图形数据的步骤将按数量级减少时间。因此,本发明允许用户将现有3D模型发送到对其进行预处理的储存服务器,之后用户可以在为现有3D模型提供表面属性的图形用户界面中执行操作。随后,通过使用提前创建的简化网格以及映射结构,在短时间内,创建了图形数据,其按图形数据将在目标计算机系统上显现的方式,表示图形数据的预览。由此,本发明为用户创造了在不需要等待漫长的优化过程发生的情况下交互并且适应过程的可能性。
创建图形数据并且输出预览可以比采用选定的表面属性直接简化3D模型至少快10倍。换句话说,创建并且示出图形数据和预览可以比在没有简化的网格和映射结构的情况下创建图形数据至少快10倍。因此,本发明实现了更快的工作流程。
应当注意到,现有3D模型可以由初始网格表示。如果3D模型不是由初始网格表示,则该方法还包括将3D模型网格化,以在创建简化的网格之前在预处理单元中提供初始网格。
初始网格可以包括大约数百万个顶点和多边形(诸如,至少1000000个顶点),这向现有3D模型提供了具有高保真度的初始网格。另外,初始网格中的大量顶点可以为简化的网格提供在它们的简化程度上不同的更多可能性。因此,应理解的是,通过简化程度,简化的网格可以包括数量小得多的多边形,诸如,一半、十分之一或者甚至千分之一。这意味着初始网格包括大约上百万个顶点可以导致简化的网格具有少到仅数百个或者数千个顶点和多边形。用于提供这种简化的网格的过程在本领域中是已知的,其中申请人具有几个专有方法,其向现有3D模型提供了具有高保真度(虽然低于初始网格)的简化的优化的网格。在通过引用并入本文的美国专利8,698,809中给出了示例。
映射结构将描述如何将在简化的优化的网格的面上的点映射到在现有3D模型上的对应点,使得选定的表面属性也能够应用于简化的网格并且从而应用于图形数据。由于简化的网格将包括比现有3D模型更少的顶点,因此应理解的是,映射结构可以将现有3D模型中的几个点映射到简化的网格中的单个点。因此,映射结构还描述了如何组合几个点。此外,映射结构可以包括关于现有3D模型或初始网格是否包括多个对象及其标识的信息,以便向图形数据提供更多数据。表面属性的示例包括每个点的法线方向、表面纹理、反射、弯曲以及交互性。
适合于计算机系统中的一个计算机系统的简化程度可以基于在计算机系统的处理能力、图形显示能力以及计算机系统旨在与图形数据进行交互的方式中的一项而被评估。对于具有较小处理能力的计算机系统,简化程度可以更大。因此,应理解的是,更强大的计算机系统(诸如,游戏控制台)可以具有更小的简化程度。按照相同的方式,旨在用于具有较小处理能力的计算机系统(例如,智能电话或者其他类型的便携设备)的简化的网格可以具有较大的简化程度。因此,适合于计算机系统之一的简化程度也可以以类似的方式基于计算机系统的图形显示能力。同样,可以基于计算机系统旨在与图形数据进行交互的方式,选定合适的简化程度和映射结构。根据系统与图形数据的交互类型(诸如,键盘和/或鼠标、触摸屏、游戏的手控制装置、基于手势的控制装置或者语音命令),据此配置简化程度。例如,基于小型触摸屏的交互可以不需要高度复杂的图形数据,并且因此可以使简化程度更大。
另外,并且以与刚刚描述的方式类似的方式,选择简化程度的步骤可以是基于例如目标计算机系统的处理能力、目标计算机系统的图形显示能力和/或目标计算机系统旨在与图形数据进行交互的方式而被自动操作的。由此,仅具有例如目标系统的知识的用户不需要关于简化程度的特定的知识。
根据本发明的一个实施例,该方法还可以包括以下步骤:接收允许用户重新选择简化程度的用户输入;基于选定的表面属性和在一组简化的网格中可选的适当的简化网格,重新创建更新的图形数据,该可选的适当的简化网格具有重新选择的简化程度和对应于目标计算机系统的映射结构;并且按更新的图形数据将在目标计算机系统上显现的方式,将更新的图形数据的更新的预览输出在图形用户界面上。
通过允许用户重新选择简化程度,作为替代地,向认为图形数据的质量或者保真度太低的用户提供从可选的适当的简化网格创建的图形数据的更新的预览,该可选的适当的简化网格根据用户的期望具有较小的简化程度和选定的表面属性,并且因此具有较高的质量或者保真度。同样,用户可能想要进一步减少在某个模型中的多边形计数,并且尝试具有较大简化程度的简化的网格。因此,本发明的应被认识到的另一个优势在于本方法是可重复的。
换句话说,因为提前提供了每个具有映射结构的一组单独优化的简化的网格,所以可以根据更高或者更低的质量的要求快速地且以交互方式向用户呈现图形数据的更新的预览。由此提供了高效的且迭代的过程和/或工作流程,其中,用户可以在一组单独优化的网格内选择最理想的网格。此外,如果目标计算机系统是多个目标计算机系统,则可以向用户呈现所有图形数据的预览,并且因此可以根据来自每个图形数据的保真度的需求而接收或者拒绝图形数据。
预处理单元可以是本地计算单元、远程服务器、计算机集群或者联网的计算机。就本地计算单元而言,应理解的是,预处理也可以发生在用户用于分配现有3D模型的计算机系统处。然后本地计算单元可以是计算机的中央处理单元、用于所讨论的计算机系统的图形计算单元或者特定计算单元。同样,如果预处理单元是远程服务器,则可以由远程服务器的中央处理单元、所讨论的远程服务器的图形计算单元或者特定计算单元来执行预处理。计算机集群和联网的计算机可以划分在其之间的处理任务,并且可以有益地被用于加快预处理现有3D模型的任务。
该方法还可以包括向发布服务器提供图形数据。随后,可以由需要图形数据以供其使用并且因此允许向更多受众销售或者传播完成的图形数据的任何人访问发布服务器。
根据本发明的另一个实施例,在与初始网格的可视化进行交互之前,一组单独优化的简化的网格在图形用户界面中被预览。由此,用户能够选择在创建图形数据的步骤中应当使用的简化的网格。因此,以既直观又高效的方式向用户呈现选择简化程度的选项。
根据本发明的一个实施例,该方法还可以包括以下步骤:储存与在现有3D模型、目标计算机系统和简化程度中的一项相关的用户产生的偏好,使用先前储存的偏好来配置初始网格的网格化,并且使用先前储存的偏好来选择目标计算机系统和简化程度。因为用户可以多次使用本发明,所以可以使用偏好,使得当现有3D模型被储存在储存服务器上时,目标系统和简化程度被自动识别,以便不需要对系统的任何其他指令。由此,节省了时间并且用户可以将时间花费在其他任务上。以相同的方式,提供初始网格的网格化可以基于用户的先前偏好。因此,具有采用复杂的初始网格进行工作的偏好的用户将根据储存的偏好自动接收具有大量多边形的初始网格和具有低简化程度的简化的优化的网格。类似地,具有针对具有较低量的计算能力的计算机系统(例如,便携设备)的储存的偏好的用户可以自动接收具有数量较低的多边形的初始网格以及随后的具有较大简化程度的简化的优化的网格。
根据本发明的另一个实施例,该方法还可以包括以下步骤:采用现有3D模型的标识符来储存一组单独优化的简化的网格和映射结构;确定是否存在用于现有3D模型的先前储存的一组单独优化的简化的网格和映射结构的标识符;并且基于选定的表面属性和在先前储存的一组简化的网格中的适当的简化的网格,创建图形数据,适当的简化的网格具有选定的简化程度和对应于目标计算机系统的映射结构。因此,采用标识符储存简化的网格和映射结构的优势是:为了其他目的,相同的用户或者第二个用户可以再次使用简化的网格和映射结构。然后,用户将具有对现有3D模型、单独优化的简化的网格以及映射结构的访问。另外,另一个优势是:由于第二个用户具有对简化的网格和映射结构的访问,因此将向期望优化并且向相同的现有3D模型提供表面属性的第二个用户直接提供在图形用户界面中优化并且向相同的现有3D模型提供表面属性的机会而在原则上没有任何延迟。换句话说,简化的网格可以被储存(即,缓冲)并且在现有3D模型的后续优化过程中被重新使用,这进一步降低了用户可以交互并且向3D模型提供表面属性之前的时间。标识符可以是用于将现有3D模型与简化的网格连接的任何合适的数据结构或者数据标签,诸如哈希(hash)。
根据本发明的第二方面,这些目标和其他目标还通过用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的系统来实现。该系统包括用于储存3D模型的储存服务器,该储存服务器对于预处理单元是可访问的。该预处理单元被配置成创建一组单独优化的简化的网格,每个简化的网格具有简化程度以及用于将在简化的网格的面上的点映射到在初始网格上的对应点的映射结构。简化程度和映射结构适合于计算机系统中的一个计算机系统。该系统还包括:图形用户界面,该图形用户界面被配置成允许用户与初始网格的可视化进行交互,并且向初始网格提供包括在材料和照度中的至少一项的选定的表面属性,并且允许用户从多个计算机系统中选择目标计算机系统并且选择简化程度。预处理单元还被配置成:基于选定的表面属性和在一组简化的网格中的适当的简化的网格,创建图形数据,适当的简化的网格具有选定的简化程度和对应于目标计算机系统的映射结构。按图形数据将在目标计算机系统上显现的方式,图形用户界面输出图形数据的预览。
本发明的第二方面的很多特征和优势类似于先前提到的第一方面的特征和优势。
当学习所附权利要求和以下描述时,本发明的其他特征和优势将变得明显。技术人士认识到,在不脱离本发明的范围的情况下,本发明的不同特征可以被组合以创造除了以下描述的那些以外的实施方案。
附图简述
通过以下详细描述和附图将容易理解包括本发明的特定特征和优势的各个方面,在附图中:
图1a示出转换现有3D模型的已知的现有技术方法的示例;
图1b示出根据本发明的一般概念转换现有3D模型的示例;
图2是图示根据本发明的实施例的用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法的流程图;
图3示出关于使用本发明的具体示例;
图4a示出根据本发明的实施例的用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的系统;
图4b示出根据本发明的另一个实施例的用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的系统;以及
图5示出在选择并且应用表面属性之前系统的交互式窗口的可选的实施例。
详细描述
本发明现在将在下文参照附图进行更全面地描述,附图中示出了本发明的当前优选实施例。然而,本发明可以以许多不同的形式体现并且不应被解释为限于本文所阐述的实施例;相反,这些实施例出于彻底性和完整性被提供,并且将本发明的范围充分传达到技术人员。在全文中,相似的参考符号指的是相似的元素。另外,本发明是参考用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法和系统进行论述的。
在图1a中,提供来自现有3D模型的适合于供一个计算机系统使用的图形数据的已知解决方案被示出为方框图。艺术家通过在合适的软件程序(诸如,例如,3D Studio Max,Maya等)中建模111或者可选地通过包括其中将模型的形状提供为空气阻力、重量等的优化的数学过程的CAD设计来提供3D模型。同样,可以通过扫描在提供物理对象的虚拟数字表示的3D扫描装置中的物理对象来提供模型。
然后,该模型被网格化112,并且由包括顶点和连接顶点的边的多边形网格表示。在通过软件的一些类型的建模中,由于模型可能已经由多边形网格表示,所以网格化的步骤可以是不必要的。在已知解决方案的下一个步骤中,在展现步骤113处向用户提供模型,其中可以应用表面属性。例如,表面属性的示例是材料和光照。在展现步骤113,艺术家看见具有所应用的表面属性的现有3D模型的表示。在展现步骤113之后,需要将具有所应用的表面属性的3D模型进行优化,以便提供能够以交互方式使用的或者供具有较低计算能力或者较低存储器容量的计算机系统使用的图形数据。因为此时可用的唯一数据是网格化的3D模型和所应用的表面属性,所以优化步骤114是耗时的并且在计算上繁重。因此,在输出优化的结果并且由此对于检查是可视的之前,优化的结果通常将花费大约几小时。由于优化114的结果在原始的现有3D模型的质量或者保真度方面可能并不合适,所以可能需要改变优化过程或者表面属性的选择,由此需要更多时间。另外,需要针对将要使用优化的模型的每个计算机系统重复该过程,从而也需要大量时间。最后,可以在发布服务器等上发布115优化的模型,以用作在计算机游戏或者其他类型的交互式数字环境中的数字模型或者资产。
图1b示出根据本发明的一般概念转换现有3D模型的示例。类似于以上描述的已知现有技术的解决方案,艺术家通过在合适的软件程序中建模121或者例如通过数学优化过程来提供模型。随后,在本发明的实施例中,如果现有3D模型还没有由多边形网格表示,则将现有3D模型进行网格化122。由模型(现有3D模型)的网格化所产生的多边形网格应该被解释为初始网格。另外,发生了优化过程123,其中创建了一组单独优化的简化的网格。每个简化的网格均具有简化程度以及用于将在简化的网格的面上的点映射到在初始网格上的对应点的映射结构。简化程度是基于随后可以使用模型的计算机系统中的一个计算机系统。换句话说,简化程度将基于每个简化的网格将要针对的计算机系统。
在接下来的展现步骤124中,表面属性被选择并被应用于初始网格,使得用户可以通过视觉检查根据他的/她的偏好配置模型。当用户对结果满意时,他/她可以请求初始网格的具有所应用的表面属性的优化版本。随后,在烘焙步骤125中,通过使用提前创建的简化的网格以及映射结构,在短时间内创建了图形数据,其按图形数据将目标计算机系统上显现的方式,表示图形数据的预览。在本发明的上下文中,表述“烘焙”应该被解释为初始网格的几个点和表面属性的组合被用于基于简化的网格和表面属性来提供图形数据。因此,本发明为用户创造了在不需要等待漫长的优化过程发生的情况下交互并且迭代地适应过程的可能性。当图形数据具有期望的外观时,图形数据可以在发布服务器上被发布126,以用作在交互式虚拟环境中的数字虚拟模型或者资产。
现在将采用图2更详细地描述本发明,图2示出了图示本发明的一个实施例的流程图,其中示出了用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法。
在第一步骤S1中,用户将现有3D模型储存在储存服务器上。可以以本领域技术人员已知的几种不同的方式来表示现有3D模型。例如,现有3D模型可以是表面的NURBS表示,或者现有3D模型可以通过细分表面来表示。因此,可以通过不同的文件类型(诸如,.step、.ige或者.iges)来表示现有3D模型。同样,可以通过包括关于被包括在多边形网格中的顶点、边和表面的信息的多边形网格来表示现有3D模型。技术人员将会考虑本发明的范围还包含其他类型的文件格式以及在三维中的表面的数学表示。
在第二步骤S2中,由预处理单元对现有模型进行预处理,以便创建一组单独优化的简化的网格,每个简化的网格均具有简化程度以及用于将在简化的网格的面上的点映射到在初始网格上的对应点的映射结构,简化程度和映射结构基于计算机系统中的一个计算机系统。另外,作为选项,可以将现有3D模型进行网格化,以提供初始网格。
随后在第三步骤S3中,用户被允许与在图形用户界面中的现有3D模型或者初始网格的可视化进行交互。随后,用户可以向现有3D模型或者初始网格提供选定的表面属性。选定的表面属性可以至少包括材料和/或照度。另外,这种属性的示例是在每个点的法线方向、表面纹理、反射、弯曲以及交互性。
在第四步骤S4中,用户随后从多个计算机系统中选择目标计算机系统以及简化程度。通过选择目标计算机系统,应理解的是,可以固有地(诸如,基于目标计算机系统的处理能力、或者目标计算机将具有的与图形数据的交互类型)决定简化程度。
随后,在第五步骤S5中,基于选定的表面属性和在一组简化的网格中适当的简化的网格,创建图形数据。适当的简化的网格具有选定的简化程度以及与选定的目标计算机系统对应的映射结构。
在第六步骤S6中,按图形数据将在目标计算机系统上显现的方式,在图形用户界面上输出图形数据的预览。由此,在短时间内输出优化的3D模型的更快的可视化,使得用户可以确定优化版本是否具有足够的质量。
应当将表述“计算机系统”和“目标计算机系统”广义地解释为任何机器或者虚拟机,例如,能够储存并且渲染图形数据的图形引擎。这种机器或虚拟机的示例是webgl、unity、unreal engine 4、IOS、平板设备、智能电话或者游戏控制台(诸如,PlayStation或者Xbox)或者台式计算机。另外,将计算机程序或者应用“流传输”到屏幕的远程计算机系统(诸如,服务器或者计算站)也应该被解释为被包括在计算机系统和目标计算机系统中。还可以创建图形数据,以便对图形数据进行3D打印。
在图3中以及在下面给出了关于使用发明方法的具体示例,该示例应当被理解为不限于关于发明概念可以被应用于特定情况的方式。在该示例中,存在具有窗户302的房屋300的现有3D模型、数字表示,在窗户302后面存在画304。然后将3D模型储存在储存服务器上,并且储存服务器可由预处理单元访问。随后,如果需要提供初始网格,则预处理单元将对3D模型进行网格化,并且随后创建单独优化的简化的网格,其中每个简化的网格均具有简化程度以及将简化的网格上的点映射到初始网格的点的映射结构。随后,用户被允许与3D模型或者3D模型的初始网格进行交互并且向其提供表面属性,并且选择目标计算机系统和简化程度。随后,使用简化的网格和映射结构来创建图形数据。因此,在房屋300的窗户302上的点中的图形数据现在包括来自映射结构的表面信息,来自例如窗户302和在窗户后面的画304两者。表面信息被理解成之前在更复杂的模型中存在的信息,诸如窗户的反射率和画的颜色以及窗户的交互性(例如,在交互式环境中窗户可以打碎)。
图4a示出根据本发明的实施例的用于将现有3D模型转换成适合于供多个计算机系统352、354、356、358中的至少一个计算机系统使用的图形数据的系统300。系统300包括初始计算设备302,用户(通常是在3D建模中的艺术家)在初始计算设备302上具有现有3D模型或者已经产生了以上描述的3D模型。现有3D模型可以已经是通过多边形网格表示的,由此已经是初始网格304,或者模型306是通过数学表面描述(诸如,NURBS或者细分表面)表示的。因为NURBS和细分表面被用于所有CAD应用中的大多数应用,所以能够将这样的数据转换成图形数据是有益的。现有3D模型306可以具有本领域技术人员已知的几种不同的类型。可以通过不同的文件类型(诸如,.step、.ige或者.iges)来表示现有3D模型。
另外,该系统包括储存服务器308,用户可以将现有3D模型310储存在储存服务器308上。在本文中应当将储存服务器理解为能够储存数字信息的设备或者独立计算机系统。储存服务器308可由预处理单元322访问,预处理单元322能够在需要时将现有3D模型网格化,并且预处理单元322还能够创建一组单独优化的简化的网格323。该组单独简化的网格323通常将包括多个简化的网格,诸如,五到十个网格。然而,在该组323中的简化的网格的数量将针对每个应用而决定,并且可以存在更少的简化的网格(诸如,仅三个)或者在其中图像数据被创建用于多个计算机系统的情况下存在更大的数量的简化的网格(诸如,多达一百个简化的网格)。简化的网格中的每个简化的网格均具有简化程度以及用于将在简化的网格的面上的点映射到在初始网格上的对应点的映射结构。简化程度和映射结构基于计算机系统352、354、356、358中的一个计算机系统。预处理单元322优选地是本地计算单元、远程服务器、计算机集群或者联网的计算机。就本地计算单元而言,应理解的是,预处理也可以发生在用户用于创建现有3D模型或者将现有3D模型上传到储存服务器的计算机系统处。然后本地计算单元可以是计算机的中央处理单元、用于所讨论的计算机系统的图形计算单元或者特定计算单元。同样,如果预处理单元是远程服务器,则可以由远程服务器的中央处理单元、所讨论的远程服务器的图形计算单元或者特定计算单元来执行预处理。计算机集群和联网的计算机可以划分在其之间的处理任务,并且可以有益地被用于加快预处理现有3D模型的任务。
该系统还包括计算设备330,在计算设备330上包含并且执行应用/程序用户界面332。计算设备330的类型并非本发明的必要要素,但是作为示例,(固定式或者膝上式)个人计算机、平板电脑、智能电话等是可能的。也有可能提供应用程序用户界面332作为在例如网络浏览器中的虚拟机。为了进一步减少对计算设备330的硬件约束,根据本发明将有可能例如向用户/客户“按需”提供通过本发明概念的方式所提供的功能。作为示例,希望应用表面属性并且检查那些表面属性的结果的用户可以通过计算设备330上的用户界面322来访问在例如服务器(未示出)上运行的转换过程的计算机实现,这种解决方案通常被称作“云”或者“基于云”。
可选地,可以为计算设备330提供用于产生原始图像的软件(诸如,例如,3D Studio Max、Maya等),其中在计算设备330上运行的软件适于访问在服务器(未示出)上运行的本发明概念的计算机实现或适于与在服务器(未示出)上运行的本发明概念的计算机实现进行交互(通过例如API和“按需”、作为订阅、作为固定服务等方式)。在计算设备330上有交互式应用窗口332(即,图形用户界面332),在交互式应用窗口332中,用户与初始网格334进行交互,以应用表面属性340、342。这为用户提供了交互式设计环境,其中可以通过表面属性(诸如,在表面上的光照和材料的选择)来为初始网格334着色并且照亮初始网格334。随后,用户可以检查对具有所应用的表面属性336的初始网格的那些选择的结果。随后,用户选择目标计算机系统352、354、356、358,诸如,webgl、unity、unreal engine 4、IOS、平板设备、智能电话、PlayStation、Xbox、流传输程序或者应用的远程计算机、台式计算机、3D打印机。具有简化程度和相应的映射结构的简化的网格将被用于按其将在目标计算机系统352、354、356、358上显现的方式来快速创建并输出图形数据的预览338。
在一个实施例中,用户可能已选定多个目标计算机系统352、354、356、358,并且随后可以向用户呈现针对不同的目标计算机系统352、354、356、358的图形数据的预览。因此,用户随后可以可视地检查,并且根据对于每个图形数据的保真度的需求而接受或者拒绝图形数据,并且由此单独地接受或者拒绝每个图形数据。另外,并且如上所述,随后可以通过使用例如重选的简化程度等等来重新创建更新的图形数据。
图4b示出系统300的另一个版本,该版本还包括发布服务器350,在发布服务器350上可以储存完成的图形数据,以便在计算机游戏或者其他类型的交互式数字环境中,图形数据可以作为数字模型或者资产被访问。
图5示出了其中具有变化的简化程度的多个简化的网格402、404、406、408在应用表面属性340、342之前,在计算设备330上的用户界面332中被示出的实施例。随后,用户可以根据用户发现在保真度或者美感上合适的简化的网格来选择或者取消选择不同的简化的网格。因此,用户将取消选择不期望的示例,并且具有更小或者更大的简化程度的简化的网格将被用于构建期望的图形数据。例如,用户可以直接评估简化的网格402不具有将不会提供期望的保真度的形状或者轮廓,并且取消选择网格402。同样,用户可以选择最期望的简化的网格,并且该简化的网格将被用于创建图形数据。
本公开设想用于完成各个操作的方法、系统和在任何机器可读介质上的程序产品。可以使用现有计算机处理器、或通过为此目的或其他目的所引入的适当的系统的专用计算机处理器、或通过硬接线的系统来实现本公开的实施例。本公开的范围之内的实施例包括程序产品,该程序产品包括用于携带或具有机器可执行指令或存储于其上的数据结构的机器可读介质。这种机器可读介质可以是可由通用计算机或专用计算机或具有处理器的其他机器访问的任何可用介质。举例来讲,这种机器可读介质可包括RAM、ROM、EPROM、EEPROM、CD-ROM或其他光盘储存器、磁盘储存器或其他磁储存器装置、或可用于携带或储存以机器可执行指令或数据结构形式的所需程序代码的且可以由通用计算机或专用计算机或具有处理器的其他机器访问的其他任何其他介质。当信息通过网络或另一个通信连接(硬接线的、无线的或硬接线和无线的组合)被传送或提供到机器时,该机器适当地将该连接视为机器可读介质。因此,任何这种连接被适当地称为机器可读介质。以上的组合也被包括在机器可读介质的范围内。机器可执行指令包括例如指令和数据,该指令和数据使得通用计算机、专用计算机或专用处理机器执行某个功能或一组功能。
尽管附图可能示出了方法步骤的特定顺序,但是该步骤的顺序可以与所描绘的不同。此外,可以同时或部分同时执行两个或更多个步骤。这种变化将取决于选定的软件系统和硬件系统并且取决于设计者的选择。所有这些变化都在本公开的范围之内。同样,软件实现可以用具有基于规则的逻辑和其他逻辑的标准编程技术来完成,以完成各个连接步骤、处理步骤、比较步骤和确定步骤。另外,尽管已参考本发明的特定示例性实施例描述了本发明,但是对于本领域技术人员来说,很多不同的改变、修改等等也将变得明显。技术人员在实践要求保护的发明时通过研究附图、公开内容及所附权利要求能够理解并实现公开的实施例的变型。此外,在权利要求中,单词“包括”不排除其他元件或步骤,且不定冠词“一个(a)”或“一个(an)”不排除多个。
权利要求书(按照条约第19条的修改)
1.一种用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的方法,包括:
将所述3D模型储存在可由预处理单元访问的储存服务器上;
在所述预处理单元中,创建一组单独优化的简化的网格,每个简化的网格具有简化程度以及用于将在所述简化的网格的面上的点映射到所述3D模型上的对应点的映射结构,所述简化程度和所述映射结构适合于所述计算机系统中的一个计算机系统;
在图形用户界面中,允许用户与所述3D模型的可视化进行交互,以向所述3D模型提供包括在材料和照度中的至少一项的选定的表面属性;
从所述多个计算机系统中选择目标计算机系统;
选择简化程度;
基于所述选定的表面属性和在所述一组简化的网格中的适当的简化的网格,创建所述图形数据,所述适当的简化的网格具有所述选定的简化程度和对应于所述目标计算机系统的映射结构;以及
按照所述图形数据将在所述目标计算机系统上显现的方式,在所述图形用户界面上输出所述图形数据的预览。
2.根据权利要求1所述的方法,其中,适合于所述计算机系统中的一个计算机系统的所述简化程度是基于在所述计算机系统的处理能力、所述计算机系统的图形显示能力以及所述计算机系统旨在与所述图形数据进行交互的方式中的一项而被评估的。
3.根据权利要求1所述的方法,其中,所述现有3D模型是通过初始网格表示的。
4.根据权利要求1所述的方法,其中,所述方法还包括:在所述预处理单元中将所述3D模型网格化以提供初始网格。
5.根据权利要求1所述的方法,其中,所述方法还包括:
接收允许用户重选简化程度的用户输入;
基于所述选定的表面属性和在所述一组简化的网格中的可选的适当的简化的网格,重新创建更新的图形数据,所述可选的适当的简化的网格具有所重选的简化程度和对应于所述目标计算机系统的映射结构;以及
按照所述更新的图形数据将在所述目标计算机系统上显现的方式,在所述图形用户界面上输出所述更新的图形数据的更新的预览。
6.根据权利要求1所述的方法,其中,选择简化程度的所述步骤是基于在所述目标计算机系统的处理能力、所述目标计算机系统的图形显示能力以及所述目标计算机系统旨在与所述图形数据进行交互的方式中的一项而被自动操作的。
7.根据权利要求1所述的方法,其中,创建所述图形数据并且输出所述预览比直接简化具有所述选定的表面属性的所述3D模型至少快10倍。
8.根据权利要求1所述的方法,其中,所述方法还包括向发布服务器提供所述图形数据。
9.根据权利要求1所述的方法,其中,在与所述初始网格的可视化进行交互之前,所述一组单独优化的简化的网格在所述图形用户界面中被预览。
10.根据权利要求1所述的方法,其中,所述方法还包括以下步骤:
储存用户产生的与在所述现有3D模型、所述目标计算机系统和所述简化程度中的一项相关的偏好;
使用先前储存的偏好来配置对所述初始网格的网格化;并且
使用先前储存的偏好来选择所述目标计算机系统和所述简化程度。
11.根据权利要求1所述的方法,其中,所述方法还包括以下步骤:
将所述一组单独优化的简化的网格和映射结构连同所述现有3D模型的标识符一起储存;
确定是否存在用于所述现有3D模型的先前储存的一组单独优化的简化的网格和映射结构的标识符;以及
基于所述选定的表面属性和在所述先前储存的一组简化的网格中的适当的简化的网格,创建所述图形数据,所述适当的简化的网格具有所述选定的简化程度和对应于所述目标计算机系统的映射结构。
12.一种用于将现有3D模型转换成适合于供多个计算机系统中的至少一个计算机系统使用的图形数据的系统,包括:
储存服务器,所述储存服务器用于储存所述3D模型,所述储存服务器可由预处理单元访问;
所述预处理单元,其被配置成:
将所述3D模型网格化,并且提供初始网格,以及
创建一组单独优化的简化的网格,每个简化的网格具有简化程度以及用于将在所述简化的网格的面上的点映射到在所述初始网格上的对应点的映射结构,所述简化程度和所述映射结构适合于所述计算机系统中的一个计算机系统;
图形用户界面,其被配置成:
允许用户与所述初始网格的可视化进行交互,以向所述初始网格提供包括在材料和照度中的至少一项的选定的表面属性,以及
允许用户从所述多个计算机系统中选择目标计算机系统,并且选择简化程度;
其中,所述预处理单元还被配置成:基于所述选定的表面属性和在所述一组简化的网格中的适当的简化的网格,创建所述图形数据,所述适当的简化的网格具有所述选定的简化程度和对应于所述目标计算机系统的映射结构;以及
其中,按照所述图形数据将在所述目标计算机系统上显现的方式,所述图形用户界面输出所述图形数据的预览。
13.根据权利要求12所述的系统,其中,所述图形用户界面还被配置成:
接收允许用户重选简化程度的用户输入,并且所述预处理单元还被配置成:
基于所述选定的表面属性和在所述一组简化的网格中的可选的适当的简化的网格,重新创建更新的图形数据,所述可选的适当的简化的网格具有所述重选的简化程度和对应于所述目标计算机系统的映射结构;以及
按照所述图形数据将在所述目标计算机系统上显现的方式,所述图形用户界面在所述图形用户界面上输出所述图形数据的更新的预览。
14.根据权利要求12所述的系统,其中,所述系统还包括用于储存所述图形数据的发布服务器。
15.根据权利要求12所述的系统,其中,所述系统还包括储存装置,所述储存装置被配置成:
储存用户产生的与在所述现有3D模型、所述目标计算机系统和所述简化程度中的一项相关的偏好;
使用先前储存的偏好来配置所述初始网格的网格化;以及
使用先前储存的偏好来选择所述目标计算机系统和所述简化程度。
16.根据权利要求12所述的系统,其中,预处理单元是本地计算单元、远程服务器、计算机集群和联网的计算机中的一项。
17.一种计算机程序产品,所述计算机程序产品被配置成当在处理器上执行时,执行根据权利要求1-11中的任意一项所述的方法。