>   >  Spineではじめる、動くイラスト制作:第3回:メッシュ機能と、3種類のコンストレイント機能(後編)    
第3回:メッシュ機能と、3種類のコンストレイント機能(後編)    

第3回:メッシュ機能と、3種類のコンストレイント機能(後編)    

こんにちは。HERMIT WORKSの柴田章成です。第2回ではSpineのメッシュ機能と[IKコンストレイント]について解説しました。Spineには[IKコンストレイント]を含め、全部で3種類のコンストレイント機能が実装されています。今回は残る2種類のコンストレイント機能である、[パス・コンストレイント]と[トランスフォーム・コンストレイント]を紹介します。どちらもキャラクターを普通に動かすだけなら必須ではありませんが、アニメーション制作を効率化したい人にとっては重要な機能です。それぞれ奥の深い機能ではあるものの、基本さえ押さえてしまえば使いどころは明確になります。今回紹介する基本的な使用方法を習得するだけでも、多くのシーンで応用できます。

TEXT_柴田章成 / Akinari Shibata(HERMIT WORKS / Twitter:@AkinariShibata
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)

曲線に沿った動きを表現できる[パス・コンストレイント]

放物線を描きながら飛ぶ投擲(とうてき)物や、円を描くようにグルグル回る物体をトランスレートとローテーションだけで表現しようとすると、大変な労力がかかります。そんなときは[パス・コンストレイント]を使うと、曲線に沿った動きを簡単に実現できます。また、この機能を応用すると、髪の毛やスカートなどの長い揺れ物を1つのボーンで制御することもできます。 今回は[パス・コンストレイント]の最も基本的な使い方を解説するため、楕円形のパスに沿ってグルグル回るオブジェクト(火の玉)を表現します。

▲2つの[パス・コンストレイント]を使って、火の玉の動きと尾の揺れを制御しています。今回は、この火の玉を作例として、[パス・コンストレイント]について解説します


[パス・コンストレイント]を使う際に必要なオブジェクトは2つあります。1つはパスに沿って動かすためのボーンで、もう1つはパスオブジェクト自体です。これら2つを作成していきます。ますはボーンを用意します。 動かしたい素材(作例では火の玉)を読み込み、ボーンを作成します【上図内A】。【上図】では、[wisp]のボーンの中に火の玉の画像と尾の画像の2点が格納されています。次にパスオブジェクトを作成します。パスオブジェクトは[スロット]内に格納する必要があります。[スロット]は、パスオブジェクトを格納したいボーン(今回は[root])を選択し、新規にパスオブジェクトを作成([ツリー]ビューのオプションの[新規]ボタンから[パス]を選択)すれば自動的につくられます【上図内B】。


[新規]ボタンから[パス]を選択すると、【上図】のように名前を入力するダイアログが表示されるので、任意の名前を入力します。[ツリー]ビューの[Hierarchy]内で見分けやすいように[path_]という文字列を加えておくといいでしょう。


名前を入力し終えると、[パス編集]ダイアログが表示されます。[パス編集]ダイアログには、3つのツールが用意されています【上図内A】。[新規]は、画面上の何もない所をクリックして、新しいアンカーポイントをつくり、パスを延長できます。[作成]は、既存のオレンジ色のパス上にアンカーポイントを追加できます。[削除]は、アンカーポイントを削除できます。基本的には[新規]ツールで次々とクリックして、パスを延ばしていきます【上図内B】。パスは、両端がつながっている円状のものと、両端がつながっていない線状のものをつくれます。今回は、火の玉がグルグルと円を描くように回る動きを制御したいので、円状のパスを作成します。パスの作成が終わると、新しくつくった[スロット]の中にパスオブジェクトが追加されていることが確認できます【上図内C】。


以上の手順を経て、ボーンとパスオブジェクトの用意ができました。続いて、ボーンをパスオブジェクトに関連づける[パス・コンストレイント]の設定を行います。[パス・コンストレイント]の設定では、【1】[パス・コンストレイント]で制御したいボーンの選択、【2】[パス・コンストレイント]の名前の入力、【3】動きの軌跡となるパスオブジェクトの選択、という3つの手順を踏みます。まずは制御したいボーンを選択して、[ツリー]ビューのオプションの[新規]ボタンから[パス・コンストレイント]を選択します【上図内A】。


【上図】のように名前を入力するダイアログが表示されるので、任意の名前を入力した後、[ツリー]ビューの[Hierarchy]から先程作成したパスオブジェクトを選択します。


[パス・コンストレイント]の設定が終わると、制御用のボーンと火の玉の画像がパスに沿って移動するのがわかると思います【上図内A】。今回はボーンを1つだけ登録しましたが、複数のボーンを登録し、同時に制御することもできます。 [パス・コンストレイント]は、一度設定すればオプションの値による複雑な制御ができます【上図内B】。

[パス・コンストレイント]のオプションの[間隔]は、複数のボーンを登録した場合に、ボーン間の距離を設定できます。[位置]は、関連づけたパスオブジェクト内の、どの位置にボーンを移動させるかを値で設定できます。[オフセット]の[回転]は、設定した各ボーンにどの方向を向かせるかを設定できます。[ミックス]の[回転]は、設定したボーンの向きがどの程度パスオブジェクトの形から影響を受けるかを設定できます。なお[回転]には、[接線][チェーン][チェーンスケール]からなる3つのモードが用意されてます。[接線]は、登録した個々のボーンがパスの形に沿って配置されます。[チェーン]は、複数のボーンを登録した場合に、ボーンの端と端がつながり、鎖のような形になります。[チェーンスケール]は、鎖のような形になったボーンが、パスの形によって伸縮するようになります。[トランスレート]は、設定したボーンがどの程度パスに沿って配置されるかを設定できます。


最後に前述の[位置]の値に0~100のアニメーションキーを打てば、火の玉がパスに沿ってグルグルと回るループアニメーションを作成できます。【上図】では[位置]の値を50に設定し、円状のパスの下から上に火の玉を移動させてみました。


次ページ:
細かい制御を自動化する
[トランスフォーム・コンストレイント]

その他の連載