Chrome webgl 渲染/闪烁问题

Chrome webgl rendering / flashing issue

我尝试在 google chrome 浏览器上获得统一 => webgl 导出。

它在 firefox 上工作正常,但在 Chrome 上背景不透明并且看起来很脏,有时甚至闪烁得非常快(对患有癫痫症的人非常危险)

这是应该做透明背景的代码:

  var LibraryGLClear = {
      glClear: function(mask)
      {
          if (mask == 0x00004000)
          {
              var v = GLctx.getParameter(GLctx.COLOR_WRITEMASK);
              if (!v[0] && !v[1] && !v[2] && v[3])
                  // We are trying to clear alpha only -- skip.
                  return;
          }
          GLctx.clear(mask);
      }
  };

  mergeInto(LibraryManager.library, LibraryGLClear);

代码取自此处:https://answers.unity.com/questions/1069255/embed-webgl-in-webpage-with-transparent-background.html

With 透明度代码:https://youtu.be/qpTq73ZL5_c(如果快速变化的图像会引发癫痫症,请不要观看)

我还以为是透明码引起的呢。不幸的是,这不是根本原因,因为我在没有透明代码的情况下将其捆绑并遇到了类似的问题:

没有: https://youtu.be/271mZsizvps

Unity 中是否有我可以玩的特殊设置? 你有同样的问题吗?

请帮忙,谢谢!

好的,我在这里解决了:https://forum.unity.com/threads/webgl-with-transparency-on-the-cavas.327425/

我想基本上我做错了,就是没有将相机的背景颜色设置为 0,0,0,0。

不幸的是,那个地方没有写,所以我把它加在里面post。希望对大家有帮助。