てらりんぶろぐ



 超不定期でごめんなさい><><><><>   昔のテンプレに戻してみた^^^^^^^^^



スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Rigging & CharacterSetup #5 Constraint

 突発連載チュートリアル第五回
 目次はこちら
(連載物です。前の記事を読んでからのほうが分かりやすいと思われます)
 もう久々すぎて何がなんだか分かりませんが、ともかくやってみることにしました。
 会社の方が少し落ち着いたっぽい(?)ので、なんとか平日にもちまちま進められそうです。

概要
 はい、Constraintです。
con・straint
━━ n. 強制, 束縛; (感情などを)抑えること, 窮屈; 拘束[制約]するもの[こと] ((on)); 【コンピュータ】制約条件.
 読み方はコンストレイント。
 コンストレイン(Constrain)と読むと動詞になってしまいます。
「ト」ってなんか変だけど仕方ない。
 リファレンスだと「コンストレイン」と書かれているのでどっちでもいいのかもしれませんがw
 これは名前の通り「強制」的な効果をアトリビュート等に対して与えます。

具体的には
 コンストレインを使用すると、オブジェクトの位置、方向、スケーリングなどを他のオブジェクトに対して制約(コンストレイン)することができます。さらに、オブジェクトに特定の制限を課して、アニメーションのプロセスを自動化することもできます。
 たとえば、でこぼこの丘を滑り降りる"そり"をすばやくアニメートするには、最初にGeometryコンストレインを使用してそりがサーフェスに沿って動くように制約した後、Normalコンストレインを使用してそりとサーフェスを平行に保ちます。これらのコンストレインを作成した後、丘の頂上とふもとのそりの位置にキーを設定すれば、アニメーションが完成します。

 という感じで、何かをやりたいけど方法が・・・という時にパッとひらめくのがコンストレインだったりするわけですね。
 こいつを上手く使うことで、セットアップのアプローチも幅広いものになります。

各種Constrain解説
 リファレンスからのコピペがメインです。
 手抜きでごめんなさい。
 今回の記事は後々やる予定の実作業への布石程度なのでw
 私のコメントもありますが、主にセットアップに言及したものになります。

・PointConstraint
 Pointコンストレインは、オブジェクトをある特定のオブジェクトの位置、または複数オブジェクトの平均位置に移動およびコンストレインさせます。このコンストレインは、オブジェクトを他のオブジェクトの動きに合致させるのに有効です。
 通常、移動を同じくさせたい場合はParent化などを行うのが一般的です。
 ですが、Parentだと子供の座標が当然親に依存するわけで、何かと不便です。
 特に親が回転すると一緒に回ってしまうのが問題です。
 なので、位置だけを単純に合わせたい場合にPointConstraintを使用するわけです。
 セットアップでは親子構造というのは特に気を配らないとすぐに変な動きをしてしまうので、これは重宝します。
 なお、Pivot位置がConstraint先にくっつくので、Pivotを意図的にずらすことで相対的な距離を保つことができます。(他のConstraintもPivotに適用されるという点は同じです)

・AimConstraint
 Aimコンストレインを使用すると、オブジェクトが他のオブジェクトの方向を常に向くようにすることができます。Aimコンストレインの一般的な使用方法としては、ライトまたはカメラの照準オブジェクトまたはオブジェクトグループに向けさせる場合があります。キャラクタセットアップでのAimコンストレインの一般的な使用方法としては、眼球の動きを操作するロケータの設定があります。
 はい、全て書かれてしまいました。
 ひとまず目に使います。
 カメラはCamera&Aimというセットが用意されていますが、Lightには通常ターゲットが存在しないので、それにも使用されます。
 他にはパッと思いつくものはないです。
 ともかく、ターゲットの方を向くんです。

・OrientConstraint
 Orientコンストレインは、1つのオブジェクトの向き(回転軸)を他のオブジェクトの向きに一致させます。このコンストレインは複数のオブジェクトを同時に回転させるときに便利です。たとえば、複数のキャラクタを一斉に同じ方向に向かわせる場合は、1つのキャラクタの頭部にアニメーションを設定して、そのキャラクタに残りすべてのキャラクタをコンストレインさせるようにします。
 どうでもいいけどリファレンスに載ってるSSで噴いた。
 きめぇ^^^^^^^^
 で、これはRiverseFootでも使用が最も多いかも。
 まぁ次あたりの記事で解説するんで説明は省きますが。

・ScaleConstraint
 Scaleコンストレインは、特定のオブジェクトのスケーリングの度合いを他のオブジェクトのスケーリングの度合いと一致させます。このコンストレインは複数のオブジェクトを同時にスケーリングさせるときに便利です。たとえば、複数のキャラクタを一斉に同じ方向に向かわせる場合は、1つのキャラクタの頭部にアニメーションを設定して、そのキャラクタに残りすべてのキャラクタをコンストレインさせるようにします。
 使ったことないですw
 使用用途あるのかなぁ?

