錄製遊戲影片

錄製遊戲影片是時間管理中的一個特例。保存螢幕圖片的操作需要耗費相當多的時間,這會導致遊戲的正常幀率降低,錄製出的影片無法反映遊戲的實際表現。為了解決這個問題,可以使用 captureFramerate 屬性。該屬性的預設值為 0,表示未錄製遊戲。如果要進行錄製,則需要將該屬性的值設為非零值,此時遊戲時間會變慢,幀更新會在精確的間隔內發生。
幀之間的間隔等於 1/Time.captureFramerate,所以如果將值設置為5.0,則更新每五分之一秒發生一次。由於幀率需求有效降低,在 Update 方法中有時間保存螢幕截圖或執行其他操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class ExampleScript : MonoBehaviour {
string folder = "ScreenshotFolder";
int frameRate = 25;

void Start () {
Time.captureFramerate = frameRate;
System.IO.Directory.CreateDirectory(folder);
}

void Update () {
string name = string.Format("{0}/{1:D04} shot.png", folder, Time.frameCount );

// 抓取螢幕截圖,並存放到指定位置
Application.CaptureScreenshot(name);
}
}

返回 時間與幀 大綱

評論