mirror of
https://github.com/galacean/engine.git
synced 2026-06-21 19:02:50 +08:00
Merge pull request #2299 from cptbtptpbcptdtptp/fix/url
Fix doc error url
This commit is contained in:
@@ -7,7 +7,7 @@ label: Animation
|
||||
|
||||
动画切片(**AnimationClip**) 为**一段时间轴上的动画组合**,可以是多个物体的旋转、位移、缩放、权重动画,如**走路、跑步、跳跃**可以分别导出 3 个动画切片;Galacean 引擎可以选择播放哪一个动画切片,前提是建模软件导出的 FBX 或者 glTF 里面包含多个动画切片。
|
||||
|
||||
为减少沟通成本,本文列举了几种常见的动画切片方法,导出 glTF 方便 Galacean 引擎直接使用,也可以通过 [glTF 预览](https://galacean.antgroup.com/#/gltf-viewer) 页面进行功能校验。
|
||||
为减少沟通成本,本文列举了几种常见的动画切片方法,导出 glTF 方便 Galacean 引擎直接使用,也可以通过 [glTF 预览](https://galacean.antgroup.com/engine/gltf-viewer) 页面进行功能校验。
|
||||
|
||||
Blender 的动画编辑页面非常友好,能够清晰地可视化显示受动画影响的节点,并且在时间轴上显示关键帧,因此推荐使用 Blender 进行动画切片。
|
||||
|
||||
@@ -99,4 +99,4 @@ Unity 也可以导出动画切片,但是效率比较低。
|
||||
|
||||
<img src="https://gw.alipayobjects.com/zos/OasisHub/1bfefe2b-ca58-4cca-a091-9efe8028a4df/1622552925151-16b86fcc-4680-4611-aa32-d3697bbe5086.png" alt="image.png" style="zoom:50%;" />
|
||||
|
||||
12. 至此,制作的动画切片 glTF 文件导出完毕,可以访问 Galacean 的 [glTF 预览](https://galacean.antgroup.com/#/gltf-viewer) 进行功能校验。
|
||||
12. 至此,制作的动画切片 glTF 文件导出完毕,可以访问 Galacean 的 [glTF 预览](https://galacean.antgroup.com/engine/gltf-viewer) 进行功能校验。
|
||||
|
||||
@@ -79,7 +79,7 @@ label: Art
|
||||
|
||||

|
||||
|
||||
4. 放入[glTF 查看器](https://galacean.antgroup.com/#/gltf-viewer)预览效果
|
||||
4. 放入[glTF 查看器](https://galacean.antgroup.com/engine/gltf-viewer)预览效果
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ flowchart LR
|
||||
|
||||
本章节将主要讲述:
|
||||
|
||||
- 如何[自定义资产加载器](./custom)
|
||||
- 编辑状态下[资产的增删改查](./interface)
|
||||
- 构建项目后[资产如何导出并部署](./build)
|
||||
- 运行时如何[加载资产](./load)
|
||||
- 运行时如何[垃圾回收](./gc)
|
||||
- 如何[自定义资产加载器](/docs/assets/custom)
|
||||
- 编辑状态下[资产的增删改查](/docs/assets/interface)
|
||||
- 构建项目后[资产如何导出并部署](/docs/assets/build)
|
||||
- 运行时如何[加载资产](/docs/assets/load)
|
||||
- 运行时如何[垃圾回收](/docs/assets/gc)
|
||||
|
||||
@@ -11,7 +11,7 @@ label: Basics
|
||||
|
||||
## 编辑器
|
||||
|
||||
[Galacean Editor](https://antg.antgroup.com/editor) 是一个在线 Web 互动创作平台。它可以帮助你快速地创建、编辑和导出一个互动项目。你可以通过 Galacean Editor 快速上传资产,编辑材质、调整灯光、创建实体,从而创造出复杂的场景。
|
||||
[Galacean Editor](https://galacean.antgroup.com/editor/projects) 是一个在线 Web 互动创作平台。它可以帮助你快速地创建、编辑和导出一个互动项目。你可以通过 Galacean Editor 快速上传资产,编辑材质、调整灯光、创建实体,从而创造出复杂的场景。
|
||||
|
||||
使用编辑器创建互动项目的整体流程:
|
||||
|
||||
@@ -24,7 +24,7 @@ flowchart LR
|
||||
|
||||
## 运行时
|
||||
|
||||
核心功能由 [Galacean Runtime](https://www.npmjs.com/package/@galacean/runtime) 提供,非核心和偏业务逻辑定制的高级功能由 [Galacean Toolkit](https://github.com/galacean/runtime-toolkit) 提供。你可以通过浏览器在线浏览引擎的各种[示例](https://antg.antgroup.com/#/examples/latest/background)。
|
||||
核心功能由 [Galacean Runtime](https://www.npmjs.com/package/@galacean/runtime) 提供,非核心和偏业务逻辑定制的高级功能由 [Galacean Toolkit](https://github.com/galacean/runtime-toolkit) 提供。你可以通过浏览器在线浏览引擎的各种[示例](https://galacean.antgroup.com/engine-archive/examples/latest/background)。
|
||||
|
||||
### 核心包
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ Galacean 编辑器内置了对 Spine 动画的支持,无需额外下载或配
|
||||
spineboy.skel 包含了 skeleton animation 数据,spineboy.atlas 包含了 texture atlas 信息,导出的图片可能有多张,每张图片都代表了 texture altas 中的一页
|
||||
|
||||
## 2. 在 Galacean 编辑器中导入资产
|
||||
从 Spine 编辑器导出资产后,第二步就要将资产导入至 Galacean 编辑器了。打开编辑器后,将导出的文件直接拖入到[资产面板](https://antg.antgroup.com/engine/docs/latest/cn/assets-interface)中,即可完成上传
|
||||
从 Spine 编辑器导出资产后,第二步就要将资产导入至 Galacean 编辑器了。打开编辑器后,将导出的文件直接拖入到[资产面板](/docs/assets/interface/)中,即可完成上传
|
||||
|
||||
<img src="https://intranetproxy.alipay.com/skylark/lark/0/2024/gif/76063/1721208067896-206d850e-20fc-44a6-9987-6a8556b10e3b.gif#clientId=uf07edf19-371c-4&from=paste&height=540&id=u4bb88103&originHeight=1080&originWidth=1984&originalType=binary&ratio=2&rotation=0&showTitle=false&size=8620071&status=done&style=shadow&taskId=ua9290849-8cb2-46ac-98b6-e2b22ab0d83&title=&width=992" width="992" alt="Drag spine assets into Galacean editor">
|
||||
|
||||
@@ -125,9 +125,7 @@ SpineAnimationRenderer 组件的配置如下:
|
||||
- Priority:渲染优先级
|
||||
|
||||
## 4. 项目导出
|
||||
最终,完成场景编辑器后,可以参考[项目导出](https://antg.antgroup.com/engine/docs/latest/cn/assets-build) 流程,导出编辑器项目。
|
||||
|
||||
|
||||
最终,完成场景编辑器后,可以参考[项目导出](/docs/assets/build/)流程,导出编辑器项目。
|
||||
|
||||
</br></br></br></br>
|
||||
下一章节:[在代码中使用 Galacean Spine 运行时](/docs/graphics/2D/spine/runtime)
|
||||
|
||||
@@ -18,7 +18,7 @@ label: Graphics/2D/Spine/other
|
||||
目前已发布 4.2 beta 版本,4.1, 4.0 版本会陆续发布
|
||||
|
||||
### 版本升级
|
||||
升级到编辑器 1.3 版本后。除了需要在编辑器的[项目设置](https://antg.antgroup.com/engine/docs/latest/cn/interface-menu#%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE)中升级引擎版本外,由于导出 JSON 或者二进制的 Spine 编辑器版本需要与运行时版本[保持一致](https://zh.esotericsoftware.com/spine-versioning#%E5%90%8C%E6%AD%A5%E7%89%88%E6%9C%AC),所以编辑器升级到 1.3 后,`还需要重新导出 4.2 版本的 Spine 资产并上传到编辑器,通过文件覆盖完成资产的更新`。
|
||||
升级到编辑器 1.3 版本后。除了需要在编辑器的[项目设置](/docs/interface/menu/#项目设置)中升级引擎版本外,由于导出 JSON 或者二进制的 Spine 编辑器版本需要与运行时版本[保持一致](https://zh.esotericsoftware.com/spine-versioning#%E5%90%8C%E6%AD%A5%E7%89%88%E6%9C%AC),所以编辑器升级到 1.3 后,`还需要重新导出 4.2 版本的 Spine 资产并上传到编辑器,通过文件覆盖完成资产的更新`。
|
||||
|
||||
### 性能建议
|
||||
这里提供一些优化 spine 动画性能的方法:
|
||||
|
||||
@@ -24,7 +24,7 @@ Galacean spine 加载器既能加载编辑器上传的资产,也能过加载
|
||||
## 加载资产并添加至场景
|
||||
|
||||
### 加载 Galacean 编辑器中的上传的资产
|
||||
<a href="https://antg.antgroup.com/engine/docs/latest/cn/assets-build" target="_blank">导出编辑器项目后</a>,`已添加至场景中的 Spine 动画,会在加载场景文件时,自动完成加载`:
|
||||
[导出编辑器项目后](/docs/assets/build/),`已添加至场景中的 Spine 动画,会在加载场景文件时,自动完成加载`:
|
||||
|
||||
```typescript
|
||||
// 加载场景文件时,已添加至场景中的 Spine 动画会自行完成加载
|
||||
|
||||
@@ -10,7 +10,7 @@ label: Graphics/Light
|
||||
|
||||
<img src="https://gw.alipayobjects.com/zos/OasisHub/5ff4f65b-7940-4359-9de0-f8beef4d7fb2/bake.gif" alt="bake" style="zoom:50%;" />
|
||||
|
||||
我们在[编辑器](https://galacean.antgroup.com/editor) 和 [glTF 查看器](https://galacean.antgroup.com/#/gltf-viewer) 提供了烘焙工具。
|
||||
我们在[编辑器](https://galacean.antgroup.com/editor) 和 [glTF 查看器](https://galacean.antgroup.com/engine/gltf-viewer) 提供了烘焙工具。
|
||||
|
||||
## 编辑器使用
|
||||
|
||||
@@ -38,6 +38,6 @@ label: Graphics/Light
|
||||
|
||||
## glTF 查看器
|
||||
|
||||
我们在官网的 [glTF 查看器](https://galacean.antgroup.com/#/gltf-viewer) 也提供了烘焙工具,直接拖拽 HDR 贴图到网页即可自动下载烘焙产物 :
|
||||
我们在官网的 [glTF 查看器](https://galacean.antgroup.com/engine/gltf-viewer) 也提供了烘焙工具,直接拖拽 HDR 贴图到网页即可自动下载烘焙产物 :
|
||||
|
||||

|
||||
|
||||
@@ -12,6 +12,6 @@ label: Graphics/Material
|
||||
|
||||
本节包含以下相关信息:
|
||||
|
||||
- [材质组成](/composition)
|
||||
- [编辑器使用](/editor)
|
||||
- [脚本使用](/script)
|
||||
- [材质组成](/docs/graphics/material/composition/)
|
||||
- [编辑器使用](/docs/graphics/material/editor/)
|
||||
- [脚本使用](/docs/graphics/material/script/)
|
||||
|
||||
@@ -14,7 +14,7 @@ label: Graphics/Model
|
||||
- **(.glb + 图片)**
|
||||
- **(.fbx)**
|
||||
|
||||
需要注意的是,编辑器会将 FBX 转换成运行时也可以解析的[ glTF 格式](./glTF)。接下来,让我们实操一下如何将模型文件导入编辑器。
|
||||
需要注意的是,编辑器会将 FBX 转换成运行时也可以解析的[ glTF 格式](/docs/graphics/model/glTF/)。接下来,让我们实操一下如何将模型文件导入编辑器。
|
||||
|
||||
## 拖拽导入
|
||||
|
||||
@@ -35,4 +35,4 @@ style="zoom:100%;" />
|
||||
|
||||
<img src="https://mdn.alipayobjects.com/huamei_yo47yq/afts/img/A*OtKERZfkrEAAAAAAAAAAAAAADhuCAQ/original" alt="image-20231009112129853" style="zoom:50%;" />
|
||||
|
||||
导入完毕后, **[资产面板](/docs/assets/interface)** 中就会新增导入的模型资产,让我们[看看模型资产包含了什么内容](./assets)吧。
|
||||
导入完毕后, **[资产面板](/docs/assets/interface)** 中就会新增导入的模型资产,让我们[看看模型资产包含了什么内容](/docs/graphics/model/assets/)吧。
|
||||
|
||||
@@ -15,9 +15,9 @@ label: Graphics/Model
|
||||
|
||||
本章主要解答如下开发者可能遇到的问题:
|
||||
|
||||
- 模型格式的要求,编辑器目前支持导入 `glTF` 或者 `FBX` 格式的模型,但是最后编辑器都会转换成运行时也可以解析的 [glTF](./glTF) 格式。
|
||||
- [导入模型](./importGlTF)到编辑器
|
||||
- 什么是[模型资产](./assets)
|
||||
- [模型的加载与使用](./use)
|
||||
- [在编辑器中还原美术效果](./restoration)
|
||||
- [模型优化](./opt)
|
||||
- 模型格式的要求,编辑器目前支持导入 `glTF` 或者 `FBX` 格式的模型,但是最后编辑器都会转换成运行时也可以解析的 [glTF](/docs/graphics/model/glTF/) 格式。
|
||||
- [导入模型](/docs/graphics/model/importGlTF/)到编辑器
|
||||
- 什么是[模型资产](/docs/graphics/model/assets/)
|
||||
- [模型的加载与使用](/docs/graphics/model/use/)
|
||||
- [在编辑器中还原美术效果](/docs/graphics/model/restoration/)
|
||||
- [模型优化](/docs/graphics/model/opt/)
|
||||
|
||||
@@ -16,7 +16,7 @@ Galacean 引擎目前有 3 种方式调试材质:
|
||||
|
||||
2. 通过 Galacean Editor 可视化调试,参考[教程](/docs/graphics/material/material)。
|
||||
|
||||
3. **通过 3D 建模软件调好后导出 [glTF](./glTF)**
|
||||
3. **通过 3D 建模软件调好后导出 [glTF](/docs/graphics/model/glTF/)**
|
||||
|
||||
前两种方式直接使用引擎渲染,所见即所得,没有视觉上的差异。
|
||||
|
||||
@@ -116,7 +116,7 @@ Galacean 引擎和建模软件的连通渠道是 [glTF 文件](/docs/graphics/mo
|
||||
|
||||
- 校验导出
|
||||
|
||||
导出 glTF 后,可以将文件拖拽到 [glTF 查看器](https://galacean.antgroup.com/#/gltf-viewer) 中,查看相应的颜色、纹理、参数等是否正确:
|
||||
导出 glTF 后,可以将文件拖拽到 [glTF 查看器](https://galacean.antgroup.com/engine/gltf-viewer) 中,查看相应的颜色、纹理、参数等是否正确:
|
||||
|
||||
<img src="https://gw.alipayobjects.com/zos/OasisHub/a76d35e6-e222-4877-89a4-c44a117a1284/1635499678001-f7df3dc2-2219-4516-887b-fc5d51dc3521.png" alt="image.png" style="zoom:50%;" />
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@ label: Graphics/Renderer
|
||||
|
||||
在 Galacean 中,内置了以下几种渲染器:
|
||||
|
||||
- [网格渲染器](./meshRenderer): 通过设置 `mesh` 与 `material` 即可渲染物体。
|
||||
- [蒙皮网格渲染器](./skinnedMeshRenderer): 基于[网格渲染器](./meshRenderer),额外包含了`骨骼动画`与 `Blend Shape` 的能力,使得物体的动画效果更加自然。
|
||||
- [网格渲染器](/docs/graphics/renderer/meshRenderer/): 通过设置 `mesh` 与 `material` 即可渲染物体。
|
||||
- [蒙皮网格渲染器](/docs/graphics/renderer/skinnedMeshRenderer): 基于[网格渲染器](/docs/graphics/renderer/meshRenderer/),额外包含了`骨骼动画`与 `Blend Shape` 的能力,使得物体的动画效果更加自然。
|
||||
- [精灵渲染器](/docs/graphics/2D/spriteRenderer/): 通过设置 `sprite` 与 `material` (默认内置精灵材质),可以在场景中展示 2D 图像。
|
||||
- [精灵遮罩渲染器](/docs/graphics/2D/spriteMask/): 用于对精灵渲染器实现遮罩效果。
|
||||
- [文字渲染器](/docs/graphics/2D/text/): 在场景中显示文本
|
||||
- [粒子渲染器](/docs/graphics/particle/renderer/): 在场景中展示粒子效果。
|
||||
|
||||
通过[渲染排序](./order)可以更深入地了解各种渲染器在引擎内的渲染顺序。
|
||||
通过[渲染排序](/docs/graphics/renderer/order/)可以更深入地了解各种渲染器在引擎内的渲染顺序。
|
||||
|
||||
## 属性
|
||||
|
||||
|
||||
@@ -22,4 +22,4 @@ Shader 资产是 Galacean 编辑器项目中定义 Shader 对象的资产,目
|
||||
|
||||
编辑器中可以提供了3个 Shader 资产文件模板: `Unlit Shader`, `PBR Shader` 和 `Shader Chunk`。和脚本组件类似,选中 Shader 资产可以在 Inspector 界面预览 Shader 代码,双击或者在代码编辑页面选中可以实时编辑 Shader 代码。
|
||||
|
||||
前往 [Shader API 教程](/shaderAPI) 了解如何基于模板拓展 Shader。
|
||||
前往 [Shader API 教程](/docs/graphics/shader/shaderAPI/) 了解如何基于模板拓展 Shader。
|
||||
|
||||
@@ -6,9 +6,9 @@ title: 介绍
|
||||
|
||||
| 类型 | 描述 |
|
||||
| :-- | :-- |
|
||||
| [Unlit ](/unlit) | Unlit 材质适用于烘焙好的模型渲染,她只需要设置一张基本纹理或者颜色,即可展现离线渲染得到的高质量渲染结果,但是缺点是无法实时展现光影交互,因为 Unlit 由纹理决定渲染,不受任何光照影响,可参考 [烘焙教程](/docs/art/bake-blender) 和 [导出 Unlit 教程](/unlit) |
|
||||
| [Blinn Phong ](/blinnPhong) | Blinn Phong 材质适用于那些对真实感没有那么高要求的场景,虽然没有遵循物理,但是其高效的渲染算法和基本齐全的光学部分,可以适用很多的场景。 |
|
||||
| [PBR ](/pbr) | PBR 材质适合需要真实感渲染的应用场景,因为 PBR 是基于物理的渲染,遵循能量守恒,开发者通过调整金属度、粗糙度、灯光等参数,能够保证渲染效果都是物理正确的。 |
|
||||
| [Unlit ](/docs/graphics/shader/builtins/unlit) | Unlit 材质适用于烘焙好的模型渲染,她只需要设置一张基本纹理或者颜色,即可展现离线渲染得到的高质量渲染结果,但是缺点是无法实时展现光影交互,因为 Unlit 由纹理决定渲染,不受任何光照影响,可参考 [烘焙教程](/docs/art/bake-blender) 和 [导出 Unlit 教程](/docs/graphics/shader/builtins/unlit) |
|
||||
| [Blinn Phong ](/docs/graphics/shader/builtins/blinnPhong) | Blinn Phong 材质适用于那些对真实感没有那么高要求的场景,虽然没有遵循物理,但是其高效的渲染算法和基本齐全的光学部分,可以适用很多的场景。 |
|
||||
| [PBR ](/docs/graphics/shader/builtins/pbr) | PBR 材质适合需要真实感渲染的应用场景,因为 PBR 是基于物理的渲染,遵循能量守恒,开发者通过调整金属度、粗糙度、灯光等参数,能够保证渲染效果都是物理正确的。 |
|
||||
|
||||
可以在编辑器中直接调试内置着色器的对应属性观察实时渲染效果变化。
|
||||
|
||||
|
||||
@@ -60,6 +60,6 @@ title: Unlit
|
||||
|
||||

|
||||
|
||||
将刚才导出来的 glTF 文件拖入编辑器或者 [glTF 预览器](https://galacean.antgroup.com/#/gltf-viewer),若材质类型为 **UnlitMaterial**,说明已经导出了 glTF 的 [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit) 插件,且 Galacean 已经解析成 Unlit 材质。
|
||||
将刚才导出来的 glTF 文件拖入编辑器或者 [glTF 预览器](https://galacean.antgroup.com/engine/gltf-viewer),若材质类型为 **UnlitMaterial**,说明已经导出了 glTF 的 [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit) 插件,且 Galacean 已经解析成 Unlit 材质。
|
||||
|
||||

|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Shader
|
||||
---
|
||||
|
||||
在[着色器简介](./intro)我们了解了着色器的基本概念,Galacean 引擎基于着色器程序,将其他渲染相关的信息进行了统一封装,形成了 Shader 对象。Shader 对象和 [材质](../material/material) 共同决定了被渲染物体最终的渲染结果。
|
||||
在[着色器简介](/docs/graphics/shader/intro/)我们了解了着色器的基本概念,Galacean 引擎基于着色器程序,将其他渲染相关的信息进行了统一封装,形成了 Shader 对象。Shader 对象和 [材质](/docs/graphics/material/material/) 共同决定了被渲染物体最终的渲染结果。
|
||||
|
||||
## Shader
|
||||
|
||||
@@ -35,7 +35,7 @@ Tags 是用于被渲染管线消费的 key-value 键值对,通常用于指定
|
||||
|
||||
此外还可以通过 [Camera.setReplacementShader](/apis/galacean/#Camera-resetReplacementShader),指定渲染管线的`replacementTag`,实现对设置指定 `Tag` 的 `SubShader` 替换的目的。
|
||||
|
||||
Tags 可以通过 [SubShader.setTag](/apis/galacean/#SubShader-setTag) 和 [ShaderPass.setTag](/apis/galacean/#ShaderPass-setTag)进行指定,ShaderLab 指定 Tag 方式详见[文档](./shaderLab/syntax/subShader/#tags)
|
||||
Tags 可以通过 [SubShader.setTag](/apis/galacean/#SubShader-setTag) 和 [ShaderPass.setTag](/apis/galacean/#ShaderPass-setTag)进行指定,ShaderLab 指定 Tag 方式详见[文档](/docs/graphics/shader/shaderLab/syntax/subShader/#tags)
|
||||
|
||||
- Passes
|
||||
|
||||
@@ -43,11 +43,11 @@ Tags 可以通过 [SubShader.setTag](/apis/galacean/#SubShader-setTag) 和 [Shad
|
||||
|
||||
- RenderStates
|
||||
|
||||
SubShader 下所有 ShaderPass 共享的 [RenderState 渲染状态](../material/composition/#渲染状态)
|
||||
SubShader 下所有 ShaderPass 共享的 [RenderState 渲染状态](/docs/graphics/material/composition/#渲染状态)
|
||||
|
||||
## ShaderPass
|
||||
|
||||
ShaderPass 封装了具体的着色器程序,以及执行最终渲染时的[渲染状态](../material/composition/#渲染状态)。
|
||||
ShaderPass 封装了具体的着色器程序,以及执行最终渲染时的[渲染状态](/docs/graphics/material/composition/#渲染状态)。
|
||||
|
||||
<Callout type="info">
|
||||
同一 SubShader 下的 ShaderPass 按照数组顺序依次渲染,渲染效果逐步叠加,形成 Shader 在当前帧的最终渲染结果。
|
||||
|
||||
@@ -18,8 +18,8 @@ flowchart LR
|
||||
本章节我们将介绍如下内容:
|
||||
|小节|内容|
|
||||
|:--:|:--:|
|
||||
|[Shader对象](/class)|引擎中Shader对象的概括和基本用法|
|
||||
|[内置着色器](/builtins/intro)|引擎内置的常用着色器|
|
||||
|[Shader资产](/assets)|在编辑器中如何创建、修改Shader资产|
|
||||
|[ShaderLab](/lab)|一种更为便捷的创建Shader的方式|
|
||||
|[Shader对象](/docs/graphics/shader/class/)|引擎中Shader对象的概括和基本用法|
|
||||
|[内置着色器](/docs/graphics/shader/builtins/intro/)|引擎内置的常用着色器|
|
||||
|[Shader资产](/docs/graphics/shader/assets/)|在编辑器中如何创建、修改Shader资产|
|
||||
|[ShaderLab](/docs/graphics/shader/shaderLab/intro/)|一种更为便捷的创建Shader的方式|
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: ShaderLab
|
||||
---
|
||||
|
||||
> 在[自定义着色器](/custom)章节我们了解到如何使用 WebGL 原生 GLSL 语言创建自定义 Shader,本节我们将介绍另一种创建 Shader 的方式 --- ShaderLab。
|
||||
> 在[自定义着色器](/docs/graphics/shader/custom/)章节我们了解到如何使用 WebGL 原生 GLSL 语言创建自定义 Shader,本节我们将介绍另一种创建 Shader 的方式 --- ShaderLab。
|
||||
|
||||
`ShaderLab` 是一个针对 Galacean 引擎打造的 Shader 包装语言,它允许开发人员使用熟悉的 [GLSL](https://www.khronos.org/files/opengles_shading_language.pdf) 语法编写自定义 Shader,同时提供了额外的高级抽象和管理特性以增强开发效率。在[材质组成](/docs/graphics/material/composition/)章节我们提到,未引入 ShaderLab 前各类[渲染状态](/docs/graphics/material/composition/#渲染状态)的设置需要开发者手动调用 api 进行设置,有了 ShaderLab 后,开发者能够直接在 "Shader" 文件中对渲染状态进行设置和指定,此外还能定义绑定 Shader 的材质渲染参数,映射到编辑器的 Inspector 面板中,方便开发者即时调整渲染效果。
|
||||
|
||||
|
||||
@@ -28,4 +28,4 @@ Shader "ShaderName" {
|
||||
}
|
||||
```
|
||||
|
||||
主要包含 [Shader](/shader),[SubShader](/subShader) 和 [ShaderPass](/Pass) 模块。
|
||||
主要包含 [Shader](/docs/graphics/shader/shaderLab/syntax/shader/),[SubShader](/docs/graphics/shader/shaderLab/syntax/subShader/) 和 [ShaderPass](/docs/graphics/shader/shaderLab/syntax/pass/) 模块。
|
||||
|
||||
@@ -14,7 +14,7 @@ Shader "ShaderName" {
|
||||
}
|
||||
```
|
||||
|
||||
ShaderLab 中的 `Shader` 是传统渲染管线中着色器程序和其他引擎渲染设置相关信息的集合封装,它允许在同一个 `Shader` 对象中定义多个着色器程序,并告诉 Galacean 在渲染过程中如何选择使用它们。`Shader` 对象具有嵌套的结构,包分别对应引擎封装的 [Shader](/class/#shader),[SubShader](/class/#subshader) 和 [ShaderPass](/class/#shaderpass) 对象。
|
||||
ShaderLab 中的 `Shader` 是传统渲染管线中着色器程序和其他引擎渲染设置相关信息的集合封装,它允许在同一个 `Shader` 对象中定义多个着色器程序,并告诉 Galacean 在渲染过程中如何选择使用它们。`Shader` 对象具有嵌套的结构,包分别对应引擎封装的 [Shader](/apis/galacean/#Shader),[SubShader](/apis/galacean/#SubShader) 和 [ShaderPass](/apis/galacean/#ShaderPass) 对象。
|
||||
|
||||
## 材质属性定义
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ SubShader "SubShaderName" {
|
||||
|
||||
## Tags
|
||||
|
||||
在 [Shader 对象](/class) 章节我们了解了 Tags 的基本概念和用途,ShaderLab 中可以通过 `Tags` 指令直接声明和指定,无须通过 `SubShader.setTag` api 方式手动指定。
|
||||
在 [Shader 对象](/docs/graphics/shader/class/) 章节我们了解了 Tags 的基本概念和用途,ShaderLab 中可以通过 `Tags` 指令直接声明和指定,无须通过 `SubShader.setTag` api 方式手动指定。
|
||||
|
||||
|
||||
## UsePass
|
||||
|
||||
@@ -34,7 +34,7 @@ KTX2 的生成可以使用:
|
||||
|
||||
### 编辑器
|
||||
|
||||
编辑器在项目打包时,可以配置选项生成 KTX2,可以参考『[项目发布](/assets-build)』文档。项目导出是全局的配置,也可以独立给不同的纹理资源配置不同的压缩格式。在编辑器的纹理面板下勾选 overwrite 可以覆盖全局配置:
|
||||
编辑器在项目打包时,可以配置选项生成 KTX2,可以参考『[项目发布](/docs/assets/build/)』文档。项目导出是全局的配置,也可以独立给不同的纹理资源配置不同的压缩格式。在编辑器的纹理面板下勾选 overwrite 可以覆盖全局配置:
|
||||
|
||||
<img src="https://mdn.alipayobjects.com/rms/afts/img/A*fmURSZ4HwKUAAAAAAAAAAAAAARQnAQ/original/image-20240705112419249.png" alt="image-20240705112419249" style="zoom:50%;" />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user