引擎:unity3d 5.6.5p4
质量设置一般在QualitySetting可以看到,具体打开方式就是Edit->Project Settings->Quality。
然后,可以用UnityEngine.QualitySettings这个类的一些成员变量对各个游戏质量指标进行调整,例如我用到的是:
QualityLevel(质量等级),
TextureQuality(纹理质量),
BlendWeights(混合权重),
VSyncCount(垂直同步数),
AnisotropicTextures(各向异性纹理),
AntiAliasing(抗锯齿),
BillboardsFaceCameraPosition(广告牌朝向摄像机,由于网上查不到这个翻译,所以是按我蹩脚的英语译的),
SoftParticles(软粒子)。
对于以上变量中,以int值来设置的有4个:
(1)QualityLevel,六种值,Fastest,Fast,Simple,Good,Beautiful,Fantastic;
get使用QualitySettings.GetQualityLevel方法;
set使用QualitySettings.SetQualityLevel方法;
(2)TextureQuality,四种值,FullRes,HalfRes,QuarterRes,EighthRes;
get和set均使用QualitySettings.masterTextureLimit变量,但由于要造成索引值从效果低 到高,并且最大索引值是3,所以get时返回3 - QualitySettings.masterTextureLimit,set 时QualitySettings.masterTextureLimit = 3 - value;
(3)BlendWeights,三种值,1 bone,2 bones,4 bones;
get和set均使用QualitySettings.blendWeights变量,该变量对应BlendWeights枚举(枚 举值分别为OneBone是1,TwoBones是2,FourBones是4),由于1,2,4这样是不 便用索引值赋值的(即0,1,2,3...),于是需要变换一下,可以用if分段,也可以用 算式;
(4)VSyncCount,三种值,Don’t VSync,VSync,Second VSync;
get和set均使用QualitySettings.vSyncCount变量;
以bool值来设置的也是4个:
(1)AnisotropicTexture,
get和set均使用QualitySettings.anisotropicFiltering变量,该变量对应AnisotropicFiltering 枚举(枚举值分别为Disable是0,Enable是1,ForceEnable是2),此处只用了两个, 分别是Enable作为true,Disable作为false;
(2)AntiAliasing,
get和set均使用QualitySettings.antiAliasing变量,该变量可以设置为0,2,4,8,意 思是对应于每个像素使用多重采样的数量,此处只用到两个值,分别是2作为true,0 作为false;
(3)BillboardsFaceCameraPosition,
get和set均使用QualitySettings.billboardsFaceCameraPosition变量;
(4)SoftParticles,
get和set均使用QualitySettings.softParticles变量;
对于没有用到阴影方面的参数,是因为项目没有使用动态阴影,所以在这方面不需要调整。
以上简单回顾。
参考资料:
https://docs.unity3d.com/ScriptReference/QualitySettings.html
http://www.ceeger.com/Script/QualitySettings/QualitySettings.antiAliasing.html