CN112106116A - 三维环境中的内容项的自动放置和布置 - Google Patents

三维环境中的内容项的自动放置和布置 Download PDF

Info

Publication number
CN112106116A
CN112106116A CN201980029921.1A CN201980029921A CN112106116A CN 112106116 A CN112106116 A CN 112106116A CN 201980029921 A CN201980029921 A CN 201980029921A CN 112106116 A CN112106116 A CN 112106116A
Authority
CN
China
Prior art keywords
environment
angle
less
radial distance
viewer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980029921.1A
Other languages
English (en)
Inventor
C·B·马歇尔
A·斯卡尔福内
H·A·马丁内斯莫利纳
V·斯里尼瓦桑
A·J·豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN112106116A publication Critical patent/CN112106116A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

在本文中公开了用于在基于计算机的3D环境中自动放置和布置对象的计算设备。在一个实施例中,计算设备被配置为在显示器上提供用户界面,所述用户界面包含具有3D环境的模板的工作区和包含二维(2D)或3D内容项的模型的图库。然后,所述计算设备能够经由所述用户界面来检测用户输入,所述用户输入从所述图库中选择要作为对象被插入到3D环境的模板中的模型之一。响应于检测到所述用户输入,所述计算设备能够在显示器上在沿着圆弧与3D环境的查看者的默认查看者位置间隔预设径向距离的位置处绘制和显示与所选择的模型的2D或3D内容项相对应的图形表示。

Description

