一种基于云端绘制的大规模三维场景多人协同创作方法

文档序号:6374196阅读:243来源:国知局
专利名称:一种基于云端绘制的大规模三维场景多人协同创作方法
技术领域
本发明涉及三维可视化场景创作与编辑领域,尤其是一种基于云端绘制的大規模三维场景多人协同创作方法。
背景技术
随着云计算的不断发展,云绘制开始进入研究者的视线。云绘制的模式与常规的云计算类似,即将3D程序放在远程的服务器中绘制,用户终端通过Web软件并借助高速互联网接入访问资源,指令从用户終端中发出,服务器根据指令执行对应的绘制任务,而绘制结果画面则被传送回用户终端中加以显示。云绘制对网络响应速度和服务器3D图形性能具有一定的要求。云绘制系统要面 对多用户的绘制请求,这对于后端的服务器系统而言将是巨大的压力。3D应用程序对于用户指令的响应高度敏感,譬如在编辑3D场景时,用户指令必须得到及时响应,若稍有延迟,用户就会明显感觉操作不流畅。而指令延迟则取决于用户终端与服务器的网络接入性能。因此需要良好的网络环境来满足云绘制所需要的快速响应。云绘制的实现将带来诸多的好处。首先,云让用户可以在任何轻量级的終端上获得高质量的3D绘制,如可以在智能手机之类的掌上设备中玩《极品飞车13》或者更新的3D大作,終端性能变得不那么重要;其次,云绘制模式意味着多个用户可以在同一个计算集群中公用同一 3D应用程序,当然他们也可以构建惊人数量的协作;云绘制能够让用户摆脱对于地域和设备的依赖ー假如你现在想玩大型3D游戏,那么高配置的台式机是必然的选择,虽然各大PC厂商都有推出配置奢侈的游戏笔记本,但这类产品普遍是配备17英寸大屏幕的“重量级”产品,基本上别指望能拿它经常到处走,也就是说你只能老老实实坐在电脑桌前享受3D大作的快感。云绘制令这种羁绊消弭于无形,用户可以在任何一种终端设备中干同样的事情,通过智能手机也能获得过去高性能PC才能提供的卓越效果。云绘制带来变革的体现在社会生产的诸多方向。本专利创造性的将云绘制运用在大規模三维场景的多人协同创作中。目前在建筑、汽车、飞机、轮船等设备的设计中,普遍已使用到3D技术,如创作3D虚拟城市,可能需要多人进行创作,创作者可以在屏幕上随时变更设计方案和快速预览。传统的单机创作模式下,创作者不能实时观测其他人的创作結果,也无法准确判断自己的创作结果对整个场景的影响,因此需要更高的沟通成本,如果创作者不在同一地方则创作难度更大。利用云绘制可以很好地解决这些问题一个创作中的场景在云服务器中绘制生成,不同地域的创作者可以在同一个平台中进行场景创作,彼此直接交流看法并作出结论,修改后的创作共同验证,这相当于将所有创作者紧密地联结在一起内耗因素完全消除,个人创意均可得到发挥,最終整个团队能够以最高效率完成创作エ作,而且也意味着能够获得高质量的创作作品。

