处理由Unreal生成的gziped内容

时间:2017-09-18 20:20:26

标签: html5 amazon-web-services amazon-s3 gzip unreal-engine4

我刚刚完成了用Unreal4 for HTML5制作的游戏。我获得了几个需要上传的gziped文件,以使其在我的网站上运行,因此我可以测试该项目。 问题是,我是这类内容的新手。我搜索了引擎文档,但没有发现如何上传和使用网站上的文件。

是否有人有任何提示或任何类型的材料我可以阅读它以开始实施?

提前感谢您的帮助。

引擎生成的文件: Files generated by the engine

*****更新08/10/2017 *****

所以,我正在使用CloudFront在Amazon S3上实现这一点,这就是我发现需要它才能使它工作:

1 - 如果您要使用Amazon S3,则必须重命名生成的所有gziped文件。你需要做的是删除名称的“gz”部分。

2 - 在Unreal生成的.html文件中,有一行说:

return serveGzipped ? (name + 'gz') : name;

必须编辑到:

return serveGzipped ? (name) : name;

3 - 将.html文件重命名为index.html或创建一个新的index.html文件,该文件重定向到Unreal生成的.html。

4 - 将所有文件作为静态网站上传到亚马逊后,您需要打开包含这些文件的Amazon S3文件夹(在亚马逊上称为Bucket)并将此信息添加到每个gziped文件的元数据中:

'content-encoding'  :  'gzip'

这将使Amazon S3在需要时识别文件被gziped。

5 - 为所有文件的读取操作授予公共访问权限。

6 - 为读取操作和存储桶的“列出对象”授予公共访问权限。另外,为存储桶实施此策略:

"Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",

所有这些步骤都将使亚马逊识别gziped文件并在需要时提供服务。这也解决了错误403和404的问题。

但是,在所有这些之后,我仍然面临着这个错误:

DataCloneError

当我为Unreal使用新的Wasm文件生成时会发生这种情况。

如果我使用旧的Asm文件生成,我没有收到任何错误消息,但屏幕保持黑色:

Black screen

有谁知道如何解决这些问题(wasm clone错误或asm黑屏)?

1 个答案:

答案 0 :(得分:0)

我假设你打包了这样的东西(来自UE4 AnswerHub): enter image description here

首先,有一个" Readme.txt"文件打包后,您应该阅读它以了解如何将文件部署到Web服务器。

基本上,你需要做的是:

  1. 您需要具有适当的访问权限,才能访问需要配置的Web服务器的文件夹
    1. 使用基本" index.html"进行测试这部分正在运作
  2. 将所有打包文件复制到此文件夹中
    1. 您可以重命名" XX-HTML5-Shipping.html"归档到" index.html",
    2. 或创建" index.html"使用HTTP重定向到原始文件名(更容易更新后者)
  3. 特别是,有一个" .htaccess"为Apache2 Web服务器创建的文件
    1. 您可能需要配置您的服务器" http.conf"文件授权" .htaccess"覆盖
    2. 您可能需要对其进行编辑以添加" gz"文件:
  4. <files *.gz> AddType "text/javascript" .gz AddEncoding gzip .gz </files>

    如果您在此之后遇到任何问题,请与我们联系。