Unity 2D项目中Canvas与主相机维度倒置问题求助
解决Canvas与相机维度倒置的问题
这问题我之前跟着类似2D UI教程时也踩过坑,大概率是素材导入、Canvas配置或者相机设置的细节没对齐,咱们一步步来排查修复:
1. 检查图像素材的导入设置
首先要确保素材本身的方向没被Unity自动篡改:
- 选中你的图像素材,打开右侧Inspector面板
- 找到Texture Orientation选项,把它改成
None(默认可能是“Auto Rotate”,会根据素材的EXIF信息自动旋转,导致宽高颠倒) - 确认Texture Type是
Sprite (2D and UI),Sprite Mode设为Single,保证素材以正确的UI Sprite格式加载
2. 修正Canvas Scaler的参考分辨率
你的参考分辨率设为1920x1080(横屏),但图像原始尺寸是1080x1920(竖屏),这大概率是核心矛盾:
- 如果教程是做竖屏游戏,把Canvas Scaler的参考分辨率改成
X:1080, Y:1920,和图像的原始比例匹配 - 保持Match值为0.5不变,然后调整游戏窗口的分辨率为竖屏比例(比如1080x1920),此时UI应该能正常显示原始宽高
3. 检查正交相机的设置
2D游戏的Screen Space Camera模式依赖正交相机的正确配置:
- 选中主相机,确认Projection设置为
Orthographic(2D游戏必须用正交投影) - 调整相机的Size值:如果是竖屏1080高度,相机Size设为
540(正交相机的Size是视口高度的一半,这样刚好覆盖1080px的高度) - 确保相机的位置在
(0, 0, -10)(默认位置),和Canvas的渲染相机绑定正确
4. 重置UI Image的Rect Transform
有时候手动调整过UI后会残留异常设置,重置后再重新配置:
- 选中Canvas里的UI Image组件,右键点击Rect Transform ->
Reset - 然后点击Image组件里的Set Native Size按钮,让图像恢复原始宽高比例
按上面的步骤逐一排查,应该就能解决宽高倒置的问题啦!
内容的提问来源于stack exchange,提问作者PKey
相关产品推荐
相关产品推荐

