Unity3D
Unity
Unity拡張
Unity2D
UnityEditor

【Unity】プレイ中に巻き戻ししたり1カットをループ再生するエディタ拡張

はじめに

みなさんはUnityのコマ送り機能を使ったことはありますか?

ゲームでエフェクトやアニメーションなど動作を1フレーム単位で確認するのに役立ち、特にデザイナーさんなどはよく利用しているのではないかと思います。

ただ、ここで問題になってくるのは巻き戻し機能がないことです。当然といえば当然ですが、実際これがないというのは結構不便で、もう一度動作を確認したい場合はゲームを停止して再度プレイする必要があります。

今回はこの手間を改善し、動作確認テストを楽にすることを目標としました。

環境

Unity 2018.1.0f2

作ったもの

one_cut_checker.gif

名は『One Cut Checker』
GameObjectやSceneを編集することなく、エディタ上からゲームを巻き戻したり、1カットをループ再生することができます。

また他の機能として、動作確認テスト時によく使用する一時停止やコマ送りなどはショートカットキーとして登録してあります。

これらはUnity標準でも登録されていますが、例えば一時停止するためには「Ctrl+Shift+P」を入力する必要がありました。
片方の手ではマウスを握っている人が大半でしょうから、もう一方の手でそれを入力するのはとても大変です。

なので、『One Cut Checker』では1キーで入力できるようにしています。

使い方

以下のリンクからダウンロードできるpackageをダブルクリックしてUnityにインポートしてください。
https://github.com/yukiringo/OneCutChecker/raw/master/one_cut_checker.unitypackage

Window -> One Cut Checker
を選択します。

表示されたWindowを好きな場所に配置してゲームをプレイします(配置場所はどこでもいいですが、必ず表示されている必要があります)。

動作確認したいところから、ショートカットキーを利用するなら「→」キー、しないならコマ送りボタン(Stepボタン)を押してください。
この操作によってフレームが記録されます。

change.jpg

複数回コマ送りすることで巻き戻ししたり、ループ再生できるようになります。

解説

巻き戻しと言ってきましたが、一つ謝らなければいけないことがあります。
実はこれ、巻き戻されているのはGameビュー上だけになります。

気になった方は試しに巻き戻した状態でSceneビューを見てください。巻き戻す前の状態になっていると思います。

『One Cut Checker』は、コマ送りされた際にスクリーンショットを記録し、巻き戻しの際にそれを表示しています。
なので、Sceneビューには巻き戻しの状態が反映されていないのです。

巻き戻した際にSceneビューとGameビューの見た目が違っても、それはバグではありませんのでご了承ください。

まとめ

これで動画ソフトと似た感覚で動作確認ができるようになり少し楽になりました。
もしよかったら使ってみてください。

こちらはgithubにて公開しています。
https://github.com/yukiringo/OneCutChecker

バグ報告や感想、意見などお待ちしております。
https://twitter.com/_ykringo