本页面包含 多用户编辑 系统的要求、设置、命令行参数和控制台命令的相关信息。
项目设置
多用户编辑设置
当你在项目中激活 多用户编辑插件 时,可以在 项目设置(Project Settings) 窗口的 插件(Plugins )> 多用户编辑(Multi-User Editing) 下访问以下设置。
设置 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
客户端设置 | |||||||||||
启用多用户工具栏按钮(Enable Multi-User Toolbar Button) | 启用后,虚幻编辑器主窗口里的工具栏将包含一个按钮,以便用户快速执行常规多用户编辑任务:
你也可以随时用工具栏按钮旁的下箭头来访问 多用户浏览器,打开 项目设置 窗口或在你的电脑上开启多用户服务器。 |
||||||||||
自动连接(Auto Connect) | 启用此设置可使虚幻编辑器在每次打开此项目时,立即尝试与 默认服务器 和其下方设置的 默认会话名称 建立连接。 | ||||||||||
默认服务器URL(Default Server URL) | 当你启用 自动连接(Auto Connect) 设置或点击工具栏上的 加入 按钮时,多用户编辑系统试图连接的服务器名称进行设置。 |
||||||||||
默认会话名称(Default Session Name) | 当你启用 自动连接(Auto Connect) 设置或点击工具栏上的 加入 按钮时,多用户编辑系统尝试连接的会话名称进行设置。 |
||||||||||
默认恢复的会话(Default Session to Restore) | 当你启用 自动连接(Auto Connect) 设置或点击工具栏上的 加入 按钮时,恢复已保存的会话,请输入该会话的名称。 | ||||||||||
会话默认另存名(Default Save Session As) | 当你启用 自动连接(Auto Connect) 设置或点击工具栏上的 加入 按钮时,多用户编辑系统保存其打开的会话,请输入希望该会话另存时的命名。 | ||||||||||
显示名称(Display Name) | 在对其他用户可见的所有在线状态信息中,设置你的识别名称。 | ||||||||||
化身颜色(Avatar Color) | 在对其他用户可见的所有在线状态信息中,设置多用户编辑系统与你关联的颜色。 | ||||||||||
桌面化身Actor类(Desktop Avatar Actor Class) | 设置当你使用标准键盘和鼠标与虚幻编辑器交互时,多用户编辑系统在其他用户的关卡视口中用于代表你的类。 |
||||||||||
VR化身Actor类(VRAvatar Actor Class) | 设置在你使用VR头戴设备和控制器通过VR编辑系统在关卡中工作时,多用户编辑系统在其他用户的关卡视口中用于代表你的类。 |
||||||||||
客户端设置——高级 | |||||||||||
服务器端口(Server Port) | 当你从虚幻编辑器启动多用户编辑服务器时,服务器会监听你在此设置中指定的组播通信端口。 |
||||||||||
发现超时(Discovery Timeout) | 如果先前发现的服务器没有在此时间范围内响应消息,它将被视为超时,并从 多用户浏览器 的列表中删除。 | ||||||||||
会话更新计时频率(Session Tick Frequency) | 确定虚幻编辑器实例处理会话更新的频率。 | ||||||||||
延迟补偿(Latency Compensation) | 确定当处理涉及Sequencer播放等对时间敏感的操作的传入事务时,虚幻编辑器实例应该采用的补偿数额。 | ||||||||||
端点设置 | |||||||||||
启用日志记录(Enable Logging) | 确定此虚幻编辑器实例是否应记录关于当前会话的详细信息。你可以在项目的 `Saved/Logs/Concert 子文件夹中找到这些日志。 激活此选项会在短时间内消耗大量磁盘空间。 如果你在启用过日志后再将其禁用,就需要手动移除日志文件以释放磁盘空间。 |
||||||||||
清除已处理消息的延迟(Purge Processed Message Delay) | 对于已处理的任何会话状态消息,确定虚幻编辑器实例在将其从内存中删除之前所应等待的时间。 | ||||||||||
远程端点超时(Remote Endpoint Timeout) | 如果虚幻编辑器的远程实例没有对消息在该时间范围内进行响应,它将被视为超时,并从当前会话中删除。 |
多用户事务设置
你还可以在 插件(Plugins)> 多用户事务(Multi-User Transactions) 下访问以下设置。
在你多次使用默认值对多用户编辑系统完成操作,并对其工作原理建立深刻理解之前,请避免调整这些设置。更改这些设置会影响多用户编辑系统的稳定性。
设置 | 描述 |
---|---|
事务设置 | |
每秒快照事务数(Snapshot Transactions Per Second) | 当你与工具或功能按钮交互时,为了与其他客户端实现更改的实时同步,多用户编辑系统每秒所发送的事务数量,例如,当在关卡视口中拖动Actor,或在Actor的 细节(Details) 面板中拖动滑块时。 |
包含对象类过滤器(Include Object Class Filters) | 当此列表为空时,为了对所有类的类型进行修改,多用户编辑系统会自动发送事务。如果你坚持只对某些特定类的修改进行同步,可以在此列表中指定这些类。此列表中默认显示的值,都已经过测试,并被判断为足够稳定,可以公开。 |
排除事务类过滤器(Exclude Transaction Class Filters) | 如果你希望限制多用户编辑系统,避免同步对某些类的更改,可以在此列表中指定这些类。任何事务,只要涉及了更改这些被排除的类的对象,都不会被同步。 默认情况下,该列表包括地形类。在保存包含地形的关卡之前,你对地形所做的任何修改都不会被同步。 |
允许的瞬态属性(Allowed Transient Properties) | 包含瞬态类属性的列表,它们始终会被同步,虽然通常会被过滤掉。编辑器中默认条目同步Actor的可视性。如果希望在同一关卡工作的不同用户能够显示和隐藏不同的Actor集,你可以从列表中将这些默认条目删除。 如果需要更改这些值,请直接在 |
事务设置 — 高级 | |
交互的编辑器热重载(Interactive Editor Hot Reload) | 确定当虚幻编辑器需要将已完成加载的资产替换为相同资产的其他版本,应如何处理。当连接至你的会话的另一个用户对该资产进行修改并保存时,就会发生这种情况。当你离开会话而不保存更改时,也会发生这种情况,编辑器需要把你在会话中修改的内容替换为你加入会话时的初始内容。 如果继续禁用此设置,你新加载的内容会立即替换以前所加载的内容。如果希望系统提示你是否重新加载每个修改后的资产,请启用此设置。 |
在PIE中显示在线状态(Show Presence in PIE) | 确定当你处于 在编辑器中运行(PIE) 会话时,是否应显示其他用户的在线状态信息。 |
打包设置(Package Settings) | |
排除打包类过滤(Exclude Package Class Filters) | 决定哪些保存的包不会传播到多用户服务器。你可以通过包的路径和特定的资产类别来过滤。例如,在 内容路径 中添加 /Game/Maps/,这会阻止所有保存在 /Game/Maps/ 中的内容传播到多用户服务器上。 |
虚幻多用户服务器的命令行参数
我们在入门页面说明了,如何从虚幻编辑器的UI内启动多用户编辑系统的服务器组件。但是,你也可以在任何安装了虚幻引擎的电脑上从命令行启动此服务器。
如果从命令行运行服务器,则不需要在该电脑上运行项目。服务器只记录事务和修改后的资产;它不必提供完整的项目内容。只有加入会话的电脑需要有项目内容的副本。
你可以在虚幻引擎安装文件夹中找到多用户编辑服务器,位于 Engine/Binaries/<platform>/UnrealMultiUserServer.exe
。启动它时,可以在命令行上提供以下可选参数控制其行为。
参数 | 描述 |
---|---|
-ConcertSession= |
如果已指定,服务器会在启动时创建一个以此命名的新会话。例如: |
-ConcertProject= |
如果你已经指定了一个 -ConcertSession,服务器会把 ConcertProject 的值设置为与该会话相关联的虚幻引擎项目的名称。它所允许连接的虚幻编辑器实例,必须正在运行同名项目。例如: |
-ConcertVersion= |
如果你已经指定了一个 -ConcertSession,服务器会使用 ConcertVersion 的值作为与该会话相关联的虚幻引擎的版本。它所允许连接的虚幻编辑器实例,必须使用相同的版本构建。例如: 要获取此版本号,请打开虚幻编辑器,从主菜单选择 帮助(Help)> 关于虚幻编辑器...(About Unreal Editor...)。 |
-ConcertRevision= |
如果你已经指定了一个 -ConcertSession,服务器会使用 ConcertRevsion 的值作为与会话相关的基础源代码控制变更列表。它要求连入的虚幻编辑器实例,具备有效的源代码管理、已签出了相同版本的内容、没有本地修改。例如: |
-ConcertIgnore | 如果想要避免多用户编辑服务器对连接的虚幻编辑器实例与每个会话相关联的项目名称、引擎版本和内容源代码管理变更列表是否匹配进行验证,请将此值添加到命令行。 虽然有时允许客户端在项目内容中存在细微差异的情况下进行连接可能很有用,但是在典型工作流中你应该避免对此设置的依赖,从而防止由于内容在不同客户端上的不同步而导致的任何意外操作。 |
-ConcertClean | 如果你希望服务器在启动时,从其临时存储目录中删除所有现有会话文件,请将此值添加至命令行。 这将删除所有保存的会话。 |
-ConcertSaveSessionAs= |
如果你已经指定了一个 -ConcertSession,那么如果服务器在会话删除之前被关闭,将使用 ConcertSaveSessionAs 的值来定义用来另存会话数据的名称。这种指定名称的方式,相当于当你在虚幻编辑器UI中创建新会话时,设置 会话数据管理(Session Data Management)> 会话另存为(Save Session As)。 |
-ConcertSessionToRestore= |
如果你已经指定了一个 -ConcertSession,则可以使用此参数还原该服务器曾用该指定名称保存的会话,而不是创建新会话。 |
虚幻编辑器命令行参数
如果从命令行启动虚幻编辑器,你可以使用以下参数来对多用户编辑系统进行控制。这些参数是上文 项目设置(Project Settings) 下列出的一些设置的默认值。
参数 | 描述 |
---|---|
-ConcertAutoConnect | 为你的项目启用 自动连接(Auto Connect) 设置。启动后,虚幻编辑器将立即尝试与默认服务器和为其配置的会话建立连接。你可以提前在 项目设置(Project Settings) 中对此默认会话配置进行设置,或者使用以下参数在命令行中进行指定。 |
-ConcertServer= |
设置项目的 默认服务器URL(Default Server URL) 的值。 |
-ConcertSession= |
设置项目的 默认会话名称(Default Session Name) 的值。 |
-ConcertSaveSessionAs= |
设置项目的 默认的会话另存名称(Default Save Session As) 的值。 |
-ConcertSessionToRestore= |
设置项目的 默认恢复的会话(Default Session to Restore) 的值。 |
-ConcertDisplayName= |
设置项目的 显示名称(Display Name) 的值。 |
控制台命令
本部分列出了影响多用户编辑系统的虚幻引擎控制台命令。
命令 | 说明 |
---|---|
Concert.DefaultConnect |
如果你在项目设置(Project Settings)中,已经设置了 默认服务器URL(Default Server URL) 和 默认会话名称(Default Session Name),并且尚未连接至多用户编辑会话,此控制台命令会立即尝试将你连接至默认服务器和会话。 |
Concert.Disconnect |
如果连接存在,会断开你与当前的会话的连接。 |
Concert.EnableOpenRemoteSequencer |
启用了该设置的用户,在Sequencer UI中打开关卡序列或主序列时,多用户编辑系统都会自动为同一会话中也启用了此设置的所有其他用户打开Sequencer UI ,并加载相同的序列。 |
Concert.EnablePresence |
启用此设置后,对于每个在同一关卡工作并且在"项目设置(Project Settings)"中设置了 桌面化身Actor类(Desktop Avatar Actor Class) 或 VR化身Actor类(VRAvatar Actor Class) 的其他用户,你都将在关卡视口中看到一个Actor,该Actor代表了该用户的当前位置和视点。 |
Concert.EnableSequencePlayer |
默认情况下,多用户编辑系统仅会在Sequencer UI中打开的序列相同的虚幻编辑器实例之间,同步Sequencer播放事件。 注意,假如你在启动引擎时使用了"-game"参数,你还需要同时使用"-messaging"参数。 |
Concert.OpenBrowser |
打开 多用户浏览器(Multi-User Browser) 窗口。相当于从主菜单选择 窗口(Windows)> 开发者工具(Developer Tools)> 多用户浏览器(Multi-User Browser) 或从工具栏里的多用户编辑(Multi-User Editing)旁的下箭头选择 会话浏览器(Session Browser) 。 |
Concert.OpenSettings |
打开 项目设置(Project Settings) 窗口至 插件(Plugins)- 多用户编辑(Multi-User Editing) 页面。相当于从工具栏中的多用户编辑按钮旁的下箭头中选择 多用户设置(Multi-User Settings)。 |