用于场景编辑器的正交投影平面的制作方法

文档序号:22502835发布日期:2020-10-13 09:37阅读:116来源:国知局
用于场景编辑器的正交投影平面的制作方法

本说明书涉及计算机图形技术领域,尤其涉及场景编辑器及用于场景编辑器的工具。



背景技术:

场景编辑器用于编辑场景等中的模型、特征(character)和其他对象,场景编辑器通常提供包括视口的用户界面,其中,通过该视口可以查看一个对象或一组对象。该视口通常被细分为多个象限,这些象限包含场景的不同视图,例如透视图和几个不同的正交视图(例如正视图、侧视图和俯视图)。

场景的透视图允许场景编辑器的用户获得对正在被编辑的场景的整体了解。正交视图允许用户关于正交视图中显示的二个维度精确地编辑一个对象或一组对象。在执行编辑任务时,用户通常在场景的不同视图之间切换焦点。



技术实现要素:

场景编辑器包括用户界面,该用户界面提供了编辑视口,该编辑视口在直接插入到场景的透视图或其他视图中的平面上显示场景中的对象的正交投影,从而为场景编辑器的用户提供参考直接嵌入透视图或其他视图中的对象的正交视图的便利。这样的平面被称为正交投影平面。正交投影可以关于位置、定向、缩放比例、运动和其他属性,与场景中的对象同步。此外,用户可以通过直接操纵对象、操纵正交投影或通过操纵正交投影平面上的微件来操纵对象。因此,用户可以通过单个视口同时参考场景中对象的透视图和正交视图这两者来编辑场景。

因此,根据本说明书的一方面,一种非暂时性机器可读存储介质包括用于渲染通过编辑视口可查看的场景的指令,该场景包含三维对象。该指令进一步用于将三维对象的正交投影渲染到正交投影平面上,该正交投影可通过编辑视口查看。该指令进一步接收对三维对象的操纵的输入,更新正交投影以反映该输入。该指令可以由计算设备执行并由计算设备作为一种方法被执行。该指令可以作为工具并入到场景编辑器程序中。

该指令还可以在正交投影平面上渲染可操纵对象,其中通过与可操纵对象的交互来接收输入。该可操纵对象可以包括正交投影。该可操纵对象可以包括操纵器微件。

该指令还可以渲染通过编辑视口可查看的正交投影平面。正交投影平面可以是半透明的。此外,指令还可以在正交投影平面上渲染辅助视觉指示器。

该指令还可以用于将三维对象的第二正交投影渲染到第二正交投影平面上,该第二正交投影平面垂直于正交投影平面,并更新该三维对象的第二正交投影以反映输入。

该指令还可以用于将三维对象的第二正交投影渲染到第二正交投影平面上,该第二正交投影平面垂直于正交投影平面,并更新该三维对象的第二正交投影以反映输入。

该指令还可以以第一视觉风格渲染编辑视口中的三维对象,并以第二视觉风格渲染三维对象的正交投影,三维对象的正交投影被渲染到正交投影平面上,第二视觉风格与第一视觉风格不同。

该指令还可以使编辑视口在透视图中显示场景。指令还可以将正交投影平面作为对象插入到场景中。正交投影平面可以与场景的坐标轴对齐。

根据本说明书的另一方面,一种非暂时性机器可读存储介质包括用于通过编辑视口使场景可查看的指令,该场景包含三维对象。该指令还用于生成具有通过编辑视口可查看的内壁的边界框,每个内壁包括界定三维对象的多个正交投影平面中的一个正交投影平面。该指令还用于将三维对象的正交投影渲染到多个正交投影平面中的每个正交投影平面上。该指令还用于接收对三维对象的操纵的输入,并更新每个正交投影以反映该输入。边界框可以界定场景。该指令可以由计算设备执行并且由计算设备作为方法被执行。该指令可以作为工具被并入到场景编辑器程序中。

