第六十章 Unity 发布Web平台

这篇具有很好参考价值的文章主要介绍了第六十章 Unity 发布Web平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WebGL 是一种用于在 Web 浏览器中渲染图形的 API,基于 OpenGL ES 图形库的功能。WebGL 1.0 大致与 OpenGL ES 2.0 功能相匹配,而 WebGL 2.0 大致与 OpenGL ES 3.0 功能相匹配。WebGL 构建选项允许 Unity 将内容发布为 JavaScript 程序,而这些程序可使用 HTML5/JavaScript、WebAssembly、WebGL 渲染 API 和其他 Web 标准在 Web 浏览器中运行 Unity 内容。桌面平台的大多数主要浏览器的当前版本都支持 Unity WebGL 内容,但不同浏览器提供的支持程度存在差异。请注意,Unity WebGL 不支持移动设备。另外,并非所有 Unity 功能都可用于 WebGL 构建,主要是由于平台的限制。例如,由于 JavaScript 中缺少线程支持,因此不支持线程。再例如,WebGL 构建使用基于 Web 音频 API 的自定义音频后端。此情况下仅支持基本音频功能。具体内容可以参考官方给出的清单列表。

接下来,我们就来演示如何打包发布Web应用程序。首先,我们创建一个“WebDemo”的工程。我们同样创建一个平面Plane和一个立方体Cube,如下所示

第六十章 Unity 发布Web平台

接下来,我们再创建一个CubeScript.cs脚本文件,附加到立方体Cube上面。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CubeScript : MonoBehaviour
{
    // 移动速度
    private float moveSpeed = 10.0f;

    // 旋转速度
    private float rotationSpeed = 100.0f;

    // Update is called once per frame
    void Update()
    {
        // 前后左右方向
        float v = Input.GetAxis("Vertical");
        float h = Input.GetAxis("Horizontal");
        Vector3 direction = new Vector3(h, 0, v);
        transform.Translate(direction * moveSpeed * Time.deltaTime, Space.Self);

        // 向左旋转,替换GetKey方法
        if (Input.GetKey(KeyCode.Q))
        {
            transform.Rotate(Vector3.down * rotationSpeed * Time.deltaTime, Space.Self);
        }

        // 向右旋转,替换GetKey方法
        if (Input.GetKey(KeyCode.E))
        {
            transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime, Space.Self);
        }
    }
}

接下来,我们点击菜单栏:File -> Build Settings在弹出的“Build Settings”窗口左侧选中“WebGL”,然后点击右下角的“Switch Platform”(默认是PC平台)。

第六十章 Unity 发布Web平台 

第六十章 Unity 发布Web平台

点击“Switch Platform”切换平台

第六十章 Unity 发布Web平台

接下来,我们点击“Player Settings”按钮

第六十章 Unity 发布Web平台

接下来,我们设置公司名称,项目名称,以及启动图标(图标文件提前放置Assets目录下)。

然后我们选择“WebGL”选项卡,展开下面的“Resolution and Presentation”

第六十章 Unity 发布Web平台

这里我们可以设置分辨率和默认,我们就使用默认值吧。

接下来,我们展开“Publishing Settings”

第六十章 Unity 发布Web平台

我们勾选“Decompression Fallback”选项,也就是启用解压缩回退。此项决定浏览器中运行时 Unity 如何处理下载的文件。具体我们不再解释。

然后我们关闭当前窗口,回到“Build Settings”窗口中,点击右下角的“Build”

第六十章 Unity 发布Web平台

我们将打包文件保存到“E:\workspace\www”目录下

第六十章 Unity 发布Web平台

开始打包中,经过一段时间后,我们去“E:\workspace\www”目录下查看

第六十章 Unity 发布Web平台

上面打包完成的文件如何运行呢?我们还需要借助Web Server 上面才可以访问。这里我们推荐大家使用Nginx这个Web Server。这里,我们使用的是nginx-1.22.1.zip 这版本。这个版本是Windows下的版本,本章节只讨论Windows系统下如何运行WebGL工程。Nginx的下载地址为:https://nginx.org/download/nginx-1.22.1.zip  然后将其解压到一个目录下。
第六十章 Unity 发布Web平台

我们直接在上面的地址栏中输入“CMD”后回车

第六十章 Unity 发布Web平台

然后,我们就会进入到Dos命令行下,输入命令:nginx -V

第六十章 Unity 发布Web平台

上面显示了我们Nginx的版本,接下来,我们继续输入命令:nginx

第六十章 Unity 发布Web平台

如果弹出防火墙警报的话,我们一定要点击“允许访问”。

第六十章 Unity 发布Web平台

运行成功后,然后保持Dos命令行窗口,不要关闭!!!

我们打开一个浏览器,然后输入地址:http://127.0.0.1/  或者 http://localhost/

第六十章 Unity 发布Web平台

说明我们的Nginx启动成功了。

然后进入到“E:\Program Files\nginx-1.22.1\html”目录下

第六十章 Unity 发布Web平台

这是Nginx默认启动的Web程序,我们将打包好的Unity WebGL程序复制进来(覆盖index.html)。

第六十章 Unity 发布Web平台

我们回到刚才打开的浏览器,然后按“F5”刷新一下

第六十章 Unity 发布Web平台

 第六十章 Unity 发布Web平台

我们旋转一下,然后再向前移动一下。

第六十章 Unity 发布Web平台

这样就运行成功了。如果我们将其部署到公网服务器上面,并且解析到指定域名上面,我们就可以在所有人通过域名就能运行我们的unity程序了。