・ParentConstraint
 Parentコンストレインを使用すると、特定のオブジェクトの位置、つまり移動と回転を、別のオブジェクトに関連付けることができます。オブジェクトは、複数のターゲットペアレントがある親子関係の一部として動作します。複数のオブジェクトの平均位置を使用して、オブジェクトの動きをコンストレインすることもできます。
 Parentコンストレインをオブジェクトに適用すると、コンストレインされたオブジェクトは、コンストレインする側のオブジェクトの階層やグループの一部にはならず、独立したコンストレインとして、ターゲットオブジェクトの子であるかのように動作します。コンストレインするオブジェクトは、ターゲットオブジェクトとも呼ばれます。

 使ったことはないですが、これは便利だと思われます。
 Parentから親子構造を取ったという至れり尽せりなヤツです。
 PointとOrientとScaleを足しただけにも見えますが・・・。

・GeometryConstraint
 Geometryコンストレインは、オブジェクトをNURBSサーフェス、NURBSカーブ、またはポリゴンサーフェス(メッシュ)に追従させます。
 つまり、ジオメトリの表面に吸着させるわけです。
 たしかこれとCrasterを利用した面白いフェイシャルセットアップの方法がどこかに載っていました。(どこだったかは忘れてしまいましたが)
 たしか、顔の単純な凹凸で構成されたジオメトリを顔の中に置いて、動かしたい顔パーツの箇所に置いたLocatorをGiometryConstraintとNormalConstraintで内部ジオメトリに追従させて、そのLocatorに顔のパーツ毎に用意したCrasterをParentしてLocatorを動かすことで自由自在に顔パーツを動かすというものだった気がします。(文字だけだと分かりにくいことこの上ないですが)
 実際にやったらあまり上手くはいきませんでしたが、厳密にセットアップすればかなりよいものができそうな気がしました。

・NormalConstraint
 Normalコンストレインを使用すると、オブジェクトの方向をNURBSサーフェスまたはポリゴンサーフェス(メッシュ)の法線ベクトルに一致させることができます。Normalコンストレインは、特殊で複雑な形状のサーフェス上でオブジェクトを移動させるときに便利です。Normalコンストレインを使用しなければ、こうしたサーフェス上でオブジェクトを移動したりアニメートしたりすることは、退屈で面倒な作業になってしまいます。たとえば、キャラクタの顔に沿って流れ落ちる涙を作成したいとします。このような場合は涙を直接アニメートする代わりに、涙を顔のサーフェスにコンストレインすることができます。
 通常、GeometryConstraintとワンセットで使われるでしょう。
 アニメーション作業での使用が多いので、ちゃんと使ったことがないという人も結構いるかも?
 モデリングでも活用すれば結構便利なんですが。

・TangentConstraint
 Tangentコンストレインを使用すると、オブジェクトをカーブに沿って移動させたとき、オブジェクトの方向を常にカーブの方向に追従させることができます。カーブはオブジェクトが移動する際のパスになり、オブジェクトはそれ自身をカーブに沿って方向付けます。Tangentコンストレインを使用すると、トラックに沿って移動するジェットコースターのような、カーブに追従するオブジェクトを簡単に設定することができます。
 使ったことないです。
 カーブにGeometryConstraintしたあとにこれを使用するといい感じらしい。
 今度やってみよう。

・PoleVectorConstraint
 Pole Vectorコンストレインは、極ベクトルの終点を1つのオブジェクトの位置または複数のオブジェクトの平均位置へ移動し追従させます。
 極ベクトルというのはIKハンドルの向きを決めるための値で「極ベクトルの終点をオブジェクトの位置へ移動」というのは、つまりそのオブジェクトの向きにIKハンドルが回転するということです。
 用途として、膝や肘の向きを決めるためにLocatorに脚や腕のIKをコンストレインします。Locatorを動かすと、その方向に膝や肘が向くわけです。

まとめ
 そんなわけで、意味があるのかないのか分からない記事でした。
 まぁ、私自身の再確認の意味も含めているのでOKでしょう。
 次はやっと実践的なものに入ります。
 まずはReverseFootからやっていく予定。
 来週からまた忙しいかもしれないので、どうなるやら・・・。
スポンサーサイト

コメント

はじめまして。

はじめまして!
ブログの方、楽しく拝見しております。

突発連載チュートリアルですが、
自分みたいなアホでも
アニメーションに第一歩を踏み出せそうな気がしました。
これからも参考にさせていただきます~(_ _ ノ)ヨロシクオネガイシマス

はじめましてー!
訪問ありがとうございます。

こんな適当記事が参考になるなら幸いですw
これからもぜひいらしてくださいな。
更新が不定期で非常に申し訳ないのですが・・・。

のんびりがんばっていきます('A`)/

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://westside.blog21.fc2.com/tb.php/196-008e1ba0
この記事にトラックバックする(FC2ブログユーザー)

 | HOME | 

FC2Ad

プロフィール

おなまえ:てらりん
うまれたひ:秘密
せいべつ:攻め
しょくぎょう:ぐらひっか

人間ってのは気を抜くと漫然と生きてしまう、ということをブログで痛感。
気付くと放置してるもんなー。
あれやるこれやると言っておきながら、何もやってないね。

リンク

このブログをリンクに追加する

うさちゅん

 

ブロとも申請フォーム

この人とブロともになる

ぶろぐないけんさく

カレンダー

08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近の記事

最近のコメント

最近のトラックバック

カテゴリー

イロイロ☆


人気blogランキングへ



・BLOOG-RANKING【投票】

 

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。