根据本说明书的又一方面,一种非暂时性机器可读存储介质包括用于渲染通过编辑视口可查看的场景的指令,该场景包含三维对象。该指令还用于将三维对象的正交投影渲染到正交投影平面上,该正交投影可通过编辑视口查看。该指令还用于使正交投影的缩放比例、位置和定向与通过编辑视口可查看的三维对象的缩放比例、位置和定向同步。

附图说明

图1是示例性非暂时性机器可读存储介质的示意图。该存储介质存储指令,使计算设备的处理器执行任务以生成通过编辑视口可查看的场景中的对象的正交投影。

图2是提供编辑视口的示例性计算设备的示意图,其中,通过该编辑视口可查看场景中的对象的正交投影。

图3是生成通过编辑视口可查看的场景中的对象的正交投影的示例性方法的流程图。

图4是提供编辑视口的另一示例性计算设备的示意图,其中,通过该编辑视口可查看场景中的对象的正交投影。

图5是显示另一示例性场景的图4的编辑视口的示意图,其中,该示例性场景示出了对象,该对象处于运动中。

图6是显示另一示例性场景的图4的编辑视口的示意图,其中,该示例性场景示出了对象以及具有视觉指示器和用于与对象交互的操纵器微件的正交投影平面。

图7是显示另一示例性场景的图4的编辑视口的示意图,其中,该示例性场景示出了具有不同视觉风格的对象和正交投影。

图8是显示另一示例性场景的图4的编辑视口的示意图,其中,该示例性场景示出了对象以及显示在两个正交投影平面上的该对象的两个正交投影。

图9是显示另一示例性场景的图4的编辑视口的示意图,其中,该示例性场景示出了场景中对象的正交投影,该正交投影显示在围绕于场景的边界框的内壁上。

图10是示例性方法的流程图,其中,以在边界框内壁上生成通过编辑视口可查看的场景中的对象的正交投影。

具体实施方式

场景编辑器通常包括用户界面,该用户界面提供场景的几种不同视图。场景编辑器的用户通常在不同视图之间切换焦点以完成给定的编辑任务。例如,用户可以参照透视图以近似的方式(approximatefashion)布置场景中的对象,参照一个正交视图精确地布置对象,并且参照另一正交视图按比例缩放对象。尽管透视图通常允许用户获得对场景的整体了解,但用户通常会参考正交视图进行更精确的编辑。

在不同视图之间切换焦点以执行给定的编辑任务可能加重用户在认知方面的负担。不同视图通常很少提供彼此之间的连通性,因此可能对彼此之间的切换造成混淆或麻烦。例如,在正交视图中进行编辑时,要保持对透视图所提供的场景的整体了解可能会很困难。

进一步地,具有在用户界面中同时显示场景的几个单独视图的需求,这种需求可能会限制专用于任何一个视图的用户界面空间量,并且可能会限制可以另外用于其他用户界面元件的空间量。用户可能会被迫进行权衡,一方面,缩小场景的一个或多个视图的尺寸以便为其他所需的用户界面元件腾出空间,另一方面,从用户界面排除其他所需的用户界面元件以便为几个单独视图腾出空间。

此外,与显示场景的较少视图的用户界面相比,同时显示场景的几个不同视图的用户界面可能消耗更多的处理能力(processingpower)和存储空间。

场景编辑器可以配备有用户界面,该用户界面包括编辑视口,该编辑视口在直接插入到场景透视图中的平面上显示场景中的对象的正交投影,从而为用户提供参考直接嵌入透视图或其他视图中的对象的正交视图的便利。这样的平面被称为正交投影平面。正交投影可以关于位置、定向、缩放比例、运动和其他属性,与场景中的对象同步。用户从而可以直接通过透视图查看对象的正交投影,以同时获得对由透视图提供的场景的整体了解和由正交视图提供的精度这两者。

进一步地,用户可以通过操纵正交投影或者通过操纵插入到场景中的正交投影平面上的微件来操纵正交投影,其中操纵被反映在场景中的实际对象中。可选地,用户可以直接操纵实际对象,其中该操纵反映在正交投影中。因此,用户可以通过单个视口参考透视图和正交视图这两者来操纵场景中的对象。