本课程涉及的内容已经共享到百度网盘:https://pan.baidu.com/s/1e1jClK3MnN66GlxBmqoJWA?pwd=b2id文章来源地址https://www.toymoban.com/news/detail-494977.html

到了这里,关于第六十章 Unity 发布Web平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • unity发布WebGL遇到的坑(持续更新)

    unity发布WebGL遇到的坑(持续更新)

    1、unity默认字体在网页中不会显示 解决方法:自己新导入一个字体,使用导入的字体 2、之前打过包并运行过,后面又在unity中进行了修改,重新打包,运行发现还是修改之前的效果,虽然是新包, 解决方法:这是因为网页中有缓存, 点击浏览器右边的三个点,选择设置–隐

    2024年02月12日
    浏览(11)
  • Unity发布webgl获取浏览器的URL

    Unity发布webgl获取浏览器的URL

    Unity发布webgl之后获取浏览器的url 在unity中创建文件夹 Plugins ,然后添加添加文件 UnityGetBrowserURL.jslib 在Unity中添加代码 场景布局 发布webgl 拷贝到nginx 运行结果 在地址栏输入 Ip:端口号/?serligblsdhroivbaelirbgvkersab , /? 后面是随便打的字符,然后按下enter会刷新网页并重新显示URL,(

    2024年03月20日
    浏览(14)
  • unity webgl开发踩坑——从开发、发布到优化

    unity webgl开发踩坑——从开发、发布到优化

    又是一个阳光明媚的早上,突然老板召集开会说要将一个android项目适配webgl,没办法赶紧用unity改一下踩踩坑;这里记录一下这些天的踩坑过程。 使用unity2021.3.4f1c1,visual studio2019,visual studio code videoplayer仅适用于安卓和PC,如果有苹果适配的需求的话,那就要用到这个插件:

    2024年02月02日
    浏览(10)
  • Unity 发布WebGL、去Logo、网络端通信 、本地运行

    Unity 发布WebGL、去Logo、网络端通信 、本地运行

    以下内容将和大家详细分享 Unity 在 WebGL平台的发布方法、 如何去除unity的Logo和加载界面、 WebGL与网络端通信 、以及 如何在本地运行html。 一、Unity在 WebGL平台的发布方法 1、如下图,选择webgl平台,没安装的点击下载安装。  安装后如图。  选择需要打包的场景,无特殊要求

    2024年02月06日
    浏览(9)
  • Unity减少发布打包文件的体积(二)——设置WebGL发布时每张图片的压缩方式

    Unity减少发布打包文件的体积(二)——设置WebGL发布时每张图片的压缩方式

    一个项目在发布成WebGL后,其体积至关重要,体积太大,用户加载会经历一个漫长的等待…轻则骂娘,重则用脚把电脑踢烂(扣 质 保 金 )… 那么如何减少发布后的体积呢,本文从图片的压缩开始入手。 前传回顾: Unity减少发布打包文件的体积(一)——获取精灵图片的信息限

    2024年02月04日
    浏览(9)
  • unity发布WebGl在手机上的横屏适配,webgl横版游戏在手机上直接转横屏

    unity发布WebGl在手机上的横屏适配,webgl横版游戏在手机上直接转横屏

    unity版本2020.1 问题:webgl的横版游戏 1920*1080,在手机上适配的不好,还是竖屏显示, 使用官方的说明,说是只在全屏模式下能旋转,也不好用,可能直接旋转也不会达到理想的效果 解决方案: 1.我这边使用的方案是UI的适配,UGUI,采用的是两套UI,根据不同平台加载不同的资源

    2024年02月02日
    浏览(14)
  • Unity之webgl平台如何Quit

    Application.Quit(); 在webgl平台中无法生效:关闭当前的页面。 在js.jslib文件中添加如下代码(此文件放入Plugins文件夹下): 在MonoBehaviour中调用如下: 发布webgl的index.html,在\\\"script\\\"span对中添加如下代码:

    2024年02月12日
    浏览(10)
  • 基于Unity+Vue3通信交互的WebGL项目发布实践

    基于Unity+Vue3通信交互的WebGL项目发布实践

    问题背景 我们最近需要把unity开发的pc项目迁移到web端,因为unity支持发布webgl。所以按照以往的开发流程,都是项目开发完成就发布webgl部署到服务器。 突然有一天,测试人员提出说为什么我们做的网页跟别人的不太一样呢?具体看下面两张图: 1、unity使用ugui做的界面发布

    2024年04月17日
    浏览(18)
  • Unity 3D模型展示之webGL平台展现

    Unity 3D模型展示之webGL平台展现

    在之前的项目基础上我们已经打包后在PC端进行展示了。这篇文章主要介绍在切换到webGL上时效果展示不出来需要进行调整,特此记录一下。 1.平台切换 选择WebGL平台切换,没有的可以进行安装,安装之后关闭IDE重新启动。选择WebGL切换,参数参照以下设置即可。 2.构建WebGL项

    2024年02月01日
    浏览(10)
  • Unity: WebGL发布后在浏览器上运行时窗口大小自适应

    Unity: WebGL发布后在浏览器上运行时窗口大小自适应

     这个效果是根据19:6(也就是1920:1080的页面大小来设计的) 整体来说修改以下两个文件来进行达成效果预览,第一个是index.html、第二个是TemplateData文件下的style.css文件 修改对比  其中上图一段注释的脚本是webgl进入全屏状态的的脚本,就是显示下图的脚本(去掉就不显示

    2024年02月16日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包