在虚拟环境中包含web内容的制作方法

文档序号:7733241阅读:146来源:国知局
专利名称:在虚拟环境中包含web内容的制作方法
技术领域
本发明涉及通信会话,更具体地说涉及用于在虚拟环境(VE)中包含web内容的方法和装置。
背景技术
虚拟环境模拟实际的或虚幻的3-D环境,并且允许多个参与者经由位于远端的客户端来彼此交互和与该环境中的构成物交互。虽然虚拟环境的其他用途也正被开发,但是, 虚拟环境可被应用的一种情境是与游戏相关的。在虚拟环境中,实际的或虚幻的宇宙在计算机处理器/存储器中被模拟。多个人可通过计算机网络来参与到虚拟环境中,计算机网络例如是局域网或者诸如因特网之类的广域网。每个玩家选择一个“化身”,该化身通常是人或其他对象的三维表示,用于在虚拟环境中表示人或其他对象。参与者向控制虚拟环境的虚拟环境服务器发送命令以致使其化身在虚拟环境中移动。通过这种方式,参与者能够致使其化身与在虚拟环境中的其他化身和其他对象交互。虚拟环境通常表现为虚拟现实的三维映射的形式,并且可包括房间、户外区域,以及通常在实体世界中所经历的环境的其他表示物。虚拟环境还可包括多个对象、人、动物、 机器人、化身、机器人化身、立体元件,以及允许化身参与到活动中的对象/环境。参与者经由在其计算机上的虚拟环境客户端来在虚拟环境中建立存在,通过该虚拟环境客户端,参与者可以创建化身,然后使化身“生活”在虚拟环境中。随着化身在虚拟环境中移动,化身所经历的视图(view)根据化身在虚拟环境中所处的位置而变化。这些视图可被显示给参与者,使得控制化身的参与者可以看到化身正在看到的东西。另外,许多虚拟环境使得参与者能够切换到不同的视图,例如,从化身之外的有利地位来看化身位于虚拟环境中的何处。参与者可使用诸如计算机鼠标和键盘之类的传统输入设备来控制化身。该输入被发送到虚拟环境客户端,该客户端将命令转发到一个或多个虚拟环境服务器,这些虚拟环境服务器正在控制虚拟环境并经由与参与者的计算机相关联的显示器向参与者提供虚拟环境的表示。取决于虚拟环境的建立方式,化身可能能够观察环境并可选择地与其他化身、虚拟环境中的已建模物体、虚拟环境中的机器人对象,或环境自身(即,化身可被允许在虚拟环境中的湖泊或河流中游泳)交互。在这些情况下,客户端控制输入可被允许以引起已建模对象的变化,例如,移动其他对象、开门等等,这些变化可选择地然后可被虚拟环境中的其他化身经历。在虚拟环境中由一个化身与另一已建模对象的“交互,,意味着虚拟环境服务器响应于接收到针对化身的客户端控制输入,在已建模的环境中模拟交互。在某些情形下,由一个化身与任何其他化身、对象、环境或自动的或机器人化的化身的交互将导致可影响虚拟环境中的其他化身、对象、环境以及自动的或机器人化的化身或者被虚拟环境中的其他化身、对象、环境以及自动的或机器人化的化身所观察或经历的结果。虚拟环境可针对用户被创建,但是,更平常的是虚拟环境是一直存在的,其中即使用户不与虚拟环境交互时,虚拟环境也继续存在并被虚拟环境服务器所支持。因此,在虚拟环境有多于一个用户的情况下,环境在一用户未登入时可继续演变,使得下次用户进入虚拟环境时,虚拟环境将会变得与上次的样子不同。虚拟环境通常用于在线游戏,例如用于在线角色扮演游戏,其中,用户扮演一人物角色并控制该人物的大部分动作。除了游戏,虚拟环境还在用于模拟实际生活环境以对用户提供接口,该接口将使能在线教育、培训、购物、商业合作,以及多组用户间和商业与用户间的其他类型的交互。当化身碰到虚拟环境中的其他化身时,由化身所表示的参与者可选择彼此交流。 例如,参与者可通过向彼此打消息来彼此交流,或者音频桥被建立以使参与者能够彼此交谈。存在这样的时刻,此时在虚拟环境中显示web内容将是有利的。例如,如果虚拟环境被用于零售能力中,则期望在虚拟环境中显示关于特定产品的web内容。遗憾的是,通常在假定纹理(texture) (3D表面的点阵图)并不有规则地变化的情况下设计虚拟环境引擎。 因此,虽然web内容可被作为纹理绘制到表面,但是,更新内容和使得用户能够与内容交互是有挑战性的。在三维虚拟环境被用于商业合作的商业情境中,对于用户,具有虚拟环境的一致视图是重要的。如果人们看到不同的东西,它们是很难合作的。在将要把web内容包含在虚拟环境中的情况下,向所有观看者显示同样的web内容因而是重要的。一种包括web内容的方法是手动地将web内容转换成静态二维纹理,然后将该纹理分发给计算机生成的三维虚拟环境的多个用户。该解决方案是相当带宽高效的,因为静态纹理可轻易地在每个客户端被缓存。但是,其必须被手动更新并且不提供用户交互。具体地,由于内容是静态的,用户不能与web内容交互,例如,去访问到web站点其他区域的链接。另一种包括web内容的方法是在服务器处动态地渲染web内容,并且将结果作为 2D纹理推送给用户。该解决方案解决了上述手动更新问题,但是,仍不能够使用户与web内容交互。同时,由于web内容是被动态渲染的,带宽要求会比手动转换web内容稍高些。另外,web内容常常使用定制渲染器被在服务器处渲染,该定制渲染器可能不支持用户浏览器的所有特征。因此,可被包括的内容的类型可能受到限制,例如,FLASH视频和其他通常由用户web浏览器中的插件所支持的内容。包括web内容的第三种方式是将内容直接绘制到3D表面。该解决方案使得每个用户能够例如通过点击web内容上的链接来与内容交互,以使得新内容被提供在3D表面上。 遗憾的是,将应用绘制到虚拟环境的3D表面需要极大的带宽。具体地,服务器将需要在表面上渲染web内容,并将新内容推送到在表面附近的每一个用户。这将需要在每当内容变化时被执行,并且对于诸如全动作视频之类的内容,将消耗相当大的带宽。另外,由于内容可被虚拟环境的任一用户控制,服务器将需要实现一种当多于一个用户同时试图控制应用时仲裁谁获得控制的方法。相应地,提供一种使得web内容能够被包括在虚拟环境中的新方法是有优势的。