进一步地,可以提供对象的几种不同的正交投影。例如,可以将一个、两个、三个或更多正交投影平面插入到场景中,每个正交投影平面具有从不同方向投影在其上的对象的不同正交投影。例如,两个正交投影平面可以提供对象的正面和侧面正交投影。此外,几个正交投影平面可以在对象或场景周围形成边界框,具有设置在边界框的每个内侧壁上的正交投影,从而当从任何方向查看时都会提供对象的一个或多个正交投影参考。

这样的场景编辑器减轻用户在认知方面的负担,并且更加直观和易于使用。此外,这样的场景编辑器可以为更大的视口或额外的用户界面元件提供更多空间。此外,这种场景编辑器可能需要较少的处理能力和存储空间,从而释放处理能力和存储空间以用于其他任务。

图1是示例性非暂时性机器可读存储介质100的示意图,该示例性非暂时性机器可读存储介质100存储指令,使计算设备的处理器执行任务以生成通过编辑视口可查看的场景中的对象的正交投影。

计算设备可以包括笔记本计算机、台式计算机、智能电话、服务器、或可访问存储介质100的多个计算设备中的任一个计算设备或多个计算设备的组合。存储在存储介质100内的指令通过这样的计算设备可以作为一种方法被执行。

存储介质100包括场景渲染指令102,以渲染通过编辑视口可查看的场景。场景包含要生成用于其的正交投影的三维对象。场景可以包括单个对象,例如在场景编辑器是模型编辑器的一部分的示例中,在模型编辑器中编辑单个模型。场景可以包括要生成用于其的正交投影的多个对象,例如在场景编辑器是游戏编辑器的一部分的示例中,在游戏编辑器中放置并编辑多个对象。

编辑视口可以显示出其显示场景的三个空间维度的透视图、等轴测图或类似视图。因此,场景渲染指令102可以使处理器致使编辑视口在透视图中显示场景。

存储介质100还包括正交投影渲染指令104,以渲染三维对象的正交投影。正交投影可通过编辑视口查看。可以在正交投影平面上渲染三维对象的正交投影。

在某些示例中,正交投影平面本身可以通过编辑视口查看。换句话说,正交投影平面可以是不透明的或半透明的。因此,正交投影渲染指令104可以使处理器渲染通过编辑视口可查看的正交投影平面。在某些示例中,正交投影渲染指令104可以使处理器将正交投影平面渲染为不透明的或半透明的。在其他示例中,正交投影平面不能通过编辑视口查看。换句话说,正交投影平面可以是透明的。

此外,在一些示例中,正交投影平面可以是插入场景中的实际对象。因此,正交投影渲染指令104可以使处理器将正交投影平面作为对象插入到场景中。在其他示例中,正交投影平面或许不是插入到场景中的实际对象,而是在编辑视口中生成的图像重叠(overlay)。

存储介质100还包括对象操纵输入接受指令106,以接收对三维对象的操纵的输入。此外,存储介质100包括正交投影更新指令108,用于更新正交投影以反映输入。对三维对象的操纵可以作为与对象的正交投影的交互被接收,或者通过对插入到场景中的正交投影平面上的微件的操纵被接收,在这种情况下该操作反映在场景中对象的视图上。对三维对象的操纵可以作为与场景中对象的视图的交互被接收,在这种情况下,操纵被反映在对象的正交投影中。因此,对象操纵输入接受指令106可以使处理器渲染正交投影平面上的可操纵对象,通过与可操纵对象的交互来接收输入,其中可操纵对象可以是正交投影或操纵微件。因此,正交投影与场景中的对象视图同步,并且场景中的对象视图与正交投影同步。

图2是示例性计算设备200的示意图。计算设备200包括处理器210和非暂时性机器可读存储介质220。计算设备200提供场景编辑器,以利用包括编辑视口230的用户界面来编辑场景。编辑视口230显示包含三维对象232的场景。编辑视口230进一步显示直接位于场景内的三维对象232的正交投影236。编辑视口230也可以显示正交投影平面234,其中,三维对象232投影在该正交投影平面上作为正交投影236。

