- 仍处于测试阶段。目前仅包含 Linux 开发镜像,无 Windows 开发镜像(由于技术和法律限制,官方无法发布 Windows 开发镜像)。所有支持像素流的 Windows 运行时镜像都支持基于 NVIDIA 和 AMD 显卡的 GPU 加速。Linux 镜像只支持 NVIDIA 显卡,对AMD 显卡的支持将在未来推出。
- E4 Container 基于 TensorWorks开源架构开发,并由 虚幻容器 社区维护。
- E4 Container 的作用:增强生产管线,开发次世代云应用程序,大规模部署企业解决方案等。
- UE4 Container 属于轻量级的,以容器镜像的方式存储在磁盘上,通过 Image 可运行一个或多个 Container 。与虚拟机不同的是,Container 共享一个底层 OS 内核,可跨不同 Container Image 共享公共数据,并能实现大量并发部署。 容器的应用标准单元可在不同计算基础设备(包括本地设备和云端设备)之间迁移。
- 包含两种容器镜像:开发镜像(Dev Images)和运行时镜像(Runtime Images)。4.27 版本中共有 7 中镜像类型。
开发镜像与运行时镜像对比:
1、开发镜像用于需要编辑器的任务,在法律上有严格的 EULA 限制来管理它们的分发。
包含内容:
- (必需): Engine 构建工具和 Editor
- (可选):非核心引擎组件,如模板项目、调试符号和派生数据缓存 (DDC)
- (可选):使虚幻编辑器能够渲染图形所需的运行时依赖项和配置文件
- (可选):在 Linux 下将虚幻编辑器作为沙盒 GUI 应用程序运行所需的运行时依赖项和配置文件
- (可选):使用 X11 转发通过 VNC 或 SSH 远程访问虚幻编辑器所需的运行时依赖项和配置文件
- (可选):其他第三方附加功能或开源工具,例如 ue4cli
执行任务:
- 在容器中构建和打包项目或插件
- 为容器内的 Unreal 项目运行自动化测试工作流程
- 运行命令行功能为容器内的 Unreal 项目烘焙光照、烘培内容、电影渲染或执行其他任务
- 为容器内的 Unreal 项目渲染 Sequencer 过场动画
- 在容器内运行 Python 脚本或其他编辑器自动化实用程序
2、运行时映像用于运行打包的项目,包含打包的 Unreal 项目及其运行时依赖项,并且可以更自由地分发。
包含内容:
- (必需):运行带离屏渲染的打包虚幻项目所需的运行时依赖项
- (可选):启用音频输出所需的运行时依赖项和配置文件
- (可选):使用 Pixel Streaming 远程访问打包的 Unreal 项目所需的运行时依赖项和配置文件
- (可选):使用 X11 转发通过 VNC 或 SSH 远程访问打包的 Unreal 项目所需的运行时依赖项和配置文件
- (可以通过扩展基础镜像或绑定挂载文件自行添加):自定义在容器中运行的打包虚幻项目
执行任务:
- 使用 Engine 开发映像在容器内构建和打包项目,然后在容器内运行它
- 在容器外构建和打包项目,然后在容器内运行
3、可用镜像容器。
容器镜像的源代码:Engine/Extras/Containers.
容器镜像的预构建版本:GitHub 容器注册表。
镜像 | 镜像类型 | 描述 |
dev | 开发镜像 | 虚幻引擎的完整 Linux 开发镜像,包括虚幻引擎的已安装版本、模板项目和完整调试符号。 |
dev-slim | 开发镜像 | Linux 版本的开发镜像,内容较小,不包含模板项目和调试符号。 |
runtime | 运行时镜像 | 带有或未带有 GPU 加速的简化版 Linux 运行时镜像,专用于在容器内运行打包的虚幻引擎应用程序。为了将镜像大小压缩到最小,此镜像不支持音频输出。 此容器镜像目前仅对使用 NVIDIA GPU 的机器提供 GPU 加速支持。 |
runtime-pixel-streaming | 运行时镜像 | 此镜像扩展了简化版 Linux 运行时镜像,以添加像素流应用程序所需的依赖项,包括支持音频输出。因此,尽管此镜像仍比 Windows 运行时镜像要小得多,但明显比默认运行时镜像要大。此容器镜像目前仅支持 NVIDIA GPU 的 GPU 加速。 |
runtime-windows | 运行时镜像 | 带有或未带有 GPU 加速的 Windows 运行时镜像,专用于在容器内运行打包的虚幻引擎应用程序。由于 Windows 容器镜像已经比 Linux 容器镜像大很多,而且与 Windows 操作系统本身的大小相比,像素流应用程序所需的依赖项相对较小,因此该镜像也包含这些依赖项。目前,对于在基于 GPU 加速的 Windows 容器内运行像素流应用的支持还是试验性的,不建议在实际开发中使用。 |
pixel-streaming-signalling-server | 特殊镜像 | 包括像素流系统使用的 Cirrus 信号和 web 服务器的 Linux 容器镜像。 |
multi-user-server | 特殊镜像 | 包括虚幻引擎多用户编辑系统所用服务器的 Linux 容器镜像。 |
不同的用例可能需要这些类型的容器映像中的一种或两种。
4、软件及硬件要求。
包含在虚幻引擎中的 Linux 容器镜像可以在 Windows、macOS 或 Linux 上构建和运行。计算机需满足以下硬件要求:
- 64 位 CPU,支持 SLAT (二级地址转译,处理器虚拟化技术,为虚拟化应用提供加速功能,如VirtualBox、Hyper-V 等)。
- 在系统 BIOS 中启用硬件虚拟化支持。
- 系统内存至少为 4 GB。
- Windows: 64位Windows 10 家庭版、专业版、企业版、教育版、1903 版本或更新版本,并且安装了 Windows 版 Docker 桌面版。
- macOS: macOS 版 10.14 或更新版本,并且安装了 Mac 版 Docker 桌面版。
- Linux: 64 位版本的 CentOS 7 或更新版本、Debian 10 或更新版本、Fedora 32 或更新版本、Ubuntu 16.04 或更新版本,或任何满足 Docker 先决条件的 Linux 发行版,并且安装了 Docker 引擎。
包含在虚幻引擎中的 Windows 容器镜像可以在 Windows 上构建和运行。计算机需满足以下软件要求:
- 64 位 Windows 10 专业版、企业版、教育版、1809 版本或更新并且安装了 Windows 版 Docker 桌面版。
推荐使用Docker来构建并运行包含在虚幻引擎中的容器镜像。
5、安装 Docker
Windows: 安装 Windows 版 Docker 桌面版。
安装时报错:Docker Desktop requires the Server service to be enabled.
解决:在命令行运行 cmd ,输入命令 services.msc,查找并选中 Server, 将 Server 的服务状态设置为 “启动”。
macOS: 安装 Mac 版 Docker 桌面版
Linux: 按照相应说明为你的特定Linux发行版安装Docker引擎:CentOS、Debian、Fedora、Ubuntu、其他 Linux 发行版。
6、使用 Github 容器注册表进行身份验证。
Windows 下命令行运行以下:
>echo ACCESS_TOKEN | docker login ghcr.io -u USERNAME --password-stdin Login Succeeded
ACCESS_TOKEN
替换为 GitHub 个人访问令牌;
USERNAME
替换为 GitHub 用户名;
使用以下命令登录 Docker: > docker login
使用容器注册表时需要选择 read:packs
作用域(下载容器映像并读取其元数据)、 write:packages
作用域(下载和上传容器映像并读取和写入其元数据)、delete:packages
作用域(删除容器映像)。
否则后续中会出现:
>docker pull ghcr.io/epicgames/unreal-engine:dev-4.27 Error response from daemon: unauthorized
7、拉取预构建容器镜像
相关推荐
4. **PHY层参数**:涵盖了UE对发射天线选择支持、特定的参考信号支持等。 5. **RF参数**:包括支持的EUTRAN频段,以及每个频段是否支持半双工操作。 6. **测量参数**:指示需要在interFreqBandList和interRAT-...
用于运行打包的UE4项目的容器映像 映像的各种标签为通过进行具有完整GPU加速的打包的虚幻引擎项目提供了最小的预配置环境。 (有关NVIDIA Container Toolkit的更多详细信息,请参见Unreal Containers社区中心上的。...
buttonContainer = findViewById(R.id.button_container); // 动态生成10个Button for (int i = 0; i ; i++) { // 创建Button Button button = new Button(this); button.setText("Button " + (i + 1)); //...
例如,`<div class="container">`用于创建一个可调整大小的容器,`<nav class="navbar">`则用于创建导航栏。同时,HTML5引入了许多新元素,如、和,它们有助于更好地组织内容和语义化网页。 CSS3是层叠样式表的最新...
var ue = UE.getEditor('container', {lang:"zh-hk" } ); 其中lang:"zh-hk"表示“中文-香港”,香港使用繁体字。 如果要用简体,这样即可: var ue = UE.getEditor('container' );
var ue = UE.getEditor('container'); ``` 3. 在浏览器打开 demo.html,如果看到下面这样的编辑器,恭喜你,初次部署成功! 编辑器参数 UEditor 有很多可自定义的参数项,在实例化的时候可以传入给编辑器。...
var ue = UE.getEditor('container', { serverUrl: 'server/controller.php' // 配置服务器接口地址 }); ``` 这里的`container`是编辑器的容器ID,`serverUrl`指定了上传文件时调用的服务器处理程序。 在后端,...
var editor = UE.getEditor('container', { toolbars: [['bold', 'italic', 'underline',...]], // 自定义工具栏 initialFrameWidth: 800, // 初始化宽度 initialFrameHeight: 500 // 初始化高度 }); ``` 这里的`...
本文详细的介绍了vue实现公告栏文字上下滚动效果的示例代码,分享给大家,具体入如下: ... <div class=text-container> <p class=text key=text.id>{{text.val}} [removed] export default { name: '
2) UE或者AN发起PDU session modification过程,AMF转发给SMF; 3) SMF对AMF响应Nsmf_PDUSession_UpdateSMContext消息,这个消息中包含: N2 SM information(PDU session id, QFI, Qos profile, Session AMBR) ...
`.tip-container .tip-point-top`、`.tip-container .tip-point-bottom`、`.tip-container .tip-point-left` 和 `.tip-container .tip-point-right` 类分别对应顶部、底部、左侧和右侧的提示箭头。通过使用伪元素 `:...
首先,注册Key 1、注册开发者账号,成为高德开放平台开发者 2、登陆之后,在进入「应用管理」 页面「创建新... 3、为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」 然后,书写代码 ... <!...meta na
var ue = UE.getEditor('container'); ``` 此时,如果你的路径设置正确,浏览器加载页面后应该能看到UEditor的界面。 **配置UEditor** UEditor的配置分为前端配置和后端配置。前端配置主要在JavaScript中完成...
var ue = UE.getEditor('ue-container'); ue.ready(function() { ue.execCommand('serverparam', '_token', '{{ csrf_token() }}'); }); ``` 3. **创建编辑器容器**: 在HTML中添加用于显示UEditor的`...
<div class="components-container"> <!-- ... --> <UE :defaultMsg="defaultMsg" :config="config" ref="ue" /> import UE from '../../components/ue/ue.vue'; export default { components: { UE }...
如果有多笔画,可以在单笔画基础上用 'eb' 连接,例如 'x1,y1,x2,y2,eb,x3,y3,x4,y4'。 2. `string`:目前用途未知,通常传入 0。 3. `cmd`:同样未知,目前也传入 0。 实现手写输入的基本步骤如下: 1. 创建 ...
### 4. 关键问题解析 - **为何夜游承天寺**:文章开头写道“月色入户”,说明作者是在被月光吸引的情况下决定外出的。这反映出作者内心的寂寞与渴望,同时也预示了一次心灵的旅程。 - **夜景的特点**:“庭下如积水...
在传统的SRVCC中,媒体流的切换点位于网络核心部分,而在eSRVCC中,这一位置被移动到更接近终端的ATCF/ATGW(Application Temporary Container Function/Application Traversal Gateway),这种设计大大缩短了切换时...
container: document.getElementById('heatmapContainer') }); ``` 这里,`container`参数是指定热力图渲染的HTML元素。 然后,你可以使用`addData`方法添加数据点: ```javascript heatmapInstance.setData({ ...