Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤò¸ÇÄêÃͤËÀßÄꤹ¤ëÊýË¡¤Ç¤¹¡£



FrameRateLimiter ¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡Unity ¤Î Project ¥Õ¥©¥ë¥ÀÆâ¤Ç¿·µ¬¤Î C# ¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
̾Á°¤Ï¡ÖFrameRateLimiter¡×¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡°Ê²¼¤Î¥½¡¼¥¹¥³¡¼¥É¤òµ­ºÜ¤·¤Æ¤¯¤À¤µ¤¤¡£

using UnityEngine;

public class FrameRateLimiter : MonoBehaviour
{
    [SerializeField] private int targetFrameRate = 60;

    void Awake()
    {
        QualitySettings.vSyncCount = 0;
        Application.targetFrameRate = targetFrameRate;
    }

    void Update()
    {
        if (Application.targetFrameRate != targetFrameRate)
        {
            Application.targetFrameRate = targetFrameRate;
        }
    }
}


¡ã½èÍý¤ÎÀâÌÀ¡ä


¡¡targetFrameRateÊÑ¿ô¤Ï¡¢¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤòÀßÄꤹ¤ëÊÑ¿ô¤Ç¤¹¡£¤³¤ÎÃͤ˥ե졼¥à¥ì¡¼¥È¤ÎÃͤò¸ÇÄꤷ¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë[SerializeField]°À­¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£

¡¡Awake()¥á¥½¥Ã¥É¤Ç¡¢QualitySettings.vSyncCount¤ò0¤ËÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£

¡¡QualitySettings¤Ï¡¢Unity¤Î¥°¥é¥Õ¥£¥Ã¥¯¥¹ÉʼÁÀßÄê¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤Ç¤¹¡£
¤³¤Î¥¯¥é¥¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¥×¥í¥¸¥§¥¯¥È¤Î¥°¥é¥Õ¥£¥Ã¥¯ÉʼÁÀßÄê¤Ë¥¢¥¯¥»¥¹¤·¡¢Êѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
QualitySettings¤Ë¤Ï¥×¥í¥Ñ¥Æ¥£¤ä¥á¥½¥Ã¥É¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢º£²ó¤ÏQualitySettings.vSyncCount ¤òÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¿âľƱ´ü¤Î¥«¥¦¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£0¤ÏVSync¤ò¥ª¥Õ¤Ë¤·¡¢1¤Ï¥â¥Ë¥¿¡¼¤Î¥ê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È¤ËƱ´ü¤·¡¢2¤Ï¥ê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È¤ÎȾʬ¤ËƱ´ü¤·¤Þ¤¹¡£
¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤò¸ÇÄê²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢0 ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡Æ±¤¸¤¯ Awake()¥á¥½¥Ã¥É¤Ç¡¢Application.targetFrameRate ¤ÎÃͤòÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÀßÄ꤬¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃÍ(¸ÇÄêÃÍ)¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃÍ¤Ë targetFrameRate¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤ˸ÇÄꤷ¤Æ¤¤¤Þ¤¹¡£

¡¡Update()¥á¥½¥Ã¥É¤Ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥Õ¥ì¡¼¥à¥ì¡¼¥È¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤ËºÆÅ٥ե졼¥à¥ì¡¼¥È¤òÀßÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥²¡¼¥à¼Â¹ÔÃæ¤Ç¤¢¤Ã¤Æ¤â¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤòÊѹ¹¤·¡¢¤½¤ì¤òÈ¿±Ç¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


FrameRateLimiter ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë


¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¡¢Ì¾Á°¤ò FrameRateLimiter ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢ºîÀ®¤·¤¿ FrameRateLimiter ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£

¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤòÀßÄê¤Ç¤­¤Þ¤¹¡£½é´üÃÍ¤Ï 60 ¤Ë¸ÇÄꤹ¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü





¡¡¤³¤Î¥¯¥é¥¹¤Ï¤¤¤º¤ì¤«¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë£±¤Ä¤À¤±¥¢¥¿¥Ã¥Á¤¹¤ì¤Ð¡¢¥²¡¼¥àÁ´ÂΤǥե졼¥à¥ì¡¼¥È¤ÎÃͤ¬¸ÇÄê²½¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