• unity webgl自适应网页尺寸


    我使用的是unity 2019.4 LTS版
    一共有两步

    1 在Index.html中修改

    <!DOCTYPE html>
    <html lang="en-us">
    
      <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Unity WebGL Player | DMJ</title>
        <link rel="shortcut icon" href="TemplateData/favicon.ico">
        <link rel="stylesheet" href="TemplateData/style.css">
        <script src="TemplateData/UnityProgress.js"></script>  
        <script src="Build/UnityLoader.js"></script>
    
        <script>
          var unityInstance = UnityLoader.instantiate("gameContainer", "Build/DMJ_WebApp.json", {onProgress: UnityProgress});
        </script>
    
      </head>
    
      <!-- 调用 OnResize方法, 当用户改变浏览器尺寸时, 屏幕会自适应 -->
      <body onResize="ChangeCanvas()">
        <div class="webgl-content">
    
          <!-- 设置长宽都是百分百填充 -->
          <div id="gameContainer" style="width:100%; height:100%"></div>
    
          <!-- 底部的显示条,不需要的话直接删掉-->
          <div class="footer">
            <div class="webgl-logo"></div>
            <div class="fullscreen" onclick="gameInstance.SetFullscreen(1)"></div>
            <div class="title">DMJ</div>
          </div>
          
        </div>
        <!--添加自动设置分辨率的方法-->
        <script type="text/javascript">
          function ChangeCanvas()
          {
             document.getElementById("unityInstance").style.width = window.innerWidth + "px";
             document.getElementById("unityInstance").style.height = window.innerHeight + "px";
             document.getElementById("#canvas").style.width = window.innerWidth + "px";
             document.getElementById("#canvas").style.height = window.innerHeight + "px";
          }
        </script>
      </body>
    
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    2 修改css 的内容 位置在打包出来的文件/TemplateData/style.css

    .webgl-content * {border: 0; margin: 0; padding: 0}
    
    /*主要是这里 添加 width: 100%; height: 100%;*/
    .webgl-content {position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
    
    .webgl-content .logo, .progress {position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
    .webgl-content .logo {background: url('progressLogo.Light.png') no-repeat center / contain; width: 154px; height: 130px;}
    .webgl-content .progress {height: 18px; width: 141px; margin-top: 90px;}
    .webgl-content .progress .empty {background: url('progressEmpty.Light.png') no-repeat right / cover; float: right; width: 100%; height: 100%; display: inline-block;}
    .webgl-content .progress .full {background: url('progressFull.Light.png') no-repeat left / cover; float: left; width: 0%; height: 100%; display: inline-block;}
    
    .webgl-content .logo.Dark {background-image: url('progressLogo.Dark.png');}
    .webgl-content .progress.Dark .empty {background-image: url('progressEmpty.Dark.png');}
    .webgl-content .progress.Dark .full {background-image: url('progressFull.Dark.png');}
    
    /*如果你要保存 footer模块, 然后又要让footer显示在最顶部,这样处理*/
    .webgl-content .footer {margin-top: -45px; margin-left: 5px; margin-right: 5px; z-index: 1; position: relative; height: 38px; line-height: 38px; font-family: Helvetica, Verdana, Arial, sans-serif; font-size: 18px;} 
    .webgl-content .footer .webgl-logo, .title, .fullscreen {height: 100%; display: inline-block; background: transparent center no-repeat;} 
    .webgl-content .footer .webgl-logo {background-image: url('webgl-logo.png'); width: 204px; float: left;}
    .webgl-content .footer .title {margin-right: 10px; float: right;}
    .webgl-content .footer .fullscreen {background-image: url('fullscreen.png'); width: 38px; float: right;}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    原文连接

  • 相关阅读:
    Serializable java序列化
    YOLOv7论文阅读
    Python(四)——变量的定义和简单使用
    jQuery常用API--效果
    python中.txt文件的使用【txt读取和写入】
    ERP系统有哪些品牌?
    Java计算机毕业设计大学生社团管理系统源码+系统+数据库+lw文档
    UICollectionView
    DataFrame(11):数据转换——map()函数的使用
    Python Jupyter Notebook效率开发工具
  • 原文地址:https://blog.csdn.net/weixin_44568736/article/details/125624332