首先,在发布前可以设置好:
Edit->Project Settings->Quality。
接下来,通过代码控制:
private void Update ()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
QualitySettings.SetQualityLevel(0, true);
else if (Input.GetKeyDown(KeyCode.Alpha2))
QualitySettings.SetQualityLevel(1, true);
else if (Input.GetKeyDown(KeyCode.Alpha3))
QualitySettings.SetQualityLevel(2, true);
else if (Input.GetKeyDown(KeyCode.Alpha4))
QualitySettings.SetQualityLevel(3, true);
else if (Input.GetKeyDown(KeyCode.Alpha5))
QualitySettings.SetQualityLevel(4, true);
else if (Input.GetKeyDown(KeyCode.Alpha6))
QualitySettings.SetQualityLevel(5, true);
}
第一个参数0-5分别对应着面板由上而下的质量等级,如果你在游戏中动态的很频繁的调整质量QualityLevel,那么第二个参数(applyexpensivechanges)应该设为false,原因是级别变更时会涉及到抗锯齿的参数变更,而这些参数变更会很消耗资源,当你设置为false时,官方的用词是 not always ,这就意味着虽然级别变更,但是某些比较耗资源的参数可能会不变,注意我的用词是可能,如果你在游戏一开始时设置一下,后续没有频繁设置的需求,就没有必要考虑第二个参数了,默认true也没有任何性能问题!