发明内容
本发明的目的是提供一种基于云端绘制的大規模三维场景多人协同创作方法,探索将云绘制技术与三维可视化场景创作的结合应用。目标是通过将场景绘制流程放在服务器端,服务器端完成多用创作过程互斥,创作结果合成,使创作者在进行大規模三维场景创作时能实时观测所有创作者的创作結果,辅助创作者更好的判断自己的创作对整个场景产生的影响,減少创作者之间的沟通成本,对超大規模场景的多人协同创作具有积极意义。为了达到上述目的,本发明提供了一种基于云端绘制的大規模三维场景多人协同创作方法,由下列两大模块组成服务器端与客户端,服务器端是由多台计算机构成的集群;集群中的主机分为调度主机和绘制主机;三维场景绘制流程在服务器端执行,创作过程产生的场景数据保存在服务器端;包括下列步骤
(1)首先由多台客户端主机产生用户指令,然后发送给服务器端的调度主机;
(2)调度主机首先负责处理多个用户编辑同一三维场景所产生的同步与互斥问题,然后为每台绘制主机分配绘制任务,最后将经过处理后的用户指令发送给服务器端的多台绘制王机; (3)绘制主机首先根据用户指令修改场景,然后根据用户视角将场景绘制成图像,最后将图像回传给对应的客户端主机;
(4)客户端主机提供三维场景创作的操作界面,并实时显示所有客户端主机的创作结果。优选步骤
(1)绘制进程启动后,绘制流程开始循环执行;
(2)每帧绘制开始前,调度主机从缓存中读出从前一帧开始的时间间隔内产生的用户指令,调度主机再将收到的用户指令合并成字符串流发送到所有绘制主机;
(3)所有绘制主机更新场景数据,绘制由本机负责的视图。优选步骤
(1)调度主机将场景空间在指定平面上分为两块及以上,每位创作人员可以被授权编辑ー块及以上的子空间,对于没有创作权限的子空间,创作人员无法在该空间中编辑场景,但可以实时查看该空间授权者的创作结果;
(2)创作人员可以对取得授权子空间中的场景元素加锁,被加锁的场景元素只有加锁者可以进行操作,如果其他创作人员需要操作该场景元素,需等加锁者解锁后方可操作。优选步骤调度主机收到用户指令后,确定该帧需要绘制的视图总数,绘制分配算法根据ー个分割指数将所有用户视锥分割并将所有分割后的视锥分配到所有绘制主机。优选步骤绘制主机收到子视锥后,首先检测每个子视锥中的场景是否发生变化,没有发生变化的子视锥不会被绘制。优选步骤在用户指令和用户视锥过多的情况下,调度主机可以申请一台绘制主机作为临时调度主机,部分用户指令处理与视锥分割会转移到临时调度主机执行。优选步骤绘制主机的绘制结果在传给客户端之前会进行压缩,再由客户端进行解压缩。综上所述,由于采用了上述技术方法,本发明的有益效果是可以自动完成场景创作者的创作过程互斥,创作结果合成,辅助创作者更好的判断自己的创作对整个场景产生的影响,简化创作者之间的合作,使创作者能更好的专注于创作过程而不是结果合并与沟通协作。


