常见分辨率

IOS

分辨率 比例 设备
960 x 640 3:2 iPhone 4S
1136 x 640 16:9 iPhone 5, iPhone 5C, iPhone 5S
1334 x 750 16:9 iPhone 6, iPhone 6S, iPhone 7, iPhone 8
1920 x 1080 16:9 iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus
2208 x 1242 16:9 iPhone X, iPhone XS, iPhone 11 Pro
2436 x 1125 19.5:9 iPhone XR, iPhone 11
2688 x 1242 19.5:9 iPhone XS Max, iPhone 11 Pro Max
2532 x 1170 19.5:9 iPhone 12, iPhone 12 Pro
2778 x 1284 19.5:9 iPhone 12 Pro Max
2340 x 1080 19.5:9 iPhone 12 mini
2532 x 1170 19.5:9 iPhone 13 mini
2532 x 1170 19.5:9 iPhone 13, iPhone 13 Pro
2778 x 1284 19.5:9 iPhone 13 Pro Max
iPad型号 分辨率 宽高比
iPad (第1代) 1024 x 768 4:3
iPad 2 1024 x 768 4:3
iPad (第3代) 2048 x 1536 4:3
iPad (第4代) 2048 x 1536 4:3
iPad Air 2048 x 1536 4:3
iPad Air 2 2048 x 1536 4:3
iPad (第5代) 2048 x 1536 4:3
iPad (第6代) 2048 x 1536 4:3
iPad Air (第3代) 2224 x 1668 4:3
iPad (第7代) 2160 x 1620 4:3
iPad (第8代) 2160 x 1620 4:3
iPad Air (第4代) 2360 x 1640 4:3
iPad Mini 1024 x 768 4:3
iPad Mini 2 2048 x 1536 4:3
iPad Mini 3 2048 x 1536 4:3
iPad Mini 4 2048 x 1536 4:3
iPad Mini (第5代) 2048 x 1536 4:3
iPad Pro (12.9英寸,第1代) 2732 x 2048 4:3
iPad Pro (9.7英寸) 2048 x 1536 4:3
iPad Pro (12.9英寸,第2代) 2732 x 2048 4:3
iPad Pro (10.5英寸) 2224 x 1668 4:3
iPad Pro (11英寸) 2388 x 1668 4:3
iPad Pro (12.9英寸,第3代) 2732 x 2048 4:3
iPad Pro (11英寸,第2代) 2388 x 1668 4:3
iPad Pro (12.9英寸,第4代) 2732 x 2048 4:3
iPad Pro (11英寸,第3代) 2388 x 1668 4:3
iPad Pro (12.9英寸,第5代) 2732 x 2048 4:3
iPad Pro (11英寸,第4代) 2388 x 1668 4:3

Android

分辨率 比例
720 x 1280 9:16
1080 x 1920 9:16
1440 x 2560 9:16
1440 x 3040 19:9
1080 x 2220 18.5:9
1080 x 2280 19:9
1080 x 2340 19.5:9
1440 x 3120 19.5:9
1440 x 3200 20:9
1440 x 1440 1:1
1600 x 2560 5:8
1600 x 900 16:9
1920 x 1080 16:9
2160 x 3840 9:16
2400 x 1080 19:9
2400 x 1080 20:9
2400 x 1176 20.5:9
2560 x 1440 16:9
3040 x 1440 20:9
3200 x 1440 19:9
3200 x 1800 16:9
3840 x 2160 16:9
安卓平板 分辨率 宽高比
华为平板M5 8.4英寸 2560 x 1600 16:10
华为平板M5 10.8英寸 2560 x 1600 16:10
华为平板M6 8.4英寸 2560 x 1600 16:10
华为平板M6 10.8英寸 2560 x 1600 16:10
小米平板4 8.0英寸 1920 x 1200 16:10
小米平板4 Plus 10.1英寸 1920 x 1200 16:10
荣耀平板5 8.0英寸 1920 x 1200 16:10
荣耀平板5 10.1英寸 1920 x 1200 16:10
三星平板S6 Lite 2000 x 1200 5:3
三星平板Tab A 8.0 1280 x 800 16:10
三星平板Tab A 10.1 1920 x 1200 16:10
华硕平板ZenPad 3S 10 2048 x 1536 4:3
华硕平板ZenPad S 8.0 2048 x 1536 4:3

