复合画布渲染器
<< 📘 文档 | 🎮 演示 | ⚙ 安装 | 🚀 使用 | 🤝 贡献 >>
📝 描述
复合画布渲染器将多个源图形烘焙到烘焙缓冲区(RenderTexture)中并进行渲染。
它还支持额外的材质修改、网格修改和烘焙效果,让您能够享受标准UI着色器难以实现的效果,如模糊、软轮廓和软阴影。
主要特性:
- 将多个源图形烘焙到RenderTexture中作为烘焙缓冲区。
- 在烘焙过程中利用源图形上设置的材质。
- 烘焙缓冲区会根据需要自动烘焙,或者您可以通过
SetDirty()
触发手动烘焙。 - 使用
CommandBuffer
在烘焙后对烘焙缓冲区应用自定义效果(作为后烘焙效果)。 - 您可以使用自定义材质来渲染烘焙缓冲区。
让我们来享受以前使用标准UI着色器难以实现的各种效果吧!
特性
-
效率:通过将多个图形组合到烘焙缓冲区中,减少了绘制调用次数,可以显著提高渲染性能。
-
自动烘焙:烘焙缓冲区会根据需要自动生成,简化了渲染过程并减少了手动干预。
-
控制:用户可以灵活地使用SetDirty()手动触发烘焙过程,让他们能够控制图形烘焙的时间和方式。
-
材质使用:确保在烘焙过程中使用图形上设置的材质,保持视觉一致性。
-
后烘焙效果:烘焙后,您可以使用命令缓冲区对烘焙缓冲区应用各种效果,允许额外的视觉增强或后处理。
-
内置效果:现成提供多种效果!
-
自定义材质支持:您可以使用自定义材质来渲染烘焙缓冲区。
-
前景/背景渲染:支持前景和背景渲染。
-
颜色和混合模式:允许您更改颜色模式和混合模式。
-
质量和性能控制:您可以使用
下采样率
参数微调质量和性能。
-
透视/正交渲染:支持透视和正交渲染。在正交渲染中(相对
position.z
和相对rotation.xy
为0),烘焙频率较低。
-
TextMeshPro兼容性:与TextMeshPro无缝配合。支持
<font>
和<sprite>
标签,也可能与其他自定义UI类兼容。
-
编辑器支持:享受便捷的编辑体验,能够在检查器中预览烘焙缓冲区,并在场景视图中可视化烘焙区域。您还可以从项目设置中自定义行为。
📄 文档
查看详细文档以了解更多关于项目及其功能的信息。
🎮 演示
⚙ 安装
此包需要 Unity 2019.4 或更高版本。
通过 OpenUPM 安装
此包可在 OpenUPM 包注册表中获得。 这是首选的安装方法,因为您可以轻松接收发布的更新。
如果您已安装 openupm-cli,请在项目目录中运行以下命令:
openupm add com.coffee.composite-canvas-renderer
通过 UPM 安装(使用 Git URL)
导航到项目的 Packages 文件夹并打开 manifest.json
文件。然后在 dependencies
块中添加此包:
{
"dependencies": {
"com.coffee.composite-canvas-renderer": "https://github.com/mob-sakai/CompositeCanvasRenderer.git?path=Packages/src",
...
},
}
要更新包,请将后缀 #{version}
更改为目标版本。
- 例如
"com.coffee.composite-canvas-renderer": "https://github.com/mob-sakai/CompositeCanvasRenderer.git?path=Packages/src#1.0.0",
🚀 使用方法
-
创建一个带有
CompositeCanvasRenderer
组件的 GameObject。 -
将 UI 元素(如 Image、RawImage、Text、TextMeshProUGUI 等)添加到该 GameObject。
-
烘焙区域由
RectTransform.size
和Expands
选项决定。在场景视图中,烘焙区域显示为洋红色矩形。 -
在检查器中调整
CompositeCanvasRenderer
设置。 -
在检查器中选择一个效果并微调其设置。
-
尽情享用!
🤝 贡献
问题
问题对这个项目非常有价值:
- 想法为他人可以做出的贡献提供了宝贵的来源。
- 问题有助于识别该项目需要改进的领域。
- 问题表明贡献者可以在哪些方面改善用户体验。
拉取请求
拉取请求是向这个仓库贡献您想法的绝佳方式。
请参考 CONTRIBUTING.md
和 develop 分支 了解指南。
支持
这是一个在我业余时间开发的开源项目。
如果您喜欢它,请考虑支持我。
您的支持让我能够投入更多时间进行开发。😊
许可证
- MIT