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

本文记录了将Unity3D项目从PC端移植到WebGL平台的过程及遇到的问题。主要问题包括中文显示和布局调整,通过修改默认字体和设置canvas大小解决了汉字不显示和布局问题。此外,还分享了一系列WebGL项目的优化技巧,如选择合适Unity版本、关闭后台运行、调整加载页面等,以提高加载速度和性能。最后,提供了项目全屏展示的实现方式,并给出了项目演示链接。
摘要由CSDN通过智能技术生成

在之前的项目基础上我们已经打包后在PC端进行展示了。这篇文章主要介绍在切换到webGL上时效果展示不出来需要进行调整,特此记录一下。
1.平台切换
选择WebGL平台切换,没有的可以进行安装,安装之后关闭IDE重新启动。选择WebGL切换,参数参照以下设置即可。
在这里插入图片描述
2.构建WebGL项目
选择Build And Run 在对话框中设置Build目录,设置后构建。初次构建需要些时间。耐心等待。
在这里插入图片描述
构建之后运行发现,中文汉字不显示。并且布局也出现问题。
关于中文汉字不显示的问题解决方案是修改默认字体,找一个支持中文字体进行替换就能解决。
在这里插入图片描述
布局显示出现问题的原因是运行时分辨率过小导致的,开发设置时UI的分辨率时在1920x1080下进行布局设计的。因此在运行是全屏即可解决。
在这里插入图片描述
找到构建文件,打开index.html在head标签添加如下代码:
在这里插入图片描述

	<script>
	function reset(){
    var c=document.getElementById("unity-canvas");
    c.style.width="99.5vw";
    c.style.height="99.5vh";       
}
</script>

script.onload = () => {进行调用reset();

屏蔽代码:

  • 屏蔽div标签id为unity-footer
  • 屏蔽 var fullscreenButton = document.querySelector("#unity-fullscreen-button");
  • 屏蔽fullscreenButton的单击事件
 script.onload = () => {
      reset(); 
       createUnityInstance(canvas, config, (progress) => {
         progressBarFull.style.width = 100 * progress + "%";
       }).then((unityInstance) => {
         loadingBar.style.display = "none";
         <!-- fullscreenButton.onclick = () => {            unityInstance.SetFullscreen(1);          }; -->
       }).catch((message) => {
         alert(message);
       });
     };

3.优化WebGL项目
可以通过以下设置做一下对比。

开始进行项目优化
1.下载Unity2020.1和更高的版本用必须高于2020.1的版本开发
1.如果没有必须后台运行的必要就关闭后台运行P->Resolution and Presentation ->Run In BackGround
2.修改一个合适的加载页面(尽量小加载页能让人时间感降低)因为加载的进度条是与数据加载有关与加载到引擎时间可能不对应会感觉进度条不准.
3.如果是专业版去掉splash screen关闭启动画面会有一点点提升
4.Other Settings->Auto Graphics API根据自己需要选择webgl1.0webgl2.0或者都选毕竟还有edge浏览器只支持webgl1.0
5.Other Settings->Lightmap Encoding 选择Low光照贴图选低毕竟webgl了牺牲质量换速度
6.Other Settings->Api Compiler Configuration 选择.Net Standard 2.0
7.Other Settings->Strip Engine Code 勾选上这是剥离引擎代码把Managed stripping level>等级设成高这能尽可能剥离不使用的引擎代码.
8.Other Settings-> Optimize mesh Data勾选上这是优化网格数据
9.Other Settings-> Texture MipMap Stripping 根据自己选择勾选这个是贴图边缘模糊进行抗锯齿
10.Other Settings-> Stack Trace 全部选择None 堆栈跟踪全部不需要.
11.Publishing Settings ->Enable Excptions 选择None启用异常检测发布时间不需要
12.Publishing Settings ->Compression Format 是否压缩跟自己需要选择压缩肯定需要解压如果网络不好选择压缩.压缩尽量选择Gzip兼容好本地加载可以选择不压缩
13.Publishing Settings ->Data Caching 数据缓存这个一定要勾选二次加载提速度能不少.

在这里插入图片描述

4.全屏展示项目

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

发布网址http://www.btlfxx.cn/u3dtest/可以进行项目查看。第一次有点慢耐心等待下。
采煤机展示案例小demo

参照文章
Unity开发优化方案:WebGL篇:http://www.u3dc.com/archives/3716

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Unity3D是一款功能强大的游戏引擎,可以用来开发各种类型的游戏和应用程序。其中,导出WebGL格式是Unity3D的一个重要功能,它使得我们可以将游戏或应用程序直接发布到Web上,让用户可以通过浏览器来访问和体验。 使用Unity3D导出WebGL格式非常简单。首先,我们需要确保在Unity中我们的项目已经设置好了所需的场景、模型、材质和脚本等。然后,我们可以选择菜单栏中的"Build Settings"选项,打开一个设置窗口。 在"Build Settings"窗口中,我们需要选择"WebGL"作为目标平台,并设置一些导出选项。例如,我们可以选择导出的文件名和保存的路径。我们还可以选择是否需要压缩文件,以及是否需要在导出过程中进行连接和优化操作。 当我们设置好导出选项后,只需点击"Build"按钮,Unity3D将开始导出我们的项目为WebGL格式。这个过程可能需要一些时间,具体取决于我们的项目大小和计算机性能。 完成导出后,Unity将生成一个文件夹,其中包含所有导出的WebGL文件。我们可以将这个文件夹上传到Web服务器上,然后用户可以通过使用任何兼容的浏览器访问我们的游戏或应用程序。 使用Unity3D导出WebGL格式,我们可以将我们的项目变成一个跨平台的应用程序,用户可以通过使用不同设备上的Web浏览器来访问和播放。这种格式的导出不仅便于使用,而且还可以保留游戏或应用程序的许多功能和性能,使其在Web上的运行效果更加流畅和逼真。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yxlalm

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值