本发明将通过例子并參照附图的方式说明,其中
图I是本发明用于基于云端绘制的三维大規模场景多人协同创作方法的系统结
构图2是本发明用于基于云端绘制的三维大規模场景多人协同创作方法的系统结
构流程图3是本发明用于基于云端绘制的三维大規模场景多人协同创作方法的绘制流程图。
具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是ー系列等效或类似特征中的ー个例子而已。为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进ー步的详细描述。參见图I :
相对离线单人的创作平台,多人协同创作需要保证用户操作的同步与互斥。同步指用户在创作自己负责部分场景时,整个场景也会同步更新其他用户的创作結果。多用户对同一三维场景进行创作结果同步的实现方法
(1)同步操作通过将绘制流程放在云端的服务器集群执行来实现,绘制进程启动后,绘制流程开始循环执行;
(2)每帧绘制开始前,调度主机从缓存中读出从前一帧开始的时间间隔内产生的用户指令,调度主机将收到的用户指令合并成字符串流发送到所有绘制主机;
(3)所有绘制主机更新场景数据,绘制由本机负责的视图。如此ー来,客户端收到的视图中包含了多个用户的创作結果。互斥指多人协同创作需要避免多个用户同时操作同一模型。多用户对同一 三维场景进行创作过程互斥的实现方法
(I)创作过程互斥指多人协同创作需要避免多个用户同时操作同一模型。(2)服务器将场景空间在指定平面上分为两块及以上,每位创作人员可以被授权编辑ー快及以上的子空间,对于没有创作权限的子空间,创作人员无法在该空间中编辑场景,但可以实时查看该空间授权者的创作結果。(3)创作人员可以对取得授权子空间中的场景元素加锁。被加锁的场景元素只有加锁者可以进行操作,如果其他创作人员需要操作该场景元素,需等加锁者解锁后方可操作。云端实时绘制需要保证所有客户端主机能获得25帧/S以上的画面刷新速度,在整个绘制流程中,需要采用多种手段提高服务器绘制效率.方法在服务器端绘制效率和网络响应效率两方面提出了优化策略,其中服务器端绘制优化策略如下
(I)服务器段采取策略充分利用所有绘制服务器的硬件资源。调度主机收到用户指令后,确定该帧需要绘制的视图总数,绘制分配算法根据ー个分割指数将所有用户视锥分割并将所有分割后的视锥分配到所有绘制主机。(2)绘制主机只绘制发生了场景变化的视锥。绘制主机收到的若干子视锥中,并非所有视锥中都发生了场景变化,对于ー帧的时间范围内,如果不操作摄像机,变化更是局部的。因此,绘制主机收到子视锥后,首先快速检测每个子视锥中的场景是否发生变化,没有发生变化的子视锥不会被绘制,该策略实现了视图的局部绘制更新,对绘制效率的提升非常明显。方法在网络响应效率的优化策略如下
(I)调度服务器自扩展机制。在用户指令和用户视锥过多的情况下,调度服务器可能成为整个系统的瓶颈。此时,调度服务器可以申请一台绘制服务器作为临时调度服务器,部分用户指令处理与视锥分割会转移到该绘制服务器去执行。 (2)图像压縮。绘制服务器的绘制结果在传给客户端之前会进行压縮,由客户端进行解压缩,減少了网络传输流量。參见图2 :
客户端客户端为用户提供三维场景可视化创作与编辑的UI界面,支持如三维地形生成与编辑,三维模型的添加与操作,粒子系统的编辑,后期特效处理等功能。上述功能的实现与结果绘制均不在客户端完成,因此客户端是轻量级的,对计算机配置没有较高的要求。客户端将用户在UI界面上的操作转换为特定格式的用户指令发送给调度主机,同时等待接受服务器端的绘制結果。接受到绘制结果后,客户端解压绘制结果,将图像显示到n界面上。用户指令包含了用户的ID、地址信息、当前视锥、当前帧上的操作,操作对象ID。用户指令是一条解释用户对场景中元素进行操作的字符串。用户指令由操作对象类型(模型、摄像机、光照等),操作对象ID,操作类型(选中、平移、旋转等)和參数列表组成。调度主机调度主机主要负责用户指令的互斥判断,将用户指令拆分为操作指令和绘制指令,广播操作指令和定点发送绘制指令。互斥判断阶段,调度主机判断以下两种情况是否存在用户操作权限不够的场景元素和多个用户操作同一场景元素。出现上述情况时,调度主机认为用户指令无效,不再处理该指令,并返回警告给客户端。指令拆分阶段,调度主机将通过互斥判断的指令中的用户操作与操作对象提取后组成操作指令流。调度主机的绘制分配算法根据ー个分割指数进行视锥分割,每个分割后的视锥与用户ID,用户地址,绘制主机ID,绘制主机地址形成绘制指令。指令发送阶段,调度主机首先将操作指令流发送到所有绘制主机。然后将将每个绘制指令发送对应的绘制主机。通常情况下只需要一台调度主机,当用户操作过多时,调度主机可能成为绘制流程中的瓶颈,此时,调度主机会向绘制服务器组提出申请,绘制服务器组将会分配若干台服务器作为零时调度服务器,来分担调度主机的压力。绘制王机绘制王机根据绘制指令绘制对应的视维,绘制完成后,将结果发送到客户端。绘制主机收到绘制指令后,首先判断视锥中是否发生场景变化。由于在调度主机中进行了视锥分割,因此绘制主机收到的是子视锥,由于一帧时间内用户操作的短暂性,子视锥中很可能没有反生任何变化,对这样的子视锥进行绘制是没有意义的。绘制主机会快速对所有子视锥进行检测,排除没有发生场景变化的视锥。视锥绘制结束后,绘制主机的绘制结果在传给客户端之前会进行压缩,然后再将结果发送给客户端。參见图3这是ー个绘制流程图
每帧绘制开始后,调度主机首先对接收到的用户指令进行互斥判断。调度主机将用户指令集合中操作权限不够的指令和不同用户操作同一场景元素的指令删除。过滤后的用户指令将被分为两个部分操作指令和绘制指令。操作指令是用户指令中描述与用户操作相关的部分,包括用户当前帧上的操作,操作对象ID。绘制指令是用户指令中描述与用户绘制视锥相关的部分。分解后的指令分别形成操作指令流和绘制指令集。操作指令流立即被发送到所有绘制主机,由绘制主机根据操作指令更新场景。绘制指令集中的所有视锥会被分 害わ重新形成若干个绘制指令集,每个绘制指令集会被发送到一台绘制主机上。绘制主机修改完场景并且接收到绘制指令后,会快速对所有子视锥进行检测,排除没有发生场景变化的视锥。绘制主机根据视锥将修改后的场景绘制成图像,通过用户的地址信息将压缩后的图像发送出去,完成ー帧绘制。
权利要求
1.一种基于云端绘制的大規模三维场景多人协同创作方法,其特征在于包括下列的步骤 (1)首先由多台客户端主机产生用户指令,然后发送给服务器端的调度主机; (2)调度主机首先负责处理多个用户编辑同一三维场景所产生的同步与互斥问题,然后为每台绘制主机分配绘制任务,最后将经过处理后的用户指令发送给服务器端的多台绘制王机; (3)绘制主机首先根据用户指令修改场景,然后根据用户视角将场景绘制成图像,最后将图像回传给对应的客户端主机; (4)客户端主机提供三维场景创作的操作界面,并实时显示所有客户端主机的创作结果。
2.根据权利要求I所述的ー种基于云端实时绘制的三维大规模场景多人协同创作方法,其特征在于多用户对同一三维场景进行创作结果同步的实现方法 (1)绘制进程启动后,绘制流程开始循环执行; (2)每帧绘制开始前,调度主机从缓存中读出从前一帧开始的时间间隔内产生的用户指令,调度主机再将收到的用户指令合并成字符串流发送到所有绘制主机; (3)所有绘制主机更新场景数据,绘制由本机负责的视图。
3.根据权利要求2所述的ー种基于云端实时绘制的三维大规模场景多人协同创作方法,其特征在于多用户对同一三维场景进行创作过程互斥的实现方法 (1)调度主机将场景空间在指定平面上分为两块及以上,每位创作人员可以被授权编辑ー块及以上的子空间,对于没有创作权限的子空间,创作人员无法在该空间中编辑场景,但可以实时查看该空间授权者的创作结果; (2)创作人员可以对取得授权子空间中的场景元素加锁,被加锁的场景元素只有加锁者可以进行操作,如果其他创作人员需要操作该场景元素,需等加锁者解锁后方可操作。
4.根据权利要求I或2或3所述的ー种基于云端实时绘制的三维大規模场景多人协同创作方法,其特征在干调度主机收到用户指令后,确定该帧需要绘制的视图总数,绘制分配算法根据ー个分割指数将所有用户视锥分割并将所有分割后的视锥分配到所有绘制主机。
5.根据权利要求4所述的ー种基于云端实时绘制的三维大规模场景多人协同创作方法,其特征在干绘制主机收到子视锥后,首先检测每个子视锥中的场景是否发生变化,没有发生变化的子视锥不会被绘制。
6.根据权利要求I或2或3所述的ー种基于云端实时绘制的三维大规模场景多人协同创作方法,其特征在于在用户指令和用户视锥过多的情况下,调度主机可以申请一台绘制主机作为临时调度主机,部分用户指令处理与视锥分割会转移到临时调度主机执行。
7.根据权利要求6所述的ー种基于云端实时绘制的三维大规模场景多人协同创作方法,其特征在干绘制主机的绘制结果在传给客户端之前会进行压缩,再由客户端进行解压縮。
全文摘要
本发明公开了一种基于云端绘制的大规模三维场景多人协同创作方法,涉及三维可视化场景创作与编辑领域,由下列两大模块组成服务器端与客户端,服务器端是由多台计算机构成的集群,集群中的主机分为调度主机和绘制主机;调度主机负责处理多个用户编辑同一三维场景所产生的同步与互斥问题,以及将绘制任务分配给绘制主机;绘制主机根据用户视角将场景绘制成图像,发送给对应的客户端主机;客户端主机提供三维场景创作的操作界面。本发明创造性在服务器端自动完成了所有用户的创作结果的合并,帮助用户在创作过程中实时观测所有用户的创作结果,对超大规模场景的多人协同创作具有积极意义。
文档编号G06T19/00GK102866919SQ201210267390
公开日2013年1月9日 申请日期2012年7月31日 优先权日2012年7月31日
发明者陈雷霆, 曹跃, 田师聪, 刘畅, 谢彰桓, 许泉, 张剑平, 范靖宇, 蔡洪斌 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1