三维环境中的内容项的自动放置和布置
背景技术
在计算中,三维(3D)环境通常指代基于计算机的模拟3D平台,在该平台中能够将图像、视频、声音或其他数字内容的3D表示呈现给查看者。3D环境能够比二维(2D)环境提供更沉浸式的查看体验。然而,由于3D环境中的对象的准确表示和交互控制的复杂性,在3D环境中创作内容仍然具有挑战性。由于这样的复杂性,如今只有一小部分创作者具备在3D环境中创建合适内容的必要技术能力。
发明内容
提供本发明内容以简化形式介绍一些概念,这些概念将在下文的详细描述中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于限制所要求保护的主题的范围。
由于缺少在2D环境进行创作中的全套创作活动,在3D环境中创作内容会具有挑战性。例如,在2D创作中缺少诸如3D内容放置和布置、与所放置的内容项的3D交互以及3D内容项的运动规范的创作活动。在2D创作中,当将对象插入到2D中环境时,所插入的对象能够从任何现有对象水平地、垂直地或者这两者地扩展。然而,这样的一维或二维扩展会导致3D环境中的遮挡,因为现有对象沿深度维度会部分地或完全地位于所插入的对象的前面或后面。遮挡会导致创作的内容对查看者模糊或困惑。即使没有遮挡,由于距查看者的距离差,在3D环境中的插入的对象的一维或二维扩展会使对象看起来比现有对象更小或更大。这样,在3D环境中可能缺少对象的外观均匀性。
为了解决上述放置挑战,3D内容的创作者通常需要经由反复试验对大量位置进行试验,以确定针对在3D环境中的插入的对象的最佳放置。这样的试验会是劳动密集型的、不一致的,并且甚至可能不在3D环境中产生对象的最佳放置和/或布置。当在3D环境中查看内容时,这样的不精确的放置和/或布置会分散用户的体验,或者甚至在查看者中引起头痛、头晕或其他负面的生理反应。
所公开的技术的若干实施例能够在考虑到以下各项的组合的情况下通过将所支持的2D或3D内容项作为对象自动地放置和布置在3D环境中来解决上述挑战的至少一些方面:(i)查看者的深度接收;(ii)查看者的视场;(iii)在3D环境中一个对象相对于相邻对象的相对位置;以及(iv)AR/VR/MR头戴式设备的视场。然后,能够基于自动地放置的对象来生成环境数据文件,以创建包含3D内容的文件,所述文件能够被分发到其他计算设备以用于再现3D环境。
在示例性实现方式中,创作应用能够被配置为提供3D环境的模板,其具有例如背景(例如,蓝天)、场景(例如,山)、声音(例如,刮风声)、以及一个或多个背景对象(例如,山上的树木)。3D环境的模板还能够包括一个或多个锚点,在所述锚点处,内容项(例如,汽车、公共汽车、飞机等的2D或3D表示)能够被定位在3D环境内。所述创作应用能够被配置为提供可用2D或3D内容项作为图库、列表或其他适当界面格式的目录。
在接收到从目录中选择内容项以用于插入到3D环境中的用户输入时,所述创作应用能够被配置为根据需要基于预设的容器大小来调整所选择的内容项的大小(例如,高度、宽度等),并且基于预设距离来确定在查看者的视场中内容项距查看者的位置。例如,预设的容器大小能够是体积为1、1.5或2立方米的立方体。沿着查看者的视线距查看者的位置的预设距离可以是2.5、3.0、3.5米。然后,所述创作应用能够将经调整大小的内容项作为对象放置在3D环境中在查看者的视场中距查看者的预设距离处。
所述创作应用还能够被配置为确定在3D环境中所插入的对象相对于其他对象的相对位置。根据所公开的技术的实施例,已经认识到,将对象放置在笛卡尔坐标系中可能不向查看者提供合适的视图。例如,如果对象沿着纵向或横向沿着一维或二维布置,则即使对象都具有相同的大小,但是一些对象也会显得大于其他对象。为了解决上述挑战,所公开的技术的若干实施例利用圆柱坐标系以将对象沿着查看者的位置周围的圆弧来放置。这样,每个对象能够在距查看者的位置的大致相等的距离处放置,并且在圆柱坐标系中具有对应的不同角度值。由于3D环境中的所有对象看起来通常都会具有相同的大小,因此这样的放置布置能够为查看者提供合适的查看体验。
所述创作应用还能够被配置为响应于对象在3D环境中的位置、位置变化或尺寸来修改所插入的对象在3D环境中相对于其他相邻对象的相对位置。例如,在查看所有对象时,查看者能够选择所述对象中的一个对象以用于放大的视图。响应于所选择的对象的放大的大小,所述创作应用能够被配置为通过确定放大的对象的占据的角度来重新计算相邻对象的相对位置,并且沿圆弧来移动相邻对象,同时保持相对于放大的对象的原始角度间隔。例如,所述创作应用能够确定放大的对象的占据的角度已经从(-5°-5°)改变为(-10°-10°)。这样,所述创作应用能够在每侧将相邻对象从放大的对象移动远离-5°。通过以这样的方式移动相邻对象,能够减小或者甚至消除将相邻对象与放大的对象重叠的风险。
这样,所公开的技术的若干实施例能够提供用户友好的创作环境,其允许用户将所支持的2D或3D内容项智能地放置到3D环境的模板中。通过根据圆柱坐标系在3D环境中自动地定位和/或重定位所述对象,所公开的技术的若干实施例能够消除重复的尝试错误试验,以确定所插入的对象的最佳放置和/或布置,并且由此提高了创建3D内容的生产率和用户友好性。
附图说明
图1是图示了根据所公开的技术的实施例的在3D环境中实现对内容项的自动放置和布置的计算架构的示意图。
图2A-2D是图示了根据所公开的技术的实施例的图1的计算架构的特定硬件/软件组件的局部示意图。
图3A和图3B是图示了根据所公开的技术的实施例的在操作的特定阶段期间在3D环境中的特定位置调整的示意图。
图4-5B是图示了根据所公开的技术的实施例的在3D环境中的对象的自动放置和布置的特定过程的流程图。
图6是适合于图1中的计算架构的特定组件的计算设备。
具体实施方式
下文描述了在3D环境中的内容项的自动放置和布置的系统、设备、组件、模块、例程、数据结构和过程的特定实施例。在以下描述中,包括组件的具体细节以提供对所公开的技术的特定实施例的透彻理解。相关领域的技术人员还将理解,所述技术可以具有额外的实施例。也能够在没有下文参考图1-6所描述的实施例的若干细节的情况下实践所述技术。
如本文中所使用的,“三维环境”或“3D环境”通常指代基于计算机的模拟3D平台,在该平台中能够将图像、视频、声音或其他数字内容项的2D或3D表示呈现给查看者。3D环境能够是虚拟空间,诸如虚拟现实(VR)世界,或者能够是现实世界空间,在其中能够诸如经由增强现实(AR)、混合现实(MR)或其他VR技术将内容显示或分层到现实世界的顶部上。
在本文中还使用的术语“模型”通常指代表示能够在3D环境中绘制的二维(2D)或3D内容项的数据。示例性模型能够包括表示虚拟房间、虚拟场景或者虚拟世界的任何其他子部分的数据。示例性内容项能够包括图像、视频、声音、文档或其他适当类型的内容。在本文中还使用的术语“对象”或“虚拟对象”通常指代在3D环境中绘制的2D或3D内容项的视觉表示。示例性对象能够包括3D图像、视频记录等。
本公开的各方面涉及使用创作应用的3D环境创作和生成。3D环境能够包含一个或多个模型,这些模型个体地包括虚拟房间、虚拟场景或虚拟世界的任何其他子部分。所述创作应用的用户能够以图形方式选择内容项的模型的所支持的二维(2D)或3D表示,并且将所选择的表示插入到3D环境中。作为响应,所述创作应用能够自动地确定所插入的内容项的放置和/或布置,从而获得3D环境中的对应对象的合适视图。然后,能够将3D环境存储为环境数据文件,所述文件包含与3D环境中的一个或多个模型和/或内容项有关的信息。
在特定实施例中,不同类型的内容项能够被嵌入或包括在3D环境中。示例性内容类型能够包括3D对象(例如,3D模型、图形、形状等)或2D对象(例如,文件、图像、演示、文档、网站、视频、远程资源等),等等。在其他实施例中,3D环境能够是虚拟空间,诸如虚拟现实(VR)世界,或者能够是现实世界空间,在其中能够诸如经由增强现实(AR)、混合现实(MR)或其他VR技术将内容显示或分层到现实世界的顶部上。然后,能够将具有所插入的模型的3D环境存储为环境数据文件,所述文件之后被用于再现具有所插入的模型的3D绘制的3D环境。
然后,能够使用在诸如台式计算机或智能手机的查看设备上的查看应用来消费根据中本文中所公开的各方面的3D环境创作。在一个示例中,能够跨从低端设备(例如GOOGLECARDBOARD)到高端设备(例如MICROSOFT HOLOLENS、OCULOUS RIFT、HTC VIVE等)的各种计算设备来体验3D环境。通过使用台式或移动计算设备来生成3D环境,能够避免额外的相关开销(例如,所有所需纹理、光图、音频文件等的传输)。此外,能够通过查看应用来处理特定于设备或特定于平台的细节,由此使这样的细节对于3D环境的最终用户和创作者都是不可见的。
所述查看应用能够包括与由环境数据文件所使用的模型相关联的计算资源。在一些示例中,所述环境数据文件能够包括用于在绘制3D环境时使用的计算资源,或者能够从服务器或其他远程位置取回的资源。当绘制3D环境时,所述查看应用能够在将由环境数据文件所指定的相邻或连接的模型一起缝合到3D环境中时识别一个或多个锚点。作为示例,模型能够包括入口锚点和出口锚点。所述入口锚点能够指示进入模型的门口或其他入口,并且所述出口锚点能够指示离开模型的门口或其他出口。因此,当将多个模型(例如,相邻或连接的模型)缝合在一起时,能够使用第一模型的出口锚点来定位第二模型(并且通过扩展,第二模型)的入口锚点,由此创建模型的连续组合。
由于缺少在2D环境进行创作中的全套创作活动,在3D环境中创作内容会具有挑战性。例如,在3D环境中的对象的放置和布置会与在2D环境中完全不同。在2D创作中,当将对象插入到2D环境中时,所插入的对象能够从任何现有对象水平地、垂直地或者这两者地扩展。然而,这样的一维或二维扩展会导致3D环境中的遮挡,因为现有对象沿深度维度会部分地或完全地位于所插入的对象的前面。即使没有遮挡,由于沿着深度维度距查看者的距离,在3D环境中的插入的对象的一维或二维扩展也会使对象看起来比现有对象更小或更大。这样,在3D环境中会缺少对象的外观均匀性。
所公开的技术的若干实施例能够在考虑到以下各项的组合的情况下将2D或3D内容项作为对象自动地放置和布置在3D环境中来解决上述挑战的至少一些方面:(i)查看者的深度接收;(ii)查看者的视场;(iii)在3D环境中一个对象相对于相邻对象的相对位置;以及(iv)AR/VR/MR头戴式设备的视场。然后,能够基于自动地放置的内容项来生成环境数据文件,以创建包含3D内容的文件,所述文件能够被分发到其他计算设备,如下文参考图1-6更详细描述的。
图1是图示了根据所公开的技术的实施例的在3D环境中自动放置和布置内容项的计算架构100的示意图。如在图1中所示的,计算架构100能够包括与创作者101相对应的创作设备102以及与查看者103(被示为第一查看者103a和第二查看者103b)相对应的一个或多个查看设备104。创作设备102和查看设备104能够个体地包括移动计算设备、膝上型计算机、平板计算机、台式计算机或其他合适类型的计算设备。尽管出于说明目的在图1中仅示出了一个创作设备101和两个查看设备103,但是在其他实施例中,计算架构100能够以对应的创作和查看设备(未示出)促进针对额外创作者101和/或查看者103的内容创作。下文参考图6更详细地描述创作设备102和查看设备104的示例性配置。
如在图1中所示的,创作设备102能够包括创作应用108、包含模型107的数据记录的模型存储库112、以及包含3D环境数据文件109的数据记录的输出存储库114。创作应用108能够被配置为向创作者101提供表示3D环境的用户界面130(如在图2A中所示的),其具有3D工作区以促进在3D环境中创作内容。在特定实施例中,创作应用108能够是由创作者101经由网络浏览器能访问的基于网络的应用。在其他示例中,创作应用108能够是可执行应用,其能够由创作设备102的处理器取回和执行。
在一个实施例中,创作应用108能够被配置为以图库、列表或其他合适的形式来显示可用内容项的一个或多个模型107的2D或3D表示。然后,创作者101能够选择内容项并且将内容项插入到所提供的3D环境中作为与内容项相对应的对象。在其他实施例中,创作应用108能够提供多种主题。不同的模型107能够与一个或多个主题相关联,或者能够基于所选择的主题(例如,颜色、纹理、照明等)来改变或适配。如下文参考图2A-2D更详细描述的,创作应用108能够包含额外的模块和例程,所述额外的模块和例程被配置为自动地定位和布置所插入的对象,使得创作者101能够将内容项作为对象放置到3D环境中,而无需进行大量的尝试和错误试验。
模型存储库112能够存储一个或多个模型107,所述一个或多个模型107表示能够被用于创作3D环境的对应内容项。在一个示例中,模型107可以与一个或多个主题相关联。当创作者101选择主题时,创作应用108能够提供与所选择的主题相关联的一个或多个模型107。在一些示例中,能够设计模型107的集合,使得将模型107与来自相同集合的另一模型107缝合在一起能够形成看起来连续的模型107。在其他示例中,能够动态地或者以编程方式生成被存储在模型存储库112中的模型107的各方面。在特定实施例中,创作者101能够使用创作应用108来创建模型107。在其他实施例中,能够从例如2D或3D内容项的第三方供应商或者从其他合适的源中取回模型107。
在特定实施例中,模型107可以指示可以取决于能够利用其缝合原始模型107的另一模型107来替换特定方面。作为示例,第一模型107能够指示墙壁或拱门可以被门替代。这样,第二模型的入口点可以在门处与第一模型缝合。在其他实施例中,可以使用其他合适的替换或模型生成技术来生成各种模型107。
创作应用108还能够被配置为将创作的3D环境作为包含3D环境数据的环境数据文件109输出到例如输出存储库114。在一种实现方式中,环境数据文件109能够包括与所选择的模型107相关联的数据(例如,模型标识符、模型名称、模型类型等)、定位信息(例如,坐标、锚点标识符等)、内容信息(例如,针对一个或多个锚点应当显示哪项内容、待显示的内容、内容的参考等)、自定义资源(例如,自定义纹理、声音等)、以及其他信息。如在图1中所示的,输出存储库114能够被配置为存储一个或多个环境数据文件109。如在本文中所使用的,“环境数据文件”能够包括文件系统上的文件、数据库中的条目、或者能够使用多种其他数据存储技术中的任何一种技术来存储。
如在图1中所示的,查看设备104能够各自包含查看应用110,所述应用110被配置为基于环境数据文件109来生成、查看、探索3D环境和/或与3D环境交互。在一个示例中,查看应用110可以是使用网络浏览器可访问的基于网络的应用。在其他示例中,查看应用110能够是针对查看设备104的可执行应用。在操作中,查看应用110能够被配置为评估环境数据文件109以识别3D环境的一个或多个模型107。如果环境数据文件109引用多个模型107,则当绘制3D环境时可以将模型107缝合在一起。查看应用110能够基于由环境数据文件109指定的内容来利用内容填充绘制的3D环境。在一个示例中,查看应用110能够使用各种3D绘制引擎中的任意引擎,并且能够当绘制3D环境时处理特定于设备和/或特定于引擎的实现细节。
在特定实施例中,查看应用110能够被配置为从输出存储库114取回环境数据文件109,环境数据文件109与来自模型存储库112的一个或多个模型107一起可以用于生成3D环境。在其中查看应用110是本地执行的应用的其他实施例中,模型存储库112可以被本地和/或远程地存储到执行查看应用110的查看设备104,并且环境数据文件109的至少一部分可以从输出存储库114中取回。在另外的实施例中,可以将环境数据文件109从输出存储库114中成块地流送或取回到查看设备104。
图2A-2D是图示了根据所公开的技术的实施例的图1的计算架构100的特定硬件/软件组件的局部示意图。如在图2A中所示的,创作应用108能够包括可操作地彼此耦合的界面组件120、大小调整组件122、位置组件124和输出组件126。即使出于说明目的在图2A中示出了特定组件,但是在其他实施例中,创作应用108也能够包括输入组件或者其他合适类型的组件。
在图2A中以及在本文中的其他图中,个体软件组件、对象、类、模块和例程可以是以C、C++、C#、Java和/或其他适当的编程语言编写为源代码的计算机程序、过程或进程。组件可以包括但不限于:一个或多个模块、对象、类、例程、属性、进程、线程、可执行文件、库或其他组件。组件可以采用源形式或二进制形式。组件可以包括在编译之前的源代码(例如,类、属性、过程、例程)、已编译的二进制单元(例如,库、可执行文件)或者在运行时实例化并且使用的制品(例如,对象、进程、线程)的各方面。
系统内的组件可以在系统内采用不同的形式。作为一个示例,包括第一组件、第二组件和第三组件的系统能够包括但不限于第一组件是源代码中的属性、第二组件是二进制编译库以及第三组件是在运行时创建的线程的系统。可以将计算机程序、过程或进程编译为对象、中间代码或机器代码,并且将其呈现以供个人计算机、网络服务器、膝上型计算机、智能手机和/或其他合适的计算设备的一个或多个处理器来执行。
同样地,组件可以包括硬件电路。本领域普通技术人员将认识到,硬件可以被视为石化软件,并且软件可以被视为液化硬件。仅作为一个示例,组件中的软件指令可以被烧制到可编程逻辑阵列电路,或者可以被设计为具有适当集成电路的硬件电路。同样地,硬件可以由软件来仿真。源代码、中间代码和/或目标代码以及相关联的数据的各种实现方式可以被存储在计算机存储器中,所述计算机存储器包括只读存储器、随机存取存储器、磁盘存储介质、光学存储介质、闪存设备和/或除了传播信号之外的其他合适的计算机可读存储介质。
如在图2A中所示的,创作应用108的界面组件120能够被配置为提供用户界面130,以促进创作者101创建和/或修改3D环境中的内容。在所图示的示例中,用户界面130能够包括菜单栏131,其包含一个或多个菜单组,诸如“文件”、“编辑”和“帮助”。前述菜单组中的每个菜单组可以被扩展用于诸如“新建”、“打开”、“保存”等的额外菜单项。在其他示例中,菜单栏131能够包括其他合适类型的菜单项。
如在图2A中所示的,用户界面130还能够包括3D工作区133和图库132,其包含与模型存储库112中的模型107相对应的多个对象135。能够首先向3D工作区加载3D环境的模板141或者与输出存储库114中的环境数据文件109相对应的先前保存的3D环境。在所图示的示例中,向3D工作区133加载具有山、天空和在山前的开阔地面的3D环境的模板141。对象135包括汽车、公共汽车、自行车和飞机。在其他示例中,模板141能够包括森林、建筑物或者其他合适类型的3D环境,而对象能够包括帐篷、衣服或者任何其他适当类型的对象。
界面组件120还能够被配置为在模板141中提供一个或多个锚点137,其用于放置来自例如图库132的2D或3D对象。在图2A中,锚点137被表示为十字。在其他实施例中,锚点137也能够被表示为箭头、星形或其他合适的表示。在特定实施例中,创作者101能够通过例如将锚点137放置在创作者所选择的位置处来指定锚点137。在其他实施例中,锚点137能够如下文所描述的由界面组件120在由位置组件124的位置处自动地确定,并且作为多个默认锚点137之一被设置在3D工作区中。在另外的实施例中,界面组件120能够允许创作者101将锚点137放置在3D环境中的特定有限区域内的位置处。
如在图2A中所示的,界面组件120也能够被配置为检测创作者101从图库132(例如,利用光标139)选择对象(例如,自行车135c),并且用户例如经由如由虚线箭头所指示的拖放将自行车135c在锚点137处插入到3D工作区中。然后,界面组件120能够将检测到的用户输入传递到大小调整组件122,其用于确定所选对象135是否需要调整大小。
在一个实施例中,大小调整组件122能够被配置为通过将所选对象135适配到预设大小的容器中来确定所选择的对象是否需要调整大小。例如,在特定实现方式中,大小调整组件122能够被配置为将自行车135c适配到具有一立方米体积的立方体中。在其他示例中,大小调整组件122能够被配置为将所选择的对象135适配到具有合适大小的球体、圆柱体或其他合适形状的体积中。
响应于确定自行车135c在至少一个维度上超出了容器,大小调整组件122能够对自行车135c重新调整大小,以便自行车135c恰好适配在容器内部。另一方面,当自行车135c太小时,例如,不具有至少一个维度在容器的对应维度的90%、95%或其他合适的阈值之内,大小调整组件122也能够放大自行车135c以调整大小恰好适配到容器中。因此,这样的重新调整大小能够将所有插入的对象135绘制为大致相同的大小,以用于在3D环境中实现最佳查看。
在完成上述大小调整操作之后,大小调整组件122能够将控制传递给位置组件124,以确定插入的对象135的位置。根据所公开的技术的实施例,已经认识到,将对象135放置在3D环境中的笛卡尔坐标系中可能不向查看者103提供合适的视图。例如,如果对象135沿着纵向或横向沿着一维或二维来布置,则一些对象135可能看起来比其他对象更大,即使所述对象具有相同大小。
为了解决前述挑战,所公开的技术的若干实施例利用圆柱坐标系来沿着查看者103的位置周围的圆弧140来放置对象135。这样,每个对象135能够被放置在距查看者103的大致相等径向距离的位置处,具有相对于默认查看位置(在图2A中被示为查看者103)的对应角度值。由于3D环境中的所有对象看起来大致相同的大小,因此这样的放置布置能够向查看者103提供合适的查看体验。例如,如在图2A中所示的,位置组件124能够被配置为从查看者103的默认位置确定针对查看者103的视线142。在获得视线142的方向时,位置组件124能够被配置为将所选择的自行车135c沿着围绕查看者103的圆弧140在预设距离(例如,3米)处放置。在其他实施例中,也可以使用其他合适的预设距离,诸如2.5米、3.5米等。
如在图2B中所示的,在确定针对所选择的自行车135c的位置时,位置组件124能够被配置为将自行车135c放置在锚点137处或附近的所确定的位置。一旦自行车135c被放置在3D环境中,创作者101就可以选取在另一锚点137'处或附近将另一对象135(例如,汽车135a)插入到3D环境中自行车135c附近。响应于该用户输入,大小调整组件122能够被配置为根据需要来调整汽车135a的大小,如上文参考图2A所描述的。位置组件124然后能够基于查看者103的视线142'来确定沿着圆弧140距查看者103的预设距离(例如,3米)处的位置。
根据所公开的技术的实施例,位置组件124还能够被配置为通过例如沿着所有三个维度在所确定的位置周围搜索汽车135来确定所插入的对象135(例如,汽车135a)是否具有任何相邻对象135。在所图示的示例中,位置组件124将检测到自行车135c在附近。然后,位置组件124能够被配置为确定汽车135a和自行车135c是否将在圆柱坐标系中间隔开至少阈值角度(例如,0°、1°、2°、5°等)。下文参考图3A-3B更详细地描述了用于这样的确定的技术。
响应于确定汽车135a和自行车135c被间隔开了阈值角度,位置组件124能够被配置为将汽车135a放置在所确定的位置处。响应于确定汽车135a和自行车135c未间隔开阈值角度,位置组件124能够被配置为使汽车135a或自行车135c中的一个或者这两者的位置沿着圆弧140移动,使得达到在汽车135a与自行车135c之间的阈值角度。例如,如在图2C中所示的,自行车135c能够围绕查看者103向右移动,使得能够将汽车135a放置在是确定的位置处。
前述的相邻对象布置技术能够在不消除的情况下至少减小对象135的遮挡的风险。例如,在上文所图示的示例中,如果汽车135a和自行车135c彼此被放置得太近,则汽车135a可能看起来与自行车135c部分地重叠。这样的重叠会给查看者103造成混乱或其他负面影响。通过维持相邻对象135之间的阈值角度间隔,汽车135a和自行车135c都能够被恰当地呈现在工作区133中。例如,上述操作可以被重复以将例如公共汽车135b添加到3D环境中,如在图2D中所示的。
如在图2D中所示的,所有插入的对象135(即,公共汽车135b、汽车135a和自行车135c)对查看者103将呈现为大致相同的尺寸和大致相等的距离。不受理论的束缚,可以认识到,在3D环境中的这样的布置能够允许在3D环境中适当地或者甚至最佳地观察插入的对象135。因此,通过以这样的方式自动地布置和放置对象135,创作者101能够通过简单地从图库132插入对象135来创建具有合适内容项的可用3D环境。因此,可以创建具有丰富内容的3D环境,而无需为发现3D环境中对象的合适位置的劳动密集的试验和错误。
当创作者101完成将对象135插入到3D环境中时,输出组件126能够被配置为生成待存储在输出存储库126中的环境数据文件109。环境数据文件210能够包含表示3D环境的模板141的数据以及插入到模板141中的对象的身份、位置、大小、相对位置或其他合适的信息。
图3A和图3B是图示了根据所公开的技术的实施例的在操作的特定阶段期间在3D环境中的特定位置调整的示意图。如在图3A中所示的,能够在圆柱坐标系中沿着圆弧140放置各种插入的对象135,其中每个对象135相对于查看者103具有角度和距离并且位于相同平面上。基于对象135的大小和距查看者103的距离,每个对象的角度(α)能够例如通过下式得出:
Figure BDA0002757598670000121
其中,width是个体对象的查看宽度,并且distance是距查看者103的距离。
在图3A所图示的示例中,视线142能够表示0°。这样,公共汽车135b能够具有(-10°,-15°)的角度;汽车135a能够具有(+5°,-5°)的角度;
自行车135c能够具有(+10°,+15°)的角度。基于前述角度值,能够导出相邻对象135之间的角度间隔(σ)。例如,在上文的示例中,在公共汽车135b与汽车135a之间的角度间隔为5°,而在汽车135a与自行车135c之间存在相同的间隔。如上文参考图2A-2D所描述的,位置组件124(图2A)能够被配置为将角度间隔与阈值进行比较,并且确定是否移动对应的对象135。
如在图3B中所示的,查看者103可以通过例如将汽车135a放大(和/或拉近)到查看者103来选取具有汽车135a的更详细的视图。结果,汽车135a的角度(β)例如从(+5°,-5°)改变为(+8°,-8°)。这样,在汽车135a与自行车135c之间以及在汽车135a与公共汽车135b之间的角度间隔(σ)减小到3°。根据所公开的技术的实施例,响应于角度间隔的减小,位置组件124能够被配置为沿着圆弧140在相应的方向上移动相邻对象135,例如自行车135c和公共汽车135b,使得能够保持角度间隔阈值(例如,5°),如由箭头145所指示的。
图4-5C是图示了根据所公开的技术的实施例的在3D环境中自动放置和布置对象的特定过程的流程图。即使下面参考图1-2D的计算架构100描述了过程,但在其他实施例中,也可以在具有附加和/或不同组件的计算架构中实现该过程。
如图4所示,在3D环境中自动放置和布置对象的过程200包括:在阶段202处,接收对与待作为对象放置在3D环境中的内容项相对应的模型的选择。在一个实施例中,能够通过检测创作者101(图2A)将模型的图形表示拖放到3D环境中来接收选择,如在图2A中所示的。在其他实施例中,能够通过检测插入命令、复制/粘贴命令和/或其他合适的命令来接收选择。
在接收到对模型的选择时,过程200能够包括:在阶段204处,对由模型所描述的虚拟对象调整大小。在特定实施例中,对虚拟对象调整大小最初能够包括:例如,通过使用图2A中所示的容器,确定对象是否需要调整大小。响应于确定需要调整大小,能够例如沿着三个维度成比例地对虚拟对象调整大小,使得与容器相比,对象不会太大或太小。在其他实施例中,对虚拟对象调整大小能够包括基于预设值来修改对象的至少一个维度,而无需确定对象是否需要调整大小。将在下文参考图5A更详细地描述用于调整对象大小的示例性操作。在其他实施例中,能够从过程200中省略对虚拟对象调整大小。
然后,过程200能够包括:在阶段206处,在3D环境中定位所述对象。在特定实施例中,能够基于圆柱坐标系将对象定位在3D环境中。能够根据方位角、径向距离和高度来放置每个对象。例如,查看者103(图2C)能够是坐标系的原点,并且图2C中的汽车135a(图2C)被放置在坐标(0°,3米,0米)处,对应于与查看者103在相同平面上的位置,沿着查看者103的视线142,并且与查看者103间隔3米。在其他实施例中,能够基于笛卡尔坐标系、球形坐标系或者其他合适类型的坐标系将对象放置在3D环境中。
在特定实现方式中,所述对象的位置能够沿着圆弧140(图2A),与查看者103间隔径向距离。如上文参考图2A-2D所描述的,已经认识到,对象的这样的放置能够允许查看者103对对象进行最佳查看,而没有使一些对象看起来比其他对象更小或更大。在其他实现方式中,对象的位置能够沿着球形表面,以查看者103为中心,或者以其他合适的方式。定位所述对象还能够包括监视相邻对象并且基于阈值间隔来调整相邻对象之间的间隔。下文参考图5B描述了用于监视与相邻对象的间隔的示例性操作。
尽管上文在接收对模型的选择的上下文中描述了在3D环境中定位对象的操作,但是在其他实施例中,能够在接收对模型的选择之前执行这样的定位操作。例如,在特定实现方式中,一旦创作者指定了默认的查看者位置,就能够执行前述的定位操作以生成一个或多个锚点137(图2A),例如以预设的径向距离。然后,创作者能够经由例如从图库132(图2A)拖放来将对象插入到预先填充的锚点。
然后,过程200能够包括决策阶段208,以确定是否接收到用于选择模型的额外输入。响应于确定选择了额外模型,过程200返回以在阶段202处接收对模型的选择。否则,过程200能够继续以在阶段210处生成环境数据文件。环境数据文件210能够包含表示3D环境的模板141的数据,以及插入到模板141中的对象的身份、位置、大小、相对位置或其他合适的信息。
图5A图示了用于对所选择的模型调整大小的示例性操作。如在图5A中所示的,所述操作能够包括确定与所选择的模型相对应的对象的对象大小。例如,自行车135c(图2A)的大小可以被表示为高度、宽度和长度。然后,能够将前述参数的值与容器(例如,图2A中所示的立方体)的对应维度进行比较。
如在图5A中所示的,所述操作然后能够包括决策阶段214,以确定是否需要调整大小。在一个实施例中,当高度、宽度或长度中的至少一个值超过容器的对应值时,需要调整大小。在另一实施例中,当高度、宽度或长度中的至少一个值小于容器的对应值的90%、95%或其他合适的百分比时,也需要调整大小。在另外的实施例中,能够基于其他合适的标准来指示调整大小。响应于确定需要调整大小,所述操作能够包括根据例如容器的高度、宽度或长度来对所述对象调整大小。然后,所述操作能够包括在阶段218处提供调整大小的对象以用于位置确定。响应于确定不需要调整大小,所述操作能够直接进行以提供对象以用于位置确定。
图5B图示了用于监视和调整相邻对象位置的示例性操作。如在图5B中所示的,所述操作能够包括:在阶段222处,监视相邻对象的位置。在一种实现方式中,能够将两个相邻对象之间的间隔表示为圆柱坐标系中的方位角增量,如上文参考图3A和图3B所描述的。在其他实施例中,间隔也能够被表示为球坐标系中的天顶角和/或法线角,或者被表示为其他合适的值。
然后,所述操作能够包括决策阶段224,以确定间隔是否小于阈值。在一种实现方式中,所述阈值能够是0°、2°、5°、10°的间隔角度或者其他合适的值,如在图3A和图3B中所示的。在其他实现方式中,所述阈值能够是间隔距离、间隔天顶角、间隔法线角或者其他合适的值。响应于确定间隔小于阈值,所述操作能够包括在阶段226处移动一个或多个相邻对象,使得其之间的间隔不小于阈值。否则,操作恢复到在阶段222处监视相邻位置。
图6是适合于图1中的计算架构100的特定组件的计算设备300。例如,计算设备300能够适合于图1的创作设备102或查看设备104。在非常基本的配置302中,计算设备300能够包括一个或多个处理器304和系统存储器306。存储器总线308能够被用于在处理器304与系统存储器306之间进行通信。
取决于期望的配置,处理器304能够是任何类型,包括但不限于:微处理器(μR)、微控制器(μC)、数字信号处理器(DSP)或者其任何组合。处理器304能够包括诸如一级高速缓存310和二级高速缓存312的一个多级高速缓存、处理器核心314和寄存器316。示例性处理器核心314能够包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核心)或者其任意组合。示例性存储器控制器318还能够与处理器304一起使用,或者在一些实现方式中,存储器控制器318可以是处理器304的内部部分。
取决于期望的配置,系统存储器306能够是任何类型,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)、或者其任意组合。系统存储器306能够包括操作系统320、一个或多个应用322和程序数据324。在图10中通过内部虚线内的那些组件图示了所描述的基本配置302。
计算设备300能够具有额外特征或功能以及额外接口以促进基本配置302与任何其他设备和接口之间的通信。例如,总线/接口控制器330能够被用于促进在基本配置302与一个或多个数据存储设备332之间经由存储接口总线334的通信。数据存储设备332能够是可移动存储设备336、不可移动存储设备338、或者其组合。可移动存储设备和不可移动存储设备的示例包括磁盘设备(诸如软盘驱动和硬盘驱动(HDD)、光盘驱动(诸如光盘(CD)驱动或数字多功能磁盘(DVD)驱动,固态驱动(SSD)和磁带驱动等)。示例性计算机存储介质能够包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。术语“计算机可读存储介质”或“计算机可读存储设备”不包括传播的信号和通信介质。
系统存储器306、可移动存储设备336和不可移动存储设备338是计算机可读存储介质的示例。计算机可读存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或者可用于存储所需信息并且可由计算设备300访问的任何其他介质。任何这样的计算机可读存储介质都能够是计算设备300的一部分。术语“计算机可读存储介质”不包括传播的信号和通信介质。
计算设备300还可以包括接口总线340,其用于促进从各种接口设备(例如,输出设备342、外围接口344和通信设备346)经由总线/接口控制器330到基本配置302的通信。示例性输出设备342包括图形处理单元348和音频处理单元350,其能够被配置为经由一个或多个A/V端口352与各种外部设备(诸如显示器或扬声器)通信。示例性外围接口344包括串行接口控制器354或并行接口控制器356,其能够被配置为与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)的外部设备或其他外围设备(例如,打印机、扫描仪等)经由一个或多个I/O端口358进行通信。示例性通信设备346包括网络控制器360,其能够被布置为促进经由一个或多个通信端口364在网络通信链路上与一个或多个其他计算设备362进行通信。
网络通信链路能够是通信介质的一个示例。通信介质通常能够由计算机可读指令、数据结构、程序模块或经调制的数据信号中的其他数据(例如,载波或其他传输机制)来体现,并且可以包括任何信息传递介质。“经调制的数据信号”可以是具有以编码信号中的信息的方式来设置或改变其一个或多个特性的信号。通过示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质的无线介质。在本文中所使用的术语“计算机可读介质”可以包括存储介质和通信介质两者。
计算设备300可以被实现为小形状因子便携(或移动)电子设备的一部分,例如包括上述任意功能的蜂窝电话、个人数据助理(PDA)、个人媒体播放器设备、无线网络查看设备、个人耳机设备、专用设备或混合设备。计算设备300还能够被实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。
出于说明的目的,以上已经描述了该技术的特定实施例。然而,能够在不背离前述公开内容的情况下进行各种修改。另外,一个实施例的许多元件可以附加于或代替其他实施例的元件而与其他实施例组合。因此,除了所附的权利要求书之外,本技术不受限制。