存储介质220存储可由处理器210执行的场景编辑器程序222,以通过编辑视口230渲染场景并可使用户能够编辑场景。场景编辑器程序222包括机器可读指令,该机器可读指令类似于在图1的存储介质100上存储的指令,并且因此场景编辑器程序可以包括场景渲染指令、正交投影渲染指令、对象操纵接受指令和正交投影更新指令。例如,如上面参考图1所讨论的,场景编辑器程序222包括用于渲染三维对象232的正交投影236的指令。对于上述元件进一步描述,可以参考图1的存储介质100的描述。

计算设备200可以包括笔记本计算机、台式计算机、智能电话或具有输入、处理和显示能力的多个计算设备中的任一个计算设备或多个计算设备的组合。在一些示例中,计算设备200可以包括:显示设备,以显示编辑视口230;以及输入设备,诸如键盘、鼠标和/或触摸屏,以接收通过编辑视口230操纵对象的输入,例如在一个示例中,计算设备200被配置为运行局部地存储在计算设备200处的场景编辑器应用程序。在其他示例中,计算设备200可以是托管(hosting)场景编辑器程序的服务器,该服务器从具有输入设备和显示设备的远程计算设备接收输入,并在远程计算设备显示编辑视口230,例如在一个示例中,计算设备200是托管场景编辑器程序的web服务器,该web服务器可通过由远程计算设备执行的浏览器访问。此外,尽管示出了单个处理器210,但是应当理解,术语“处理器”是指处理器、中央处理单元(cpu)、图形处理单元(gpu)、微处理器、微控制器、现场可编程门阵列(fpga)等中的任意数量及其任意组合。此外,尽管示出了单个存储介质220,但是应当理解,术语“存储介质”是指易失性和非易失性存储介质的任意数量及其任意组合,例如随机存取存储器(ram)、硬盘驱动器、闪存等。

图3是在生成通过编辑视口可查看的场景中的对象的正交投影的示例性方法300的流程图。可以使用本文所述的任何指令或计算设备来执行方法300,诸如存储在图1的存储介质100、图2的计算设备200或者图4的计算设备400上的指令。可以使用其他指令和/或设备来执行方法300。方法300可以包含于非暂时性机器可读存储介质中。

在方框302中,场景渲染为可通过编辑视口查看,该场景包含三维对象。在方框304中,渲染三维对象的正交投影。正交投影可通过编辑视口查看。正交投影可以被渲染到正交投影平面上。在方框306中,接收对三维对象的操纵的输入。在方框308中,更新正交投影以反映输入。因此,换言之,正交投影与三维对象同步。正交投影可以在缩放比例、位置和定向上与三维对象同步。

方法300的方框类似于图1的存储介质100上存储的指令,包括场景渲染指令102、正交投影渲染指令104、对象操纵输入接受指令106和正交投影更新指令。因此,对于方法300的方框的进一步描述,可以参考图1的存储介质100上的指令。例如,如上述参考图1所讨论的,对三维对象的操纵可以作为与场景中的三维对象、对象的正交投影或操纵微件的交互被接收。

图4是另一示例性计算设备400的示意图。计算设备400类似于图2的计算设备200,具有以“400”系列而不是“200”系列编号的相似元件,因此,包括处理器410、非暂时性机器可读存储介质420,该非暂时性机器可读存储介质420包含场景编辑器程序422,用于通过包含编辑视口430的用户界面提供可编辑场景431。对于上述元件的进一步描述,可参考图2的计算设备200的描述。

编辑视口430显示包含三维对象432的场景431。编辑视口430还直接在场景431中显示三维对象432的正交投影436。编辑视口430还显示正交投影平面434,其中,三维对象432在该正交投影平面434上被投影为正交投影436。虽然在一些示例中,正交投影平面434可以是无限平面,但是正交投影平面434通常是由二维形状(例如,在所示的示例,正方形)横向地界定的平面的有限部分(finiteplane)。正交投影平面434的横向边界可以是任何其他形状,可以是矩形、三角形或其他多边形;圆形、椭圆形、或其他曲线形状;或这些形状或类似形状的组合。

