[教学文档] UE4 局域网联机烘焙 联机构建 的架设 更新版

  [复制链接]
查看110854 | 回复156 | 2016-6-23 10:05:53 | 显示全部楼层 |阅读模式
本帖最后由 隐天 于 2018-11-5 12:24 编辑

名词解释:
·管理器:运行有SwarmCoordinator.exe的机器,本身无特别要求,但把它运行在一个常年开机的服务器上方便点
·服务器:运行有SwarmAgent.exe的机器,需要安装VC++ runtime那些运行包(跟运行UE4一样的要求)。管理器与服务器可以在同一电脑,也可以不同电脑,随意
·本机:运行UE4,打开项目文件的机器
SwarmAgent和SwarmCoordinator程序在此目录 UE4目录\Engine\Binaries\DotNET,可以只复制这个目录到服务器上运行,不用整个引擎都复制过去

也可以单独下载附件StrongSwarmAgent,文件小,我服务器上就用这个
VC环境组件我用这个,先安装游民星空的,再安装另外3个即可



1、局域网内本机与服务器之间通讯要通讯,防火墙没有必要的话把它禁用,或者手工设置打开8008和8009端口
2、服务器上SwarmAgent的设置:运行SwarmAgent后,在屏幕右下角的系统托盘栏双击出现如下设置画面:

假设服务器计算机名叫:S001,S002……,并且假设服务器准备分成3个组供不同的人调用:G001,G002,G003
ShowDeveloperMenu=True以打开开发者选项
将部分服务器的AgentGroupName=G001,部分=G002,部分=G003,这样就得到3个组的构建服务器
AllowedRemoteAgentGroup随意
AllowedRemoteAgentNames=*
CoordinatorRemotingHost=管理器的IP
在DeveloperSettings中设置LocalJobsDefaultProcessorCount和RemoteJobsDefaultProcessorCount设置为本身cpu线程数(前提是保证计算机内存足够大,例如24线程的内存24G以上,如果服务器内存不是很充分,也不能设置太多线程,否则内存不足无法构建。可以按照1线程=1.2G的方式大致换算)
补充说明:
服务器与“本机”可以在不同的网段,只要网关(路由器)的路由关系设置好,创建对应计算机名与IP映射表(通常用Hosts文件解析),让双方都能够有正确的计算机名与IP解析即可,那么你可以通过Internet去调用另外一个网络的计算机用于联机构建,并不仅限于本地局域网哟。两者最大的区别就是速度不一样,局域网传输比较快,但都能用


3、本机的设置
在UE4中任何一项目,Build一次,出现SwarmAgent程序后可停止,然后双击屏幕右下角托盘里面的SwarmAgent进行设置如下:
ShowDeveloperMenu=True以打开开发者选项
将部分服务器的AgentGroupName=WS,注意这个名字不要跟服务器上设置的组名G001,G002,G003相同,需要设置为另外的名字,防止本机被别人调用去联机构建
AllowedRemoteAgentGroup=G001,注意这里是指本机将调用服务器上G001组的服务器进行联机构建,如果想调用G002就设置为G002
AllowedRemoteAgentNames=*,用*号表示调用组内所有机器,通常我们通过组名来调用不同的机器,而不是计算机名,所以这里一般设置为*;如果设置为S*那表示将调用计算机名以S开头的服务器,设置为S001即只使用S001服务器
CoordinatorRemotingHost=管理器的IP
在DeveloperSettings中LocalJobsDefaultProcessorCount和RemoteJobsDefaultProcessorCount设置和服务器上不一样,如果本身不想用太多CPU线程而导致其它软件变卡,那么设置为1也是可以的,如果想本机的CPU线程也大量参与构建,那么数值设置为本机的CPU线程数也行




3、联机工作时本机与服务器SwarmAgent的状态:



每一大条是一台计算机,每台计算机里面每一细条是一线程

SwarmCoordinator管理器端状态:


常见问题:
1、如果SwarmCoordinator管理器上看到有些机器是Available,但一直不参与联机
检查以下几点:
· 计算机名或IP有没有跟其它电脑冲突
· 防火墙是否开放了8008、8009端口,或者将防火墙关掉
· 调用的服务器组有没有设置对
· 用其它版本的SwarmAgent取代UE4引擎自带的SwarmAgent,看附件

2、其它都构建完了,但有一机机器有一条蓝色线很长,构建可能卡在99%很久
这个原因是因为场景里面有光照分辨率太大的物体造成的,通常光照分辨率应不要超过1024,非常极个别可能2048(例如实在是很大面积的墙,而且是一整块的,墙的光影又很重要)。如果设置了4096……,那就不用玩了。目前的构建机制还并不能自动分割待构建物体,啥时候能实现象VRAY3.0及以后版本的动态分割渲染功能,那可就真是牛了






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1能量币 +20 收起 理由
Someday + 20 很给力!

查看全部评分

隐天 | 2017-4-27 17:53:45 | 显示全部楼层
列侬的狗 发表于 2017-4-21 16:16
我添加了8个机子,但是渲染的时候只显示了6个machine在swarm status里。谁能告知下原因,是不是我哪没设置 ...

每台机器的SwarmAgent都可以设置为一样,特别是允许的组名和加入的组名,SwarmCoordinator的计算机名等等,当然防火墙不要挡了
回复 支持 1 反对 0

使用道具 举报

wawaaisusu | 2016-6-23 10:14:03 | 显示全部楼层
非常感谢
回复

使用道具 举报

Eric_Song | 2016-6-23 10:31:48 | 显示全部楼层
感谢分享
个人博客 : ericsong.org
回复

使用道具 举报

如果爱 | 2016-6-23 11:34:31 | 显示全部楼层
专程来顶帖的。求报销路费。
回复 支持 反对

使用道具 举报

wtda | 2016-6-23 12:49:59 | 显示全部楼层
土豪啊,这么多服务器
回复 支持 反对

使用道具 举报

Rofie_Cai | 2016-6-23 14:14:42 | 显示全部楼层
非常实在,好用
回复 支持 反对

使用道具 举报

隐天 | 2016-6-23 19:00:53 | 显示全部楼层
如果爱 发表于 2016-6-23 11:34
专程来顶帖的。求报销路费。

没问题,一毛钱硬币拿去,不用找了
回复 支持 反对

使用道具 举报

lysyker | 2016-6-23 20:13:47 | 显示全部楼层
很有用,收藏了,谢谢分享
回复 支持 反对

使用道具 举报

A-i | 2016-6-24 00:00:12 | 显示全部楼层
楼煮好评QvQQQ
回复 支持 反对

使用道具 举报

yuemingxishan | 2016-6-24 00:17:44 | 显示全部楼层
论坛真是大神多多啊~~~隐天都出现了!!!!
以前收藏过一个联系构建的教程,不知道是不是一个。。。虚幻4不同版本练级构建有区别吗??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

59

主题

921

回帖

5596

积分

高阶编码师

积分
5596