docs.unity3d.com
    目次を表示する/隠す

    個々のスプライトのスワップ

    スプライトスワップ を使用すると、他のスプライトには影響を与えずに、アクターのスプライトを 1 つだけ変更できます。これにより、アクターの外観の一部のみを変更し (衣服やスキンの色を変えるなど)、外観の他の部分はそのまま維持することができます。

    以下の例では、アクターのスカーフのバリエーションとなる 2 つのスプライトがあります。1 つは緑、もう 1 つは青です。このワークフローは、同じアクターのスカーフを一方から他方に切り替える方法を示したものです。


    左: オリジナルの green scarf スプライト。右: バリエーションとなる blue scarf スプライト。

    1. 両方のスカーフのスプライトを同じ Sprite Library アセット に配置し、同じ カテゴリ (Scarf という名前) に加えます。

    2. 各スプライトに重複しない ラベル 名 (このケースではそれぞれ green scarf と blue scarf) を付けます。 このステップと前のステップは、スプライトをドラッグして Categories タブの空白のスペースにドロップすることで自動化できます。

    3. シーン内で インスタンス化されたプレハブ を選択し、Hierarchy ウィンドウで Scarf ゲームオブジェクトを選択します。

    4. Scarf ゲームオブジェクトの Sprite Resolver コンポーネント に移動します。Sprite Resolver のビジュアルセレクターで、Scarf カテゴリに利用できるスプライトが 2 つ表示されます。

    5. blue scarf を選択して、Scarf ゲームオブジェクトによってレンダリングされるスプライトを青いスカーフに切り替えます。

      Sprite Resolver の Label が blue scarf に設定されます。

    複数のスプライトをまとめて切り替える場合は、Sprite Library アセットをスワップ し、交代するスプライトセットに全体を切り替えることをお勧めします。

    スプライトのピボットの位置合わせ

    スキンしたスプライト を使用する際は、そのメッシュの頂点の位置が現在のスケルトンのポーズに基づいて計算され、各スプライトの個別のピボットの影響は受けません。ただし、スキンが適用されていない (アクターのスケルトンに リグが設定 されていない) スプライトを スワップ する場合は、ピボットの相対的な位置が同じにならないため、適切に揃わないことがあります。これは、スプライトのサイズに大きな違いがある場合に特に顕著になります。以下の例は、スキンスプライトをスキンが適用されていないスプライトとスワップしたときに、スプライトにどのような不具合が生じる可能性があるのかを示しています。

    図 1: 元の `open hand` スプライト。 図 2: `thumbs up` スプライトにスワップ。
    図 1: 元の open hand スプライト。 図 2: thumbs up スプライトにスワップ。

    この例では、Skinning エディターで、スプライトを含むゲームオブジェクトと Sprite Swap コンポーネントが、open hand スプライトにうまく揃えられています。thumbs up スプライトが同じスケルトンにリグ設定されていないため、ピボットの相対的な位置が元のスプライトと異なり、うまく揃いません。スキンが適用されていない thumbs up スプライトをうまく揃えるためには、open hand スプライトのピボットの相対的な位置に合わせて、ピボットを調整する必要があります。

    ノート: スプライトがスケルトンにリグ設定されている場合は、個々のピボットの位置が、ウェイトが設定されているボーンの影響度と位置によってオーバーライドされます。

    スプライトのピボットの位置を変更するには、まず Sprite Editor でスプライトを選択します。Sprite Editor ウィンドウの右下に Sprite パネルが表示されます。Sprite パネルには、Name、Position、Pivot プロパティなど、選択したスプライトの詳細が表示されます。Pivot ドロップダウンメニューのリストから、既定のピボットオプションを選択できます。Center (中央)、Top Left (左上)、Custom Pivot (Custom Pivot の位置のプロパティ設定を解除して、ピボットの独自の位置を入力可能にします) などのオプションがあります。

    この例では、スワップした 2 つのスプライトを揃えるため、Pivot プロパティを Center から Custom Position に変更し、Custom Pivot の位置を入力して thumbs up スプライトと open hand スプライトの位置を揃えています。

    変更を適用すると、スプライトスワップ後に、スワップしたスプライトがアクターの他の部分と揃うようになります。

    修正したピボット

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)