三维对象432可以被投影到正交投影平面434的与三维对象432的横截面轮廓的正交投影相对应的区域上,其中,与正交投影平面正交的三维对象432的横截面轮廓的正交投影位于正交投影平面434上。正交投影436可以与场景431中的三维对象432的缩放比例相匹配。例如,如果与正交投影平面434正交的三维对象432的横截面轮廓在场景431中具有10平方单位的面积,则正交投影436在正交投影平面434上可以具有十平方单位的面积。

场景431中的任何对象都可以被投影到正交投影平面434上,其中,该场景中的任何对象位于正交投影平面434的用户可见的一侧并在正交投影平面434的横向边界内。换言之,正交投影平面434与正交投影空间435相关联,其中,该正交投影空间435在一端由正交投影平面434限定,并且在另一端远离正交投影平面434垂直延伸任意距离,并且通过与正交投影平面434的边界相同的二维形状横向界定。在本示例中,正交投影平面434的形状为矩形,因此,正交投影空间435是远离正交投影平面434延伸的矩形棱镜。正交投影空间435内的任何对象都可以正交投影到正交投影平面434上。可以选择正交投影空间435延伸的任意距离,使得更多或更少的对象被投影到正交投影平面434上。在本示例中,三维对象432是立方体,但是应当理解,三维对象432可以是任何形状、任意尺寸或任意其他构造,例如特征模型(charactermodel)、环境模型或另一对象的模型。此外,应当理解,场景431可以包含多个三维对象432。

编辑视口430显示透视图的场景431。然而,在其他示例中,显示场景431的三个空间维度的其他视图(例如等轴测视图,isometricview),可以被显示。编辑视口430直接在三维对象432的透视图或其他视图中显示正交投影436,从而为场景编辑器的用户提供了参考直接嵌入非正交视图内的三维对象432的正交视图的便利。

在一些示例中,正交投影平面434可以与场景431的坐标轴对齐。例如,正投影平面434可垂直于x、z或y坐标轴,因此可以平行于场景431的z-y、x-y或x-z坐标平面。将正交投影平面434与场景431的坐标轴之一对齐可以向用户提供额外的定向信息,其中,该用户对设计与场景431的坐标轴有关的场景431感兴趣。在其他示例中,正交投影平面434可以相对于场景431的坐标轴处于任何定向。将正交投影平面434以任何其他定向(可能与场景431的任何坐标轴无关)对准,可以使用户在不参考任何坐标轴的情况下设计场景431时具有更大的灵活性,同时保持场景431中对象间的缩放比例、位置、和/或定向之间的关系,而不必依赖于场景431的任何坐标轴。

用户可以经由编辑视口430与三维对象432及正交投影436交互。例如,用户可以使用光标438进行交互,以选择对象、拖动按钮、与微件交互等。可以考虑使用其他用户界面元件,例如触摸屏。

用户可以操纵三维对象432的位置、缩放比例、定向或其他属性。在一些示例中,用户可以与三维对象432进行交互:通过与场景431中的三维对象432交互,在这种情况下操纵反映在正交投影436中;或者通过与正交投影436交互,在这种情况下操纵反映在场景431的三维对象432中。用户可以通过场景编辑器中的另一工具与三维对象432交互,例如,用于调整三维对象432的位置、缩放比例和/或定向的侧边菜单,在这种情况下,操纵反映在场景431中的三维对象432和正交投影436这两者中。因此正交投影436在缩放比例、位置和定向上与三维对象432同步。

图5示出了展示场景531的编辑视口430,其中,在该场景531中三维对象432处于运动状态。为了清楚起见,省略了正交投影空间435。正交投影436在正交投影平面434上的位置与场景531中三维对象432的位置同步。因此,随着三维对象432移动,正交投影436以同步关系移动。

图6示出了展示场景631的编辑视口430,其中,在场景631中三维对象432被投影到正交投影平面634上作为正交投影636。为清楚起见,省略了正交投影空间。正交投影平面634包括辅助用户操纵三维对象432的工具。

