☆LightWave3D☆ ~Free Diary~

悪戦苦闘の3D制作の日々と、悪戦苦闘の日常を書き記していく日記です。

   


2012/06/07 【Spring (Layout編)】

4bd7c20f.jpeg
前回の日記の続きです。

モデラーで素材を作り終えましたので、今度はバネを伸縮させる仕掛けを作っていきます。

 

【1.親子関係とIK】

spring_l_001.png

作業をレイアウトに移り、バネのオブジェクトをシーンに追加。
[Spring_001:a] → 上ピストンパーツ
[Spring_001:b] → バネ
[Spring_001:c] → 下ピストンパーツ



spring_l_002.png

Nullを4つ追加。
全体制御の「Master」。
目標アイテムを適用する側のアイテム「T」。
バネの動きを制御するIK用のアイテム「IK」。
ゴールアイテム「Goal」です。

[Spring_001:a]の中心点に「Master」と「T」をスナップ移動して、
[Spring_001:c]の中心点に「IK」と「Goal」をスナップ移動。



spring_l_003.png

「その場でペアレント」をオンの状態にして上の図のように親子関係を組んでいきます。


spring_l_004.png

「T」を選択してモーションオプションパネルを開き、目標アイテムを「Goal」にします。


spring_l_005.png

すると、上の画像のように意図しない方向にバネが向いてしまうので、[Spring_001:a]を選択してピッチ回転で-90°回転させて位置を修正。

 

spring_l_006_01.png

さらにこのままだと「T」と[Spring_001:a]がジンバルロックを起こした状態になっていているので、中心点回転記録で軸をリセット。


spring_l_007.png


spring_ik_test_001.gif

「Goal」を移動させると、バネがゴールアイテムに向かって回転してくれてます。
確認出来たら「Goal」を元の位置に戻す。


spring_l_008.png

IKを組んでいきましょう。
ここからはモーションオプションをそのまま開きっ放しにしておいてください。
[Spring_001:a]を選択してモーションオプションを開き、「子孫のIK効果を及ぼさない」をオンにする。


spring_l_009.png

子の[Spring_001:c]を選択して、「モーションオプション」→「制御と制限」タブ→「位置」を開いて、「Y位置制御」をキーフレームからインバースキネマティクスに変更。
 

spring_l_010.png

そのまま子アイテムの「IK」を選択して、「モーションオプション」→「IKとモディファイヤ」タブ→ゴールオブジェクトから「Goal」アイテムを選択。

 

spring_l_011.png

これでIK制御が出来るようになりました。
 


spring_l_013.png spring_l_014.png

このままゴールアイテムを動かすと下の[Spring_001:c]が引っこ抜けたり突き抜けたりしてしまいますので、[Spring_001:c]のY位置制御に制限を付ける。
 

spring_l_015.png

Y位置制限をオンにして最小値と最大値を入力。
最小値には、[Spring_001:c]のデフォルトのY軸の数値(-2.6407m)を入力します。



spring_l_017.png

「Goal」アイテムを選択してパーツの一番突き当りまでY軸移動。
この時の[Spring_001:c]のY位置の数値(-1.2498 m)を最大値に入力します。


spring_ik_test_002.gif

これでゴールアイテムが移動して行き過ぎても[Spring_001:c]の位置はあるべき場所に静止してくれるようになりました。

ここまで出来たら、お待ちかねのバネの動く仕掛けを作っていきます。


 


【2.バネのモーフ制御】

spring_l_018.png

[Spring_001:b]を選択して、「セットアップ」タブ→「追加」カテゴリ→「ボーン」から骨(Bone)を一本生成。


spring_l_019.png

「Bone」選択状態でモーションオプションパネルを開き、モディファイヤ追加から「Follower」を追加して開きます。


spring_l_020.png