Claims (10)

1.一种在使用具有显示器和处理器的计算设备创作内容时在基于计算机的三维(3D)环境中自动放置和布置对象的方法,所述方法包括:
利用所述计算设备的所述处理器,
在计算设备的所述显示器上提供具有背景、场景或声音的3D环境的模板;
接收选择模型的用户输入,所述模型表示要作为对象被插入到所述3D环境的所述模板中的二维(2D)或3D内容项;以及
响应于接收到选择所述模型的所述用户输入,
根据距所述3D环境的查看者的默认查看者位置的预设径向距离,并且沿着与所述默认查看者位置间隔开所述预设径向距离的圆弧,来自动地确定要放置所述对象的位置;以及
将所述2D或3D内容项的图形表示作为所述对象绘制或放置在所述3D环境中的所确定的位置处,由此实现所述2D或3D内容项在所述3D环境中的适当呈现。
2.根据权利要求1所述的方法,其中:
所述对象是第一对象;
所述内容项是第一内容项;以及
所述方法还包括:
接收选择另一模型的另一用户输入,所述另一模型表示要作为第二对象被插入到所述3D环境的所述模板中的另一二维(2D)或3D内容项;以及
响应于接收到所述另一用户输入,
根据距所述3D环境的所述查看者的所述默认查看者位置的所述预设径向距离,并且沿着与所述默认查看者位置间隔开所述预设径向距离的相同圆弧,来自动地确定要放置所述第二对象的另一位置;以及
将所述2D或3D内容项的另一图形表示作为所述第二对象绘制或放置在所述3D环境中的所确定的另一位置处。
3.根据权利要求2所述的方法,还包括:
确定在所述3D环境中的所述第一对象与所述第二对象之间的间隔是否小于阈值;以及
响应于确定在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔小于所述阈值,沿着所述圆弧移动所述3D环境中的所述第一对象或所述第二对象中的一个或者这两者,使得所述间隔不小于所述阈值。
4.根据权利要求2所述的方法,其中:
所述第一对象和所述第二对象的所确定的位置是在圆柱坐标系中表达的位置;并且
所述方法还包括:
确定在所述3D环境中的所述第一对象与所述第二对象之间的间隔角度是否小于阈值角度;以及
响应于确定在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度小于所述阈值角度,沿着所述圆弧移动在所述3D环境中的所述第一对象或所述第二对象中的一个或者这两者,使得所述间隔角度不小于所述阈值角度。
5.根据权利要求2所述的方法,其中:
所述第一对象和所述第二对象的所确定的位置是在圆柱坐标系中表达的位置;并且
所述方法还包括:
确定在所述3D环境中的所述第一对象与所述第二对象之间的间隔角度是否小于阈值角度0°;以及
响应于确定在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度小于所述阈值角度,沿着所述圆弧移动在所述3D环境中的所述第一对象或所述第二对象中的一个或者这两者,使得所述间隔不小于所述阈值角度。
6.根据权利要求2所述的方法,其中:
所述第一对象和所述第二对象的所确定的位置是在圆柱坐标系中表达的位置;并且
所述方法还包括:
基于另外的用户请求来放大所述第一对象的视图;
响应于所述另外的用户请求,
确定经放大的第一对象在所述3D环境中的方位角;
基于所述经放大的第一对象的所确定的方位角,来重新计算在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度是否小于所述阈值角度;以及
响应于确定在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度现在小于所述阈值角度,将在所述3D环境中的所述第二对象沿着所述圆弧从所述经放大的第一对象移动远离,使得所述间隔角度不小于所述阈值角度。
7.根据权利要求2所述的方法,其中:
所述第一对象和所述第二对象的所确定的位置是在圆柱坐标系中表达的位置;并且
所述方法还包括:
基于另外的用户请求,减小在所述3D环境中所述第一对象距所述预设径向距离的径向距离;
响应于所述另外的用户请求,
根据经减小的径向距离来确定所述第一对象在所述3D环境中的方位角;
基于所述第一对象的所确定的方位角,来重新计算在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度是否小于所述阈值角度;以及
响应于确定在所述3D环境中的所述第一对象与所述第二对象之间的所述间隔角度现在小于所述阈值角度,将在所述3D环境中的所述第二对象沿着所述圆弧从所述第一对象移动远离,使得所述间隔角度不小于所述阈值角度。
8.根据权利要求1所述的方法,其中,所述预设径向距离距所述默认查看者位置大致三米。
9.根据权利要求1所述的方法,其中,所述对象的所确定的位置被表达为圆柱坐标系中的坐标,所述坐标具有方位角、径向距离和高度,并且其中,所述径向距离被设置为所述预设径向距离并且所述高度被设置为零米。
10.一种计算设备,包括:
处理器;
显示器;以及
可操作地耦合到所述处理器和所述显示器的存储器,所述存储器包含能由所述处理器运行以使所述计算设备执行根据权利要求1-9中的一项所述的过程的指令。
CN201980029921.1A 2018-05-04 2019-04-25 三维环境中的内容项的自动放置和布置 Pending CN112106116A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/971,212 2018-05-04
US15/971,212 US10740982B2 (en) 2018-05-04 2018-05-04 Automatic placement and arrangement of content items in three-dimensional environment
PCT/US2019/029030 WO2019212841A1 (en) 2018-05-04 2019-04-25 Automatic placement and arrangement of content items in three-dimensional environment

