Unity Orthographic模式下游戏对象非预期X轴拉伸问题求助
解决Unity正交相机下3D模型X轴拉伸问题
核心原因
正交相机的投影范围由Orthographic Size和**宽高比(Aspect Ratio)**共同决定,两者不匹配时会导致模型拉伸;透视相机基于视野角(FOV)计算投影,不会出现这类比例适配问题。
具体解决步骤
1. 统一相机与视图的宽高比
- 选中正交相机,在Inspector面板的Camera组件中,将
Aspect从Free Aspect改为固定比例:- 若目标是适配卡牌的7/4比例,选择
Custom Aspect并输入7:4; - 若要适配游戏目标分辨率,直接选择对应预设(如16:9、9:16)或自定义匹配屏幕比例。
- 若目标是适配卡牌的7/4比例,选择
- 切换到Game视图,将顶部的Aspect选项改为与相机一致的比例,确保编辑器预览无拉伸。
2. 精准计算正交相机的Orthographic Size
正交相机的Orthographic Size代表垂直方向的半高度,需结合宽高比计算以匹配模型比例:
- 假设卡牌实际高度为4单位(对应7/4的宽高比),则
Orthographic Size设为2(高度的一半); - 此时相机会自动根据7/4的宽高比计算水平范围(
2 * (7/4) * 2 = 7单位),刚好匹配卡牌7单位的宽度,避免拉伸。
3. 修正Blender导入模型的缩放问题
- 在Blender中打开模型文件,选中所有物体按
Ctrl+A应用缩放(Apply Scale),确保模型本身比例正确后重新导入Unity; - 在Unity的Project窗口选中模型文件,检查
Model选项卡下的Scale Factor,设置为1(匹配Unity默认1单位=1米的规则); - 场景中模型的Transform组件,确保X/Y/Z轴的Scale均为
1,避免父物体或自身缩放导致的拉伸。
4. 适配不同屏幕分辨率的防护设置
若需适配多设备,在相机的Camera组件中:
- 将
Aspect设置为Match Width or Height; - 调整
Match滑块:设为0时优先匹配宽度(高度方向可能出现黑边),设为1时优先匹配高度(宽度方向可能出现黑边),确保模型比例始终正确,不会因屏幕宽高比变化而拉伸。
额外排查点
- 检查模型父物体的Transform缩放,若父物体X轴Scale非1,会导致子物体被拉伸;
- 排查是否有自定义脚本修改了相机的
projectionMatrix,这类操作会破坏正交投影的比例逻辑。
内容的提问来源于stack exchange,提问作者dkalkwarf
相关产品推荐
相关产品推荐