Item To Followを[Spring_001:c]にしてPitch Angle以外は全てオフにします。
from(から「Y」を選択してxに「10.0」と入力。
(xの数値は特に触る必要がありませんが、連動するアイテム座標の変化の度合いを視覚的に見易くする為に数値を高くしています。)


spring_l_021.png

続行ボタンを押すとボーンが勝手に上向きへと回転してくれています。
 


spring_ik_test_003.gif

試しにGoalアイテムを動かしてみると、[Spring_001:c]の動きに合わせてボーンが回転しているのが分かります。
これで[Spring_001:c]の移動とボーンの回転がリンクされました。



ちょっとここで作業の手を止めます。

この時点で、どうしてボーンを追加してFollowerを使う意味があるのか?
今やってるこの作業はいったい何なのか?

・・・このように疑問に思われるかもしれないので、その訳をここに書き残しておきます。

 



モーフはシーン上にあるアイテムと違ってグラフチャンネルのみの編集に限定されてしまっています。
[Spring_001:c]のIK移動ではグラフチャンネルに変化は無いので、モーフとの連動が出来ずにとても頭を悩ませていました。

あれこれ考えて、IK操作に合わせてモーフを変位させる方法で「JointMorph」が候補にあがってきました。
 

しかし、これはボーンしか使えないのですぐに候補から外れましたが、後々になって何の意味も持たないボーンを追加して、モーションExpression(Follower)の利点であるAfter IKを利用すれば、[Spring_001:c]の動きに合わせてボーンが回転してJointMorphに使えるのではないかと思いました。

結果、JointMorphにボーンの回転値を入力してモーフの最小値最大値を合わせていけば、ボーンを通じてIKの動きに合わせたモーフ変形が可能になったのです。

 



と、こんな感じでこの回りくどい手法を取っているのです。
分かっても分からなくても誰にでも簡単に作れるのでこの説明は不要と言えば不要なんだけど・・・それだけこのやり方を見つけるのに苦労したってことで個人的に話したかったのですよ。(笑


再び作業に入っていきたいと思います。
あとはもう、ちょっとした作業をこなしていくだけです。


spring_l_022.png

[Spring_001:b]を選択してオブジェクトのアイテムプロパティを開き、「変形タブ」→「変位プラグイン追加」からJointMorphを追加して開きます。
 


spring_l_023.png

HeadingとBankのチェックをオフにして、Boneから「Spring_001:b-->Bone」を選択して、PitchのEndoMorphからSpring(モーフ名)を選択します。



spring_l_024_01.png
Angle Minimumにデフォルト時のボーンの最小値(-26.41°)を入力。
Angle Maximumに[Spring_001:c]の一番突き当りまでY軸移動時のボーンの最大値(-12.5°)を入力。


spring_ik_test_004.gif

IKの位置移動に従ってバネのモーフが変形してくれるようになりました。
これで、スプリングリグの完成です。
 


しかし、このままではちょっとした欠点があります。


spring_ik_test_005.gif

図のように、ゴールアイテムをアウトゾーンに移動するとモーフ効果がオフになってしまいます。
現実的に考えればアウトゾーンにゴールを動かす事は無いので、この空間を避けて動かせば問題ありませんがこれは何かとデリケートでやっかい・・・何とかならないものか。

↑[解決]
JointMorphのAngle Maximumに入力した回転値を(-12.5°)から(-12.4°)に変更。
ボーンの最大値を丁度にせず、余分に+0.1°(マイナス値の場合は「-」)入力すれば、アウトゾーン内にゴールが移動してもモーフ効果がオフになることはありません。
 


これでバネ作りは終わり。
長々とすみませんでした、お疲れ様です~。^^;

サンプルも用意しましたのでご自由にどうぞ。


2012_06_07_spring_RIG_sample



(9.6/10.1/11 動作確認済み。)

JointMorphPlusを使えば、「伸」⇔「中間」⇔「縮」の多段階のモーフ変形が可能になるのでシーン上でパーツを組み立て易くなるし、より弾力のあるバネの動きが出来るかもしれない。

実際のところ、これが出来たところで凄い動きとかそういうのでは無いので、普通の人から見たら「ふ~ん」で終わるかと思います。(笑

でも、こういうささやかな拘りは大切にしたいです。
きっと気付いてくださる方もいると思いますから・・・。

「ふ~ん」

\((((゚Д゚;))))/ エエェェェェ!?



最近、SNSでLWの話題が多いのでとても楽しく嬉しく読ませていただいています。
LWで堂々と活躍されている方々がいて、有名な作品を作られているということが分かるだけでとても励みになりますねぇ~。


自分ももっと頑張らなくては・・・。

拍手[0回]

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

カレンダー

10 2017/11 12
S M T W T F S
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

プロフィール

HN:
d_suzukky
性別:
男性
自己紹介:
こんにちは、d_suzukkyです。

田舎暮らしでのほほんと3DCGの勉強をしています。

ブログ内検索

Booklog

最新コメント

[11/17 Julieutems]
[11/11 myk30u]
[11/03 MelissaFrend]
[09/16 Aaronsat]
[09/15 Aaronsat]

最新トラックバック

バーコード

フリーエリア

Copyright ©  -- ☆LightWave3D☆ ~Free Diary~ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /