Unity UI显示异常求助:编辑与运行态显示不一致
Unity UI编辑与运行显示不一致(Free Aspect模式下)
以下是针对性的解决方法:
调整Canvas缩放模式
将Canvas的UI Scale Mode设置为Scale With Screen Size,设置一个和你编辑时视图匹配的Reference Resolution,然后把Screen Match Mode设为Match Width or Height,通过调整Match滑块(0对应宽度优先,1对应高度优先),让UI在任意宽高比下都能保持编辑时的相对布局。修正UI元素锚点与轴心
所有UI元素的锚点(Anchor)不要用固定的绝对位置,比如需要固定在右下角的按钮,锚点设为(1, 0),轴心(Pivot)也设为(1, 0),然后通过调整Pos X/Y的偏移量来定位,而非固定宽高。这样元素会始终锚定在屏幕的相对位置,不会随宽高比变化错位。排查冲突的适配逻辑
如果项目中有自定义屏幕适配脚本,禁止同时用代码修改Canvas缩放比例和使用Scale With Screen Size模式,避免运行时覆盖编辑器的设置。检查UI层级与遮挡
确保场景中存在Event System对象,Canvas的Sort Order设置合理,避免UI元素被其他对象遮挡导致显示异常。多分辨率测试验证
在编辑器Game视图切换不同分辨率测试,微调Reference Resolution和Match值,直到编辑态和运行态的UI显示完全一致,即使保持Free Aspect模式也能正常适配。
内容的提问来源于stack exchange,提问作者user21245403
相关产品推荐
相关产品推荐

