Unity游戏如何按正确宽高比全屏显示?
解决Unity UI无法按宽高比填满屏幕的问题
1. 正确配置Canvas Scaler组件
这是适配的核心,之前没生效大概率是参数设置有误:
- 将Canvas Scaler的UI Scale Mode设置为
Scale With Screen Size - 在Reference Resolution中填入你设计UI时的基准分辨率(比如竖屏游戏常用
1080 x 1920) - Screen Match Mode选择
Match Width Or Height,把Match值设为0.5(0优先适配宽度,1优先适配高度,0.5为均衡适配)
2. 让Panel自动铺满屏幕
- 选中Panel,右键点击它的
Rect Transform,选择Anchor Presets里的Stretch - Stretch(四个角锚点拉满),此时Panel会自动铺满整个Canvas - 如果需要Panel保持固定宽高比,给Panel添加
Aspect Ratio Fitter组件:- 设置Aspect Mode为
Fit In Parent - 输入目标宽高比(比如竖屏填
0.5625,对应9:16;横屏填1.7778,对应16:9),这样Panel会在填满屏幕的同时保持比例,不会拉伸变形
- 设置Aspect Mode为
3. 按钮等子元素的自适应布局
- 避免手动固定按钮位置,给Panel添加
Vertical Layout Group(垂直排列)或Horizontal Layout Group(水平排列)组件,开启Child Force Expand的宽/高选项,按钮会自动均匀分布在Panel内 - 单个按钮的话,调整它的
Rect Transform锚点:比如想让按钮固定在底部中间,就把锚点设为(0.5, 0),位置设为(0, 50),这样无论屏幕尺寸怎么变,按钮都会保持在底部中间50像素的位置
注意事项
- Canvas的Render Mode建议选
Screen Space - Overlay或Screen Space - Camera,不要用World Space,否则适配逻辑会失效
内容的提问来源于stack exchange,提问作者TOM
相关产品推荐
相关产品推荐

