Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

EditorWindow.Update()

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える

説明

すべての表示されているウィンドウは秒あたり複数回呼び出されます


"再生モードのときにゲームビューからフレームを保存します。"

no example available in JavaScript
/// C# Example
// Simple script that saves frames from the Game View when on play mode
//
// You can put later the frames togheter and create a video.
// Note: The frames are saved next to the Assets folder.
	
using UnityEngine;
using UnityEditor;
	
public class SimpleRecorder : EditorWindow {
	string fileName = "FileName";
	
	string status = "Idle";
	string recordButton = "Record";
	bool recording = false;
	float lastFrameTime = 0.0f;
	int capturedFrame = 0;
	
	[MenuItem ("Example/Simple Recorder")]
	static void Init () {
		SimpleRecorder window = 
			(SimpleRecorder)EditorWindow.GetWindow(typeof(SimpleRecorder));
	}
	
	void OnGUI () {
		fileName = EditorGUILayout.TextField ("File Name:", fileName);
			
		if(GUILayout.Button(recordButton)) {
			if(recording) { //recording
				status = "Idle...";
				recordButton = "Record";				
				recording = false;
			} else { // idle
				capturedFrame = 0;
				recordButton = "Stop";
				recording = true;
			}
		}
		EditorGUILayout.LabelField ("Status: ", status);
	}
		
	void Update () {
		if (recording) {
			if (EditorApplication.isPlaying && !EditorApplication.isPaused){
				RecordImages();
				Repaint();
			} else
				status = "Waiting for Editor to Play";
		}
	}
		
	void RecordImages() {
		if(lastFrameTime < Time.time + (1/24f)) { // 24fps
			status = "Captured frame " + capturedFrame;
			Application.CaptureScreenshot(fileName + " " + capturedFrame + ".png");
			capturedFrame++;
			lastFrameTime = Time.time;	
		}
	}
}