Sprite Skin コンポーネント
Sprite Renderer コンポーネントが含まれスプライトが割り当てられているゲームオブジェクトに Sprite Skin コンポーネントを追加すると、Sprite Skin は、ボーン (Skinning エディター でスプライトに リグ設定 され、ウェイト付された) を使用してそのスプライトを変形させます。
アートワークを 準備して Unity にインポート した後、生成されたプレハブをシーンビューにドラッグすると、プレハブに Sprite Skin コンポーネントが自動的に追加されます。このコンポーネントは、シーンビューでボーンがスプライトメッシュを変形させるために必要です。
Sprite Skin は、Skinning Editor モジュールでスプライトに追加されたボーンを表すために、ゲームオブジェクトのトランスフォームを使用してスプライトを変形させます。
Sprite Skin コンポーネントの設定。
プロパティ | 機能 |
---|---|
Always Update | 有効にすると、カメラビュー内に表示されていないときも Sprite Skin が引き続きスプライトを変形させます。 |
Auto Rebind | 有効にすると、Root Bone プロパティに設定されたゲームオブジェクトのトランスフォームを開始点として使用して、スプライトのボーンとして使用する正しいゲームオブジェクトのトランスフォームの検索を試みるようになります。 |
Root Bone | このプロパティは、スプライトのルートボーンとして使用するゲームオブジェクトのトランスフォームを指定するために使用します。 |
Bones | Skinning Editor モジュールでスプライト用に設定されているボーンのリストを示します。正しく変形を行うために、各スプライトの Bone エントリーにはゲームオブジェクトの Transform (トランスフォーム) を関連付ける必要があります。 |
Create Bones | このボタンを使用すると、スプライトのボーンを表すゲームオブジェクトのトランスフォームを作成し、それを Root Bone プロパティと個別の Bones エントリーに割り当てることができます。作成されたルートボーンは、Sprite Skin のゲームオブジェクトの子として配置されます。このボタンが有効なのは、Root Bone プロパティが割り当てられていないときだけです。 |
Reset Bind Pose | このボタンを使用すると、Bones エントリーに割り当てられているゲームオブジェクトのトランスフォームが、Skinning Editor モジュールでスプライトに設定されたバインドポーズの値にリセットされます。 |
Auto Rebind
Auto Rebind (自動再バインド) を有効にすると、Sprite Skin は、Sprite Renderer に割り当てられている現在のスプライトに必要なゲームオブジェクトのトランスフォームの特定を自動的に試みます。これは、Sprite Renderer プロパティのスプライトが変更されたときに発動します。
再バインドが必要な場合、Sprite Skin は、Skinning Editor モジュールのボーン名に一致するゲームオブジェクトのトランスフォーム名を検索します。
例: Bone パネル でスプライトを選択すると、スプライトに現在リグ設定され、影響を与えているボーンが名前と一緒に表示されます。
上記の例では、スプライトは 3 つの接続されたボーンでリグが設定されています。上から、ルートボーンとして "bone_1"、"bone_1" の子として "bone_2"、"bone_2" の子として "bone_3" があります。
Sprite Skin コンポーネントがボーンを正常に自動で見つけるには、上記の例に示すように、同じ名前と階層構造のゲームオブジェクトのトランスフォームがシーン内で利用できる必要があります。
Sprite Skin の Root Bone プロパティを正しいゲームオブジェクトのトランスフォームに設定すると、Sprite Skin によって、ゲームオブジェクトのトランスフォームが同名のスプライトのリグ設定されたボーンにマップされます。Auto Rebind を成功させるには、リグ設定されたボーンとゲームオブジェクトのトランスフォームの名前と階層が一致している必要があります。したがって、Skinning エディターでボーンの名前を変更した場合は、それに合わせてゲームオブジェクトのトランスフォームの名前も更新する必要があります。