Publications (1)

Publication Number Publication Date
CN112106116A true CN112106116A (zh) 2020-12-18

Family

ID=66867747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029921.1A Pending CN112106116A (zh) 2018-05-04 2019-04-25 三维环境中的内容项的自动放置和布置

Country Status (4)

Country Link
US (2) US10740982B2 (zh)
EP (1) EP3788602A1 (zh)
CN (1) CN112106116A (zh)
WO (1) WO2019212841A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922895B2 (en) * 2018-05-04 2021-02-16 Microsoft Technology Licensing, Llc Projection of content libraries in three-dimensional environment
US11087560B2 (en) 2019-05-15 2021-08-10 Microsoft Technology Licensing, Llc Normalization of objects for a 3D environment within an authoring application
US11287947B2 (en) 2019-05-15 2022-03-29 Microsoft Technology Licensing, Llc Contextual input in a three-dimensional environment
US11164395B2 (en) 2019-05-15 2021-11-02 Microsoft Technology Licensing, Llc Structure switching in a three-dimensional environment
US11030822B2 (en) 2019-05-15 2021-06-08 Microsoft Technology Licensing, Llc Content indicators in a 3D environment authoring application
US11039061B2 (en) 2019-05-15 2021-06-15 Microsoft Technology Licensing, Llc Content assistance in a three-dimensional environment
US20220383400A1 (en) * 2021-05-31 2022-12-01 Shopify Inc. Systems and methods for generating three-dimensional models corresponding to product bundles

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130215116A1 (en) * 2008-03-21 2013-08-22 Dressbot, Inc. System and Method for Collaborative Shopping, Business and Entertainment
US20160239080A1 (en) * 2015-02-13 2016-08-18 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
CN107567610A (zh) * 2015-04-27 2018-01-09 微软技术许可有限责任公司 附连控制元素的混合环境显示

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966577B2 (en) * 2005-10-11 2011-06-21 Apple Inc. Multimedia control center
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US20150040074A1 (en) 2011-08-18 2015-02-05 Layar B.V. Methods and systems for enabling creation of augmented reality content
WO2014031899A1 (en) 2012-08-22 2014-02-27 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
EP2704055A1 (en) 2012-08-31 2014-03-05 Layar B.V. Determining space to display content in augmented reality
JP6287849B2 (ja) * 2013-02-22 2018-03-07 ソニー株式会社 ヘッドマウントディスプレイ、画像表示装置及び画像表示方法
US10955665B2 (en) * 2013-06-18 2021-03-23 Microsoft Technology Licensing, Llc Concurrent optimal viewing of virtual objects
US20150243035A1 (en) * 2014-02-21 2015-08-27 Metaio Gmbh Method and device for determining a transformation between an image coordinate system and an object coordinate system associated with an object of interest
US9892560B2 (en) 2014-09-11 2018-02-13 Nant Holdings Ip, Llc Marker-based augmented reality authoring tools
US9875581B2 (en) * 2014-10-31 2018-01-23 The Regents Of The University Of California Automated 3D reconstruction of the cardiac chambers from MRI or ultrasound
US10235807B2 (en) * 2015-01-20 2019-03-19 Microsoft Technology Licensing, Llc Building holographic content using holographic tools
US9766713B2 (en) * 2015-09-08 2017-09-19 Unity IPR ApS System and method for providing user interface tools
US9971854B1 (en) * 2017-06-29 2018-05-15 Best Apps, Llc Computer aided systems and methods for creating custom products

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130215116A1 (en) * 2008-03-21 2013-08-22 Dressbot, Inc. System and Method for Collaborative Shopping, Business and Entertainment
US20160239080A1 (en) * 2015-02-13 2016-08-18 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
CN107567610A (zh) * 2015-04-27 2018-01-09 微软技术许可有限责任公司 附连控制元素的混合环境显示

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Instantiate prefabs in a circle or elipsoid-Unity Answers", pages 1 - 2, Retrieved from the Internet <URL:http://answers.unity.com/questions/28215/instantiate-prefabs-in-a-circle-or-elipsoid.html> *
ANONYMOUS: "Placing GameObjects in a circle in scene view-Unity Answers", pages 1, Retrieved from the Internet <URL:http://answers .unity.com/questions/1185741/placing-gameobjects-in-a-circle-in-scene-view.html> *