正交投影平面634包括呈现在正交投影平面634上的辅助视觉指示符602a、602b。在本示例中,第一辅助视觉指示符602a包括标尺,以提供与投影到正交投影平面634上的对象的缩放尺寸相关的信息。因此,用户可以参考标尺以正交投影平面634的尺寸按比例缩放三维对象432。第二辅助视觉指示器602b包括一条或多条网格线,以提供与投影在正交投影平面634上的对象有关的位置和定向信息。由此,用户可以参考一条或多条网格线将三维对象432布置在场景631中。尽管示出的网格线602仅覆盖正交投影平面634的一部分,但应当理解的是,在一些示例中,网格线602可以覆盖整个正交投影平面634。

正交投影平面634还包括操纵器微件604a、604b,以变换、平移、旋转、按比例缩放或以其他方式操纵三维对象432。可以与第一操纵器微件604a交互以调整三维对象432的定向。可以与第二操纵器微件604b交互以调整三维对象432的缩放比例。可以与第三操纵器微件604c交互以使三维对象432沿着坐标轴滑动。此外,可以与正交投影636本身进行交互,例如通过拖放以确定正交投影636在正交投影平面634上的位置。

正交投影平面634可以被渲染为不透明、透明或半透明的。此外,辅助视觉指示器602a、602b和操纵器微件604a、604b中的任何一个可以被渲染为不透明的、透明的或半透明的。将正交投影平面634渲染为透明或半透明可以允许用户查看场景中的其他对象,其中这些其他对象不在正交投影平面634的正交投影空间内。可选地,将正交投影平面634不透明的可以允许用户把注意力集中于在正交投影平面634的正交投影空间内正被操纵的对象上。

图7示出了展示场景731的编辑视口430,其中在场景731中,三维对象432被投影到正交投影平面734上。为清楚起见,省略了正交投影空间。正交投影平面734显示三维对象432的正交投影736,该正交投影736具有与三维对象432不同的视觉风格(visualstyle)。因此,可以以第一视觉风格渲染三维对象432,并且可以以第二视觉风格渲染正交投影736,第二视觉风格不同于第一视觉风格。

例如,三维对象432可以被渲染为实体,而正交投影736可以被渲染为三维对象的线框。作为另一示例,三维对象432可以被渲染为全色,而正交投影736可以被渲染为灰度。正交投影736与三维对象432具有不同的视觉风格可以向用户提供直观的视觉提示,即正交投影736是参考或编辑工具。此外,正交投影736的不同视觉风格可以强调与编辑目的相关的三维对象432的特定物理特性。例如,与使用对象的全色正交投影时相比,使用对象的线框正交投影时可能更容易精确地对齐对象。

图8示出了展示场景831的编辑视口430,其中在场景831中,三维对象432被投影到第一正交投影平面834a上作为第一正交投影836a,并且被投影到第二正交投影平面834b上作为第二正交投影836b。第一正交投影836a和第二正交投影836b均与三维对象432同步。因此,当操纵三维对象432时,同时更新第一正交投影836a和第二正交投影836b。

每个正交投影平面834a、834b都具有自身的正交投影空间,为清楚起见,将其省略。正交投影空间可以完全重叠、部分重叠或不重叠。在本示例中,正交投影空间至少部分重叠,以使三维对象432投影到第一正交投影平面834a和第二正投影平面834b这两者上。

第一正交投影平面834a可以垂直于第二正交投影平面834b。可选地,第一正交投影平面834a可以不垂直于第二正交投影平面834b。此外,正交投影平面834a、834b可以与场景831的坐标轴对齐。例如,第一正交投影平面834a可以垂直于x坐标轴并且第二正交投影平面834b可以垂直于y坐标轴。可选地,正交投影平面834a、834b中的一个或多个可以不与场景831的任何坐标轴对齐。

图9示出了展示场景931的编辑视口430,其中,该场景931包含多个三维对象932和正交投影平面934(即正交投影平面934a、934b、934c)的边界框933,该三维对象932的正交投影936被投影在正交投影平面934上。

