連番画像を再生する
- クイックスタート
- サポートされている画像形式
- フォルダーのトレードオフ
- フレームマーカー
- ギャップの外挿
- 曲線の編集
- ショートカット
- StreamingImageSequencePlayableAsset
クイックスタート
空のシーンから、次の手順を実行して下さい。
- 空の GameObject を作成し、Director コンポーネントを追加する。
- Unity プロジェクト内のフォルダー(StreamingAssets 配下のフォルダーが推奨されます)内の画像シーケンスをコピーする。 > StreamingAssets 配下のフォルダーにコピーすると、これらの画像を Unity にインポートするプロセスを省くことができます(画像の数が多い場合にはこのインポートプロセスに時間が掛かる場合があります)。
- Timeline ウィンドウを開く。
Timeline ウィンドウに StreamingImageSequenceTrack を追加する。
追加した StreamingImageSequenceTrack に画像シーケンスの入ったフォルダーをドラッグアンドドロップする。 これにより、フォルダー内の画像を使った StreamingImageSequencePlayableAsset が自動的に生成されます。
メニューを GameObject > UI > Image の順にクリックして Image オブジェクトを作成する。
作成した Image オブジェクトを、StreamingImageSequenceTrack のオブジェクトプロパティーにドラッグアンドドロップし Create StreamingImageSequenceRenderer on Image をクリックする。
フォルダー内の画像シーケンスが Image オブジェクトの中に表示されます。 Timeline を再生したり、Timeline ウィンドウのタイムスライダーをドラッグすると、 Image オブジェクトの Renderer コンポネントが更新されます。
画像をインポートする他の方法については、 画像をインポート を参照してください。
サポートされている画像形式
Windows | Mac | Linux | |
---|---|---|---|
png | ✔️ | ✔️ | ✔️ |
tga | ✔️ | ✔️ | ✔️ |
exr | 🔺 | 🔺 | 🔺 |
exr のサポートについては、フォルダーのトレードオフ を参照してください。
フォルダーのトレードオフ
StreamingImageSequencePlayableAsset の動作は、
画像が保存されているフォルダーによって異なります。
詳細については、次の表を参照してください。
Unity プロジェクトの外 | Assetsの下で、StreamingAssets の外 | StreamingAssets の下 | |
---|---|---|---|
テクスチャのインポートに必要な時間 | なし | テクスチャサイズとテクスチャインポーターの設定によって異なる | なし |
テクスチャのクオリティ | RGBA 32 ビット、POT スケールなし | テクスチャサイズとテクスチャインポーターの設定によって異なる | RGBA 32 ビット、POT スケールなし |
CPU から GPU へのテクスチャアップロードコスト | アクティブのテクスチャが変更されるたび | なし | アクティブのテクスチャが変更されるたび |
エディターでのテクスチャの CPU メモリの使用量 | テクスチャは可能な限りプリロードされる。詳細はエディタでのメモリ使用量を参照 | なし | テクスチャは可能な限りプリロードされる。詳細はエディタでのメモリ使用量を参照 |
ランタイムでのテクスチャの CPU メモリの使用量 | ランタイムのサポートなし | ランタイムのサポートなし | 数フレーム後までのテクスチャがプリロードされる |
exr のサポート | なし | エディターのみ | なし |
エディタでのメモリ使用量
画像フォルダが該当する場合、StreamingImageSequence はスムーズな画像再生を提供するために、
エディタで CPU メモリを確保し、可能な限りテクスチャをプリロードします。
この確保は、次の要件を満たすように設定されています:
- システムの物理メモリの合計の 90% を超えない。
- 環境設定で設定できるメモリの最大量を超えない。
フレームマーカー
すべてのフレームが フレームマーカー を持っています。 これは特定のフレームに割り当てられた画像をスキップし、 そのフレームの直前に使われた画像を代わりに表示するために使います。
詳細に関してはフレームマーカーを参照してください。
ギャップの外挿
StreamingImageSequencePlayableAsset クリップの前後のギャップの動作は、 Animation クリップのギャップの外挿の設定のと同様、 下記のオプションで設定できます:
- None (デフォルト): Renderer コンポーネントを非アクティブにし、バインドされたオブジェクトを非表示にする。
- Hold: ギャップ内に連番の最初、または最後のフレームを表示し続ける。
- Loop: 同じクリップの長さで、連番をループする。
- Ping Pong: 同じクリップの長さで、連番を逆方向にループし、次に順方向にループする。
- Continue: Hold と同じ。
デフォルトとして、StreamingImageSequencePlayableAsset は Pre-Extrapolate と Post-Extrapolate プロパティの両方を None に設定します。
曲線の編集
エディターでは、再生のタイミングを次のように変更できます。
- 曲線のセクションを開く
- 曲線を右クリックして、キーを追加する
- 追加されたキーを動かす
ショートカット
- Shift キーを押しながら、クリップの開始または終了をドラッグすると、 クリップの再生速度が自動的に変更されます。
StreamingImageSequencePlayableAsset
StreamingImageSequencePlayableAsset は、
Unity Timeline で
連番画像を再生する為に使われる
PlayableAsset です。
インスペクターで下記のプロパティを確認または変更することができます。
- Resolution(読み取り専用)
フォルダー内の最初の画像の幅と高さを表示します。 - Folder
画像ファイルが入っているフォルダーです。 - Images
フォルダー内の画像です。 画像ファイルの名前を上下にドラッグアンドドロップして並び替えることができます。 - Show FrameMarkers
各フレームのフレームマーカーの表示・非表示を切り替えます。- Reset
フレームマーカーの編集をリセットします。
- Reset
Background Colors.
- In Timeline Window
Timeline ウィンドウのプレビュー画像の背景色。
- In Timeline Window
Reset Curve。 プレイアブルアセット内の曲線のタイミングをリニアにリセットします。