Also Published As

Publication number Publication date
EP3788602A1 (en) 2021-03-10
WO2019212841A1 (en) 2019-11-07
US10740982B2 (en) 2020-08-11
US20210005025A1 (en) 2021-01-07
US11145139B2 (en) 2021-10-12
US20190340829A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
CN112106116A (zh) 三维环境中的内容项的自动放置和布置
CN112074876A (zh) 在三维环境中创作内容
US11941762B2 (en) System and method for augmented reality scenes
US7636089B2 (en) Photo mantel view and animation
US20060107229A1 (en) Work area transform in a graphical user interface
US20120105446A1 (en) Building controllable clairvoyance device in virtual world
WO2016109749A1 (en) System and method for interactive projection
CN110809752A (zh) 用于虚拟现实内容显示的装置及相关联的方法
CN109905592A (zh) 根据用户的交互控制或者合成的内容的提供方法及装置
KR20150012067A (ko) 메시지 처리 방법 및 그 전자 장치
KR102237520B1 (ko) 효율적인 데이터 관리를 위한 가상 전시 공간 제공 방법
KR102237519B1 (ko) 2.5 차원화를 이용한 가상 전시 공간 제공 방법
CN104750445A (zh) 一种信息处理方法及电子设备
WO2018121546A1 (zh) 一种行车记录装置屏幕内容的展示方法和装置
US11048376B2 (en) Text editing system for 3D environment
CN112106117A (zh) 在三维环境中的内容库的投影
US11243678B2 (en) Method of panning image
US20120042268A1 (en) Processing user interfaces
US10839614B1 (en) Systems and methods for rapid creation of three-dimensional experiences
KR102153749B1 (ko) 평면 디스플레이용 콘텐츠를 실린더용 콘텐츠로 전환하는 방법
US20240098213A1 (en) Modifying digital content transmitted to devices in real time via processing circuitry
KR20230167494A (ko) 홍보 영상 켄텐츠 제작 방법 및 3d 영상 컨텐츠 제작 시스템
CN115202792A (zh) 用于场景切换的方法、装置、设备和存储介质
US9135256B2 (en) Method for searching content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination