Version: 6000.3
语言: 中文
Web 图形 API
针对 WebGL2 和 WebGPU API 的建议

WebGL2

WebGL 是一个用于在 Web 浏览器中渲染图形的 API,它基于 OpenGL ES 图形库的功能。WebGL一种在 Web 浏览器中呈现 2D 和 3D 图形的 JavaScript API。Unity Web 构建选项允许 Unity 将内容发布为 JavaScript 程序,这些程序使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。更多信息
请参阅术语表
2.0 (WebGL2) 是 Unity 支持的 WebGL 版本。WebGL2 几乎与 OpenGL ES 3.0 功能匹配。

WebGL2 被大多数浏览器广泛接受,是 Unity 中的默认 Web 图形 API。

针对 WebGL2 的建议

使用 WebGL2 有一些最佳实践建议和限制:

相机清晰的推荐

默认情况下,Unity Web 会在每一帧后清除绘图缓冲区,这意味着无论 Camera.clearFlags 设置如何,帧缓冲区的内容都会被清除。但是,您可以在实例化时更改此行为。为此,请将webglContextAttributes.preserveDrawingBuffertrueindex.html文件。

注意:如果设置任何 WebGL 上下文属性,还必须添加一行以保留 Power Preference Player 设置

script.onload = () => {
  config['webglContextAttributes'] = {
    preserveDrawingBuffer: true, //Add this line to preserve the Camera.clearFlags setting
    powerPreference: {{{ WEBGL_POWER_PREFERENCE }}} //Add this line to preserve the Power Preference Player setting
  };
  createUnityInstance(canvas, config, (progress) => {

启用抗锯齿

WebGL 支持在大多数(但不是所有)浏览器和 GPU 组合上进行抗锯齿。抗锯齿可柔化场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
.

要启用抗锯齿:

  1. 转到 质量设置(菜单:编辑(Edit) > 项目设置(Project Settings),然后选择 质量(Quality) 类别)。

  2. 在 渲染(Rendering) 分段中,确保 抗锯齿(Anti Aliasing) 未设置为 禁用(Disabled)。

有关抗锯齿的更多信息,请参阅抗锯齿文档质量设置

对 Web 着色器代码的限制

WebGL 2.0 规范对 OpenGL 着色语言 (GLSL) 施加了一些限制着色器在 GPU 上运行的程序。更多信息
请参阅术语表
法典。如果您编写自己的着色器,这主要相关。 精度限定符 WebGL 2.0 要求在着色器中指定所有变量的精度。您可以使用highp,mediumplowp以指定变量的精度。如果未指定精度,则着色器将使用默认精度,即mediump.您还可以使用精度来指定变量块的精度。

针对 WebGL2 和 WebGPU 的建议

有与这两个 Web 图形 API 相关的建议。有关详细信息,请参阅 WebGL2 和 WebGPU 图形 API 的建议

其他资源

Web 图形 API
针对 WebGL2 和 WebGPU API 的建议