场景931至少包括第一正交投影平面934a、第二正交投影平面934b和第三正交投影平面934c,这三个正交投影平面彼此垂直并且相交以形成边界框933的角部。编辑视口430可以仅显示边界框933的内壁,因此边界框933可以包括附加的正交投影平面934以形成从所示的透视图不可查看的完整框。因此,第一正交投影平面934a、第二正交投影平面934b和第三正交投影平面934c是边界框933的三个内壁。

在一些示例中,边界框933可以界定场景931。在其他示例中,场景931的多部分可以位于边界框933的外部。在这样的示例中,场景931中的多部分在正交投影平面934不透明的示图中可以被遮挡,或者场景931中的多部分在正投影平面934透明或半透明的情况下是可见的。

当从任何方向观看时,在每个内壁上提供不同的正交投影936为用户提供了场景931中的三维对象932的多个正交参考。在场景中的一个三维对象932在一个或多个视图中遮盖另一个三维对象932的情况下,三维对象932的多个正交参考可能尤其有用。例如,三维对象932-2相对于第二正交投影平面934b遮挡了三维对象932-1的视图,因此在第二正交投影平面934b上可见的唯一正交投影是正交投影936b-2。然而,三维对象932-2和932-1这两者作为分别在第一正交投影平面934a上的正交投影936a-2和936a-1都是可见的。因此,用户可以容易地识别场景931中的视觉障碍,并且可以操纵未被这些视觉障碍阻挡的场景931。例如,由于三维对象932-1的正交投影可能不存在于第二正交投影平面934b上,或可能存在但与正交投影936b-2重叠,所以用户可以通过与正交投影936a-1交互来操纵三维对象932-1。

图10是示例性方法1000的流程图,其中,该示例性方法1000是在边界框的内壁上生成可通过编辑视口查看的场景中的对象的正交投影。方法1000可以包含在非暂时性机器可读存储介质中。可以使用本文所述的任何计算设备(诸如图2的计算设备200或图4的计算设备400)来执行方法1000。可以使用其他指令和/或设备来执行方法300。

在方框1002,将场景渲染为通过编辑视口是可查看的。场景包含三维对象。在方框1004,生成边界框。边界框具有通过编辑视口可查看的内壁。每个内壁都是一个正交投影平面。边界框包括多个这样的正交投影平面以界定三维对象。在方框1006,渲染三维对象的正交投影。正交投影通过编辑视口是可查看的。正交投影可以被渲染到正交投影平面上。在方框1008,接收对三维对象的操纵的输入。在方框1010,对正交投影进行更新以反映输入。因此,换言之,正交投影与三维对象同步。正交投影可以在缩放比例、位置和定向上与三维对象同步。

方法1000的方框类似于图1的存储介质100上存储的指令,其中,存储的指令包括场景渲染指令102、正交投影渲染指令104、对象操纵输入接受指令106和正交投影更新指令。因此,对于方法1000的方框的进一步描述,可以参考图1的存储介质100上的指令。例如,如上面参考图1所讨论的,对三维对象的操纵可以作为与场景中三维对象、对象的正交投影或操纵微件的交互被接收。

因此,可以提供包括具有编辑视口的用户界面的场景编辑器,该编辑视口在直接插入到场景的透视图或其他视图中的正交投影平面上显示场景中对象的正交投影,从而提供参考直接嵌入透视图或其他视图中的对象的正交视图的便利。用户可以在由正交投影平面提供的正交投影空间中操纵正交投影,以精确地操纵三维对象。可以在多个正交投影平面(诸如边界框的内壁)上提供正交投影,以受益于不同的角度的场景中三维对象的正交参考。这样的场景编辑器使用起来可能更直观,用户界面中的空间使用效率更高,并且处理能力和存储空间更有效。

应当承认,以上提供的各种示例的特征和方面可以组合成的其他示例也落入本公开范围内。权利要求的范围不应由以上示例限制,而应给出与整个说明书描述一致的最宽泛的解释。

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