설정창들을 만들다가 그래픽과 관련된 설정이 해상도 하나 밖에 없어서 다른 설정들을 추가할만게 없는지 논의하다가 수직동기화와 전체화면 설정을 추가하기로 했다.
먼저 수직동기화란 프레임 속도를 동기화 해 프레임을 일정하게 재생하는 것을 말한다.
using BehaviorDesigner.Runtime.Tasks;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEditor.Rendering;
using UnityEngine;
using UnityEditor;
using System.Reflection;
using UnityEngine.UI;
public class VideoSetting : MonoBehaviour
{
[SerializeField] private Toggle vSyncToggle;
[SerializeField] private Toggle fullScreenToggle;
private int screenWidth;
private int screenHeight;
private int index = 0;
private void Start()
{
InitVSync();
Debug.Log(QualitySettings.vSyncCount);
}
private void InitVSync()
{
vSyncToggle.isOn = QualitySettings.vSyncCount > 0;
}
public void VsyncOption(bool isOn)
{
QualitySettings.vSyncCount = isOn ? 1 : 0;
Debug.Log(QualitySettings.vSyncCount);
}
코드는 복잡하지 않았다.
무엇보다 유니티 자체 내장된 기능으로 수직동기화 설정을 활성화하거나 비활성화 할 수 있어서 처음 생각한 프레임 제한을 조건문으로 추가하는 것과 같은 번거로운 작업이 필요하지 않았다.
현재 수직동기화까지만 완료한 상태지만, 다음에 전체화면 기능도 내장하고 있는지 찾아봐야겠다.