发明内容
虚拟环境服务器记录并广播将与虚拟环境中的三维(3D)表面相关联的统一资源定位符(URL)以及可选的剪切(clipping)参数。当用户的化身遇到虚拟环境中的3D表面时,客户端获得URL并利用标准web浏览器获得web内容。web内容在离屏缓冲器中被本地渲染。来自离屏缓冲器的内容随即被本地渲染为到虚拟环境的3D表面上的纹理贴图。用户可在3D表面上与web内容交互,例如,通过选择网页上的链接和其他对象。每当用户中的一个例如通过点击web内容中的链接来与web内容相交互时,新的URL被用于将新的web 内容渲染到离屏缓冲器,并且随后从缓冲器渲染到3D表面。新的URL以及相关联的浏览器状态(例如,cookies, JavaScript变量、JaVa、FLASH和其他插件状态)也被从客户端传递给服务器,使得服务器可在与其他用户中的每一个相关联的其他客户端中的每一个中更新 URL和浏览器状态。每个用户的web浏览器将获得新URL的web内容,并使用浏览器状态来渲染同样的内容。使cookie同步将允许在共同浏览的会话中使用单个用户的账户/会话。 但是,不是所有的网络应用将对已同步的cookie有效,因而可以按需禁用该选项。通过使得每个用户本地获得web内容,并本地渲染web内容,实现共享应用所需的带宽量被极大减少。通过使服务器能够针对每一个客户端来同步URL和web浏览器状态,每个用户将看到同样的web内容。


