# トランスフォーム・コンストレイント

<callout>トランスフォーム・コンストレイントはSpine Essentialでは利用できませんのでご注意ください。</callout>

トランスフォーム・コンストレイントは、ボーンのワールド回転、トランスレーション、スケール、シアー(つまりその[トランスフォーム](/spine-bones#ボーンのトランスフォーム))を1つまたは複数の他ボーンにコピーします。

トランスフォーム・コンストレイントには、高度なリギングのための巧妙な使い方がたくさんあります。最も簡単なのは、ボーンを動かすと他のボーンも動くようにすることです。例えば、帽子を脱いだり、武器を装備したり、[オブジェクトを投げたり](/img/spine-user-guide/tools/shear-example.gif)するために、異なる親を持つボーンをシミュレートするのに使用できます。また、トランスフォームの一部のみを制約することで、面白い効果を生み出すことができます。例えば、スケールやシアーのみを制約することができます。ボーンを、他の2つのボーン間の距離の任意のパーセンテージで自動的に配置することができるなど、さまざまな機能があります。

使用例については、トランスフォーム・コンストレイントの[デモ](/spine-demos#Transform-constraints)、[プロジェクト例](/spine-examples#Transform-Constraints)、[Tips](/spine-tips#Transform-Constraints)をご覧ください。

# セットアップ

トランスフォーム・コンストレイントを作成するには、制約するボーンを任意の数だけ選択し、`New...(新規...)` `Transform Constraint(トランスフォーム・コンストレイント)`をクリックして、ターゲット選択モードに入ります。既存のボーンをクリックするか、空きスペースをクリックして新しいボーンを作成し、ターゲットボーンを選択します。ターゲットボーンには、制約されたボーンの子孫は指定できません。

![](/img/spine-user-guide/transform/setup.png)

# プロパティ

![](/img/spine-user-guide/transform/properties.png)

## ボーン

`Bones(ボーン)`は制約されているボーンを表示しています。ボーン1本が制約されている場合、クリックで選択できます。

複数のボーンが制約されている場合は、それらが選択ボックスに表示されます。トランスフォーム・コンストレイントの場合、ボーンの順番は重要ではありません。

選択ボックスを開いてボーン名をクリックすると、そのボーンを選択できます。選択ボックスを開かずにボーン名を右クリックすることでもそのボーンを選択できます。

鉛筆のアイコンをクリックすると、違うボーンを選択できます。これにより、制約されていたすべてのボーンがクリアされ、新しいボーンが選択できるようになります。

## ローカル

`Local(ローカル)`にチェックすると、制約されたボーンのローカルトランスフォームがターゲットボーンに合わせて修正されます。

チェックされていない場合は、代わりにワールドトランスフォームが修正されます。

## 相対的

`Relative(相対的)`にチェックすると、制約されたボーンのトランスフォームは、ターゲットボーンのトランスフォームを加算して修正するようになります。つまり、結果として得られるトランスフォームは、トランスフォームコンストレイントが適用される前の制約されたボーンのトランスフォームと相対的なものになります。

チェックされていない場合、制約されたボーンのトランスフォームは、ターゲットボーンのトランスフォームに合わせて修正されます。つまり、ミックスが100の場合、トランスフォーム・コンストレイントが適用される前のボーンのトランスフォームは、結果のトランスフォームに影響しません。

`Local(ローカル)`がチェックされておらず、`Relative(相対的)`だけがチェックされている場合、負のスケールを使用してターゲットボーンを反転させると、望ましくない結果になることがあります。例えば、スケーリングによってターゲットボーンが反対方向を向くと、そのワールド回転はスケーリング前とは180度異なります。`Relative(相対的)`を使用すると、この結果、制約されたボーンが180度回転することになります。

## ターゲット

`Target(ターゲット)`にはターゲットとなるボーンが表示されます。クリックすると、そのボーンを選択できます。

鉛筆のアイコンをクリックすると、別のボーンを選択できます。

## オフセット

`Offset(オフセット)`の各スライダーの値は、ターゲットボーンのトランスフォーム値に加算され、結果のトランスフォームがターゲットボーンに基づいたままカスタマイズできるようになります。これは利便性のために用意されたもので、同じ結果を得るために余分なボーンを必要としません。

例えば、回転のオフセットが90度の場合、制約されたボーンの回転は、ターゲットボーンの回転に90度を加えたものになります。

### 一致

`Match(一致)`ボタンは、最初に制約されるボーンの現在のトランスフォームと一致するようにオフセットスライダーを設定します。ミックスを0に設定し、最初に制約されるボーンのトランスフォームを必要に応じて操作してから`Match(一致)`をクリックしてスライダーをそのオフセットに設定すると便利です。

各オフセットスライダーを手動で調整する代わりに、標準ツールを使用して最初に制約されるボーンのトランスフォームを必要に応じて操作し、`Match(一致)`をクリックしてスライダーをそのオフセットに設定する方が簡単な場合があります。

## ミックス

`Mix(ミックス)`の各スライダーは、コンストレイントがボーンのトランスフォームにどれだけ影響するかをコントロールします。[コンストレイントのミックス](/spine-constraints#ミックス)をご覧ください。ミックスは[キーにする](/spine-keys#トランスフォーム・コンストレイント)ことができます。

`Link sliders(リンクスライダー)`をチェックすると、すべてのミックススライダーが一緒に動くようになります。

# ビデオ

[youtube:Cr3aQ_8R-7k&list=PLwGl7Ikd_6GRFo7d0uRu_fN2RIlvkxW7b]

[次: イベント](/spine-events)
[前: パス・コンストレイント](/spine-path-constraints)
[Spine ユーザーガイド: 目次]