发布信息

一种UnrealEngine分布式构建方法与流程 专利技术说明

作者:admin      2023-06-29 16:05:20     507



计算;推算;计数设备的制造及其应用技术一种unreal engine分布式构建方法技术领域1.本发明涉及场景构建技术领域,具体涉及一种unreal engine分布式构建方法。背景技术:2.unreal engine是目前最流行的游戏制作引擎,同时也可以是一款非常优秀的cg软件,可用于影视制作。但在艺术家搭建完场景之后,需对场景进行构建,才能看到最终效果。构建主要包括对场景中的各种光照、纹理、材质、贴图等进行计算。3.现有技术中,通常使用一台设备进行场景构建,构建时间长。技术实现要素:4.有鉴于此,本发明的目的在于提供一种unreal engine分布式构建方法,以克服目前使用一台设备进行场景构建,导致构建时间长的问题。5.为实现以上目的,本发明采用如下技术方案:6.本技术提供了一种unreal engine分布式构建方法,应用于私有云渲染系统,所述私有云渲染系统包括:服务器及与所述服务器相连的预设数量的节点机,所述方法包括:7.获取用户在所述服务器网页端提交的构建任务;8.所述服务器根据所述构建任务选择节点机数量,并建立构建作业;9.所述服务器与选择数量的所述节点机建立连接,并在所述节点机中选择一个为主控机,剩余所述节点机为被控机;10.将所述构建作业发送给所述主控机;11.所述主控机与所述被控机建立网络连接;12.所述主控机向所述被控机发送任务细节;13.所述主控机和所述被控机开始执行构建作业;14.所述主控机获取所述被控机完成的构建数据,结合自身完成的构建数据,形成构建结果,并将所述构建结果发送给所述服务器,完成所述构建任务。15.进一步的,以上所述的方法,所述获取用户在所述服务器网页端提交的构建任务,包括:16.获取所述用户选择的ue场景文件和构建参数,建立ue swarm分布式构建任务。17.进一步的,以上所述的方法,所述构建参数,包括:18.构建质量、构建关卡、构建灯光方式、节点机数量、超时时间和机器配置要求。19.进一步的,以上所述的方法,所述所述主控机与所述被控机建立网络连接,包括:20.所述主控机与所述被控机建立socket连接。21.进一步的,以上所述的方法,所述主控机具有gpu显卡,且所述主控机与所述被控机的ue swarm版本一致。22.进一步的,以上所述的方法,在所述所述主控机向所述被控机发送任务细节之前,还包括:23.所述主控机将ue swarm agent发送给所述被控机;24.所述被控机启动接收到的所述ue swarm agent,完成参数配置。25.进一步的,以上所述的方法,在所述所述被控机启动接收到的所述ue swarm agent,完成参数配置之后,还包括:26.所述主控机启动所述ue swarm agent和ue swarm coordinator,从而获取所述被控机状态;27.完成参数配置的所述被控机向所述主控机发送就绪信息。28.进一步的,以上所述的方法,所述所述主控机向所述被控机发送任务细节,包括:29.判断所述主控机是否收到所有所述被控机的所述就绪信息,若是,则所述主控机向所述被控机发送任务细节。30.进一步的,以上所述的方法,所述所述主控机获取所述被控机完成的构建数据,结合自身完成的构建数据,形成构建结果,并将所述构建结果发送给所述服务器,完成所述构建任务,包括:31.所述被控机将完成的构建数据发送给所述主控机,并关闭自身的所述ue swarm agent,清楚自身数据;32.所述主控机根据所述被控机将完成的构建数据和自身完成的构建数据,形成构建结果;33.所述主控机将所述构建结果发送给所述服务器,并关闭自身的所述ue swarm agent和所述ue swarm coordinator,并清楚自身数据,完成所述构建任务。34.进一步的,以上所述的方法,所述完成参数配置的所述被控机向所述主控机发送就绪信息,包括:35.完成参数配置的所述被控机向所述主控机发送就绪信息,并每隔预设时间,所述被控机向所述主控机发送一个心跳数据。36.本发明的有益效果为:37.本技术应用于私有云渲染系统,且该系统具有服务器及与服务器相连的预设数量的节点机,首先获取用户在服务器网页端提交的构建任务,服务器根据构建任务选择节点机数量,并建立构建作业,服务器与选择数量的节点机建立连接,并在节点机中选择一个为主控机,剩余节点机为被控机,将构建作业发送给主控机,主控机与被控机建立网络连接,主控机向被控机发送任务细节,主控机和被控机开始执行构建作业,主控机获取被控机完成的构建数据,结合自身完成的构建数据,形成构建结果,并将构建结果发送给服务器,完成构建任务。本技术中,通过多台机器同时对一个场景进行构建,从而解决目前使用一台设备进行场景构建,导致构建时间长的问题。附图说明38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。39.图1是本发明一种unreal engine分布式构建方法一种实施例提供的流程图;40.图2是本发明一种unreal engine分布式构建方法一种实施例提供的节点机图形构建流程图。具体实施方式41.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。42.unreal engine是目前最流行的游戏制作引擎,同时也可以是一款非常优秀的cg软件,可用于影视制作。但在艺术家搭建完场景之后,需对场景进行构建,才能看到最终效果。构建主要包括对场景中的各种光照、纹理、材质、贴图等进行计算。43.现有技术中,通常使用一台设备进行场景构建,构建时间长。44.有鉴于此,本发明的目的在于提供一种unreal engine分布式构建方法,以克服目前使用一台设备进行场景构建,导致构建时间长的问题。45.图1是本发明一种unreal engine分布式构建方法一种实施例提供的流程图。应用于私有云渲染系统,私有云渲染系统包括:服务器及与服务器相连的预设数量的节点机,请参阅图1,本实施例可以包括以下步骤:46.s1、获取用户在服务器网页端提交的构建任务。47.s2、服务器根据构建任务选择节点机数量,并建立构建作业。48.s3、服务器与选择数量的节点机建立连接,并在节点机中选择一个为主控机,剩余节点机为被控机。49.s4、将构建作业发送给主控机。50.s5、主控机与被控机建立网络连接。51.s6、主控机向被控机发送任务细节。52.s7、主控机和被控机开始执行构建作业。53.s8、主控机获取被控机完成的构建数据,结合自身完成的构建数据,形成构建结果,并将构建结果发送给服务器,完成构建任务。54.可以理解的是,本实施例应用于私有云渲染系统,且该系统具有服务器及与服务器相连的预设数量的节点机,首先获取用户在服务器网页端提交的构建任务,服务器根据构建任务选择节点机数量,并建立构建作业,服务器与选择数量的节点机建立连接,并在节点机中选择一个为主控机,剩余节点机为被控机,将构建作业发送给主控机,主控机与被控机建立网络连接,主控机向被控机发送任务细节,主控机和被控机开始执行构建作业,主控机获取被控机完成的构建数据,结合自身完成的构建数据,形成构建结果,并将构建结果发送给服务器,完成构建任务。本实施例中,通过多台机器同时对一个场景进行构建,从而解决目前使用一台设备进行场景构建,导致构建时间长的问题。55.需要说明的是,本实施例依托于私有云渲染系统,采用bs架构,最少只需两台服务器即可保证整个系统的正常运行。但是ue分布式构建任务区别于传统渲染任务,这种任务没有帧数概念,且需时刻保持节点间的正常通信。并且,在用户提交构建任务后,会实时在服务器网页端显示任务状态,例如,在用户提交任务后,主控机和被控机未开始执行构建作业时,显示等待中;当主控机和被控机开始执行构建作业时,显示构建中;当构建完成后,显示构建完成。56.优选的,步骤s1,包括:57.获取用户选择的ue场景文件和构建参数,建立ue swarm分布式构建任务。58.优选的,构建参数,包括:59.构建质量、构建关卡、构建灯光方式、节点机数量、超时时间和机器配置要求。60.可以理解的是,私有云渲染系统由服务端和网页端组成,用户通过在网页的用户场景资产管理页面选择一个ue场景文件,提交为ue swarm分布式构建任务,提交作业时可设置构建质量,构建地图关卡,构建灯光方式是cpu lightmass还是gpu lightmass等参数,同时也可以设置分布式节点的数量,超时时间,机器配置要求等。61.优选的,步骤s5,包括:62.所述主控机与所述被控机建立socket连接。63.可以理解的是,socket只是一种连接模式,不是协议,socket是对tcp/ip协议的封装,socket本身并不是协议,而是一个调用接口(api),通过socket.我们才能使用icp/p协议。并且socket连接传输数据为字节级,传输数据可自定义;数据量小,传输数据时间短,性能高;适合于客户端和服务器端之间信息实时交互;可以加密,数据安全性强。64.优选的,主控机具有gpu显卡,且主控机与被控机的ue swarm版本一致。65.可以理解的是,主控机必须具有gpu显卡,主要负责统筹所有的被控节点;主控机与被控机的ue swarm版本一致,才能保证主控机上的ue swarm agent在被控机中能够使用。66.优选的,在步骤s6之前,还包括:67.主控机将ue swarm agent发送给被控机;68.被控机启动接收到的ue swarm agent,完成参数配置。69.可以理解的是,主控机提取出ue swarm agent,并分发到每台被控机中,通过修改每台被控机中ue swarm agent的配置文件,使其服务器指向主控机,同时设置配置文件中的选项,使其只能匹配到当前作业的任务,保证被控机完全受主控机控制。70.优选的,在被控机启动接收到的ue swarm agent,完成参数配置之后,还包括:71.主控机启动ue swarm agent和ue swarm coordinator,从而获取被控机状态;72.完成参数配置的被控机向主控机发送就绪信息。73.可以理解的是,启动所有节点机中的ue swarm agent,并在主控机启动服务端ue swarm coordinator。此时如果配置文件设置正确,则可在ue swarmcoordinator面板上看到所有被控机的状态。但是程序无法直接看到这一信息,因此,需要被控机,在启动完节点中的ue swarm agent后发送已就绪的消息。74.优选的,步骤s6,包括:75.判断主控机是否收到所有被控机的就绪信息,若是,则主控机向被控机发送任务细节。76.可以理解的是,为了保证构建任务能够完成,在向被控机发送任务细节之前,首先需要判断所有被控机是否已经配置完成。77.优选的,步骤s8,包括:78.被控机将完成的构建数据发送给主控机,并关闭自身的ue swarm agent,清楚自身数据;79.主控机根据被控机将完成的构建数据和自身完成的构建数据,形成构建结果;80.主控机将构建结果发送给服务器,并关闭自身的ue swarm agent和ue swarm coordinator,并清楚自身数据,完成构建任务。81.可以理解的是,为了保证再进行下一次构建任务时不受影响,当任务构建完成后,所有节点机会关闭自身的ue swarm agent,主控机关闭ue swarmcoordinator,并所有节点机删除配置参数和构建数据。82.优选的,完成参数配置的被控机向主控机发送就绪信息,包括:83.完成参数配置的被控机向主控机发送就绪信息,并每隔预设时间,被控机向主控机发送一个心跳数据。84.可以理解的是,为了检测被控机是否时刻与主控机进行连接,在被控机完成参数配置后,每隔预设的时间向主控机发送一个心跳数据。需要说明的是,预设时间可以根据自身需要自行设定,此处不再详细说明。85.在具体的实践中,如图2所示,图2是本发明一种unreal engine分布式构建方法一种实施例提供的节点机图形构建流程图,当节点机接收到任务后,首先确认自身是主控机还是被控机,然后,主控机与被控机建立socket连接,然后被控机等待主控机分发ue swarm agent,主控机发送后,启动自身ue swarm agent和ue swarm coordinator,而被控机收到后,配置ue swarm agent参数并启动,启动完成后被控机向主控机发送就绪信息;主控机接收到所有被控机的就绪信息后,向被控机发送细分任务开始进行构建,并将实时获取被控机的心跳数据,以确定被控机的连接状态,构建完成后,被控机向主控机发送结果,并清楚自身数据,主控机接收到结果后,形成构建结果发送给服务器,并删除自身任务,完成构建。86.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。87.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。88.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。89.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。90.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。91.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。92.上述提到的存储介质可以是只读存储器,磁盘或光盘等。93.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。94.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部