【AviUtl】簡易IK2体間で作った素体についての補記
閉じる
閉じる

【AviUtl】簡易IK2体間で作った素体についての補記

2019-03-23 19:59
    前回(2体間に表示する胴体)前々回(簡易IK)の記事についての補足


    簡易IKについての補記
    IK足ひざ下の扱い
    先の記事で作成した足は、ひざ上/ひざ下の2パーツで分けました。
    足首パーツを独立させないことで、作業の手間とレイヤ数を減らす為です。
    また、その結果ひざからかかと、つま先まで!ひとつながりのパーツとなるわけですが、そのパーツの中心点はつま先としました。

    簡易IKを使った素体であっても、ひざ上/ひざ下/足首下の3つで分けることはもちろん可能です。ひざ下用の関節先付親とは別に、関節先フィルタを付けたオブジェクトを足首下パーツの親用に用意します。その足首下パーツ用の親の、関節先フィルタの「関節方向を向く」のチェックを外すと、パーツが元々の角度から変わらなくなります。動きに関しては見た方が早いですね。

    ※ちなみに足首の「関節方向を向く」のチェックを入れておくと、右と同じような動きになります(要中心点調整→後述)

    これを見ると分かるように、足首とひざ下を分けると、少ない操作(赤点のX座標を動かしてるだけ)での接地感がグッと上がります。歩くモーションのような接地してる時間が長いモーションでは非常に有用です。

    ただし走るモーションのような接地時間が短いモーションでは、足が常に水平だとなかなか違和感があります。あとずっとベタ足だと軽快さが損なわれる気もしますし。そこで蹴り出すときや着地時の足首調整をするわけですが、これが結構面倒なんです。足首のある地点を基準として接地してるので、足首を回転させるとつま先が地面をぶち抜く(後述)ため、それが気になりだすと結構神経がすり減ります。
    そんなん気にするくらいだったら、2分割足でも妥協可能なモーションちゃちゃっと作った方が手間的にもレイヤ的にもマシかなって…
    まあこの辺は好みの問題かもしれません。

    さて、ひざ下~爪先をパーツにまとめる場合、中心点はちょっと注意が必要です。

    ひざ下パーツの中心点を…
    左:足首に設定したもの
    右:つま先に設定したもの

    このように、足首~ひざを軸にした動きのままだと、つま先が地面をぶち抜いてイマイチな感じになります。そこで、つま先を中心点にすることで接地感を出すことを狙っています。

    ただし、このやり方で足を組むと、足をまっすぐ伸ばすことが出来なくなります
    ※もう既に親3つが一直線なので、黒い影まで足が上がらない

    まあこの辺も…好みの問題かもしれません(諦め)

    レイヤの節約
    簡易IKの記事でも少し触れましたが、簡易IKで足なり腕なりを作るとレイヤーが非常にかさばります。
    親A・親B・ひざ上用親・ひざ下用親・ひざ上画像・膝下画像…
    分割2つで作成する場合であってもレイヤ6つ
    それが両足なので計12ものレイヤを消費してしまいます。
    レイヤが多すぎると動作も多分重くなりますし、拡張編集画面内にオブジェクトが入らなくなり、操作性やら作業性やらが落ちてしまいます。

    そこでひざ上用親とひざ下用親を端折って、ひざ上/下画像にそのまま関節/関節先フィルタを付けてしまおう…というくだりとなります。

    (・拡張描画の「中心点」X,Yで画像の位置調整をする。)

    (・「関節@簡易IK」フィルタが付いたパーツを回転させる場合、
    基本効果フィルタに入ってる「回転」フィルタを使って回転させる。)

    Y軸=180を使った左右反転が出来ないので
    左右反転フィルタを使って反転をする。
    その為に、中心点と角度を調整した状態で出力しておく
    以上の点を抑えておくと、親2つを省略することが可能となります。

    拡張描画の「中心点」X,Yで画像の位置調整をする。
    関節・関節先パーツの座標は親A・親Bによって決められているので、変にいじると回転時パーツがどっかすっ飛んでいきます。
    「中心点」で位置調整をすると回転軸そのままで画像の位置が調整できるのでそっちを使いましょう。

    「関節@簡易IK」フィルタが付いたパーツを回転させる場合
    基本効果フィルタに入ってる「回転」フィルタを使って回転させる。
    関節フィルタはY軸回転で足首ー股関節軸の回転ができるという仕様からか、通常のX,Z軸回転が無効化されています。ただし、回転フィルタを追加すればその分は効くので、調整するときはそれを使いましょう。


    ぶっちゃけこの2つは「そういう仕様なんだな」程度で流してくれてればいいです。
    重要なのは次なので。

    中心点と角度を調整した状態で出力しておく
    モーション作成中、どうしても足の向きとかが反転する必要がある場面とかがあります。
    そういう時に拡張描画のY軸回転を180にすると、中心点を軸にして左右反転するから便利ですよね。このやり方だと中心点XYを調整した後の中心点を軸にして反転しますし、中間点+瞬間移動(Y軸回転180)でオブジェクトの分割をせずに反転をすることができて使い勝手が良いです。

    関節・関節先フィルタが付いたパーツは残念ながらこの小技が使えません。Y軸回転=180で反転させると、なぜかZ軸回転方向まで反対方向になってしまうのです。(これはフィルタが付いたオブジェクトだけが当てはまります。それのボーン子はY軸反転可能)

    一方、反転を「反転」フィルタを使って行うと、なぜか普通に回転してくれます。
    ただし、上で書いたY軸回転の長所を持っていないので、使うときには工夫と手間が必要になりますが…。

    Y軸反転とは異なり、反転フィルタでの反転は、中心点XYの調整や回転状態を無視します。
    問答無用で画像の中線を軸に反転すること、簡易IK用のパーツは末端側の関節を回転軸にすること、この2つを考慮して画像を出力すると…



















    画像の中心につま先を置きつつ、ひざの中心らへんが中線と交わるように回転させて出力するといった感じになります。
    例によってガイドを用意しておいた方がやりやすいですよ。(右図)

    これで反転ができるようになりました。
    タイムライン中に反転タイミングがある場合、オブジェクト分割して左右反転して…って感じの手順になります。
    ちょっと面倒ですね
    ショートカットキーがデフォルトの場合、オブジェクト選択中に「S」を押せば一応すぐ分割ができますよ。

    反転だけでなく足の配置が前後するときもオブジェクトは分割することになるため、タイムラインがボロボロになる感じがして個人的にはちょっと避けたいやり方ですが…やり方の1つとして紹介しました。
    まあ操作で動かすのは親ABですから、関節・関節先オブジェクトが分割されまくっててもあんまり痛手はないかもしれません。



    2体間に表示についての補記
    特にないです
    素体用関係用の質問箱になんか質問がきたら、検証してここに追記するかもしれません。

    あっそうだ
    破綻ポイントについて1個追記なんですけど
    前回の記事で「2体間に表示されてるパーツは、上位のボーン親やグループ制御の影響を受けても大丈夫」的なことを描きました。
    ただ、実際には、上位の親やグループ制御を回転させると、わずかに2体間表示パーツに余分なねじれが発生するみたいです。
    大きいねじれではないのであまり問題になる部分ではないのですが、もし表示が破綻した場合、親の回転が原因である可能性もあるということは頭の隅に引っ掛けておいた方がいいかもしれません。





    素体が重いときには

    フィルタやオブジェクトが多いので、通常のボーン制御素体と比べてどうしても重くなります。
    この辺を参考にして色々試してみてください(丸投げ)

    【AviUtl】動作が重い時の原因と対策一覧【カクカク】


    素体制作時に効果を実感したのは、以下の3つですかね。

    読み込む素材をあらかじめリサイズしておく
    …1280×720で動画を作るとして、素体を組んだ時の高さが720を超える場合、あらかじめ各パーツを縮小しておくといいでしょう。ただし縮小して出力すると、拡大時にぼやけてしまうので程々に。
    顔のアップさせる時にぼやけるのはちょっと…って人は、顔だけ高解像度(2倍サイズ)で出力、編集時は顔だけ拡大率他の半分って感じにしておくといいかもしれません。ある程度アップにも耐えうるかもしれない。

    画像処理を間引いて表示にチェック
    何か知らないけど軽くなるやつ。pf次第では気休め。

    「LargeAddressAware」にチェック
    むしろこれはやっておかないと他の作業もキツい、キツくない?

    RAMプレビュー…操作は重くともプレビュがちゃんとできるようになる


    とりあえず記事は以上です。
    何か書くことを思いだしたり、なんか質問があったら追記するかもしれません。

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。