複製描画用インスペクタ詳細解説 - SpriteStudio/SS6PlayerForUnity GitHub Wiki

「SpriteStudio6 Player」モードでの、複製描画用のインスペクタの詳細を解説します(Ver.2.0以降)。

  • 対象コンポーネント(クラス): Script_SpriteStudio6_Replicate

複製描画の基本仕様はこちらを参照してください

その特殊な用途のため、(シーンなどに設置したりする場合に)通常のアニメーションなどと手順が異なっています。
複製描画をシーン上に設置する場合の手順の詳細はこちらを参照してください(「アニメーションの再生」内「複製描画のシーンへの設置方法」)

複製描画用インスペクタには、現在下記の1種類の区分しかありません。

Inspector-Sequence-Overview

描画用設定

このグループは、複製描画の描画状態を設定するための項目群です(現在、単区分ですのでグループ分けされていません)。

Original Animation

複製元のアニメーションオブジェクトを指定します。
複製元に指定することができるのは、複製描画の基本仕様での複製元にすることが可能なオブジェクト種類に適合したGameObjectである必要があります。

Hide Force

チェックすると、シーケンスが再生しているアニメーションそのものを非表示にします。
※非表示であっても、最低限の処理は行われます。


基本仕様

「複製描画」は、「シーン上に存在している他のSS6PUのオブジェクト(アニメーション・エフェクト・シーケンス)を再描画する」という機能を持つオブジェクトで、SS6PU Ver.2.0以降でサポートしています。
本機能は、下記の仕様を持っています。

  • 「SpriteStudio6 Player」モードでインポートされたアニメーションデータで、下記の種類のアニメーションを複製元とすることができます。

    • アニメーション: Script_SpriteStudio6_Root
    • エフェクト: Script_SpriteStudio6_RootEffect
    • シーケンス: Script_SpriteStudio6_Sequence

    ※複製描画(Script_SpriteStudio6_Replicate)をさらに複製することは(原則として)できないことに注意してください。

  • 必ず「最親」のアニメーションであること。
    アニメーションから呼び出されている子アニメーション(SpriteStudio上で、「インスタンス」パーツや「エフェクト」パーツから再生されているもの)は複製できません(誤動作します)。

  • 現在再生されているシーン上に実体化されていること。
    アセット(Projectウィンドウの中に並んでいるもの)を直接や・現在再生されていないシーン上にあるアニメーションオブジェクトは複製できません。

  • 複製元のコリジョン・コライダを複製することはできません。
    あくまで「描画の内容」を複製描画するだけです。

  • Transform(X/Y/Z座標・X/Y/Z軸回転・X/Y/Zスケール)と強制非表示(Hide Force)の設定以外については、複製元の描画状態を変更することはできません。
    例えば、「複製元と異なるフレーム位置のアニメーション状態を表示」したり、「複製元と異なる動的パーツカラーを適用」したり……などを行うことはできません。

  • GPUインスタンシングではありません。
    複製元が描画しているメッシュ及びマテリアルを「同じフレームで再利用(再度描画を行う)」機能であり、GPUインスタンシングなどとは実装が異なっています。
    ただし、アニメーションの更新などの処理は、複製描画側では一切行いませんので、相当に軽量に「同じ描画状態の複数オブジェクトを描画する」ことができます。

  • 群集の表示
    いくつかの限られた個数のキャラを通常のアニメーションとして動作させておき、それらを複製描画して群衆を作り出したりすることが可能です。

  • メニューなどのUI系の表示
    (本複製描画はCanvasへの直接描画では使用できませんが)多くの選択肢があるメニューなどで、合成して表示されている一部パーツ(文字など)などが異なるだけで、土台が同じアニメーションで成立しているような場合に、処理量を節約したりすることができます(一般的な選択肢では、フォーカス状態にあるのは1つだけであり、残りの選択肢は待機状態での同じアニメーションを再生しているような場合が多かったりします)。