本发明的各方面在所附的权利要求中被具体指出。本发明通过示例在下述附图中被说明,其中,相似的参照号指示类似的元件。出于说明的目的,下述附图公开了本发明的多个实施例,且不意欲限制本发明的范围。出于清晰的目的,不是每个组件都在每个图中被标出。在图中图1是示例性系统的一部分的功能框图,根据本发明的实施例,该系统使得能够在计算机生成的三维虚拟环境中共享诸如web浏览器内容的应用输出;图2是计算机生成的示例性三维虚拟环境的功能框图;图3和图4示出了诸如web浏览器应用之类的应用显示如何可被绘制到计算机生成的三维虚拟环境的三维表面上的示例;以及图5是根据本发明的实施例示出一实施例中的客户端、虚拟环境服务器和web服务器间的交互的流程图,其中,web浏览器的web内容将被包括在虚拟环境中。
具体实施例方式下述详尽的描述提供了多个具体细节以提供对本发明的全面理解。但是,本领域技术人员应当理解,本发明可无需这些具体细节而被实施。在其他示例中,为了不模糊化本发明,没有详细描述公知的方法、程序、组件、协议,算法和电路。图1示出了示例性系统10的一部分,该系统使得能够在计算机生成的三维虚拟环境中共享诸如web浏览器的web内容之类的应用输出。在图1所示的示例中,用户12可通过分组网络16或其他常用通信基础设施来从他们的计算机22访问虚拟环境14。虚拟环境14是由一个或多个虚拟环境服务器18实现的。用户12之间的通信会话可由一个或多个通信服务器20实现。虚拟环境可被实现为使用一个或多个实例,每个实例可被一个或多个虚拟环境服务器容宿。当存在多个实例时,一个实例中的化身一般没有察觉到其他实例中的化身。惯常地,虚拟环境的每个实例可被称为单独的世界。给定世界中的化身被允许与在同一世界中也具有化身的其他用户经由通信服务器20所容宿的通信会话来通信。虚拟环境14可以是任意类型的虚拟环境,例如,针对在线游戏创建的虚拟环境、 为实现在线商店而创建的虚拟环境、为实现在线培训设施而创建的虚拟环境、用于商业合作的虚拟环境,或用于任何其他目的的虚拟环境。虚拟环境出于很多原因而被创建,并且可被设计为使得能够进行用户交互以达到特定的目的。虚拟环境的示例性用途包括,游戏、商业、零售、培训、社交网络,以及许多其他方面。—般而言,虚拟环境将具有其自己的独特三维坐标空间。表示用户的化身可在三维坐标空间中移动,并在三维坐标空间中与对象和其他化身交互。虚拟环境服务器维护虚拟环境,并基于用户化身在虚拟环境中的位置,生成每个用户的视觉显示。该视图可取决于化身正朝向的方向和所选择的观看选项,例如,用户是否选择使视图看起来好像用户正通过化身的眼睛观看,或用户是否选择从化身切回全景以查看化身所处位置的三维视图以及在计算机产生的三维虚拟环境中化身正在干什么。每个用户12具有计算机22,该计算机可被用于访问计算机产生的三维虚拟环境。 计算机22将运行虚拟环境客户端M以及对虚拟环境的用户界面26。用户界面沈可以是虚拟环境客户端M的一部分或被实现成独立的进程。虽然特定的虚拟环境客户端可被设计为与多个虚拟环境服务器通过接口连接,但是用户希望访问的每个虚拟环境可要求单独的虚拟环境客户端。通信客户端观被提供以使用户能够与其他参与计算机产生的三维虚拟环境的用户通信。通信客户端可以是虚拟环境客户端M的一部分、用户界面26,或者可以是运行在计算机22上的独立进程。用户可在显示器/音频30上看到计算机产生的三维虚拟环境的一部分的表示,并且经由诸如鼠标、触摸板或键盘之类的用户输入设备32来输入命令。显示器/音频30可被用户在参与到虚拟环境中时用来发送/接收音频信息。例如,显示器/音频30可以是具有扬声器和麦克风的显示屏。用户界面在虚拟环境客户端的控制下生成显示在显示器上的输出,从用户接收输入并且将用户输入传递给虚拟环境客户端。虚拟环境客户端将用户输入传递给虚拟环境服务器,该虚拟环境服务器使用户的化身34或其他在用户控制下的对象在虚拟环境中执行所希望的行动。以这种方式,用户可控制虚拟环境的一部分,例如人物的化身或与化身有联系的其他对象,以针对虚拟环境的其他用户改变虚拟环境。通常,化身是对人物或其他在虚拟环境中表示用户的生物的三维渲染。用户在创建虚拟环境的简档时选择他们的化身的样子,然后可以例如通过例如使化身行走、奔跑、挥手、交谈或做出类似的动作来控制化身在虚拟环境中的动作。因此,表示虚拟环境14中的化身的框34并不意欲显示化身在虚拟环境中出现的预期方式。相反,化身的实际外貌是不重要的,因为每个用户的化身的实际外貌希望是在一定程度上不同的,并且根据用户的偏好被定制。由于化身在计算机生成的三维虚拟环境中的实际外貌对此处所讨论的概念是不重要的,因此化身在这里一般用简单的几何图形或二维绘图而非诸如人或动物之类的复杂三维图形来表示。
图2示出了计算机生成的示例性三维虚拟环境。在图2所示的示例中,示出了化身34A,其站在标牌42的前面,该标牌附着在标杆上。用户可使用用户界面沈来使化身在虚拟环境中行走以接近虚拟环境中的对象。例如,用户可使化身走向图3所示的标牌42,可使化身走向椭圆形窗口 40 (图4),使化身移动到窗口 41、门43,或者使化身移动到虚拟环境中的其他地方。可向用户提供虚拟环境的视图,该视图位于化身后面(如图2所示)以查看化身在虚拟环境中所处的位置。可替换地,可向用户提供表示化身在虚拟环境中之所见的视图,就好像用户正在通过化身的眼睛来看虚拟环境里面(图3和图4)。出于简化的目的,在图2所示的示例中仅在虚拟环境的图示部分中示出一个化身 (化身34A)。虚拟环境可被数百或者数千用户同时使用,这使得虚拟环境对于在用户间共享信息和想法是理想的。另外,根据本发明的实施例,外部内容可被包括在虚拟环境中以使得外部内容也可被用户所共享。这增强了虚拟环境的有用性,因为将被提供给虚拟环境的来自外部源的内容将以如下的方式被共享和操纵,即,该内容附近的所有用户将看到操纵并且在虚拟环境中具有对内容的相似视图。内容可以是诸如网页之类的静态内容,可以是诸如FLASH视频之类的动态内容,或者可以是其他类型的内容。由于内容在本地被接收,故内容可由用户浏览器处的插件来支持,使得内容的类型不被服务器的技术限制所限制。通过还共享浏览器状态信息,虚拟环境的用户可看到web内容的同步视图。图3示出了示例性网页50,其已被渲染在虚拟环境14中的三维表面52上。该示例中的三维表面52类似于附着在标杆上的标牌。图4示出了另一个示例,其中,三维表面类似于附着于墙的椭圆形布告牌。虚拟环境服务器可将URL与任何在虚拟环境中所希望的表面相关联。服务器可将 URL与表面相关联并且可选地将URL与默认纹理相关联,而不是将纹理绘制到三维表面。虚拟环境服务器还可以包括初始的一组cookie、JavaScript变量、Java, FLASH以及应当与 URL相关联的其他插件状态信息。额外的状态信息允许正在查看web内容的虚拟环境的用户可具有关于web内容的已同步视图。虚拟环境服务器还可将剪切参数关联以向客户端提供关于可用表面的大小以及来自网页的内容当被渲染在虚拟环境中时应当如何被格式化的信息。虚拟环境服务器可指定与表面相关联的其他属性,例如,谁可以看到与表面相关联的内容,哪个化身可与内容交互,化身是否需要诸如虚拟激光指示器之类的特定工具来与内容交互,或者任何其他将被置于内容上的限制。根据本发明的实施例,当web内容或其他应用生成的内容被客户端所接收时,这些内容将被绘制到计算机生成的三维虚拟环境中的一个或多个三维表面上。化身/用户可查看内容并与内容交互。一个用户的交互将被处理并被所有其他化身所看到。通过这种方式,可在计算机生成的三维虚拟环境中共享应用。由于虚拟环境服务器发送URL和浏览器状态而非web内容,因此,虚拟环境服务器所需的用于包含web内容的带宽量被最小化。虚拟环境服务器可能希望限制内容,使得一次仅有一个人可以与内容交互。为此, 虚拟环境服务器可使得用户能够通过点击内容来选择内容并第二次点击内容来取消选择内容,从而“检验”内容。当客户端选择检验内容时,该客户端负责发布命令以按希望的方式更新内容,直到其放弃对内容的控制为止。可以取决于将在虚拟环境中实现的策略来实现对谁可在虚拟环境中控制内容以及将如何在虚拟环境中共享控制的限制的许多实现方式。
图3示出了化身当直接站在标牌52前面使将看到的视图。在该视图中,三维表面 52看起来是平的。图4示出了如果化身从不同的角度看标牌将可看到的同一标牌的视图。 从该角度看,该标牌在化身看来是不同的。而是,化身正从一个角度来看标牌,这接近于从一个边缘来看标牌。化身具有关于椭圆形布告牌40的类似的角度。例如,从图2的有利地位来看,椭圆形公告牌看起来更小并且看起来以某一角度延伸至三维环境。但是,当用户转移到图4所示出的角度时,椭圆形公告牌看起来是平的,并直接位于用户前方。这里所使用的术语“ 3D表面,,将指三维虚拟环境中的任意平面,无论该平面是平的二维平面,还是在虚拟环境中以另一三维方式成形的。例如,不是在标牌52上渲染web内容,而是web内容可以被渲染在标杆M的若干面上。图1包括多个箭头(以1到8标号),这些箭头示出了可被用于使得能够在虚拟环境中共享应用的示例性处理。在图1中所示的示例中,假定虚拟环境将包括可从web服务器19获得的web内容。将假定可经由web服务器19上的URL 1获得web内容。为了使得能够在虚拟环境中获得web内容,虚拟环境服务器将渲染环境并将 URL(URL-I)和浏览器状态与虚拟环境的特定区域相关联。例如,如图2所示,URL-I可与虚拟环境中的公告牌40或标牌42相关联。包含URL(URL-I)的虚拟环境参数将被发送给每个用户(箭头1)。虚拟环境客户端M将为用户渲染虚拟环境。虚拟环境客户端还将确定在虚拟环境中包含哪些URL,以及将URL传递给用户计算机上的web浏览器25 (箭头2)。关于此,虚拟环境客户端还将确定是否存在任何与该URL相关联的浏览器状态信息,并且如果存在则将把浏览器状态信息与URL —起传递给web浏览器。Web浏览器25在收到URL时,将从web服务器19获得与URL相关联的内容。具体地,web浏览器将发送对内容的请求(箭头3)并接收内容(箭头4)。当化身在虚拟环境中遇到表面时,web浏览器可请求URL,或者可替换地可在不同的时间点请求URL。例如,可以提示web浏览器请求与虚拟环境中的化身的特定半径内的URL、特定卷(volume)内的所有 URL、一组卷内的所有URL或者其他方式的URL相关联的内容。当web浏览器接收到内容时,其将内容渲染到缓冲器27中(箭头幻。将内容存储在缓冲器27中使得在需要时内容可用来被包括在虚拟环境中。当用户的化身处于与URL 相关联的区域附近时,虚拟环境客户端将从缓冲器27取回内容(箭头6)并且将内容渲染到虚拟环境的用户视图中的适当三维表面上。关于获得内容或渲染内容,web浏览器将使用与URL —起取回的浏览器状态,使得查看特定URL的所有用户具有诸如已同步cookie之类的同步状态。浏览器状态的示例包括正被显示的页面的URL、与正被显示的网页的域相关联的一组cookie (本质上是名称值对)、JavMcript变量、Java、FLASH,以及其他插件状态。为了在每个客户端计算机上得到完美同步的网页显示,所有这些状态项将需要被同步。本发明并不限于获得完美同步的实施例。而是,具体实现方式将取决于将被交换的状态的复杂度。因此,如果获得完美同步是不现实的,同步的量将以交换复杂状态信息的复杂度作为交换。使cookie同步将允许单个用户的账户/会话被使用在共同浏览会话中。但是,并不是所有的web应用将对已同步的cookie有效,因而如果希望的话可禁用此选项。每个客户端将以并行方式执行该处理,因此,每个客户端从web服务器19获得与URL 1相关联的自己版本的内容并且使用状态信息来使其网页视图与其他用户的网页视图同步。由于每个客户端直接从web服务器获得内容,因此虚拟环境服务器无需获得内容或将内容传递给每个用户。这减少了虚拟环境服务器的带宽要求,使得虚拟环境服务器更易于将动态内容包括在虚拟环境中。另外,与包括内容相关联的处理功率可被实际减少,因为虚拟环境服务器并不需要使用内容来创建三维表面的纹理,而是仅将URL与表面相关联。假定与URL-I相关联的内容包括对URL-2的链接,并且用户12中的一个选择使用该链接来查看第二 URL。在图1所示的示例中,假定以更详细的细节显示的用户12是选择第二 URL的用户。当用户点击链接或者以其他方式选择了第二个URL时,虚拟环境客户端将经由用户界面沈接收输入并将新的URL发送到web浏览器(箭头幻。web浏览器将从 web服务器获得内容,并将其渲染到缓冲器,在该缓冲器中,其将被取回并渲染到虚拟环境中。获得与URL相关联的内容并将其渲染在三维表面的处理已被如上说明。点击URL还将在web浏览器中更新状态信息。当用户点击URL以获得新的网页并更新web浏览器状态时,虚拟环境客户端将向虚拟环境服务器发送消息(箭头7),该消息包括新的URL、更新后的浏览器状态以及与URL 相关联的虚拟环境坐标(或者其他识别信息)。在接收到新的URL和更新后的状态信息之后,虚拟环境服务器将把新的URL和更新后的状态信息传递给其他客户端中的每一个(箭头8)。当客户端接收到新的URL和更新后的状态信息时,它们将与web服务器交互以获得与新URL相关联的内容。更新后的状态信息将被用于使浏览器与点击该URL的第一个用户同步。因此,显示在3D表面的内容可在用户间被同步。URL可位于特定的位置,或者可替换地可在虚拟环境的多个区域间被同步。因此, 例如,URL可与椭圆形公告牌40和标牌42 二者相关联。类似地,URL可与虚拟环境的多个区域的屏幕相关联,使得一个用户可在一个区域操纵web内容并使得内容在虚拟环境的多个其他区域可见。因此,web内容可使得虚拟环境的不同区域的人能够查看类似的内容并因而能够在视觉上彼此通信,即便它们彼此并不邻近。图5示出了图示出根据本发明的实施例如何可将内容集成到虚拟环境中的流程图。如图3所示,虚拟环境服务器将生成嵌入URL的虚拟环境,并将嵌入URL的虚拟环境传递给客户端中的每一个(100,100’)。每个客户端将联系web服务器(102,102’ )以获得 web内容(104,104’)的副本。如上所述,虽然在此实施例中客户端都是直接从web服务器获得内容,但是,内容也可被以另一方式被分发,例如通过使web服务器将内容传递给虚拟环境服务器(106)用以分发给客户端(108,108’),或通过使web服务器将内容传递给客户端中的某一个用以分发到其他客户端(112)。如上所述,存在多种在通信网络上分发内容的方式,并且本发明并不限于用来实现该方面的任何特定方式。如果客户端的某一个与内容交互,其导致新的URL(114)被选择,则新的URL和状态信息将被发送到web服务器以使得新的web内容被下载到客户端(116)。新的URL和状态信息也将被发送到虚拟环境服务器(118)以使得新的URL和状态信息由虚拟环境服务器被与所有其他客户端同步(120)。当其他客户端接收到新的URL和状态信息时,客户端就将新的URL和状态信息传递给web服务器(122)以获得新的web内容(IM)。虽然已经描述了其中将被集成到虚拟环境中的内容是web内容的实施例,但是, 本发明并不限于此种方式,因为来自其他应用的输出也可被使用。例如,假定用户中的某一个正运行诸如计算机辅助设计应用之类的由网络上的服务器容宿的应用。该应用的输出可被流传输到用户并被存储在缓冲器27中。当需要时,虚拟环境客户端M可随即使用该内容并将内容渲染在虚拟环境中的三维表面上。因此,通过使客户端缓存应用的屏幕数据,可以在三维虚拟环境中提供任意数量的应用的输出,所述屏幕数据可随后被虚拟环境客户端在本地渲染在计算机生成的三维虚拟环境的一个或多个表面上。虽然关于执行与使得外部内容能够被包括在计算机生成的三维虚拟环境中相关联的各种任务,特定的软件模块和片段已被描述,但是,本发明并不限于该特定的实施例, 因为,多个不同的在计算机系统的组件间分配功能的方式可被实现。因此,具体实现方式将取决于针对其实现方式而选择的具体编程技术和软件体系结构,并且,本发明并不意欲被限制在所示出的一个体系结构中。上述功能可被实现为一组或多组在计算机可读存储器中存储并且在一个或多个计算机内的一个或多个处理器上执行的程序指令,对于本领域技术人员而言,很明显,此处所描述的所有逻辑可通过使用分立元件、诸如专用集成电路(ASIC)之类的集成电路、与诸如现场可编程门阵列(FPGA)之类的可编程逻辑设备一起使用的可编程逻辑或微处理器、 状态机,或其他任意包含其任意组合的设备来实现。可编程逻辑可被暂时或永久地固定在诸如存储器芯片、计算机存储器、记忆棒、磁盘,或其他存储介质之类的有形介质上。所有这些实施例都意欲落入本发明的范围内。应当理解,在本发明的精神和范围内,可进行对多个示出在附图中并在说明书中所描述的实施例的变更和修改。相应地,意欲使所有包含在上述描述并示出在附图中的内容以说明性而非限制性的方式被解释。本发明仅如在所附权利要求及其等价物中限定的那样受限。
权利要求
1.一种计算机实现的在计算机生成的三维虚拟环境中包含web内容的方法,所述方法包括如下步骤通过在所述计算机上实例化的web浏览器来获得所述web内容;将所述web内容存储在所述计算机上的缓冲器中;通过虚拟环境客户端,将所述web内容渲染在所述计算机生成的三维虚拟环境的三维表面上。
2.如权利要求1所述的方法,其中,独立于所述虚拟环境客户端地通过所述web浏览器来获得所述web内容。
3.如权利要求1所述的方法,其中,从独立于虚拟环境服务器的web服务器获得所述 web内容。
4.如权利要求1所述的方法,还包括从所述三维表面获得URL的步骤,该URL可在获得所述web内容的步骤中被用于指示所述web浏览器获得所述web内容。
5.如权利要求4所述的方法,其中,所述URL还包括浏览器状态信息。
6.如权利要求5所述的方法,其中,所述浏览器状态信息包括一组cookie。
7.如权利要求6所述的方法,其中,所述浏览器状态信息还包括JavMcript变量。
8.如权利要求1所述的方法,还包括从与所述web内容相关的用户接收输入的步骤,所述输入包括更新所述web内容的指令。
9.如权利要求8所述的方法,还包括如下步骤获得与更新所述web内容的指令相关联的新URL,并且将该新URL和浏览器状态传递给web服务器以获得更新后的web内容。
10.如权利要求9所述的方法,还包括如下步骤通过在所述计算机上实例化的所述web浏览器获得所述更新后的web内容;将所述更新后的web内容存储在所述计算机上的缓冲器中;通过所述虚拟环境客户端,将更新后的web内容渲染在所述计算机生成的三维虚拟环境的三维表面上。
11.如权利要求9所述的方法,还包括将所述新URL和新的浏览器状态传递给虚拟环境服务器以使使得所述新URL和新的浏览器状态能够被传递给所述虚拟环境的其他用户的步骤。
12.—种使得虚拟环境的多个用户能够访问该虚拟环境内的web内容的方法,该方法包括如下步骤将URL和初始浏览器状态与三维虚拟环境内的三维表面相关联;将所述URL和初始浏览器状态与描述所述三维表面的参数一起发送到所述三维虚拟环境的用户。
13.如权利要求12所述的方法,其中,所述URL使得所述三维虚拟环境的用户能够从不附属于支持所述虚拟环境的服务器的web服务器获得与所述URL相关联的web内容,其中描述所述三维表面的参数使得所述web内容能够被映射到所述虚拟环境中,并且其中所述初始浏览器状态使得所述用户能够在所述虚拟环境中具有对所述web内容的同步视图。
14.如权利要求12所述的方法,还包括如下步骤从所述计算机生成的三维虚拟环境的所述用户中的一个接收更新后的URL和更新后的浏览器状态;以及将所述更新后的URL和更新后的浏览器状态发送给所述计算机生成的三维虚拟环境中的其他用户中的至少一些。
15.如权利要求14所述的方法,其中,所述更新后的浏览器状态包括与所述web内容相关联的一组cookie。
全文摘要
虚拟环境服务器记录并广播将与虚拟环境中的三维(3D)表面相关联的统一资源定位符(URL)、浏览器状态信息以及可选的剪切参数。当用户的化身在虚拟环境中遇到3D表面时,客户端获得该URL和浏览器状态信息,并利用标准web浏览器获得web内容。该web内容被存储到离屏缓冲器中。来自离屏缓冲器的内容然后被本地渲染为到虚拟环境的3D表面上的纹理贴图。每当用户中的一个与web内容交互时,新的URL和新的浏览器状态信息被用于以相同的方式获得更新后的web内容。新的URL和新的浏览器状态信息还被从客户端传递到服务器,使得服务器可在每个与其他用户中的每一个相关联的其他客户端中更新URL和新的浏览器状态信息。
文档编号H04L29/06GK102204207SQ200980109807
公开日2011年9月28日 申请日期2009年3月18日 优先权日2008年3月18日
发明者阿恩·海恩德曼 申请人:阿瓦雅公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1