NodeConstrainsをつかった、ギミックアニメーションとのシームレスな移行(接続)の2回目です。1回目はNodeConstrainsの機能を使えば、移動する際に一瞬で移動(ワープ)することなしに、別のポイントに移動できることを、記載しました。
この機能を使えば、TimeLineでIK/FKの動作を、TimeLine上のKey Frameで制御させずに体勢を変え、ギミックアニメーションとシームレスに、再接続させることができます。
いきなりの結論ですが、まずは下記の動画を参照ください。
この動画ですが、女性がフェラ〇オをしている箇所は、ピストンのギミックアニメーションを使い、途中でそれを停止(TimeLineでアニメーション速度を【0】に変更)、その後体勢を変えて、いくつかの動きを見せた後、ギミックアニメーションの停止時の体勢に、シームレスに戻して、フェラ〇オ(ピストン)を再開する。。。という、30秒のループアニメです。
画面のTimeLineのNodeConstrainsの設定を見ていただいてもわかりますが、3つの親子付けをタイミングに合わせて、On/Offさせるだけで、この動きを表現させています。
この動きに似せた、ピストンとスフィアだけで構成した、参照用の動画が下になります。こちらは、20秒のループアニメになります。
まずスフィア(赤)は、ピストンギミックの移動点と、Position Linkで親子付けしたものです。今回は視覚的にわかりやすいように、このスフィア(赤)が、ギミックアニメーションの動く基点とみてください。
そしてスフィア(青)は、実際に移動の起点となるポイントを示しています。こちらはスフィア(赤)と、Position Linkで親子付けしています。設定はデフォルトのままです。
3つ目のスフィア(白)が実際に、移動の起点と終点を行き来する、オブジェクトになります。最初のサンプル動画では、このオブジェクトに女性キャラのShoulderとHipを親子付けしており、この白いスフィアの動きに合わせて、キャラの肩と腰が動くようになります。
最後の4つ目のスフィア(黄)が、移動の終点となるポイントを示しています。今回は回転ギミックを使って、終点が移動していても、問題なくつなげることが出来ることが、わかりやすいようにしています。サンプルの動画では、ここまではしていませんが。
そして、スフィア(白)と、スフィア(赤)・(青)・(黄)の接続を、TimeLineでOff/Onすることで、スフィア(白)の位置を、シームレスに変えることができます。
基本となる動きと親子付けの方法は下記のとおりです。
1.1秒から3秒
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【1.6】
この時点では、スフィア(白)は、ピストンギミックの動きに追随します。
2.3秒から5秒
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度を【1.6】から【0】に変更
この時点では、スフィア(白)は、ピストンギミックの動きに追随します。
3.5秒時点
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOff(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOn(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】
この時点でスフィア(白)のParentをスフィア(赤)から、スフィア(青)に変更しています。スフィア(白)とスフィア(青)のDampenは【1】なので、接続時に遅延が発生しますが、スフィア(赤)とスフィア(青)の位置が同じですので、スフィア(白)は移動しないことになります。
4,6秒時点
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOff(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOn(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】
この時点でスフィア(白)のParentをスフィア(黄)に変更しています。これによりスフィア(白)は、スフィア(黄)の位置に、ワープせずにゆっくりと動きながら接続します。
5.6秒から12秒
・NodeConstrainsの親子付けは変えず、ピストンギミックのアニメーション速度だけ変更して、スフィア(青)の位置を、スフィア(白)が離れたところと異なる位置に移動させています。これは、スフィア(白)がスフィア(青)の位置に戻るときに、その位置が変わっていても問題ないことを示すためのものですので、サンプル動画とは異なる動きになります。
6.12秒時点
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOff(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOn(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】
この時点でスフィア(白)のParentをスフィア(青)に変更しています。これによりスフィア(白)は、スフィア(青)の位置に、ワープせずにゆっくりと動きながら接続します。
ゆっくりとした動きのため、完全にもとに戻るには数秒かかります。今回は3秒待っています。
7.12秒から15秒
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOff(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOn(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】
この間はなにも変更はしません。スフィア(白)が完全にスフィア(青)の位置に戻るまでの、待ち時間です。これが十分でないと、次の処理の時にワープしてしまいます。ここは重要なポイントになります。
8.15秒時点
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】
この時点でスフィア(白)のParentをスフィア(赤)に変更しています。これによりスフィア(白)は、スフィア(赤)の動きに追随してくれます。スフィア(赤)とスフィア(青)の位置は、同じですのでワープは起こりません。
9.15秒から17秒
・スフィア(赤) – スフィア(青):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(赤) – スフィア(白):親子付けをOn(Rest Child:ON / Dampen:【0】)
・スフィア(青) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1】)
・スフィア(黄) – スフィア(白):親子付けをOff(Rest Child:Off / Dampen:【1.5】)
・アニメーション速度は【0】から【1.6】に変更
これで動画のように、NodeConstrainsの親子付けをOff/Onするだけで、オブジェクトを移動できるようになりました。
ただ、上述しているように、各時間ごとにどのNodeConstrainsの親子付けをOn/Offにするのか、ゆっくりと動くオブジェクトが元の位置に戻るのに、何秒かかるのかを試行錯誤する必要があります。TimeLineとNodeConstrainsを利用することの多い、中級者以上の人向けのTipsになるかなと思います。あと時系列に沿った、プログラミング的なロジックを作る事を、気にしない人向けでもありますね。
この方法以外では、TimeLineのSingle Fileの機能と、アニメーション時間を使った方法もあります。それに関しては、来週にでもまたTipsとして上げさせていただければと思います。ただその方法も、Single File機能で保存したxmlファイルを、xmlファイルエディタなどで変更する必要があるなど、初心者の方にとっては敷居が高いTipsになるかと思います。
サンプルのSDは勝手ロダにアップしました。
最後にMoD作成者の方々に、大きな感謝を!
アップロードファイル(クリックでダウンロード)
エモーションボタン
一言感想ボタン
+ボタンをクリックすることで追加することができます
×ボタンをクリックすると削除確認メッセージが表示されます
虫眼鏡マークをクリックすると同じボタンをつけられた記事の一覧が表示されます
※ボタンを押した回数はキャッシュされるため、表示が反映されるのは編集などでクリアされるか、30分ごとです
これは面倒だw
私の場合、体位インポート→キャラ変更→TimeLineで変化を付けるモノを全て登録で、面倒な作業をTimeLine部分だけで済むようにしているのですが、これは複雑に経由し、間接的に体を動かす方法だから、私のやり方だと全てTimeLine用に0からNCを繋ぎ直さないと駄目ですね…
今の所ギミックアニメーション単体だけになるシーンは存在しなく、フェラor挿入前→アニメーション→止めて手を別位置に移動したり、別ギミックに変更→絶頂という構成になっているので、シームレス技術は必須なんですが、これを全部にやるのはかなり骨が折れますね…
単純な体位なら、逆にTimeLineでNCを使わないループアニメーションを作った方がシンプルで早いかも?
私のやり方にあった、もっとシンプルに出来る手段が有りそうな気はするので、もう一つの手段も見させて頂いてから、自分なりの答えを模索してみます。
好きな子は独占したい人さん、コメントありがとうございます!
>単純な体位なら、逆にTimeLineでNCを使わないループアニメーションを作った方がシンプルで早いかも?
->はい、その通りです(笑)。patreonなどで、有料のシーン配布をされている、海外の猛者の方々は、基本アニメーションを利用せず、TimeLineでFKとIKを細かに調整されています。1秒の間に5つぐらいのKey Frameを設定して、それを繰り返しながら、微妙に変化させていらっしゃいます。その域のクオリティを目指す場合は、ギミックアニメーションを利用しないほうが良いですね。
あくまでも、NCとTimeLineを利用すれば、こんなことが出来るんですよ。。といった、紹介程度と思っていただければと思います。私も今回のサンプル動画でつかったようなシチュぐらいしか、使わないでしょうね。
いつもtipsありがとうございます!
これ使えばいろんな動きをシームレスにシフトできますね!
kan8888さん、コメントありがとうございます!
好きな子は独占したい人さんのコメントにも返していますが、TimeLineやClipManagerで各IK/FKポイントの動きを、細かくプロットしていけば同じことが可能ですし、そちらの方が質は高くなると思います。
でも、そういう事をするには、時間がかかりすぎますし、他の方法ってないかなと、よく考えています。
菅家着いたことを、Tipsとして皆さんに提供するのも、一つの楽しみかなぁと思っております。