유니티 버전 - 6000.0.34f1
목차
- QualitySettings.SetQualityLevel
- QualitySettings.XXX
- Application.targetFrameRate
QualitySettings.SetQualityLevel
드롭다운을 이용하여 미리 설정된 Quality Levels를 변경하여 주는 방법입니다
드롭다운을 만들어줍니다
Options를 설정하여 줍니다 (Project Settings -> Quality -> Levels에 존재하는 옵션만큼)
코드를 작성하여 줍니다
using UnityEngine;
public class TitleOption : PopupUI
{
public void SetGraphicsQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
}
Dynamic int의 메서드를 클릭하여 줍니다
실행 결과입니다
QualitySettings.XXX
QualitySettings.SetQualityLevel을 이용하여 모든 옵션을 한번에 바꿀 수도 있지만 사용자 설정을 따로 만들어 개별옵션을 관리하고자 할 때 개별 옵션에 접근하여 변경하여 줄 수도 있습니다
using UnityEngine;
public class TitleOption : PopupUI
{
public void SetSpecificOption(int optionIndex)
{
QualitySettings.antiAliasing = optionIndex;
QualitySettings.shadows = ShadowQuality.All;
}
}
위의 두가지 옵션말고도 바꿀 수 있는옵션이 매우 다양합니다, 아래의 공식문서를 참고바랍니다
https://docs.unity3d.com/ScriptReference/QualitySettings.html
Unity - Scripting API: QualitySettings
Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close
docs.unity3d.com
Application.targetFrameRate
그래픽 설정뿐만 아니라 게임의 프레임을 조절하여줄 수도 있습니다
먼저 QualitySettings.vSyncCount을 0으로 설정해 주어야합니다, vSync(수직동기화)가 활성화되어있다면 Application.targetFrameRate가 작동하지 않습니다
QualitySettings.vSyncCount = 0 (수직동기화 비활성화)
QualitySettings.vSyncCount = 1 (수직동기화 활성화)
using UnityEngine;
public class TitleOption : PopupUI
{
public void SetFrameRate()
{
QualitySettings.vSyncCount = 0;
Application.targetFrameRate = 60; // 프레임을 60FPS로 제한
}
}
이상입니다
'코드 및 공부 > 최적화' 카테고리의 다른 글
Profiler와 Stopwatch를 이용한 코드 비교 및 최적화 (0) | 2025.01.16 |
---|---|
스프라이트 아틀라스(Sprite Atlas) (0) | 2024.12.23 |
카메라 최적화 (0) | 2024.12.23 |
오디오 에셋 최적화 (0) | 2024.12.23 |