Time.captureFramerate

Time.captureFramerate

Time.captureFramerate,字面意思是捕捉帧率,这个方法可以用来做帧截屏,就是减慢游戏播放时间以允许在帧之间保存屏幕截图,然后通过一些软件来将截图拼接为视频。帧之间的间隔 = 1/time.captureframerate,所以如果设置值为10,则每10分之一秒更新一次。我们可以依此来写一个截取当前场景视窗的小程序:

using UnityEngine;
using System.Collections;


public class ExampleScript : MonoBehaviour
{
    //存储路径:在项目assets目录下的ScreenshotFolder文件夹内
    string folder = "Assets/ScreenshotFolder";
    //设定帧率为25
    int frameRate = 25;


    void Start()
    {
        // 设置播放帧率 (real time will not relate to game time after this).
        Time.captureFramerate = frameRate;
        // 创建文件夹
        System.IO.Directory.CreateDirectory(folder);
    }


    void Update()
    {
        // 设置文件名的格式为:0001 shot.png
        string name = string.Format("{0}/{1:D04} shot.png", folder, Time.frameCount);


        // 截图到对应的路径中
        ScreenCapture.CaptureScreenshot(name);
    }
}

 

posted @ 2022-12-23 14:32  车到山前必然堵  阅读(102)  评论(0编辑  收藏  举报