Unity项目中UI Canvas按钮文本不显示问题求助
检查Canvas与相机的适配逻辑
确认Canvas的Render Mode设置:- 若为
Screen Space - Overlay,排查是否有其他全屏UI遮挡当前按钮; - 若为
Screen Space - Camera,检查相机是否正确赋值,且相机的Culling Mask包含UI层; - 若为
World Space,确保Canvas处于相机视野范围内,且缩放比例适配当前场景。
- 若为
排查文本的层级遮挡问题
确认Text是Button的子物体,临时隐藏Button的Image组件,测试文本是否显示,排除被Button背景或其他UI元素(如Mask、Panel)遮挡的可能。验证字体资源有效性
将Text组件的字体切换为Unity默认的Arial,测试是否能显示,排除字体未正确导入、丢失或损坏的问题。检查RectTransform参数合理性
确认Text的RectTransform位置、尺寸设置正常,文本内容完全处于Rect显示区域内;锚点和pivot设置不当可能导致文本偏移到可视区域外,可重置RectTransform参数测试。核对UI层与相机剔除掩码
确保Text和Button所在的Layer被场景相机的Culling Mask包含,若UI层被排除,相机将无法渲染该层元素。检查Canvas Scaler缩放设置
若Canvas Scaler选择Scale With Screen Size,确认Reference Resolution与当前运行分辨率适配,避免文本因过度缩放被压缩至不可见。细化Text组件参数检查
除字号、颜色、透明度外,确认Horizontal Overflow和Vertical Overflow设置为Wrap或Overflow,防止文本因超出边界被隐藏;同时检查文本对齐方式,避免偏移出Rect范围。尝试重建UI元素
删除当前Button和Text,重新创建Unity默认Button(自带Text组件),测试是否正常显示,排查原对象组件参数异常的可能。
内容的提问来源于stack exchange,提问作者Med Balali

