渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unity GameObjectRecorderが面白いかもしれない


先日Unity2017.1の正式リリース候補バージョンがリリースされました。

改めてリリースノートを読んでみました。
気になった追加機能GameObjectRecorderを調べてみます。

Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations

リリースノートにはシンプルに紹介されていますが、触ってみると結構面白い機能でした。

毎フレーム状態をAnimationClipに記録させる機能

ドキュメントのサンプルに従い動かしてみます。

f:id:esakun:20170629114452g:plain

シーンビュー上で適当に動かし、下記のように毎フレーム記録するコードを書きます。
全ソースコードはコチラ

void LateUpdate ()
{
    if (isRecord) {
        // 毎フレーム記録する
        r.TakeSnapshot (Time.deltaTime);
    }
}

f:id:esakun:20170629114401p:plain
するとこのようにAnimationClipに書き込まれます。

f:id:esakun:20170629115025g:plain
そのAnimationClipを動かすと、このように記録されたアニメーションが再生されます。

まとめ

今回はサンプルそのままで、何も工夫はありませんでしたが、Editor拡張を頑張ればUnity上でアニメーションを作りやすくなるかもしれません。現時点でExperimentalの機能なので深掘りはしませんが、正式にリリースされた際にはいい感じのアニメーション制作Editorを作ってみたいです。

サンプルコードはコチラです。

検証環境

  • Unity2017.1f1
  • macOS Sierra 10.12.4