Snapshot của mob-sakai/CompositeCanvasRenderer: 210★ · C# · UI / UX. CompositeCanvasRenderer bakes multiple source graphics into a bake-buffer (RenderTexture) and renders it. Additional material modification, mesh modification, and baking effects are supported! Let's enjoy the effects that were difficult to implement with UI shaders, such as blur, soft outline, and soft shadow!
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
CompositeCanvasRenderer bakes multiple source graphics into a bake-buffer (RenderTexture) and renders it.
It also supports additional material modification, mesh modification, and baking effects, allowing you to enjoy effects that were challenging to implement with standard UI shaders, such as blur, soft outline, and soft shadow.
Key Features:
Bakes multiple source graphics into a RenderTexture as bake-buffer.
Utilizes the materials set on the source graphics during the baking process.
The bake-buffer is automatically baked as needed, or you can trigger manual baking with SetDirty().
Apply custom effects to the bake-buffer using a CommandBuffer after baking (as post-bake effect).
You can use custom materials for rendering the bake-buffer.
Let's enjoy a wide range of effects that were previously challenging to achieve with standard UI shaders!
Features
Efficiency: By combining multiple graphics into a bake-buffer, it reduces the number of draw calls and can significantly improve rendering performance.
Automated Baking: The bake-buffer is automatically generated as needed, simplifying the rendering process and reducing manual intervention.
Control: Users have the flexibility to manually trigger the baking process using SetDirty(), giving them control over when and how the graphics are baked.
Material Usage: It ensures that the materials set on the graphics are used during the baking process, maintaining visual consistency.
Post-Bake Effects: After baking, you can apply various effects to the bake buffer using a command buffer, allowing for additional visual enhancements or post-processing.
Built-in Effects: Several effects are available out of the box!
Custom Material Support: You can use custom materials for rendering the bake-buffer.
Foreground/Background Rendering: Supports both foreground and background rendering.
Color and Blend Mode: Allows you to change color modes and blend modes.
Quality and Performance Control: You can fine-tune quality and performance using the Down Sampling Rate parameter.
Perspective/Orthographic Rendering: Supports both perspective and orthographic rendering. In orthographic rendering (where relative position.z and relative rotation.xy are 0), baking is less frequent.
TextMeshPro Compatibility: Works seamlessly with TextMeshPro. <font> and <sprite> tags are supported, and it may also be compatible with other custom UI classes.
Editor Support: Enjoy a convenient editing experience with the ability to preview the bake buffer in the inspector and visualize the baking region in the scene view. You can also customize the behavior from the project settings.
📄 Documentation
Check out the detailed documentation to learn more about the project and its features.
Documentation
🎮 Demo
WebGL Demo
⚙ Installation
:warning: NOTE: If you are using Unity 2022.2 or earlier, please use the v1.x.
This package requires Unity 2022.3 or later.
Install via OpenUPM
This package is available on OpenUPM package registry.
This is the preferred method of installation, as you can easily receive updates as they're released.
If you have openupm-cli installed, then run the following command in your project's directory:
openupm add com.coffee.composite-canvas-renderer
Install via UPM (using Git URL)
Navigate to your project's Packages folder and open the manifest.json file. Then add this package somewhere in the dependencies block:
To update the package, change suffix #{version} to the target version.
e.g. "com.coffee.composite-canvas-renderer": "https://github.com/mob-sakai/CompositeCanvasRenderer.git?path=Packages/src#2.0.0",
🚀 Usage
Create a GameObject with the CompositeCanvasRenderer component.
Add UI elements such as Image, RawImage, Text, TextMeshProUGUI, etc., to the GameObject.
The baking area is determined by the RectTransform.size and the Expands option. In the scene view, the baking area is displayed as a magenta rectangle.
Adjust the CompositeCanvasRenderer settings in the inspector.
Select an effect in the inspector and fine-tune its settings.
Enjoy!
Project Settings
You can adjust the project-wide settings for CompositeCanvasRenderer. (Edit > Project Settings > UI > Composite Canvas Renderer)
Settings
Transform Sensitivity: Sensitivity of transform that automatically rebuilds the soft mask buffer.
Enable Culling In Play Mode:
Enable Culling In Edit Mode:
Shader
Registered Variants: A list of shader variants available at runtime. Use "-" button to remove unused variants,
reducing build time and file size.
By default, the used ui-effect shaders will be included in the build. You can remove them if you don't need.
Unregistered Variants: A list of shader variants that are not registered. Use "+" button to add variants.
Error On Unregistered Variant: If enabled, an error will be displayed when an unregistered shader variant is used.
The shader variant will be automatically added to the Unregistered Variants list.
[!IMPORTANT]
The setting file is usually saved in Assets/ProjectSettings/CompositeCanvasRendererProjectSettings.asset. Include this file in your version control system.
The setting file is automatically added as a preloaded asset in ProjectSettings/ProjectSettings.asset.
Advanced
Pre Load Settings In Build: When enabled, this settings asset will be added to PlayerSettings.preloadedAssets in build.
When disable, you should load this settings via Resources, AssetBundles or Addressables to use CompositeCanvasRenderer.
You can overwrite the settings by re-enabling CompositeCanvasRendererProjectSettings. This allows you to hot update shader variants and presets.
Ideas provide a valuable source of contributions that others can make.
Problems help identify areas where this project needs improvement.
Questions indicate where contributors can enhance the user experience.
Pull Requests
Pull requests offer a fantastic way to contribute your ideas to this repository.
Please refer to CONTRIBUTING.md
and develop branch for guidelines.
Support
This is an open-source project developed during my spare time.
If you appreciate it, consider supporting me.
Your support allows me to dedicate more time to development. 😊
mob-sakai/CompositeCanvasRenderer thuộc nhóm UI / UX trên TopGit, cùng 12 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về mob-sakai/CompositeCanvasRenderer ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/mob-sakai/CompositeCanvasRenderer là nguồn chính thức.
mob-sakai/CompositeCanvasRenderer có bao nhiêu sao?
mob-sakai/CompositeCanvasRenderer có 210 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/mob-sakai/CompositeCanvasRenderer. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
mob-sakai/CompositeCanvasRenderer có phải mã nguồn mở không?
Có — mob-sakai/CompositeCanvasRenderer phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/mob-sakai/CompositeCanvasRenderer.
mob-sakai/CompositeCanvasRenderer còn đang phát triển không?
Commit gần nhất trên mob-sakai/CompositeCanvasRenderer là 3 tháng trước (theo timestamp GitHub). Repo có 14 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
mob-sakai/CompositeCanvasRenderer dùng license gì?
mob-sakai/CompositeCanvasRenderer phát hành theo license MIT. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
mob-sakai/CompositeCanvasRenderer là gì?
mob-sakai/CompositeCanvasRenderer (mob-sakai/CompositeCanvasRenderer) là dự án C# trên GitHub. Theo mô tả gốc: CompositeCanvasRenderer bakes multiple source graphics into a bake-buffer (RenderTexture) and renders it. Additional material modification, mesh modification, and baking effects are supported! Let's enjoy the effects that were difficult to implement with UI shaders, such as blur, soft outline, and soft shadow!
mob-sakai/CompositeCanvasRenderer viết bằng ngôn ngữ gì?
mob-sakai/CompositeCanvasRenderer chủ yếu viết bằng C#. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về CompositeCanvasRenderer?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về CompositeCanvasRenderer.