テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

リプレイを作る! リプレイフレームワーク for Unity

以前紹介したリプレイアセットの、もう一つのアセットの紹介。

スクリーンショット 2012-06-25 21.31.03

■リプレイフレームワーク for Unity

リプレイフレームワーク for Unityは、
EZReplayManagerと同じくリプレイを撮るアセット。
こちらは全機能を無料で使える。

リプレイフレームワーク for Unity(しのぶの日記 (技術編))
http://d.hatena.ne.jp/shinobu_siv/20110714/1310625098<

デモでは[StartReplay]でリプレイの撮影、[StopReplay]でリプレイの終了。
特定のフレームにスキップしたり、色々とできる。

ただし、たぶん以前紹介したリプレイのアセットと同様の問題、
すなわち「リプレイ対象を増やすとメモリ消費でパフォーマンスがマッハ」状態になると思う。
「長いリプレイ時間でメモリ消費がマッハ」ってのもあるかも。

[Unity3D]リプレイを作る!EZReplayManager
http://terasur.blog.fc2.com/blog-entry-182.html

■使い方

使い方は本当に簡単、
1.リプレイしたいオブジェクトに[TransformReplay]コンポーネントを追加
2.適当なオブジェクトを作成し、[ReplayManager]と[ReplayManagerGUI]を追加

これで、Start Recodingボタンを押すとリプレイを保存、Stop Recodingボタンで停止する。
(こんなに簡単に作れるとは本当にすごい)

もうちょっと詳しく見ると、
[ReplayManagerGUI]は、
[ReplayManager]のStartRecording()でリプレイの撮影開始、
StopRecording()でリプレイの撮影終了、
Playback (フレーム数)で、特定フレームの再現を行ってるらしい。

リプレイ範囲の拡張も意外と単純に出来るらしく、特定のメソッドを記述すれば良いらしい。
(継承とか別のオブジェクトと接続してる節は無いし、SendMessageで呼んでるのかな)
インターフェースは、ドキュメントの[SomeComponent]クラスが実装してる内容を参考にすると良さ気。
上手く作れば「スクリプトのリプレイ」とかも出来るかも。

ちなみに初期状態では「Transform」と「Color」が付属


素晴らしいアセットだけどライセンスがGPL(利用したらソースコード公開義務)
ライセンス問題は色々と面倒そうで手を出したくなかったり。