PC

分辨率 比例
800 x 600 4:3
1024 x 768 4:3
1280 x 720 16:9
1280 x 800 16:10
1280 x 960 4:3
1280 x 1024 5:4
1360 x 768 16:9
1366 x 768 16:9
1440 x 900 16:10
1600 x 900 16:9
1600 x 1200 4:3
1680 x 1050 16:10
1920 x 1080 16:9
1920 x 1200 16:10
2560 x 1440 16:9
2560 x 1600 16:10
3840 x 2160 16:9
4096 x 2160 17:9

Unity中向Game视图添加分辨率

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
public enum GameViewSizeType
{
AspectRatio, FixedResolution
}
[MenuItem("Window/Add Resolution")]
static void AddGameViewResolution()
{
//ipad基本都是4:3
//android pad 有16:10 4:3 5:3

//类型 宽 高 名称
List<(GameViewSizeType type, int width, int heigth, string title)> listCustomResolution = new List<(GameViewSizeType, int, int, string)>();
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1024, 1280, "1024x1280 (5:4==1.25)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1280, 1024, "1280x1024"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 768, 1024, "768x1024 (4:3==1.333)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1024, 768, "1024x768"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1536, 2048, "1536x2048 (4:3=1.333)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2048, 1536, "2048x1536"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1200, 2000, "1200x2000 (5:3=1.667)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2000, 1200, "2000x1200"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1080, 2340, "1080x2340 (9.5:9=2.167)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2340, 1080, "2340x1080"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1600, 2560, "1600x2560 (16:10==1.6)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2560, 1600, "2560x1600"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1080, 1920, "1080x1920 (16:9==1.778)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1920, 1080, "1920x1080"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2160, 4096, "2160x4096 (17:9==1.889)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 4096, 2160, "4096x2160"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1080, 2400, "1080x2400 (30:13.5=2.222)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2400, 1080, "2400x1080"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 1176, 2400, "1176x2400 (20.5:9=2.278)"));
listCustomResolution.Add((GameViewSizeType.FixedResolution, 2400, 1176, "2400x1176"));

//反射添加
var sizesType = typeof(Editor).Assembly.GetType("UnityEditor.GameViewSizes");
var singleType = typeof(ScriptableSingleton<>).MakeGenericType(sizesType);
//找到单例
var instance = singleType.GetProperty("instance").GetValue(null, null);
var group = instance.GetType().GetProperty("currentGroup", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public).GetValue(instance);
//找到方法
var addCustomSize = group.GetType().GetMethod("AddCustomSize");

//这里不能用for循环 奇怪
//var removeCustomSize = group.GetType().GetMethod("RemoveCustomSize");
//for (int i = 18; i < 5; i++)
//{
// removeCustomSize.Invoke(group, new object[] { i });
//}
//removeCustomSize.Invoke(group, new object[] { 37 });
//removeCustomSize.Invoke(group, new object[] { 38 });
//removeCustomSize.Invoke(group, new object[] { 39 });
//removeCustomSize.Invoke(group, new object[] { 40 });
//removeCustomSize.Invoke(group, new object[] { 41 });
//removeCustomSize.Invoke(group, new object[] { 42 });
//return;

Assembly assembly = Assembly.Load("UnityEditor.dll");
Type gameViewSize = assembly.GetType("UnityEditor.GameViewSize");
Type gameViewSizeType = assembly.GetType("UnityEditor.GameViewSizeType");

foreach (var item in listCustomResolution)
{
//创建一个GameViewSize类
ConstructorInfo ctor = gameViewSize.GetConstructor(new Type[]
{
gameViewSizeType,
typeof(int),
typeof(int),
typeof(string)
});
//GameViewSizeType.FixedResolution就是1
var newSize = ctor.Invoke(new object[] { (int)item.type, item.width, item.heigth, item.title });
//调用方法添加
addCustomSize.Invoke(group, new object[] { newSize });
}
//保存
var saveMethod = instance.GetType().GetMethod("SaveToHDD");
saveMethod.Invoke(instance, null);
}