CN112889079A - 用于内容的协同生成的平台与方法 - Google Patents
用于内容的协同生成的平台与方法 Download PDFInfo
- Publication number
- CN112889079A CN112889079A CN201980066854.0A CN201980066854A CN112889079A CN 112889079 A CN112889079 A CN 112889079A CN 201980066854 A CN201980066854 A CN 201980066854A CN 112889079 A CN112889079 A CN 112889079A
- Authority
- CN
- China
- Prior art keywords
- database
- application
- change
- client
- asset
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 38
- 230000008859 change Effects 0.000 claims description 118
- 230000015654 memory Effects 0.000 claims description 22
- 238000009877 rendering Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 238000004088 simulation Methods 0.000 claims description 10
- 238000013515 script Methods 0.000 claims description 9
- 230000006854 communication Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000003190 augmentative effect Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 claims description 6
- 230000007175 bidirectional communication Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000013519 translation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/024—Multi-user, collaborative environment
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
Abstract
用于生成虚拟三维(3D)内容的云中心平台,所述平台允许用户在线协作,并且可以连接到不同的软件工具(应用程序)。使用所述平台,由多个协作内容创建者使用不同的内容创建或开发应用程序,可以实时创建、访问虚拟环境(如场景、世界、宇宙)并与之交互。
Description
相关美国申请
本申请要求于2018年8月10日提交的美国临时申请No.62/717.730的优先权,该申请名称为“用于协作和连接的云中心平台”,通过引用将其全部内容合并于此。
背景技术
制作高质量的三维(3D)世界是很困难的。过去3D内容创建流程(例如游戏、电影等)大多是线性发展的。出于对一致性和保真度的考虑,多个内容创建者不能同时在同一个资产上工作。由于这些限制,即使不是不可能,但是制作大型世界或沉浸式世界是很困难的。由于资产必须在每个内容创建者的客户端,因此过去尤其是创建世界尺度是很有限的。
对3D内容的需求是很高的(例如,对于训练自主车辆和机器人,对于增强现实、虚拟现实、设计等)。然而,只有相对较少的人或组织拥有所述技能和/或制作高质量3D世界的工具。此外,随着传统上不同部门(例如3D对象建模、世界建模、动画、物理、渲染等)的所述贡献数量的增加,生产高质量3D内容的所述复杂性也在增加。制作充满活力、有趣且对消费者有吸引力的3D内容的要求也在不断提高,而在内容创建者之间,甚至在内容创建者与内容消费者之间的界限继续模糊。
发明内容通常公开的是一种用于生成虚拟三维(3D)内容的云中心平台,所述平台允许用户在线协作,并且可以连接到不同的软件工具(应用程序)。使用所述平台,可以创建和访问虚拟环境(例如,场景、世界、宇宙),并与所述虚拟环境交互。
在实施例中,服务器包括存储资产的数据库,所述资产包括可用于生成虚拟环境(例如,虚拟场景)的三维数据,并且还包括同步器。所述同步器可以同步改变和所述资产的数据以包括所述数据库的所述改变,所述改变是耦合到所述服务器的客户端所做的改变,并且还可以同步所述数据库的改变和耦合到所述服务器的客户端数据的改变。
所述客户端彼此交互,以产生和修改所述虚拟环境。所述客户端包括不同类型的客户端,所述不同类型的客户端可以以不同方式操作所述虚拟环境中的对象。
在实施例中,在操作上,由第一应用程序生成对资产第一元素的第一改变。更新所述数据库中的所述第一元素,以包括所述第一改变。将所述数据库中的所述第一改变提供给第二应用。响应于所述第一改变,所述第二应用程序可以生成第二改变,在这种情况下,更新所述数据库以包括所述第二改变。
因此,所述平台允许通过已发布的接口进行协同的、基于网络的实时编辑,以便该客户端可以在该资产或对象上一起工作,所述客户端是作为资产订阅者的客户端。订阅者可以在同一时间或不同时间一起工作,同时版本控制系统用于管理改变,以维护所述工作产品的所述完整性和逼真度,所述工作产品由潜在的多个同时访问者和/或合作者生产。
从所述服务器和数据库的所述角度来看,从所述客户端提供对资产的更新,所述更新作为对所述资产的所述先前版本的增量更新(增量)。从客户端的所述角度来看,从所述服务端也提供对资产的更新,所述更新作为对所述资产的所述先前版本的增量。因此,减少了网络流量以及服务器和客户端设备上的所述计算负载。这有利地提供了对于动态、复杂虚拟环境,在所述客户端和服务器之间执行双向实时更新的所述功能。对环境的修改可以动态实时进行。
本领域的普通技术人员在阅读了各个附图中示出的实施例的以下详细描述之后,将认识到根据本发明的各个实施例的这些和其他对象以及优点。
附图说明
所述附图被并入本说明书中并构成本说明书的一部分,并且其中相同的附图标记表示相同的元件,所述附图示出了本公开的实施例,并且与详细描述一起用于解释本公开的原理。
图1是示出了根据本发明的实施例中用于协同生成虚拟3D内容平台的框图。
图2是示出了根据本发明的实施例中服务器所选组件的框图。
图3是示出了根据本发明的实施例中可扩展框架(或引擎)中平台的框图。
图4是示出了根据本发明的实施例中使用数据库创建多个虚拟环境的框图。
图5是示出了根据本发明的实施例中用于虚拟环境分叉的所述数据库使用的框图。
图6是示出了根据本发明的实施例中用于协同生成内容的计算机实现方法示例的流程图。
图7是示出了根据本发明的实施例中所述服务器和客户端之间的所述信息流的框图。
图8是示出了示例计算机系统的框图,在其上可以实现根据本发明的实施例。
具体实施方式现在将详细参考本公开的各种实施例,其示例在所述附图中示出。尽管结合这些实施例进行了描述,但是应当理解,它们并不旨在将本公开限制于这些实施例。相反,本公开旨在涵盖替代方案、修改和等同形式,其可以包括在由所附权利要求书所限定的本公开的所述精神和范围内。此外,在本公开的以下详细描述中阐述了许多具体细节,以便提供对本公开的透彻理解。然而,应当理解,可以在没有这些具体细节的情况下实施本发明。在其他情况下,为避免不必要地使本公开的各方面不清楚,未详细描述公知方法、程序、组件和电路。
以下详细描述的某些部分,以过程、逻辑块、处理以及对计算机内存中数据位的操作的其他符号表示形式呈现。这些描述和表示是数据处理领域的技术人员最有效地将其工作实质传达给本领域其他技术人员的手段。在本申请中,程序、逻辑块、过程等,被认为是导致期望结果的步骤或指令的自洽序列。所述步骤是利用物理量进行物理操作的步骤。通常,尽管不是必需的,但是这些量采取电或磁信号的所述形式,所述电或磁信号能够在计算机系统中存储、传输、组合、比较和以其他方式操作。主要出于通用目的,已证明有时将这些信号称为事务、位、值、元素、符号、字符、样本、像素等有时很方便。
然而,应当记住,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。应当理解,在整个本公开中,讨论使用诸如“存储”、“保存”、“改变”、“更新”、“同步”、“提供”、“执行”、“进行改变”、“生成”、“渲染”、“识别”、“加载”、“解析”、“显示”、“组装”、“累积”、“接收”、“发送”等术语,是指设备或计算机系统或类似电子计算设备或处理器的动作和过程。在存储器、寄存器或其他此类信息存储、转换或显示设备中,计算机系统或类似电子计算设备处理和转换表示为物理(电子)数量的数据。
本文所描述的实施例可以在驻留于某种形式的计算机可读存储介质(例如程序模块)上的计算机可执行指令的一般上下文中讨论,所述计算机可读存储介质由一个或更多个计算机或其他设备执行。举例来说,作为限制,计算机可读存储介质可以包括非暂时性计算机存储介质和通信介质。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。在各种实施例中,所述程序模块的所述功能可以根据需要组合或分布。
计算机存储介质包括易失性和非易失性、可移动和不可移动介质,所述介质以任何方法或技术实现,用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存(例如固态驱动器)或其他存储技术、光盘ROM(CD-ROM)、数字多功能磁盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或任何其他可用于存储所需信息以及可以访问以检索该信息。
通信介质可以体现计算机可执行指令、数据结构和程序模块,并且包括任何信息传递介质。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接之类)和无线介质(诸如声学、射频(RF)、红外和其他无线介质之类)。上述的任何组合也可以包括在计算机可读介质的范围内。
总览
总体上,公开了用于生成虚拟三维(3D)内容的云中心平台,所述平台允许用户在线协作,并且可以连接到不同的软件工具(应用程序)。使用所述平台可以创建、访问虚拟环境(如场景、世界、宇宙)和与虚拟环境交互。
在实施例中,一个或更多个应用程序(例如,基于网络的应用程序)通信地耦合到可被访问、编辑和存储的数据库。通过精心设计的应用程序编程接口(APl),各种各样的第三方应用程序可以尽可能无缝地连接数据库,反之亦然。在实施例中,至少一个所述应用程序是3D内容创建应用程序(例如,动画工具或计算机图形应用程序,例如Autodesk)。
在实施例中,所述数据库基于所述通用场景描述(USD)格式和模式。所述数据库中的所述条目或元素在本文中称为“资产”。虚拟3D环境中的对象以及所述虚拟环境本身,可以由一个或更多个所述基本资产组成。可以使用所述应用程序查询和更新所述数据库。对应用程序创建和使用适当的插件,以允许这些应用程序可以流畅地进行实时编辑操作。
如将更详细描述的,每个应用程序与对象的某些属性或特性进行交互,所述对象的某些属性或特性可以使用所述数据库中的所述资产来描述或定义。例如,可以使用插件将图形编辑器(例如)连接到所述数据库中(连接到所述数据库中的资产),以将纹理添加到虚拟场景中的对象上,同时也可以使用计算机图形应用程序或动画工具(例如,Autodesk)可以使用插件连接到所述数据库(所述数据库中的资产)中,以在虚拟场景中为该对象(或不同对象)设置动画。换句话说,使用第一应用程序(例如)创建的对象可以具有只能该应用程序能理解的关联属性,但是所公开的平台支持第二应用程序(例如)对该对象进行改变的功能,同时,有利地使仅第一应用程序理解的特性不受干扰。因此,所述两个应用程序可以互操作,本质上彼此交互,而无需彼此直接连接或彼此了解。两个以上的应用程序可以这种方式进行互操作或协作。
订阅者可以识别他们感兴趣的资产或对象,并在他们有许可这样做的地方进行改变。所述平台允许通过已发布的界面进行基于网络的协作性实时编辑,以便资产的订阅者可以在该资产或对象上一起工作。订阅者可以同时或在不同时间一起工作。版本控制系统用于管理改变。
用于内容的协同生成的平台与方法
图1是示出了根据本发明的实施例中用于协同生成虚拟3D内容的平台100的框图。所述平台100可以被实现为计算机可执行组件,所述计算机可执行组件存储在非暂时性计算机可读介质中。
在实施例中,所述平台100包括客户端系统102a-n,所述客户端系统102a-n是应用程序或软件工具,所述应用程序或软件工具可在一个或更多个计算机系统(所述客户端设备或系统103a-n)上执行或使用一个或更多个计算机系统执行。所述客户端设备103a-n可以包括不同类型的设备;也就是说,例如,它们可能具有不同的计算和显示功能以及不同的操作系统。依据所述客户端设备103a-n的硬件和软件功能,可以称为胖客户端或瘦客户端。
所述平台100还包括可通信地耦合到所述客户端102a-n的服务器104。所述服务器104可在一个或更多个计算机系统(例如,服务器系统105)上执行或使用一个或更多个计算机系统执行。
一般来说,在实施例中,所述平台100被实现为云中心平台;也就是说,它是一个基于网络的平台,所述平台可以使用一个或更多个设备来实现,所述设备通过网络(例如Internet)连接并协同工作。
在实施例中,每个所述客户端102a-n通过端口或套接字112连接到所述服务器104,并且使用公共应用程序编程接口(APl)与所述服务器通信,所述公共应用程序编程接口启用双向通信(例如,所述网络套接字API)。所述客户端102a-n包括不同类型的应用程序,例如但不限于:物理模拟应用程序、人工智能(Al)应用程序、全局照明(GI)应用程序、游戏引擎、计算机图形学应用程序、渲染器、图形编辑器、虚拟现实(VR)应用程序、增强现实应用程序和脚本应用程序。因为它们彼此不同,所以所述客户端102a-n可以称为“异构客户端”。所述客户端102a-n也可以称为“微服务”。
在实施例中,所述服务器104包括数据库106。所述数据库106尽管单独地被称为数据库,但是可以包括多个数据库,所述多个数据库在一个或更多个计算机系统(例如,数据中心)上实现和存储。所述数据库106存储着代表资产的数据。每个资产都存储3D数据,所述3D数据可以与其他资产一起使用,以构成虚拟场景。可以将虚拟场景组合起来,以形成虚拟世界或宇宙。通常,这里使用所述术语“虚拟环境”一词,指的是虚拟场景、世界或宇宙。用例包括但不限于:产品设计和架构的设计审核;场景生成;科学可视化(SciVis);汽车模拟(例如AutoSIM);游戏云版本;虚拟场景制作;以及具有用户生成的内容和精致世界的社交VR。
在所述平台100内可能有用于不同虚拟环境的不同服务器,并且虚拟环境的所述所有者可以对所述环境的所述构建方式和提供哪些资源进行选择,以提供最相关和最重要的可扩展性。
通过一个或更多个所述客户端102a-n,可以访问和可选地改变所述数据库106中的每个资产。在一个实施例中,所述客户端102a-n使用相应的插件114连接到所述数据库。然而,在实施例中,对资产的访问仅限于订阅该资产的客户端,并且只有拥有许可的订阅者才能对资产进行改变。
并非所有的所述客户端102a-n都是可以对所述数据库106中的资产进行改变的应用程序。例如,所述客户端102a-n可以包括渲染资产或环境的应用程序,并且可以包括显示资产或环境的应用程序。
所述平台100利用所述云。所述平台100将资产存储、编辑和查询整合到云服务(所述数据库106)中。所述平台100实际上允许任何应用程序连接到所述服务器104。
在实施例中,所述服务器104还包括同步器108。如上所述,一个或更多个所述客户端102a-n可以对资产进行改变。所述同步器108将那些改变与所述资产的所述数据同步,并且还将所述改变(更新)资产的所述数据与对该资产感兴趣的其他客户端(例如,所述资产的其他订阅者)同步。
更具体地,在实施例中,可以从所述服务器104到第一客户端102a跨网络加载资产。所述客户端102a可以对所述资产进行一个改变或更多个改变(更新)。在根据本发明的实施例中,在进行所述更新之后,所述客户端102a有利地仅将所述资产的所述更新加载并保存到所述数据库106。也就是说,所述客户端102a不会将所述整个更新的资产返回所述数据库106;相反,所述客户端102a仅保存所述改变资产中的一个或更多个部分(例如,对象、属性、属性)。继而,可以将所述资产的所述改变提供给一个或更多个其他客户端102b-n,例如,对该资产的订阅。也就是说,所述数据库106不将所述整个更新的资产提供给所述其他客户端;相反,所述数据库仅提供所述改变资产中的一个或更多个部分(例如,对象、属性、属性)。在所述数据库106和所述客户端102a-n之间,仅共享改变的所述同步过程,在本文中可以被称为“增量更新”或“增量改变”。
因此,从所述服务器104(特别是所述数据库106)的角度来看,从所述客户端102a-n提供对资产的更新,作为对所述资产的所述先前版本的增量改变(增量);以及,从所述客户端的角度来看,从所述服务器的资产更新也作为对所述资产的所述先前版本的增量来提供。因此,减少了网络流量以及服务器和客户端设备上的计算负载。这有利地提供了针对动态复杂虚拟环境,在所述客户端102a-n与所述服务器104之间执行双向实时更新的所述功能。对环境的修改可以实时进行。任何运行时都可以连接到所述服务器104并查看对所述环境的实时更新。
总结到这一点,所述服务器104使所述客户端102a-n能够发布和订阅所述数据库106中客户端具有适当权限的任何资产。在使用中,多个客户端102a-n可以发布和订阅同一组资产,从而创建共享的虚拟世界。从本质上讲,所述数据库106作为中心操作,通过对所述数据库的改变,允许所述客户端102a-n彼此进行互操作。所述客户端102a-n的插件114允许所述客户端与所述数据库106以及通过所述数据库彼此进行互操作。所述客户端102a-n可以是异构(不同类型的)应用程序,所述应用程序能够通过所述数据库106一起工作。来自任何一个所述客户端102a-n的更新,可以被复制到所述数据库106中,然后以交互的速度复制到其他客户端。
因此,在根据本发明的实施例中,每个客户端(应用程序)102a-n与对象的某些属性或特性进行交互,所述对象的某些属性或特性可以使用所述数据库106中的所述资产描述或定义。在本文前面所述的示例中,图形编辑器(例如,)可以连接到所述数据库106中(连接到所述数据库中的资产),以向虚拟场景中的对象添加纹理,并且计算机图形应用程序或动画工具(例如,可以将Autodesk)可以连接到所述数据库(连接到所述数据库中的资产),以在所述虚拟场景中为该对象(或不同对象)设置动画。
在实施例中,由一个所述客户端(应用程序)102a-n对所述数据库106中的资产进行的改变提示每个订阅者考虑所述改变。也就是说,在实施例中,订阅者响应于被通知的所述改变或通过接收所述改变(例如,通过与所述数据库106同步),来处理或执行操作。例如,动画工具(例如,Autodesk)可以用于在虚拟场景中对对象进行动画处理,并且可以使用物理模拟应用程序或物理引擎(例如PhysX)来模拟与所述虚拟场景中的所述对象相关联的现实世界物理过程。在此示例中,如果使用所述动画工具,例如,将所述对象移动到表格所述边缘上方,并相应地更新所述数据库106中的所述资产,则(例如,在与所述数据库同步之后)所述物理模拟应用程序将基于该移动(例如,下落物体的轨迹)自动模拟现实世界的物理过程,并相应地更新所述数据库。因此,可以通过第一客户端的类型,来改变所述数据库106中的资产,并且第二客户端(可以是不同类型的客户端)也可以改变该资产(可能是对所述第一客户端所做改变的间接响应)。通过这种方式,两个或更多个客户端(例如,不同类型的客户端)可以互操作,实质上彼此交互,以实现对同一资产的不同属性或特性进行改变。
然而,取决于客户的所述类型,提供给所述客户资产的改变不一定会触发对该资产或另一资产的另一改变。通常,客户端响应于被提供给资产元素的改变,可以对该元素进行另一改变,并更新所述数据库106,以包括所述另一改变;对所述资产的另一个元素进行改变,并更新所述数据库,以包括对所述另一个元素的所述改变;使用所述元素,包括某种操作类型的任何改变,而不会导致所述元素的其他改变;渲染所述元素/资产;和/或显示所述元素/资产。
在实施例中,所述平台100(例如,所述服务器104)还包括数据库引擎110,所述数据库引擎110可解决对所述数据库106改变之间的冲突。所述数据库引擎110用作改变或版本控制机制。在实施例中,根据分配给所述客户端102a-n的等级来解决冲突,这可以被称为源控制。也就是说,例如,如果两个客户端是某个资产的订阅者,并且都具有改变所述资产的权限,则来自一个所述客户端的所述改变具有优先权,并将取代来自所述另一客户端的任何冲突改变。可以用不同的方式分配优先权。例如,一个客户端可以优先于虚拟环境的一个空间部分,而另一个客户端可以优先于所述虚拟环境的另一个空间部分。在该情况下,如果资产出现或在所述虚拟环境的一个区域中使用,那么来自所述第一客户端的所述改变将优先于来自所述第二客户端的冲突改变;但是如果所述资产出现或在所述虚拟环境的所述其他区域中使用,则来自所述第二客户端的所述改变将具有优先权。
如上所述,在实施例中,所述数据库106基于所述USD格式和模式。USD提供了将一系列“意见”分层在一起的功能,所述“意见”是关于对象集合的属性。层是一组对象,所述对象位于转换层次结构的常规树结构之外;也就是说,所述对象可以包括在转换层次结构的不同叶子中。分层允许改变所述层(组)中跨对象属性。例如,汽车的所述引擎和车门可能在所述转换层次结构中表示为不同的对象;但是,所述引擎和车门都可以包括螺丝。层允许改变所述螺丝的所述属性,而不管所述螺丝在所述层次结构中出现的位置。在实施例中,不同的客户端订阅者可以控制各自的层,在这种情况下,其更新优先于其他订阅者的所述更新。不同的层可能排名高于其他层;所述排名可用于控制对层的哪些改变具有优先级。
图2是示出了根据本发明的实施例中所述服务器104所选组件的框图。如上所述,在实施例中,所述服务器104包括所述数据库106和所述数据库引擎110。客户端102a-n(例如,应用程序)可以查询和修改所述数据库106,例如,通过API层205(例如,图1中所述套接字112)。
在实施例中,脚本引擎201运行轻量级和安全(例如,沙盒)脚本,所述脚本接近所述数据库106,而不通过所述API层。在一个实施例中,在所述服务器104中创建、提交和链接过程数据流元素。可以用类似于指定过程着色器的方式,来指定所述各个过程元素。
对所述数据库106中资产的更新,被传回给客户端,所述客户端是那些资产的订阅者。在实施例中,当该资产改变时,通知器203向订阅资产的所述客户端发送消息。实际上,将根据所述客户端感兴趣的内容为每个客户端过滤通知。
图3是示出了根据本发明的实施例中可扩展框架(或引擎)300中平台100的框图。所述可扩展框架300可以在所述数据库106附近管理和启动应用程序定义的过程,例如但不限于物理仿真、AI、GI和细节水平(LOD)生成。
在实施例中,所述框架300包括复制引擎(未示出)。为了快速复制,其中正确性需要锁,可以使用保证正确性的API调用。客户端102可以在适合于最高质量的离线渲染的特定时刻,拍摄快照并且获取完全正确的数据集。所有相关的静态资产不必预加载。传送是一个重要的用例,并且框架300提供了快速传送到未预装位置的所述功能。某些应用程序(客户端)可以选择预加载所有相关资产,但这不必强加于所有应用程序。
在实施例中,所述框架300包括API,以支持数据流依赖关系、缓存和重计算,例如如下情况:计算依赖于属性集、对象或空间量,并且在它们发生改变时应进行更新(例如,GI计算、LOD和可能可见的集合)。
在一个实施例中,所述框架300包括用于空间查询的API。
在一个实施例中,所述框架300包括用于在云中创作和运行过程脚本以创建行为的软件工具,包括用于但不限于:注册脚本、设置事件和触发器的API。这些可以通过容器化并通过权限链接到特定的虚拟环境。
在实施例中,所述框架300包括APl,以帮助创建非常大的世界,包括用于但不限于:LOD、远距环境地图的自动创建以及可见性剔除的APl。
使用所述框架300,可以为各种体验提供云渲染。所述平台300可用于渲染功能的最小规格可以非常高的应用程序,即使在将所述结果发送到瘦客户端(例如,移动端)设备时也是如此。
例如,比所述视场更宽的云渲染RGB-D视频,以及附近视点传输补充的孔填充数据,可以支持瘦VR客户端。因此,在客户端拥有过期数据期间,它可以使用所述深度和孔填充数据,从所述新视点重新投影所述过期数据,以创建适当的视差。在游戏应用程序中,客户端之间常见的计算(例如,GI和物理过程)可以自然地排除在外。依赖视图的计算(例如,最终渲染、用户体验(UX)、物理、GI和LOD)可以在所述云中单独进行,并且流式传输到所述云外部的瘦客户端。
所述平台300还可以支持时延敏感体验,所述时延敏感体验可从例如广域网(WAN)上的胖客户端中大大受益,尽管本发明不限于此。还支持大型多人在线游戏(MMO)及其相关者。
图4是示出了根据本发明的实施例中使用所述数据库106创建多个虚拟环境401a-n的框图。在图4的示例中,所述数据库中的资产1-3可以由不同的环境引用。因此,例如,资产2被两个所述虚拟环境401a和401b引用,并用于创建这两个虚拟环境。
图5是示出了根据本发明的实施例中用于虚拟环境分叉的所述数据库106使用的框图。将虚拟环境分叉到多个子环境(副本)中是一种相对廉价的操作。对所述数据库106a中资产的引用,从所述母环境501移动到所述子环境502和503中。
图6是示出了根据本发明的实施例中用于协同生成内容的计算机实现方法示例的流程图600。所述流程图600可以被实现为计算机可执行指令,所述计算机可执行指令驻留在某种形式的计算机可读存储介质上(例如,在图8的所述计算机系统800的存储器中)。在根据本发明的实施例中,由(在)图1的所述服务器104执行图6的所述方法。图6是结合图7描述的,其是示出了根据本发明的实施例中所述服务器104(具体地,所述数据库106)和两个客户端102a和102b之间的所述信息流的框图。以下讨论可以很容易地扩展到两个以上的客户端。
在图6的框602中,接收到所述数据库106中对资产704的元素701(例如,特性或属性)的第一改变(改变1)。所述第一改变是由所述第一客户端102a(第一应用程序)生成的。在图6和图7的示例中,所述资产704(和元素701)与虚拟环境(场景)702相关联。也就是说,在所述虚拟环境702中,所述元素701的改变可以影响诸如所述对象703的所述外观、位置或方向。
在框604中,在所述数据库106中更新所述元素701,以包括所述第一改变。在实施例中,通过同步所述客户端102a的数据库和数据,来更新所述数据库106。
在框606中,将所述第一改变从所述数据库106提供给所述客户端102b(第二应用)。在根据本发明的实施例中,仅将所述元素701的一个或更多个改变从所述数据库106提供给所述客户端102b:没有将所述整个更新的元素(或所述整个更新的资产704)从所述数据库提供给所述客户端102b。在实施例中,所述客户端102a和102b是不同类型的客户端。可以将所述客户端引导到内容创建或资产管理的不同方面,或者可以将其用于不同的规模或模式。例如,一个客户端可以在一个或更多个二维空间上操作,而另一客户端可以在三维空间上执行。相同的资产可以在所述第一客户端上显示为一系列离散的二维对象几何体,而对于所述后一个客户端,则可能会以可交互的方式对所述资产进行三维可视化(例如,通过虚拟现实设备),所述资产连续遍历。在一个实施例中,当所述资产或所述元素701的改变被保存到所述数据库106时,所述服务器104向所述客户端102b发送消息。在一个实施例中,通过同步所述数据库106和所述客户端102b的数据,来提供所述第一改变。还可以向订阅所述元素701的其他客户端,来提供所述第一改变。
在实施例中,所述第二改变触发(提示)所述第二客户端102b来执行操作(执行),以便处理或分析所述第一改变的所述效果(如果有的话)。在实施例中,在框608中,响应于所述第一改变,所述第一改变将提供给所述第二客户端,由所述第二客户端102b生成所述第二改变(改变2)。在实施例中,所述第二改变是基于所述第一改变。由所述第二改变做出的所述改变,可以是对受所述第一改变影响的所述元素701或不同元素(所述资产704或不同资产)。
在框610中,更新所述数据库106,以包括所述第二改变。在实施例中,通过同步所述数据库102和所述客户端102b的数据,来更新所述数据库106。在根据本发明的实施例中,所述客户端102b仅向所述数据库106提供对所述元素701(或其他元素)的一个或更多个改变:所述客户端102b不将所述整个更新的元素(或所述整个更新的资产)提供给所述数据库。
通过同步所述数据库106和所述客户端102a的数据,通过同步数据库和客户端102a的数据,可以将所述第二改变提供给所述客户端102a。
以刚刚描述的方式,所述客户端102a和102b通过对所述数据库106的改变而彼此交互,以协作地生成内容(所述虚拟环境702和对象703)。在实施例中,一个所述客户端应用程序102a-n(图1)可以为不同类型的客户端设备103a-n(可以称为异构客户端设备)来渲染所述虚拟环境702,并根据所述客户端设备的所述相应硬件和软件功能来调整所述渲染。
因此,在本质上,不是客户端将资产加载到本地存储器,而是通过网络将所述资产从所述数据库106加载到所述客户端;并且,当进行改变时,所述改变不是存储到本地存储器中,而是跨网络存储到所述数据库中。然而,在将任何所述改变保存到所述数据库106之前,客户端可以对资产进行多个改变并注册(列出)多个改变。换句话说,客户端可以将单个改变保存到所述数据库106,或者可以向所述数据库保存一组改变。在实施例中,所述客户端以与如何渲染和显示所述虚拟环境相对应的速率,可以将改变保存到数据库中。例如,在视频或游戏应用程序中,所述视频或游戏应用程序以每秒60帧的所述速率渲染和显示场景,客户端可以以每秒60次的所述速率保存改变。
取决于客户端的所述类型,对提供给客户端的元素的改变不必触发对该元素或另一元素的另一改变。通常,响应于被提供对资产的元素的改变,客户端102a-n可以对该元素进行另一改变,并且更新所述数据库106,以包括所述另一改变;对所述资产的另一元素进行改变,并更新所述数据库,以包括所述另一元素的所述改变;使用所述元素,所述元素包括某种操作类型的任何改变,而不会导致所述元素的另一改变;渲染所述元素/资产,和/或显示所述元素/资产。
示例计算机系统
图8是示出了根据本发明的实施例可以在其上实现的示例计算机系统800的框图。所述计算机系统800可以是但不限于计算机。可以使用所述计算机系统800,来实现所述客户端设备103a-n和所述服务器系统105。然而,所述客户端设备103a-n和所述服务器系统105可以不包括所述计算机系统800的所有所述组件,和/或可以包括除了下面描述的组件之外的组件。
图8是根据本发明的实施例能够实现计算机系统800示例的框图。在图8的所述示例中,所述计算机系统800包括中央处理单元(CPU)805,用于运行软件应用程序以及可选地操作系统。内存810存储供所述CPU 805使用的应用程序和数据。存储器815为应用程序和数据提供非易失性存储,并且可以包括固定磁盘驱动器、可移动磁盘驱动器、闪存设备以及CD-ROM、DVD-ROM或其他光盘存储设备。
还参考图1,取决于实现方式,所述内存810和/或所述存储器815包括非暂时性计算机可读介质,所述非暂时性计算机可读介质具有用于实现客户端102a-n或服务器104的计算机可执行组件。
图8的所述用户输入820包括将用户输入从一个或更多个用户传递到所述计算机系统800的设备,并且可以包括键盘、鼠标、操纵杆、触摸屏和/或麦克风。所述通信或网络接口825允许所述计算机系统800经由电子通信网络与其他计算机系统通信,所述电子通信网络包括有线和/或无线通信并且包括所述互联网。所述显示设备850是能够显示视觉信息的任何设备,所述视觉信息响应于来自所述计算机系统800的信号。所述计算机系统800的所述组件包括所述CPU 805、内存810、数据存储器815、用户输入设备820、通信接口825和所述显示设备850,所述组件经由一个或更多个数据总线860连接。
在图8的实施例中,图形系统830与所述数据总线860和所述计算机系统800的所述组件连接。所述图形系统830可包括物理图形处理单元(GPU)835和图形存储器。所述GPU835从渲染命令生成用于输出图像的像素数据。所述物理GPU 835可以被配置为多个虚拟GPU,所述多个虚拟GPU用于由并行执行的多个应用程序并行(同时)使用。
图形存储器可包括显示内存840(例如,帧缓冲器),所述显示内存840用于存储输出图像的每个像素的像素数据。在另一个实施例中,所述显示内存840和/或附加内存845是所述内存810的部分,并且与所述CPU805共享。或者,所述显示内存840和/或附加内存845可以是一个或更多个单独的内存,所述内存为所述图形系统830提供所述专用。
在另一个实施例中,类似于GPU 835,图形处理系统830包括一个或更多个附加物理GPU 855。每个附加GPU 855适于与所述GPU 835并行操作。每个附加GPU 855从渲染命令生成用于输出的像素数据。每个附加的物理GPU 855可以被配置为多个虚拟GPU,所述多个虚拟GPU由多个并行执行的应用程序并行(同时)使用。
尽管前述公开使用特定的框图、流程图和示例阐述了各种实施例,但是本文描述和/或示出的每个框图组件、流程图步骤、操作和/或组件,可以使用各种硬件、软件或固件(或其任何组合)配置,单独地和/或共同地实现。此外,包括在其他组件中的任何组件公开都应视为示例,因为可以实现许多其他体系结构以实现相同的功能。
本文描述的过程参数和/或步骤的顺序和/或本文仅描述作为示例,并且可以根据需要改变。例如,虽然可以以特定顺序示出或讨论本文中图示和/或描述的步骤,但是这些步骤不一定需要以示出的或讨论的顺序执行。在此描述和/或图示的示例方法还可以省略在此描述或示出的一个或更多个步骤,或者除了所公开的步骤之外还包括其他步骤。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,本公开中定义的主题不必限于上述特定特征或动作。相反,以上描述的特定特征和动作被公开为实现本公开的示例形式。
因此描述了根据本发明的实施例。尽管已经在特定实施例中描述了本公开,但是应当理解,本发明不应被解释为受这样的实施例的限制,而应根据所附权利要求来解释。
Claims (46)
1.一种系统,包括:
处理单元;
存储器,所述存储器耦合到所述处理单元,并具有存储在其中的数据库,所述数据库存储表示多个对象的数据;以及
通信接口,所述通信接口耦合到所述存储器,并可操作用于与多个不同类型的应用程序进行双向通信,所述多个不同类型的应用程序通过改变所述数据库而彼此交互操作;
其中,由所述应用程序的第一应用程序完成对所述多个对象中的对象进行的第一改变被保存到所述数据库中,并从所述数据库提供给所述对象的订阅者的所述应用程序的第二应用程序,
进一步其中,在所述数据库中所述多个对象中至少一个对象的表示包括三维数据。
2.根据权利要求1所述的系统,其中,通过同步所述数据库和所述第一应用程序的数据来更新所述数据库以包括所述第一改变;并且其中,在更新所述数据库以包括所述第一改变之后,通过同步所述第二应用程序的数据和所述数据库,来将所述第一改变提供给所述第二应用程序。
3.根据权利要求1所述的系统,其中,所述第二应用程序使用所述第一改变来执行操作。
4.根据权利要求3所述的系统,其中,所述操作包括所述第二应用程序对所述对象进行第二改变,其中所述第二改变被保存到所述数据库中。
5.根据权利要求4所述的系统,其中,在所述第二应用程序生成所述第二改变之后,通过同步所述数据库和所述第二应用程序的所述数据来更新所述数据库以包括所述第二改变;并且其中,在更新所述数据库以包括所述第二改变之后,通过同步所述数据库和所述第一应用程序的所述数据来将所述第二改变提供给所述第一应用程序。
6.根据权利要求3所述的系统,其中,所述对象是第一对象,其中,所述操作包括所述第二应用程序对所述多个对象中的第二对象进行改变,并且其中,对所述第二对象的所述改变被保存到所述数据库中。
7.根据权利要求1所述的系统,其中,标识所述对象订阅者的应用程序的信息与所述对象相关联,其中,所述第一改变与每个所述订阅者共享。
8.根据权利要求7所述的系统,其中,当对所述对象的改变被保存到所述数据库中时,将消息发送给所述对象的所述订阅者,其中,所述消息提示所述订阅者从所述数据库中加载所述改变,并可选地使用所述改变来执行操作。
9.根据权利要求7所述的系统,其中,所述对象的所述订阅者中的至少一个订阅者从以下所述组中选择,所述组包括:
可以改变所述对象的应用程序;
使用所述对象但无法改变所述对象的应用程序;
渲染所述对象的应用程序;或者
显示所述对象的应用程序。
10.根据权利要求1所述的系统,其中,根据分配给所述应用程序的等级来解决对所述数据库改变之间的冲突,所述分配给应用程序的等级是所述改变的来源。
11.根据权利要求1所述的系统,其中,所述数据库包括所述多个对象,并且其中,来自所述多个对象的一组所述对象在被组装时包括虚拟场景。
12.根据权利要求11所述的系统,其中,所述不同类型的应用程序中的至少一个应用程序从以下所述组中选择,所述组包括:
物理模拟应用程序;
人工智能应用程序;
全球照明应用程序;
游戏引擎;
动画工具;
计算机图形应用程序;
渲染器;
图形编辑器;
虚拟现实应用程序;
增强现实应用程序;以及
脚本应用程序。
13.根据权利要求1所述的系统,其中,由所述第一应用程序对所述数据库中的对象进行的改变被累积在列表中,其中,所述列表中的所述改变被定期保存到所述数据库中。
14.根据权利要求1所述的系统,其中,所述处理单元执行渲染器,所述渲染器组装对象以生成包括虚拟场景的帧,其中,所述系统以通信方式耦合到具有不同功能的多个不同类型的客户端设备,并且其中,所述渲染器根据所述每个客户端设备的所述功能为所述客户端设备中的每个客户端设备组装所述虚拟场景。
15.根据权利要求14所述的系统,其中,由所述第一应用程序对所述数据库中的对象进行的改变以与所述渲染器生成帧的速率相对应的速率被保存到所述数据库中。
16.一种方法,包括:
在服务器处,所述服务器存储包括资产的数据库,其中,每个所述资产包括一个或更多个元素:
接收所述数据库中资产的第一元素的第一改变,所述第一改变由多个不同类型应用程序的第一类型应用程序生成,所述多个不同类型应用程序通过改变所述数据库而彼此交互操作;
更新所述数据库中的所述第一元素,以包括所述第一改变;
将所述第一改变从所述数据库提供给所述多个不同类型应用程序中的第二类型应用程序,所述第二类型应用程序不同于所述第一类型应用程序;
在所述服务器处并且响应于所述提供,接收由所述第二类型应用程序生成的第二改变;以及
更新所述数据库以包括所述第二改变。
17.根据权利要求16所述的方法,其中,对所述第一元素进行所述第二改变。
18.根据权利要求16所述的方法,其中,对不同于所述第一元素的第二元素进行所述第二改变。
19.根据权利要求16所述的方法,其中,所述接收所述第一改变和所述更新所述数据库中的所述元素以包括所述第一改变,包括:同步所述数据库和所述第一类型应用程序的数据。
20.根据权利要求16所述的方法,其中,所述提供包括:在所述更新所述数据库以包括所述第一改变之后,同步所述数据库和所述第二类型应用程序的数据。
21.根据权利要求16所述的方法,其中,所述接收所述第二改变和所述更新所述数据库以包括所述第二改变,包括:在所述第二类型应用程序生成所述第二改变之后,同步所述数据库和所述第二类型应用程序的数据。
22.根据权利要求16所述的方法,还包括:向所述第一类型应用程序提供所述第二改变,其中,所述提供所述第二改变包括:在所述更新所述数据库以包括所述第一改变之后,同步所述数据库和所述第一类型应用程序的数据。
23.根据权利要求16所述的方法,还包括从所述数据库向所述资产的订阅者的应用程序提供所述第一改变,其中,响应于所述第一改变,每个所述订阅者可选地从以下所述组中执行操作,所述组包括:对所述第一元素进行另一改变,并更新所述数据库以包括所述另一改变;对所述资产的第二元素进行改变,并更新所述数据库以包括所述第二元素的所述改变;使用包括所述第一改变的所述第一元素,而不对所述第一元素进行另一改变;渲染所述第一元素;以及显示所述第一元素。
24.根据权利要求23所述的方法,还包括:当对所述资产的改变被保存到所述数据库时,向所述订阅者发送消息。
25.根据权利要求16所述的方法,还包括:根据分配给应用程序的等级来解决对所述数据库改变之间的冲突,所述分配给应用程序的等级是所述改变的来源。
26.根据权利要求16所述的方法,其中,所述数据库包括多个元素,其中,所述多个元素中的每个元素包括三维数据,并且其中,一组所述元素在被组装时包括虚拟场景。
27.根据权利要求26所述的方法,其中,所述第一类型应用程序和所述第二类型应用程序是从以下所述组类型应用程序中选择的应用程序,所述组类型应用程序包括:
物理模拟应用程序;
人工智能应用程序;
全球照明应用程序;
游戏引擎应用程序;
动画工具;
计算机图形应用程序;
渲染器应用程序;
图形编辑器应用程序;
虚拟现实应用程序;
增强现实应用程序;以及
脚本应用程序。
28.一种具有计算机可执行组件的非暂时性计算机可读介质,所述组件包括:
存储了多个资产的数据库,所述多个资产包括可用于生成虚拟场景的三维数据;
多个套接字,所述套接字耦合到所述数据库,并可操作用于与多个客户端进行双向通信;以及
耦合到所述数据库的同步器,所述同步器可用于执行操作,以同步所述资产的数据和所述客户端的数据;
其中,所述操作包括:经由所述多个套接字中的第一套接字,从所述多个客户端中的第一客户端,接收所述数据库中对资产的第一改变,并且对所述资产进行第一更新以包括所述第一改变,其中,所述第一改变是由所述第一客户端生成的;经由所述多个套接字中的第二套接字,同步所述数据库和所述多个客户端中第二客户端的数据,以在所述第二客户端的所述数据中包括所述第一改变;经由所述第二套接字,从所述第二客户端接收对所述资产的第二改变,其中,所述第二改变由所述第二客户端基于所述第一更新生成;以及对所述资产进行第二更新,以包括所述第二改变。
29.根据权利要求28所述的非暂时性计算机可读介质,其中,所述操作还包括:在由所述第一客户端生成所述第一改变之后,经由所述第一套接字,同步所述数据库和所述第一客户端的数据,以在所述数据库中包括所述第一改变。
30.根据权利要求29所述的非暂时性计算机可读介质,其中,所述操作还包括:在所述第二客户端生成所述第二改变之后,经由所述第二套接字,同步所述数据库和所述第二客户端的所述数据,以在所述数据库中包括所述第二改变;在更新所述数据库以包括所述第二改变之后,经由所述第一套接字,同步所述数据库和所述第一客户端的所述数据,以在所述第一客户端的所述数据中包括所述第二改变。
31.根据权利要求28所述的非暂时性计算机可读介质,还包括数据库引擎,所述数据库引擎可操作用于根据分配给所述客户端的等级来解决对所述数据库改变之间的冲突,所述分配给所述客户端的等级是所述改变的来源。
32.根据权利要求28所述的非暂时性计算机可读介质,其中,所述第一客户端和所述第二客户端是从以下所述组类型客户端中选择的不同类型的客户端,所述组类型客户端包括:
物理模拟应用程序;
人工智能应用程序;
全球照明应用程序;
游戏引擎;
动画工具;
计算机图形应用程序;
渲染器;
图形编辑器;
虚拟现实应用程序;
增强现实应用程序;以及
脚本应用程序。
33.根据权利要求28所述的非暂时性计算机可读介质,还包括:耦合到所述数据库的渲染器,所述渲染器组装所述数据库中的资产,以生成包括虚拟场景的帧,其中,所述客户端包括具有不同功能的设备,并且其中,所述渲染器根据所述每个设备的所述功能,为所述客户端的每个设备组装所述虚拟场景。
34.根据权利要求28所述的非暂时性计算机可读介质,其中,标识作为所述资产的订阅者的客户端的信息与所述资产相关联,其中,所述第一改变与每个所述订阅者共享。
35.根据权利要求34所述的非暂时性计算机可读介质,其中,响应于所述第一更新,向所述资产的所述订阅者发送消息,其中,所述消息提示所述订阅者从所述数据库加载所述第一改变,并可选地使用所述第一改变执行操作。
36.根据权利要求34所述的非暂时性计算机可读介质,其中,所述订阅者从以下所述组中选择,所述组包括:可以改变所述第一对象的客户端;使用所述资产但不能改变所述资产的客户端;渲染所述资产的应用程序;以及显示所述资产的应用程序。
37.一种系统,包括驻留在非暂时性计算机可读介质上的计算机可执行组件,所述组件包括:
服务器,包括:
存储了多个资产的数据库,所述多个资产包括可用于生成虚拟场景的三维数据;以及
与所述数据库耦合的同步器;
其中,所述同步器用于同步耦合到所述服务器的客户端所做的改变和所述资产的数据,以在所述数据库中包括所述改变,以及用于同步在所述数据库中的改变和耦合到所述服务器的客户端数据。
38.根据权利要求37所述的系统,其中,所述系统还包括数据库引擎,所述数据库引擎耦合到所述数据库,并用于根据分配给客户端的等级来解决对所述数据库改变之间的冲突,所述分配给客户端的等级是所述改变的来源。
39.根据权利要求37所述的系统,其中,所述客户端包括从以下所述组类型客户端中选择的不同类型的客户端,所述组类型客户端包括:
物理模拟应用程序;
人工智能应用程序;
全球照明应用程序;
游戏引擎;
动画工具;
计算机图形应用程序;
渲染器;
图形编辑器;
虚拟现实应用程序;
增强现实应用程序;以及
脚本应用程序。
40.根据权利要求37所述的系统,其中,所述客户端包括作为所述数据库中一个或更多个所选资产的订阅者的客户端,其中,所述订阅者在其订阅的所述数据库中的资产发生改变时会被通知。
41.根据权利要求37所述的系统,其中,所述客户端包括用于与所述数据库通信的相应插件。
42.一种系统,包括驻留在非暂时性计算机可读介质上的计算机可执行组件,所述组件包括:
多个客户端应用程序,包括:
多个异构客户端应用程序,其中,所述多个异构客户端应用程序彼此交互操作,以产生和修改所述虚拟环境,其中,所述多个异构客户端应用程序的客户端可操作用于以不同方式对虚拟环境的对象进行操作,其中,至少一个所述客户端应用程序用于创建三维内容,并且其中,由所述多个异构客户端应用程序中的客户端应用程序,将对所述对象所做的改变提供给一个或更多个其他客户端应用程序;
其中,客户端应用程序是一个或更多个其他客户端应用程序之一,可操作用于在异构的多个客户端设备上渲染所述虚拟环境,并且用于根据所述客户端设备的相应硬件和软件功能来调整所述渲染。
43.根据权利要求42所述的系统,还包括:耦合到所述多个客户端应用程序的数据库,配置所述数据库以存储包括所述对象的多个资产,其中由所述客户端应用程序进行的所述改变被保存到所述数据库,并将所述改变从所述数据库提供给所述一个或更多个其他客户端应用程序。
44.根据权利要求43所述的系统,其中,通过同步所述数据库和所述客户端应用程序中的数据,来更新所述数据库以包括所述改变,并且其中,在更新所述数据库以包括所述改变之后,通过同步所述一个或更多个其他应用程序中的每一个的数据和所述数据库,来将所述改变提供给所述一个或更多个其他客户端应用程序。
45.根据权利要求42所述的系统,其中,所述多个异构客户端应用程序包括从以下所述组中选择的各类应用程序,所述组包括:
物理模拟应用程序;
人工智能应用程序;
全球照明应用程序;
游戏引擎;
动画工具;
计算机图形应用程序;
渲染器;
图形编辑器;
虚拟现实应用程序;
增强现实应用程序;以及
脚本应用程序。
46.根据权利要求42所述的系统,其中,信息与所述对象相关联,所述信息标识作为所述对象的订阅者的所述多个客户端应用程序中的客户端应用程序,其中,将所述改变提供给所述订阅者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862717730P | 2018-08-10 | 2018-08-10 | |
US62/717,730 | 2018-08-10 | ||
PCT/US2019/046218 WO2020033969A1 (en) | 2018-08-10 | 2019-08-12 | Platform and method for collaborative generation of content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112889079A true CN112889079A (zh) | 2021-06-01 |
CN112889079B CN112889079B (zh) | 2024-06-25 |
Family
ID=67777419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980066854.0A Active CN112889079B (zh) | 2018-08-10 | 2019-08-12 | 用于内容的协同生成的平台与方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200051030A1 (zh) |
EP (1) | EP3834153A1 (zh) |
CN (1) | CN112889079B (zh) |
WO (1) | WO2020033969A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12100112B2 (en) | 2018-08-10 | 2024-09-24 | Nvidia Corporation | Cloud-centric platform for collaboration and connectivity on 3D virtual environments |
CN111383306B (zh) * | 2020-05-29 | 2020-08-25 | 江苏原力数字科技股份有限公司 | 一种基于usd的3d软件高效硬件渲染预览方法 |
US20220134222A1 (en) * | 2020-11-03 | 2022-05-05 | Nvidia Corporation | Delta propagation in cloud-centric platforms for collaboration and connectivity |
CN114913306A (zh) * | 2022-04-29 | 2022-08-16 | 南京新研协同定位导航研究院有限公司 | 一种mr混合现实3d内容的多人协作编辑系统及方法 |
CN116741174A (zh) * | 2023-07-25 | 2023-09-12 | 中国长江三峡集团有限公司 | 一种数字孪生系统场景调整方法、装置、设备及介质 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366933B1 (en) * | 1995-10-27 | 2002-04-02 | At&T Corp. | Method and apparatus for tracking and viewing changes on the web |
US6557012B1 (en) * | 2000-04-22 | 2003-04-29 | Oracle Corp | System and method of refreshing and posting data between versions of a database table |
US20100257463A1 (en) * | 2009-04-03 | 2010-10-07 | Palo Alto Research Center Incorporated | System for creating collaborative content |
US20100283795A1 (en) * | 2009-05-07 | 2010-11-11 | International Business Machines Corporation | Non-real-time enhanced image snapshot in a virtual world system |
US20110047217A1 (en) * | 2009-08-18 | 2011-02-24 | Arnaud Remi S | Real Time Collaborative Three Dimensional Asset Management System |
US20110055732A1 (en) * | 2009-08-28 | 2011-03-03 | International Business Machines Corporation | Creation and Prioritization of Multiple Virtual Universe Teleports In Response to an Event |
CN102257523A (zh) * | 2008-10-29 | 2011-11-23 | 库罗斯有限公司 | 在线协作 |
US8117192B1 (en) * | 2005-07-14 | 2012-02-14 | Pavel Pogodin | Computerized information system for creating patent data summaries and method therefor |
US20120278386A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Asset sharing within an enterprise using a peer-to-peer network |
US20120331061A1 (en) * | 2011-06-27 | 2012-12-27 | Google Inc. | Collaborative Development of a Model on a Network |
US20130339723A1 (en) * | 2012-06-19 | 2013-12-19 | Circle Technology, Inc. | Closed network presentation |
CN103559070A (zh) * | 2012-05-15 | 2014-02-05 | 辉达公司 | 用于远程显示的虚拟化图形处理 |
CN103890815A (zh) * | 2011-08-04 | 2014-06-25 | 游戏软件工作室亚洲私人有限公司 | 用于主管可被远程自动创建、主管和终止的瞬变虚拟世界的方法和系统 |
US20140229865A1 (en) * | 2013-02-14 | 2014-08-14 | TeamUp Technologies, Inc. | Collaborative, multi-user system for viewing, rendering, and editing 3d assets |
US20150106750A1 (en) * | 2012-07-12 | 2015-04-16 | Sony Corporation | Display control apparatus, display control method, program, and communication system |
CN105051662A (zh) * | 2012-10-23 | 2015-11-11 | 漫游控股有限公司 | 三维虚拟环境 |
US20170024447A1 (en) * | 2015-03-11 | 2017-01-26 | Brigham Young University | System, method, and apparatus for collaborative editing of common or related computer based software output |
CN106462372A (zh) * | 2014-05-14 | 2017-02-22 | 微软技术许可有限责任公司 | 在图形用户界面之间传输内容 |
US20170132568A1 (en) * | 2015-11-06 | 2017-05-11 | Benjamin F. GLUNZ | Method and system for gps enabled model and site interaction and collaboration for bim and other design platforms |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255791B2 (en) * | 2000-11-29 | 2012-08-28 | Dov Koren | Collaborative, flexible, interactive real-time displays |
US7305420B2 (en) * | 2005-05-25 | 2007-12-04 | Microsoft Corporation | Synchronizing modifiable documents with multiple clients using document subsections |
US7917584B2 (en) * | 2007-10-22 | 2011-03-29 | Xcerion Aktiebolag | Gesture-based collaboration |
US10872322B2 (en) * | 2008-03-21 | 2020-12-22 | Dressbot, Inc. | System and method for collaborative shopping, business and entertainment |
CA2883979A1 (en) * | 2011-08-15 | 2013-02-21 | Comigo Ltd. | Methods and systems for creating and managing multi participant sessions |
EP2783296A4 (en) * | 2011-11-22 | 2015-06-03 | Trimble Navigation Ltd | BETWEEN THE WEB BROWSER OF A CLIENT DEVICE AND A SERVER DISTRIBUTED 3D MODELING SYSTEM |
US10217185B1 (en) * | 2014-08-08 | 2019-02-26 | Amazon Technologies, Inc. | Customizing client experiences within a media universe |
US10949805B2 (en) * | 2015-11-06 | 2021-03-16 | Anguleris Technologies, Llc | Method and system for native object collaboration, revision and analytics for BIM and other design platforms |
US10775972B2 (en) * | 2016-04-01 | 2020-09-15 | Microsoft Technology Licensing, Llc | Techniques to control notifications for content items in a collaboration platform |
-
2019
- 2019-08-12 EP EP19759802.2A patent/EP3834153A1/en active Pending
- 2019-08-12 WO PCT/US2019/046218 patent/WO2020033969A1/en unknown
- 2019-08-12 US US16/538,594 patent/US20200051030A1/en active Pending
- 2019-08-12 CN CN201980066854.0A patent/CN112889079B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366933B1 (en) * | 1995-10-27 | 2002-04-02 | At&T Corp. | Method and apparatus for tracking and viewing changes on the web |
US6557012B1 (en) * | 2000-04-22 | 2003-04-29 | Oracle Corp | System and method of refreshing and posting data between versions of a database table |
US8117192B1 (en) * | 2005-07-14 | 2012-02-14 | Pavel Pogodin | Computerized information system for creating patent data summaries and method therefor |
CN102257523A (zh) * | 2008-10-29 | 2011-11-23 | 库罗斯有限公司 | 在线协作 |
US20100257463A1 (en) * | 2009-04-03 | 2010-10-07 | Palo Alto Research Center Incorporated | System for creating collaborative content |
US20100283795A1 (en) * | 2009-05-07 | 2010-11-11 | International Business Machines Corporation | Non-real-time enhanced image snapshot in a virtual world system |
US20110047217A1 (en) * | 2009-08-18 | 2011-02-24 | Arnaud Remi S | Real Time Collaborative Three Dimensional Asset Management System |
US20110055732A1 (en) * | 2009-08-28 | 2011-03-03 | International Business Machines Corporation | Creation and Prioritization of Multiple Virtual Universe Teleports In Response to an Event |
US20120278386A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Asset sharing within an enterprise using a peer-to-peer network |
US20120331061A1 (en) * | 2011-06-27 | 2012-12-27 | Google Inc. | Collaborative Development of a Model on a Network |
CN103890815A (zh) * | 2011-08-04 | 2014-06-25 | 游戏软件工作室亚洲私人有限公司 | 用于主管可被远程自动创建、主管和终止的瞬变虚拟世界的方法和系统 |
CN103559070A (zh) * | 2012-05-15 | 2014-02-05 | 辉达公司 | 用于远程显示的虚拟化图形处理 |
US20130339723A1 (en) * | 2012-06-19 | 2013-12-19 | Circle Technology, Inc. | Closed network presentation |
US20150106750A1 (en) * | 2012-07-12 | 2015-04-16 | Sony Corporation | Display control apparatus, display control method, program, and communication system |
CN105051662A (zh) * | 2012-10-23 | 2015-11-11 | 漫游控股有限公司 | 三维虚拟环境 |
US20140229865A1 (en) * | 2013-02-14 | 2014-08-14 | TeamUp Technologies, Inc. | Collaborative, multi-user system for viewing, rendering, and editing 3d assets |
CN106462372A (zh) * | 2014-05-14 | 2017-02-22 | 微软技术许可有限责任公司 | 在图形用户界面之间传输内容 |
US20170024447A1 (en) * | 2015-03-11 | 2017-01-26 | Brigham Young University | System, method, and apparatus for collaborative editing of common or related computer based software output |
US20170132568A1 (en) * | 2015-11-06 | 2017-05-11 | Benjamin F. GLUNZ | Method and system for gps enabled model and site interaction and collaboration for bim and other design platforms |
Also Published As
Publication number | Publication date |
---|---|
WO2020033969A1 (en) | 2020-02-13 |
US20200051030A1 (en) | 2020-02-13 |
EP3834153A1 (en) | 2021-06-16 |
CN112889079B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112889079B (zh) | 用于内容的协同生成的平台与方法 | |
US11227448B2 (en) | Cloud-centric platform for collaboration and connectivity on 3D virtual environments | |
CA2795739C (en) | File format for representing a scene | |
US8434027B2 (en) | System and method for multi-dimensional organization, management, and manipulation of remote data | |
US20230093914A1 (en) | Method, system and apparatus of recording and playing back an experience in a virtual worlds system | |
US20190065028A1 (en) | Agent-based platform for the development of multi-user virtual reality environments | |
US12100112B2 (en) | Cloud-centric platform for collaboration and connectivity on 3D virtual environments | |
CN114448977B (zh) | 以云为中心的协作和连接平台中的增量传播 | |
US9396564B2 (en) | Atlas generation based on client video configuration | |
CN105027207B (zh) | 用于记录关于被渲染资产的信息的方法和系统 | |
KR20230148127A (ko) | 비공개에서 공개 미디어 경험들을 가능하게 하는 시스템 및 방법 | |
US8363055B1 (en) | Multiple time scales in computer graphics | |
Batty | Virtual reality in geographic information systems | |
CN117742677A (zh) | 一种xr引擎低代码开发平台 | |
US20150269781A1 (en) | Rapid Virtual Reality Enablement of Structured Data Assets | |
CN117994411A (zh) | 虚拟建筑的处理方法、装置、设备及计算机可读存储介质 | |
KR20230101861A (ko) | 레이턴시 탄력적 클라우드 렌더링 | |
US8531453B2 (en) | Augmenting virtual worlds simulation with enhanced assets | |
CN113192173A (zh) | 三维场景的图像处理方法、装置及电子设备 | |
US9569875B1 (en) | Ordered list management | |
Byelozyorov et al. | From real cities to virtual worlds using an open modular architecture | |
Kang et al. | An efficient simplification and real-time rendering algorithm for large-scale terrain | |
Hering et al. | 3DCIS: A real-time browser-rendered 3d campus information system based on webgl | |
Georgiev | Tools for presenting 3D objects and virtual collections online | |
Remolar et al. | Design of a multiuser virtual trade fair using a game engine |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |