Unity UI Default Shader分析
文章目录
- UI默认材质和Default Shader
- Shader的属性定义
- Mask组件支持
- RectMask2D组件支持
- 其他支持
使用Unity UGUI时经常有自定义shader的需求,虽然我们可以直接按照shader lab的规范写出shader,使用也没问题,但如果能让自定义shader符合UI shader的规范,支持Mask,Rect2DMask等UI组件就更好了。因此本文分析了Unity2022.3 LTS版本的UI默认材质使用的Default UI Shader,探索一下其实现方式,给自定义的UI Shader做参考。
UI默认材质和Default Shader
新建一个UI对象,例如Image,面板上指定的材质是None,此时就会使用一个通用的默认材质,其使用的shader为
UI-Default.shader:
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
Shader "UI/Default