Unity导出WebGL后性能优化 2024/7/31

新建个脚本 随便挂个组件上 把下面这段代码放到start里面

//1.指定构建目标:
// 这里定义了一个变量 namedBuildTarget,将其设置为 NamedBuildTarget.WebGL,表示后续的设置将应用于 WebGL 构建。
var namedBuildTarget = NamedBuildTarget.WebGL;
//2.设置构建选项:
// 这设置了构建时使用的压缩选项为 LZ4HC,这是一种高压缩率的 LZ4 压缩算法。
var buildOptions = BuildOptions.CompressWithLz4HC;
//3.设置 IL2CPP 代码生成优化:
// 这行代码告诉 Unity 使用 IL2CPP 后端,并优化代码大小,这通常会生成更小的 WebAssembly 文件,但可能牺牲一些运行时性能。
PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget,         
                                       Il2CppCodeGeneration.OptimizeSize);
//4.设置托管剥离级别:
// 这设置了托管代码的剥离级别为高,意味着 Unity 会尽可能地去除未使用的代码,减少最终构建的大小。
PlayerSettings.SetManagedStrippingLevel(namedBuildTarget,     
                                        ManagedStrippingLevel.High);  
//5.剥离未使用的网格组件:
// 这个设置指示 Unity 移除未使用的网格组件,进一步减小构建大小。      
PlayerSettings.stripUnusedMeshComponents = true;
//6.启用数据缓存:
// 开启 WebGL 构建的数据缓存功能,这可以提高加载速度,因为浏览器可以缓存部分数据
PlayerSettings.WebGL.dataCaching = true;
//7.设置压缩格式:
// 这将 WebGL 构建的压缩格式设置为 Brotli,这是一种高效的通用压缩算法,提供更好的压缩率。
PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;
//8.禁用异常支持:
// 这关闭了 WebGL 构建中的异常处理,可以减少构建大小,但可能使错误处理更加困难 **这个注意!**
PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;
//9.禁用调试符号:
// 这关闭了 WebGL 构建中的调试符号,这会减少构建大小,但同样会使调试变得困难
PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Off;        
//10.设置平台设置以优化磁盘大小:
// 这设置了 WebGL 构建的代码优化目标为优化磁盘大小,并使用 LTO(Link Time Optimization)链接时优化,这通常会产生更小的 WebAssembly 文件
UnityEditor.WebGL.UserBuildSettings.codeOptimization = UnityEditor.WebGL.WasmCodeOptimization.DiskSizeLTO; 

上面这些代码的目标是通过一系列优化措施来减小 WebGL 构建的大小,同时牺牲一些运行时性能和调试便利性,以适应网络传输和存储空间的限制。

具体的值内容 需要看个人情况去修改设置

然后启动运行一下项目 就行了

2024/7/31 15:45:37

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity导出WebGL时,可以使用动态获取模型文件的方法。首先,需要将模型文件以可访问的方式加载到Unity的资源目录中。这可以通过将模型文件放置在StreamingAssets文件夹中实现。该文件夹的内容将被打包到WebGL构建中,并可以在运行时访问。 创建一个用于加载模型文件的脚本。脚本应该包括一个公共函数,该函数可以接受模型文件的路径,并返回加载的模型对象。在函数内部,可以使用Unity的WWW类来加载模型文件。使用StreamingAssets文件夹的路径和模型文件的路径创建一个完整的URL。然后,使用WWW类的构造函数并传递该URL来加载模型文件。 一旦模型文件加载完成,可以根据应用的需求对其进行处理。例如,可以使用Unity的Instantiate函数将模型实例化到场景中,或将其用作角色模型、道具或其他游戏资产。 在Unity中,可以将模型文件导出WebGL构建。通过依次选择“文件”→“构建设置”→“WebGL”,可以打开WebGL构建设置窗口。在窗口中,可以设置构建的目标文件夹、名称和其他设置。然后,点击“构建”按钮开始构建WebGL版本。 构建完成后,将生成一个包含所有必要文件的文件夹。此文件夹可以使用Web服务器进行托管,或直接通过浏览器打开。在浏览器中运行时,UnityWebGL版本将动态获取模型文件并加载到场景中,实现动态获取模型文件的效果。 这是使用Unity导出WebGL并动态获取模型文件的一种方法。通过按照上述步骤设置和执行,您将能够在WebGL版本中实现动态加载模型的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若风华浊世间

欢迎指点 ! (*^_^*)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值