-
多段の活用方法
切な顔Pさんが多段にを使用したモーション修正のやり方を動画にしていたので捕捉というか自分でやっている事や多段とMMMのレイヤーを混同している人がいるのでちょっと説明をば。
多段構造作成用として自作のプラグイン
・多段化補助プラグイン(http://bowlroll.net/up/dl6475)
・多段化補助プラグインWith腕IK ビギナー版(http://bowlroll.net/up/dl8796)
を使用しての多段の活用方法です。
今の所、多段を以下の4つのシチュエーションで使用しています。
・モーション作成用としての多段
・モーション修正用としての多段
・モーションブレンド用としての多段
・静止画作成用としての多段
これらでどのように多段を使用しているかを説明します。
1.基本モーション作成用としての多段
これはヌルヌルモーションを作るとかいわれている方法でおそらく多段というとこちらをイメージしていると思います。
こちらは主に回転軸/移動軸の分離操作を主な使用目的とします。
構造例としては
右腕X・右腕Y・右腕Z センターX・センターY・センターZ
等とし、それぞれのボーン名称にあるXYZ軸(Local軸)で分離操作し各々で補間曲線を使用します。
わかりやすい説明としてはこちらの動画がいいかと思います。
要は各回転・移動成分毎に分離し管理しやすくしようとするのが目的です。
でここで注意する点として上の動画のコメントにもありますが「MMMのレイヤーでもできるじゃん」というのがありますが今のMMMのレイヤーはこの目的では使用できません。
理由は簡単でMMMの現在のボーンレイヤーの仕様ではLocal軸の向きが分離できないのです。
MMMで3レイヤーほど増やして操作してみればわかるのですが、どれをどう動かしても全部軸の向きが同じになります。これはどういう事かというと「Local軸の分離操作又は管理ができない」という事になります。従ってMMMがあれば多段は不要であるという事はこの使用目的ではありえません。
但し、1レイヤーだけ増やすのであればこの問題はわかりませんので多段の段数を減らす事はできます。
メリットはUNDO/REDOコストの安さ。
デメリットは構造構築の高さです。(ここはプラグイン化で下げました。)
2.モーション修正用としての多段
既に存在しているモーションを調整する為に多段を使用します。
考え方的には「基本モーションA+修正モーションB+修正モーションC」という感じで動きを足していきます。
こちらで説明されているモーション修正のやり方がそれになります。
この使用方法では軸分離に関してはしてもしなくてもいいという状態になりますので、この目的でのMMMのレイヤーは使用可能です。但し、軸分離が出来ないので操作感は悪くなりますので注意してください。
また、上記動画にあるように修正したいポイントをある程度の範囲で初期化したキーで囲うという操作はモーフの多段でも使用する考え方なので知っているといいかと思います。
多段でのモーション修正例としては以下のものがそうです。
この動画では小さなモデル用に修正するために使用しています。
楪いのりモデルは女性モデルではかなり背の高いモデルなので普通にモーションを流し込むとまずまともに動きません。手順的に男性モデルに流し込むのとほとんど同じ修正が必要となります。
但し、この動画では全身キャンセルボーンも使用していますので動きは多段だけの効果ではありませんのであしからず。
メリットは基本モーションを一切触らずに修正できますのでやり直しが効き易い事です。
デメリットはどこをどう管理しているかを忘れると悲惨な事ですw
3.モーションブレンド用としての多段
この方法は1と2の混合的な使用方法です。
基本モーションA+基本モーションB+調整モーションCという感じでモーションを構成します。
考え方の例としては「自己の動き」と「外から加えられた動き」を作成しそれらを混ぜ合わせ違和感が出ないように修正キーを追加していくという感じになります。
こちらのモーションがその考え方で作成してあります。
歩きの部分の基礎はsusukiさんのモーションですがそれをフレーム引き伸ばしし一括変更加えた後、別レイヤーでその上に動きを追加し違和感部分は多段で修正していっています。
メリット・デメリット共に1と2を引き継ぎます。
4.静止画作成用としての多段の活用法
これは2の使用方法を静止画用としただけです。
基礎ポーズを多段階層Aで作成し修正用として多段階層Bを使用します。
こちらも2と同様にMMMのレイヤーは使用できます。
メリットは2と同様に基礎ポーズを触らずにポーズが作れることです。
結局多段って?
ボーンが2つ連結したら多段です。従って標準ボーン構造も準標準ボーン構造も多段です。
という事でみんな多段は当たり前に使用していますので怖がっても無駄ですw
特に流し込みだから多段関係ないしという人!流し込みが一番多段の恩恵を安価に受けられるのでどしどしやるのがいいです。
逆に1からモーションがんばるぞーって人は結局基礎は「標準/準標準構造」ですのでいきなり多段から始めるのはお勧めできないです。
ちなみにしれっと書いてますがモーフも多段でやってます。まぁモーフはMMM使えば同じ事出来るんですが。。。
-
闇鍋プラグインに追加したボーン・モーフの強制並べ替え機能の説明
闇鍋プラグイン(http://bowlroll.net/up/dl9765)の説明書き最近書いてなかったので説明書きを記述してみたり。
ボーン強制並べ替え機能
[BONE] ボーンをテキストファイルの順に並べ替えする。
・SortBoneFromTxt.dll
定義ファイル「bonesort.txt」の内容に沿ってボーンを並べ替えします。
(ある程度拡張定義したbonesort.txtを同梱してあります。)
但し、ボーンの親子関係に関してはチェックしていません。自身で適時定義ファイルを修正してください。
使用方法
1.モデルを読み込みます。
2.プラグインを実行
編集
→プラグイン
→User
→BONE
→[BONE] ボーンをテキストファイルの順に並べ替えする。
をクリックしプラグインを実行
3.並べ替え定義ファイルを選択します。
4.実行されましたら以下のメッセージがでます。
5.並べ替えが実行されている事を確認して下さい。
(ここでは動作確認のため予め標準ボーンチェッカー(http://bowlroll.net/up/dl9611)で~先ボーンを作成しています。)
ボーン強制並べ替え機能用定義ファイルの出力
[BONE] ボーンを並べ替えるテキストファイルを作成する。
・SortBoneToTxt.dll
モデルのボーン情報から上記並べ替え用定義ファイルをモデルと同じフォルダに作成します。使用方法
1.プラグインを実行
実行手順と内容はボーンと同様です。
編集
→プラグイン
→User
→BONE
→[BONE] ボーンを並べ替えるテキストファイルを作成する。
をクリックしプラグインを実行
2.実行後以下のメッセージが出力されます。
3.出力された定義ファイルの内容
以下の様に現在のボーンの並び順の定義ファイル(bonesort.txt)がモデルと同じフォルダに作成されます。
モーフ強制並べ替え機能
[MORPH] モーフをテキストファイルの順に並べ替えする。
・SortMoprhFromTxt.dll
定義ファイル「morphsort.txt」の内容に沿ってモーフを並べ替えします。
(ある程度拡張定義したmorphsort.txtを同梱してあります。)
定義ファイルは適時修正してください。
[MORPH] モーフを並べ替えるテキストファイルを作成する。
・SortMorphToTxt.dll
モデルのモーフ情報から上記並べ替え用定義ファイル(morphsort.txt)をモデルと同じフォルダに作成します。
以上です。
この記事のコメント欄は以下の記事通り解放します。
http://ch.nicovideo.jp/t0r0/blomaga/ar760385
-
闇鍋プラグイン blender2pmxを使用した際のボーン名称変換機能追加
闇鍋プラグイン(http://bowlroll.net/up/dl9765)に1機能追加
・RenameBoneName4Blender.dll
blender2pmxで入出力した際に
ボーン名が
「右腕→腕_R」
「左腕→腕_L」
の様になるのでblender2pmxで出力後に実行することで元の名称に戻す機能を追加しました。
(名称の一括変換ですので自身で最終チェックして下さい。)
お決まりの文言ですが、適用前にモデルのバックアップは必ず取ってください。
2013/09/26更新内容
参考URL
ボーンの左右名称パターンが
「右腕→腕_R」
「左腕→腕_L」
「右腕→腕.R」
「左腕→腕.L」
「右腕→腕-R」
「左腕→腕-L」
「右腕→腕 RIGHT」
「左腕→腕 LEFT」
「右腕→腕Right」
「左腕→腕Left」
等もあるということなので対応
なんか他にもあるっぽいにおいがするのだけれどわかれば追加するかも。2013/12/13更新内容
今把握している命名規則と対応させる為の正規表現
// セパレーター:(nothing)
// handLeft → handRight
// nameLeft nameLeft.001 nameLeft.999
// nameLEFT nameLEFT.001 nameLEFT.999// セパレーター:_ (underscore)
// Hand_L → Hand_R
// name_Left name_Left.001 name_Left.999
// name_LEFT name_LEFT.001 name_LEFT.999
// name_L name_L.001 name_L.999
// name_l name_l.001 name_l.999// セパレーター:. (point)
// hand.l → hand.r
// name.Left name.Left.001 name.Left.999
// name.LEFT name.LEFT.001 name.LEFT.999
// name.L name.L.001 name.L.999
// name.l name.l.001 name.l.999// セパレーター:- (dash)
// Foot-l → Foot-r
// name-Left name-Left.001 name-Left.999
// name-LEFT name-LEFT.001 name-LEFT.999
// name-L name-L.001 name-L.999
// name-l name-l.001 name-l.999// セパレーター: (space)
// pelvis LEFT → pelvis RIGHT
// name Left name Left.001 name Left.999
// name LEFT name LEFT.001 name LEFT.999
// name L name L.001 name L.999
// name l name l.001 name l.999//正規表現一覧
使い方
@"[ |\.|\-|_](LEFT|Left)[\.][0-9][0-9][0-9]$"
@"[ |\.|\-|_](L|l)[\.][0-9][0-9][0-9]$"
@"[ |\.|\-|_](RIGHT|Right)[\.][0-9][0-9][0-9]$"
@"[ |\.|\-|_][Rr][\.][0-9][0-9][0-9]$"
@"[\.][0-9][0-9][0-9]$"
@"[ |\.|\-|_](LEFT|Left)$"
@"[ |\.|\-|_][Ll]$"
@"[ |\.|\-|_](RIGHT|Right)$"
@"[ |\.|\-|_][Rr]$"
@"(LEFT|Left)$"
@"(RIGHT|Right)$"
2014/1/22更新内容
Blenderには先ボーンの概念がない為、それに対する暫定的な処理が変換時に行われている。
処理内容としてはIKボーンのターゲットボーンになるボーン(通常は「つま先」ボーン)のとき「親ボーン名」+「セパレーター」+「左右区分」+「_」と命名される。
このルールだと「左つま先」ボーンは「足首_L_」等となる。
今回の更新はその名称の変換対応。
2014/12/30更新内容
Blenderからの出力モデルで改行を文字列に入れることが可能っぽいので処理前にあらかじめ材質名・ボーン名・モーフ名・表示枠名をTrimするように変更。
1.blender2pmxから出力したモデルを読み込みます。
2.プラグインの実行
編集
→プラグイン
→User
→BONE
→[BONE] ボーン名称の調整(Blenderから出力後用)
をクリックしてプラグインを実行してください。
3.ボーン名称が更新されている事を確認して下さい。
以上です。
この記事のコメント欄は以下の記事通り解放します。
http://ch.nicovideo.jp/t0r0/blomaga/ar760385
広告
38 / 48