「MikuMikuDance 初心者チュートリアル」の第34章です。
(第34章)モデルを乗り物に乗せる場合(モデルと乗物の座標位置同期)
よく、MMDの演劇タイプの作り手の人の動画で、車などの乗り物に乗って登場するシーンがありますが、あれの、やり方について、知りたくないでしょうか?
ミク「私、気になります!」
という事で、「モデルを乗り物に乗せる場合」について、説明していきます。
これも、とても、いろいろなやり方ができるのですが、
(1)モデルを乗り物に乗せた状態のモデルを作ってしまう方法
これが、乗り物の動画を作る段階では、だいぶ楽なのですが、例えば、乗り物から降りて走っていったり、乗り物に飛び乗ったりするのが苦手です。
また、モデルを作成するので、上級者向きです。
車や、バイクなどの乗物のモデルでは、大体、ミクちゃんなどの主要メンバーが乗ったままの状態のモデルも同梱されている事が多いです。
たしか、7z圧縮などの最高の圧縮状態にすれば、このように、同じ車データ部分が重なっていて、乗っている人物が違うようなデータに、まったく、同じ共通部分があるファイルは(例えば、車モデルに、ミク、リン、レン、ルカ、メイコ、カイトなど、それぞれを乗せたモデルを全部同梱する場合など)いくら増やしても、ファイル容量が、ほとんど増えなかった気がします。
要するに、極端な例で書くと、仮に、まったく同じ車モデルに、「赤、青、緑・・・」などと、「65536台」分の車を同梱するような場合でも、「1台分の容量から、圧縮後には、ほとんど変わっていない(つまり、65536台も入っているのに、容量は、1MBの圧縮ファイルのような事が可能だったはず)」はずだった気がしますので、車モデルに、たくさんのモデルを乗せた状態を同梱する場合には、使うと便利ですが、その場合には、「解凍後のファイルサイズが、あまりにも、巨大になって、場合によっては、パソコンのHDD容量を、解凍後のファイルサイズで、150GBなども、対応していれば、できてしまう可能性があって、ある意味、危険なので、解凍時間も、高圧縮ほど、かなり時間がかかるので、解凍時間に、半日かかったりして、解凍後のファイルサイズが、150GBで、HDD容量を圧迫し過ぎて、危険な状態になる事もありえるので、ほとほどにする必要があります。
解凍時間と、解凍後のファイルサイズが、どの程度になるのか?のバランスを考えてやった方がいいです。
モデルの作成は、上級者向きなので、今回は、次の(2)の方法を書きます。
(2)「全ての親」を「多段ボーン」化して、モデルと、乗り物の位置情報で、同期させる方法
これは、キャラモデルと、乗り物モデルが完全に分かれて管理できるので、かなり自由度が高くて、乗り物から降りて走っていったり、乗り物に飛び乗ったりするとか、動く物の上で、ダンスをするとか、何でも、できます。
2つの動く乗物の間を、ジャンプして飛び移ったりするような演出を作ったりできます。
しかし、「キャラモデルと、乗り物の位置情報で、同期させる」時の、モーション作成時に、少し工夫しないと、大変ですが、「位置情報」部分だけを、しっかりと、共通で管理すれば、だいぶ楽なので、できるだけ、労力が少なくても済む方法を書きます。
こちらは、とにかく、「多段ボーン」の注意点と同様にして、「ボーン名の管理を、きちんとする」とか、「座標の感覚で、操作できる頭を持っている」など、できる人と、かなり苦手な人に分かれる方法です。
すでに、「車などに、乗っている状態のモデル」がある場合には、そちらを使った方が、乗物関係のモーションは、とても楽に作れます。
どうしても、「乗物に乗っていないようなモデルを乗せたいが、モデルを乗物に乗せた状態のモデルを再構築する事はできない」ような場合には、この(2)の方でやれば、どのモデルでも、乗せられます。
しかし、どちらの方法も、慣れるまでは、相当に、クセが強いので、誰でも簡単に扱えるというわけではないのですが、1度、コツがわかれば、かなり、演劇タイプのMMD使いの人は、演出の幅が広がります
などで、この他にも、とても、いろいろなやり方ができるのですが、今回は、「全ての親」を「多段ボーン」化する方法で書いていきます。
さらに、この「全ての親を多段ボーン化して、モデルと、乗り物の位置情報で、同期させる方法」でも、何に乗せるのか?によって、細かい箇所が、だいぶ変わってきます。
(1)アクセサリに乗せる
(2)キャラクターモデルと同じような、pmdモデルに乗せる
さらに、その後の動作によっても、作る時に、考えておかないといけない箇所が違ってきます。
それは、
(3)動く物の上で、踊ったりする時に、すでに、ダンスモーションデータ自体が、「全ての親」を使っている場合
で、この後に、詳しく、それぞれについて、説明していきます。
要点を先に書くと、
・「PMDエディター」の、ボーン一覧で、1番上側に入っている「0番」の「全ての親」は、「キャラモデルと、乗り物の位置情報で、同期させる」為に使用したい。(「0番」にある「全ての親」は、全部のボーンに影響する「全ての親」です。なので、本来は、この「0番」の「全ての親」が、本当の意味での「全ての親」です。ただ、次に書くように、「全ての親」というボーン名をすでに使って動かしてある走りモーションなどがあるので、センターボーンに直接つながっている方の「全ての親」の名前を、「全ての親」という名前のままにした方が扱いやすいです。ここら辺の、「多段ボーン」化における名前の決まりは、少し整理して決めていった方が、今後「多段ボーン」を使ったモーションを、いろいろなモデルで扱いやすくしたりする際には、必要になりそうです。文字の意味では、本当は、「0番」を「全ての親」にしたいわけですが、それだと、現在は、扱いづらいという事です。)
・ミクちゃんの足元に入っていて、センターボーンに直接つながっている、「PMDエディター」の、ボーン一覧で、センターボーンの1つ上側にある「全ての親」は、「すでに、走り、歩き、泳ぎ、踊りなどで、全ての親を使って移動をさせているモーションを適用させやすくする為」に、「全ての親」という名前のままにしたい。(しかし、通常、移動制御用に使う、パスメイカーが、「全ての親」などのボーン名称を使うので、「移動の位置情報の同期用」の「0番: 全ての親」と名前がかぶるので、問題になりそう)
の2点を、どのように、クリアーしていくのか?という話なのです。(要するに、「全ての親」のボーンの番号と、「全ての親」という名前の付け方が重要で、考えないといけないポイントだという事です。)
(ボーン名は、「全角4文字」以内におさめないと、MMDの表示枠に入らない。)
(「多段ボーン」化する中で、「全ての親」だけは、順番で、1番上側と、1番下側に入っている「全ての親」の扱いには、気を使うという事)
(位置)
・1番上の0番の「0: 全ての親」→全部のボーンが乗っかって動くので、「乗物の移動の位置同期用」にしたい。
・センターボーンの1つ上にある「全ての親」(センターボーンに直接つながっていて、ミクちゃんの足元に入っている、全ての親)→「すでに、”全ての親”を使って、移動させている、走り、歩き、泳ぎ、踊りなどのモーションを適用させやすくする為に、”全ての親”という名前のままにしたい」
(名前)
・滑らかな曲線用の移動モーション作成用に、「パスメイカー」が、よく使われるが、このモーションは、「全ての親」、「センター」、「ボーン01(「半角カタカナ」のみ)」の名前用にしか出力されないので、仮に、「全ての親」で出力してしまうと、先程の、「位置」の注意点にでてきた、「すでに、全ての親を使って、移動させている、走り、歩き、泳ぎ、踊りなどのモーションを適用させやすくする為に、全ての親という名前のままにしたい」と、かぶってしまうので、うまく動かない。
この「位置」と、「名前」の注意点で、問題になりそうな箇所を、どのように、回避していくのか?という事なのです。
(モデルを乗り物に乗せる場合「全ての親を多段ボーン化して、モデルと、乗り物の位置情報で、同期させる方法」)
まず、よく、「多段ボーン」使いの人の考えている事が、初心者には、「何が何だか?わからない?」となっている箇所についてですが、基本的に、「多段ボーン」使いの人は、何かのモーションを、実際に作ってみると、このままでは、もの凄く労力のかかる大変な事になりそうだ。とか、普通の作成方法だと、自分の思い描いているモーションは、作る事が不可能だ。という箇所に、ぶち当る時期が来るのです。
その時に、「特殊ボーン」や、「物理演算」などを工夫して入れたりする事で、「難しいモーションを、簡単に、労力をかけないで作る」時に、こういった「多段ボーン」化したりするので、その過程を書いていきます。
ただ、「おそらく、ここら辺をいじれば、こうなるはずだ。」というような事が、直感的にわかるので、それで、当りをつけて、とりあえず、どんどんやっていってみているだけなのです。
ですから、これも、とても、いろいろな手法ができて、それが、いろいろな動画の作り手の個性になってきたりする箇所なわけです。
(「全ての親を多段ボーン化して、モデルと、乗り物の位置情報で、同期させる方法」用に、モデルを作る)
まずは、「PMDエディター」で、普通に、「全ての親」を2つ入れて、移動などはさせないで、そのまま、別のファイル名で保存しましょう。
「PMDエディター」の、[編集]-[ボーン]-[全ての親ボーンの追加]を、連続で、2回やるだけです。
ここで、前回と違う事は、この2つの「全ての親」の名前を、どう変えるのか?が、
(1)アクセサリを乗物にして乗せる
(2)キャラクターモデルと同じような、pmdモデルの乗物に乗せる
(3)動く物の上で、踊ったりする時に、すでに、ダンスモーションデータ自体が、「全ての親」を使っている場合
の、どれか?によって、まったく変わってくるのですが、その原因は、「モデルと、乗り物の位置情報で、同期させる」時に、このボーン名が共通で必要になるからです。
いきなり書いても、わけがわからなくなるので、とりあえず、実験をしてみるために、
[0: 全ての親](子ボーン名: 1: 全ての親)
[1: 全ての親](子ボーン名: 2: センター)
となっているはずなので、同じ名前だと、説明しづらいので、前回と逆ですが、
[0: 全ての親](子ボーン名: 1: 親1)
[1: 親1](子ボーン名: 2: センター)
として保存して下さい。
今回、[0: 全ての親]としたのは、「パスメイカー」の都合上なのです。
MMDで、このモデルを読み込むと、今度は、ミクちゃんの足元の、まったく同じ0座標の位置に、「全ての親」が2つ入っています。
どういう事をさせたいのか?わけがわかりづらいので、ここで、「親1」ボーンを、適当な位置にまで、移動させて下さい。
すると、こんな感じで、[0: 全ての親]ボーンと[1: 親1]ボーン間の距離が伸びたと思います。
これで、[0: 全ての親]ボーンの方には、「キャラモデルと、乗り物の位置情報で同期させる」為に使うのです。
それで、こうすると、[0: 全ての親]ボーンは、「移動経路」に沿って、好き勝手な方向に動いていったとしても、さらに、その上に、つながって乗っかっている方の、[1: 親1]ボーンの方で、「乗り物の上で、位置を移動したり、アクションしたりしても、綺麗に、移動した乗り物に乗った位置のまま、好き勝手に、ミクちゃんなどが動ける」のです。
実際にやってみると、とりあえず、「30フレーム」の所に、[0: 全ての親]ボーン(乗り物の位置情報同期用)で、好きな位置にまで、乗り物に乗った気分で、移動させて下さい。
次に、「20フレーム」の所に、センターボーン(乗り物の上に乗ったキャラアクション用)で、乗り物の上で、位置を移動したと過程して、少し位置を移動させたり、とりあえず、「座る」アクションなどをさせます。
これで、「再生」してみると、「20フレーム」で、ミクちゃんは、乗り物の上で、位置をアクション用に移動したにも関わらず、「30フレーム」目の時には、きちんと、乗り物の上に乗ったまま、移動してくれているのです。(乗物が移動しても、その乗物の上で、キャラモデルが、アクション可能なのか?の実験)
次に、「多段ボーン」を扱う中で、初心者が、必ず!ぶつかる壁が、「予期しなかった、わけのわからない動き」になりがちなので、そうなってしまった場合の原因の探し方を書きます。
そこで、わざと失敗してみますが、ここで、例えば、「25フレーム」目に、[1: 親1]ボーンで、「Z軸回転」を、適当にさせておいてから、「再生」をすると、よく「多段ボーン」初心者が、ぶつかる壁の、「わけのわからない動きで、原因もわからないので、どのフレームから、どのボーン操作を間違ったのか?知りたい!」となるので、その方法は、
このような時に、よく「多段ボーン」化したモデルは、ボーン管理があやふやなままモーション作成していくと、「わけのわからない動き」になりやすいので、実際に、「どのように、多段ボーンが動いているのか?」を見るといいのですが、その方法が、前に書いたように、とりあえず、どれかのボーンを選択すると、MMDで、「ボーンの状態が見えている」状態になりますが、そこで、カーソルキーの右を押しっぱなし(連打で「コマ送り」)にすると、「ボーンが見えたまま、動きの確認ができる」ので、これで、どのように、今、作ったモーションの多段ボーンが動いたのか?がわかるわけです。(左で、巻き戻し)
よ〜く見ていけば、「どのフレームから、どのボーンの挙動がおかしくなってきたのか?」がわかるので、これで、修正していきます。
「多段ボーン」使いの人は、このような方法で、こまめに、「ボーン状態」をチェックしているわけです。
他にも、「腕や、足が捩れた」とか、いろいろな時に、細かいボーンの状態を、どこから変になっているのか?をチェックします。
これで見ると、[0: 全ての親]ボーンは、「移動経路」専用に使える事がわかります。
作るモーションの種類にもよるのですが、この時に、はじめの「0フレーム」目の所で、画面下の「モデル操作」パネルの所に、「ネクタイIK」とあって「ON/OFF」がありますが、ここの「ネクタイIK」を押すと、「左足IK」、「右足IK」、「左つま先IK」、「右つま先IK」の4つがあるのですが、これを、全て、「OFF」にして、「登録」するという、いわゆる「足IKを切る」とか言われている事をした方が作りやすい場合もあるのですが、ミクちゃんの足元に入っている「全ての親」(今回は、[1: 親1]ボーン)が、クッションになるので、「IK」は切らなくても、大丈夫です。(乗物の上で、普通に、アクションをさせる場合には、「足IK」があった方が操作しやすい事が多く、踊ったりさせるなど、すでに、「足IK」を使っているモーションの場合には、「足IK」は、切ってしまうと、動かなくなってしまいます。)
「足IK」を切った方が、作りやすいモーションは、「泳ぐ」などの場合です。
このようにして、「乗り物の上で、何のアクションをさせたいか?」など、いろいろと考えたら、ひとまず、ここで、実験は終了です。
次は、本格的に、
(1)アクセサリに乗せる
(2)キャラクターモデルと同じような、pmdモデルに乗せる
(3)動く物の上で、踊ったりする時に、すでに、ダンスモーションデータ自体が、「全ての親」を使っている場合
の3つの、どれか?によって、先程、完全には決めなかった2つの「全ての親」の名前を決めていきます。
作り方が、まったく変わってくるので、それぞれに分けて説明していきます。
けっこう、どんな方法を使っても、動かす方法はあるのですが、
まず、「移動」は、基本的に、「パスメイカー」で作った方が楽なので、これで、この後の処理方法が、だいぶ変わるわけです。
<1>「アクセサリに乗せる」場合
これも、2種類の方法に分かれて、
・「アクセサリ」を、「ダミーボーン」に取り付けて、好きな位置に動かす方法
・「アクセサリ」を、「PMDエディター」で、pmdモデルにしてしまう方法
の2つがありますが、「アクセサリを、pmdモデルにした場合」には、<2>と同じ動かし方になります。
先に、そちらの作り方を説明しますが、「PMDエディター」の[ファイル]-[インポート]を使えば、「アクセサリ」の「xファイル」を読み込めます。
ここで、例えば、ネギなどを、「インポート方式」を「新規」にして、「サイズ 10倍」で読み込みます。
MMDでは、「アクセサリ」の場合には、通常は、「10倍」で、普段使うような、キャラモデルと同じサイズになります。
例えば、「遊園地のコーヒーカップ」など、さらに、人の乗れるサイズまで、アクセサリを拡大したい場合には、ここで、「サイズ 100倍」など、いろいろと調整してやってみます。
それで、「情報」タブに、「モデル名」や「コメント」欄に詳細を書いて、そのまま保存するだけです。
これで、「アクセサリを、pmdモデルにする」方法は、終わりです。
本当は、いろいろと、ここで、調整してもいいのですが、とりあえず、これだけでも動きます。
これ以降は、<2>の方で説明します。
(考える箇所)
まず、「パスメイカー」で、細やかな「移動」曲線が作れるのは、「センター」、「全ての親」、「ボーン01(「半角カタカナ」のみ)」のボーン名だけです。
ここで、考えないといけない事は、「キャラモデルと、乗り物の位置情報で、同期させる」事なのです。
その為には、「キャラモデル」と「乗り物」の両方で、先程の、「全ての親」の名前を、同じ名前にしておく必要があるのです。
ですから、
(1)アクセサリに乗せる→(「ダミーボーン」に取り付けるので、「ボーン01(「半角カタカナ」のみ)」というボーン名が、共通の移動用ボーンにする)
(2)キャラクターモデルと同じような、pmdモデルに乗せる→(「全ての親」という名前が、共通の移動用ボーンにする)
(3)動く物の上で、踊ったり、走ったりする時に、すでに、ダンスモーションデータ自体が、「全ての親」を使っている場合→(すでに、「全ての親」という名前をダンスモーション用などに、使ってしまっているので、「パスメイカー」の標準状態では無理なので、キャラモデルと、乗り物の両方で、他で使われていない、かぶっていない名前で、例えば、「乗物親」など、共通の名前のボーンを入れる必要がある)
の違いによって、まったく、やり方が変わってしまうのです。
このような感じで、「全ての親を多段ボーン化して、モデルと、乗り物の位置情報で、同期させる」場合には、それぞれのやり方によって、「全ての親」の共通の名前を変更する時に、違いが出てくるわけです。
(「アクセサリ」を、「ダミーボーン」に取り付けて、好きな位置に動かす方法)
まず、「ダミーボーン」に取り付けるので、「ボーン01(「半角カタカナ」のみ)」というボーン名が、共通の移動用ボーンにするので、ミクちゃんのモデルに、先程、2つ入れた「全ての親」の名前は、
[0: ボーン01(「半角カタカナ」のみ)](子ボーン名: 1: 全ての親)→(キャラモデルと、乗物の移動同期用)
[1: 全ての親](子ボーン名: 2: センター)
にします。
これだと、「全ての親」という名前が、ミクちゃんの足元に入っている「全ての親」で、「センター」ボーンに直接つながっている[1: 全ての親]に、生きたまま残っているので、この後に、「すでに、全ての親を使ってしまっている、走り、歩き、泳ぎ、踊りモーションを、動いている乗物の上で、そのまま、すんなりと適用できてしまいます!」
これは、かなり便利な手法です。
その代わりに、「アクセサリ」を乗物として使うので、「ミクちゃんと、乗った時の位置の方向を合わせておく必要があります。」
この微調整は、思ったよりもやっかいです。
<2>キャラクターモデルと同じような、pmdモデルに乗せる場合
これは、「パスメイカー」の都合で、
[0: 全ての親](子ボーン名: 1: 親1)→(キャラモデルと、乗物の移動同期用)
[1: 親1]など(子ボーン名: 2: センター)
とします。
このように、「キャラモデルと、乗物の移動同期用」の「全ての親」は、ボーンを全部乗せて動かすので、[0: 全ての親]のように、「0番」の1番、上側に来ている必要があります。
これだと、「全ての親」という名前が、すでに、「パスメイカー」専用の「移動同期用」に使ってしまうので、この後に、「すでに、全ての親を使ってしまっている、走り、歩き、泳ぎ、踊りモーションを、動いている乗物の上では、適用できません。」(それでも、動かす方法は、いくらでもできますが。次の<3>に似た考え方で、「VMDConverter」を使えば、動かせます。とにかく、自分がやりたい方法で、ボーン名を、どれを、何に使うのか?を整理して、メモに書き出していって、頭を整理整頓していく必要があります。どんな方法でも、この整理整頓ができれば、動かす手段はあります。)
<3>動く物の上で、踊ったり、走ったりする時に、すでに、ダンスモーションデータ自体が、「全ての親」を使っている場合
これが、けっこう、やっかいなのですが、これは、通常の方法では、「パスメイカー」の出力データを使えません。(<1>のアクセサリを、ダミーボーンにくっつける手法ならば、そのままでも、可能)
そこで、キャラモデルと、乗り物の両方で、他で使われていない、かぶっていない名前で、例えば、「乗物親」など、共通の名前のボーンを入れる必要があるので、
[0: 乗物親](子ボーン名: 1: 全ての親)→(キャラモデルと、乗物の移動同期用)(MMDでは、「ボーン名」は、「全角4文字」以内にしないと、表示枠で見えないので、使いづらいです。それで、よく、「半角カタカナ」が使われるのですが、この「半角カタカナ」をボーン名に使った場合には、きちんと共通で、間違わないように、「半角カタカナ」部分を正確に一致させないと、動きません。)
[1: 全ての親](子ボーン名: 2: センター)
とします。
このように、ミクちゃんの足元に入っている「全ての親」で、「センター」ボーンに直接つながっている[1: 全ての親]を生かしておけば、この後に、「すでに、全ての親を使ってしまっている、走り、歩き、泳ぎ、踊りモーションを、動いている乗物の上で、そのまま、すんなりと適用できてしまいます!」
このままだと、「パスメイカー」のデータは、うまく動かないので、まず、「パスメイカー」で、適当な、移動モーションを作ります。
この「パスメイカー」で、できあがったモーションの「vmdデータ」を、次に、「VMDConverter」に入れます。
そうすると、「座標の数値」をじかに扱えます。
ここで、「パスメイカー」で、例えば、「センター」ボーン用で出力したのであれば、「センター」という名前で、ズラ〜ッと「座標の数値」の表に並んでいるので、Excelの置換で、全て、先程、自分で決めた「乗物親」などの名前に変更してしまうだけです。
この「csvファイル」を、再び、「VMDConverter」に入れると、今さっきの「センター」が「乗物親」に変わった状態で、「vmdデータ」に戻ります。
こうすれば、動かないはずの「パスメイカー」のモーションが、「乗物親」など、自分の好きなボーン名に対して、適用可能なので、これ以外にも、いろいろな特殊な事ができます。
これで、ミクちゃんの足元に入っている「全ての親」で、「センター」ボーンに直接つながっている[1: 全ての親]が生きたまま、「パスメイカー」の細やかな曲線移動モーションが可能になるわけです。
そういったわけで、「できない事でも、やり方は、いろいろあるので、可能にする方法は、いくらでもある」ので、先程の<2>の場合の動かない場合でも、動かす事が可能です。
こういった感じで、「多段ボーン」使いの人達は、「ボーン管理と、座標管理の頭が、かなり、しっかりと管理している」わけなのです。
(キャラモデルを乗り物に乗せた位置の初期位置を決める)
これで、「どのやり方をするので、どのボーンには、何をやらせるのか?」を、きちんと、自分で、どこかにメモしておいてから、今、現在までの段階では、事前の、設定が終わっただけなので、実際に、動かしていません。
そこで、実際に、動かしてみるわけですが、1番、はじめの実験でやったとおり、「キャラモデルと、乗り物の移動情報で同期させるボーン」は、好き勝手に、移動させても、その上での、アクションは、いろいろやっても、きちんと、乗り物の上に乗ったままだったので、分離されている事がわかります。
そこで、「0フレーム」の時に、キャラモデルの「センター」などを使って、きちんと、乗り物の初期位置に乗せます。
このような場合に、例えば、0フレーム目に、キャラモデルを、乗り物の初期位置に乗せたい場合に、乗り物の高さの位置まで、持ち上げたいわけですが、その時に、「移動同期用」にする「全ての親」を使って、持ち上げてしまうと、意味がないので、他の方法を使わないといけません。
それで、「ミクちゃんの足元に入っていて、センターボーンに直接つながっている全ての親」=「フィギュアの土台のベース的な、全ての親」=「すでに、走り、歩き、泳ぎ、踊りなどで、全ての親を使って移動させているモーションを使う場合に、このキャラモデルの土台にある、全ての親を残しておきたい」を使って、持ち上げてもいいし、以前に、書いた、センターボーンを使って、体全体を移動させる方法で、センターボーンを選択してから、「ボーン操作」パネルの「全て選択」を押してから、センターボーンを移動させると、「全ての親」と、そっくりな操作ができるのですが、これは、若干、挙動が違って、「足首」などに、若干、捩れが入ってしまうので、あまり、大きな移動には使えません。
このセンターボーンを選択してから、「ボーン操作」パネルの「全て選択」を押してから、センターボーンを移動させる方法で、乗り物の高さまで、キャラモデルを持ち上げると、「全て選択」されているので、「移動同期用の全ての親」まで、一緒に移動してしまうので、意味がないので、「移動同期用の全ての親」は、初期位置のまま動かしたくない場合には、この「全て選択」を押した後に、全部のボーンが、赤くなっていますが、選択から外したいボーンの上で(あるいは、「フレーム操作」パネルのボーン名の名前の上で)、「Shift」キーを押しながら、左クリックすると、青くなって、選択から外れるので、「移動同期用の全ての親」は、初期位置のまま動かないので、キャラモデルだけ、乗り物に乗せる事ができます。(この方法は、あまり意味がない気もしますが、こういう事もできる事を覚えておくと、何かの時に使えます。)
とにかく、「乗物と、キャラモデルの移動同期用の全ての親」と、「キャラモデルがアクションする移動」は、完全に、分離しておく必要があります。
この「0フレーム」の初期位置の設定が終わったら、適当に、「移動同期用」に自分がしたボーン(PMDエディターのボーン名一覧で、0番の1番上に来ているボーン)で、乗り物を「移動」させます。
例えば、<1>の例で言えば、[0: ボーン01(「半角カタカナ」のみ)]なので、「アクセサリ」と、「ダミーボーン」を読み込んで、「アクセサリ」は、「ダミーボーン」の、[ボーン01(「半角カタカナ」のみ)]に、くっつけます。
この「ダミーボーン」の、[ボーン01]で、好きな移動経路に、いくつか、適当に、移動させます。
例えば、「30フレーム」と「60フレーム」の2箇所に、好きな位置に移動して登録します。
ここで、左側の「ボーン・フレーム操作」パネルの下にある「範囲選択」というボタンがあるので、この「移動経路」全体のフレーム数を入力して、今回は、「0〜60フレーム」なので、「範囲選択」というボタンの上に数字を入力して、「全フレーム」とか書いてある箇所を押すと、適用範囲の「ボーン名」を選べるので、[ボーン01]を選びます。
これで、「範囲選択」を押して、すぐ上にある「コピー」を押してから、今度は、「アクセサリ移動と同期させる用に作った、ミクちゃんモデルの、0フレーム目を選択してから、先程の隣にあるボタンの「ペースト」を押すと、移動同期用のモーションデータは、キャラモデルと、乗り物とで、まったく同じ、移動経路が入りました。」
これで、再生すると、ちゃんと、ミクちゃんは、乗り物と、移動経路が共通で、同期されている事がわかります。
しかも、「0フレーム」で、乗り物に乗った、格好を保持したまま、きちんと、カーブしたりします。
<1>、<2>、<3>の、どの方法を使っても、この「移動同期用」の箇所は、同じようにすれば動きます。
(乗り物の上で、移動しながら、アクションをさせよう!)
後は、いろいろと、こうやって、移動経路を作ってから、この位置では、ミクちゃんは、乗り物の上で、こうアクションするのだ。というシーンを考えて、センターボーンなどで、アクションさせるだけです。
当然、<1>や<3>のやり方で、ミクちゃんの足元に入っていて、センターに直接つながっている「全ての親」の名前が生きていれば、「すでに、全ての親を使ってしまって、移動させているような、ダンスや、走り、歩き、泳ぎなどのモーションデータ」も、そのまま、適用可能なので、とても、楽に、かなり、複雑な動作が可能です。
実は、このように、「ボーン」管理に慣れていない内には、自分で、はじめに決めていた通りの「ボーン管理表」から外れていってしまって、「センター」でやるべき位置を、「全ての親」でやってしまったりして、だんだんと、「多段ボーン」化したモデルのモーションは、わけのわからない原因不明の挙動をする事が、非常に、多くなります!
その時には、はじめの方に書いたように、どれかのボーンを選択した状態で、カーソルキーの左右を押して、「ボーンが見えたまま、コマ送り」状態にすると、どのフレームから、自分が、操作ミスをしていて、変な動きにボーンがなっていた。という箇所を発見しやすくなります。
「歩幅」なども、この「コマ送り」をしてみて、微調整を繰り返します。
という感じで、このように、「多段ボーン」を使って、「乗り物の上で、好きにアクションができるようになると、かなり、何でも、作れるようになるので、演劇タイプだけでなくて、ダンス中の演出(例えば、星に乗って登場するとか)にも使えるので、頑張って、チャレンジしてみて下さい。」
「多段ボーン」は、1番、はじめに、使い方がわかるまでが大変なのですが、やり方を会得した後は、「もの凄く、簡単で、楽な操作だけで、かなりの複雑な動きを付ける事が可能」です。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
「MikuMikuDance 初心者チュートリアル」の第32章です。
(第32章)「円形陣で、多人数で踊る」設定方法、「カーブ」させて「走る、歩く、泳ぐ」モーションを「全ての親」を「多段ボーン」化して簡単に作る方法など(「多段ボーン」モデルの設計の考え方)
「多段ボーン」使いの人の考えている事が、初心者には、「何が何だか?わからない?」という事で、また、MMMという、MMDの後継の開発では、「多段ボーン」化も、扱いやすい設計を考えているようなので、「多段ボーン」関係の事を、少し説明してみようと思います。
しかし、「多段ボーン」から先は、扱いこなせれば、「非常に、複雑な動作を、簡単にさせられる」など、利点も多いのですが、初心者が扱うと、MMDがエラーで落ちる可能性も高いので、どうしようかなぁ?と思ったのですが、説明だけ書いておきます。
今回は、「全ての親」の多段化ですが、他の箇所だと、完全に、設計が変わってきます。
「多段ボーン」使いの人の考えている事が、初心者には、「何が何だか?わからない?」という人など、「問題が、複雑でわからなくなってしまった場合には、1番、簡単な構造から見ていく」のがいいです。
そもそも、「多段ボーン」という発想が、MMDで、出てきた初期の頃は、おそらく「全ての親」を、1つ入れようという所から、発想がスタートしていると思うのですが、1つ、2つ目を入れる所までの説明を書けば、「多段ボーン」化したモデルを扱う注意点や、「多段ボーン」化の作業をする際に、考えていくべきことなどがわかりやすいわけです。
基本的には、前に、「ブランコ」のモーションを作ってみよう!と書いた時と、同じです。
今回は、
・「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」設定方法
・遊園地の「コーヒーカップ」のようなモーションを簡単に作る方法
・円形を描いて、「走る、歩く、泳ぐモーション」や、「盆踊り」などの、円形を描くモーション(少し複雑になるので、次回に、もっと詳しく書きます。)
の簡単な作り方を書いていきます。
「多段ボーン」は、1度、知っていて、扱いこなせれば、かなり複雑な動作を、とても簡単に扱えるようになります。(が、基本的に、頭の中で、座標軸で考えて、展開できる人向けです。)
自分自身は、直感的に扱っているので、それほど、難しくないのですが、こうやって、文章で説明文で書いてみると、けっこう、ごちゃごちゃした事を、いろいろとやっていたのだなぁと思うのですが、文章で書くと、だいぶ複雑です。
(注意!)
まず、今回は、作業に入る前に、「多段ボーン」モデルや、モーション作成中に、「剛体」の設定を変更した場合などのように、大幅に、モデルの状態が変更される作業をする場合には、MMDが、エラーで落ちる事も多いので、作業は慎重に行ないましょう。
まず、「モーション作成中に、剛体の設定を変更した場合のように、今、作っていた、モーションデータ作成中なのに、モデルの構造が変化してしまう作業をした場合には、かなりの高確率で、MMDが、エラーで止まりやすい上に、その作成中の、モーションデータが使えなくなる可能性が高い」ので、「モーション作成中に、剛体の設定を変更しなければいけない必要性が生じた場合には、必ず!その剛体の変更作業前に、各モデル個別のモーションデータを全て、保存しておいて、1度、MMDを終了させてから、1番はじめに、MMDを立ち上げた直後で、まだ、モーション作成をしていない時に、剛体の設定変更作業をして、そのテスト用の、剛体の変更モデルは、必ず!別のファイルで保存してから、先程の、モーションデータを入れてから、剛体の動作具合を確認してみるという段取りが必要です。」
このように、「今、作っていた、モーションデータ作成中なのに、モデルの構造が変化してしまう作業をした場合には、かなりの高確率で、MMDが、エラーで止まりやすい」です。
(「多段ボーン」モデルの設計の考え方)
(1) まずは、「PMDエディター」で、[ファイル]-[開く]で、MMDモデルを読み込みます。
今回は、初音ミクちゃんの例でやります。
(2) 「PMDエディター」で、[編集]-[ボーン]-[全ての親ボーンの追加]をすると、「ボーン」の「タブ」の所を見ると、1番上に「全ての親」ボーンが追加されている事がわかります。
このまま、1つだけでも、いいのですが、扱いやすいので、もう1つ「全ての親」ボーンを追加して、2つにします。
やり方は、同じの、今の状態のまま、先程の、[編集]-[ボーン]-[全ての親ボーンの追加]をすると、今度は、上に「全ての親」ボーンが、2つ追加されています。
ここで、0番と、1番の所を、クリックして見てみると、
「0: 全ての親」(子ボーン名: 1 全ての親)
「1: 全ての親」(子ボーン名: 2 センター)(←「1番最初に追加したもの」が下へずれていく)
のようになっていて、少し違っている事がわかります。
このようにして、いくつでも、「全ての親」ボーンを追加できるのですが、最初に追加した物には、1番下の所に来る「全ての親」は、
「1: 全ての親」(子ボーン名: 2 センター)
のように、(子ボーン名: 2 センター)がきている事が、とても重要なので、これを覚えておきましょう。
この(子ボーン名: 2 センター)がきている「全ての親」は、直接、モデルに、つながっている最初の「全ての親」ボーンなのです。
(3) 次に、今回は、「全ての親」ボーンを、2つ追加したので、問題なのは、「ボーン名」が、同じ「全ての親」が2つあります。
MMDでは、基本的に、「ボーン名」で参照しています。
ここで、次の事が、「多段ボーン」独特の把握の仕方で、「多段ボーン」モデルの設計をする為には、「今後、自分が、モーション付けする時に、どの多段ボーンを何に使うのか?」を、よ〜く考えて、把握しておいて、使いやすいように設計する必要があるので、ここが、よく、「多段ボーン」使いの人が、初心者には、「何を考えているのか?わからない?」という部分の設計なわけです。
それで、今回、なぜ?「全ての親」ボーンを2つも入れたのか?というと、例えば、「走り、歩き、泳ぎモーション」などでは、「モデルの位置は、座標0の、ど真ん中で固定していて、まったく動かないという、固定位置モーションの物があります。」
そういう固定位置モーションの物では、通常、「全ての親」を使って、移動させるように作られています。
以前は、「全ての親」を使って、「走り、歩きモーション」を作ると、どこか、滑ったような不自然な動きになりがちだったのですが、結局は、歩幅の座標と、移動の座標を、ピッタリ合わせれば、どちらの手法でやっても、結果は、同じ事がわかったので、最近では、固定位置モーションの物では、通常、「全ての親」を使って、移動させるように作られています。
ここで、先程のMMDでは、モーションは、「ボーン名で参照している」という所が、多段ボーンの重要な設計となってくるのですが、今回のような場合には、1番最初に追加した、
「1: 全ての親」(子ボーン名: 2 センター)
の方は、キャラモデルに、直接つながっているので、「全ての親」というボーン名である事が、とても大事です。
要するに、このボーンは、キャラモデルをフィギュアだと仮定した場合には、フィギュアの「ベース(土台)」部分だという事で、キャラモデルの足元に、固定して、くっついている「全ての親」という事で、これは、「座標位置の変更」、「全ての親ボーン名の変更」は、しない方が、扱いやすくて、そうしておけば、この「走り、歩き、泳ぎモーション」などの、固定位置モーションで、「全ての親」を使って移動するように作られているモーションが、そのまま適用できるのです。
ですから、1番最初に入れて、ボーンリストで、1番下側にきている「全ての親」というのは、そのままにして、「座標位置の変更」、「全ての親ボーン名の変更」は、しない方が、扱いやすいのです。
それで、このままだと、MMDでは、基本的に、「ボーン名」で参照しているので、「全ての親」ボーン名という、同じ名前が2つあると問題が起こるので、はじめの方の名前を、違うボーン名に変えておきます。
今回は、次のような感じで、「0: 親1」にしましたが、わかりやすい名前を付けた方が、混乱しなくていいです。
「0: 親1」(子ボーン名: 1 全ての親)(←「0: 全ての親1」だと、文字数が表示枠中に入りきらないので、「0: 親1」に名前を変更。しかし、「全ての親」という名前の意味だけからだと、1番最後に入れた(表で1番上側にある「全ての親」が、「全ての親」の本当の意味だが、それだと、「固定位置モーション」で「全ての親」を使って「走る」モーションなどの場合には、扱いづらいので、そのために、ミクちゃんの足元に入っていて、「センター」に直接つながっている1番、最初に入れた「全ての親」の名前を「全ての親」のままにしておくわけです。)
「1: 全ての親」(子ボーン名: 2 センター)(←モデルの足元直接の方は、変更しない)
ここが、「多段ボーン」設計をする人達が、いろいろと気を使う扱いやすいように注意している箇所というわけです。
これを、もし、逆の名前の付け方にしてしまうと、うまく動きません。
(4) 次に、「表示枠」タブを見ると、「センター」と、「全ての親」は、外れてしまっていますので、これを扱いやすい位置に、追加します。
これは、どのように配置すれば扱いやすいのか?は、変わってくるので、一例として、今回は、次のようにしましたが、同じようなやり方で、自分の扱いやすいように配置します。
まず、「ボーン枠」の所で、右クリックをして、「新規追加」をすると、「7: 新規」などと出るので、「枠名」を「7: 親」にします。
この「7: 親」をクリックして、「対象ボーン操作」の所で、「全ての親」、「センター」の2つを追加します。
この「表示枠」では、たしか、かなり自由度が高いはずですが、先程の「ボーン」タブの所で、各ボーン名の所に、数字で順番が振ってありますが、この順番は、けっこう重要で、1番上側の方が、モデル全体に影響する度合いの強いボーンとなる順番にしておかないと、うまく動かないはずです。(要するに、「センター」よりも、「全ての親」の方が、数字が小さい必要があります。)
この原因は、MMDでは、ボーンを内部で動かす順番が、このボーン名の数字の小さい物から順番に処理をしていくからです。
そこで、例えば、ネクタイボーンなどの数字の順番を見ればわかるとおり、ネクタイの付け根である「ネクタイ1」が1番、ネクタイボーンの中では、数字が小さくなっています。
逆になっていると、どういう事の問題が生じるのか?というと、先に、ネクタイの先っぽが動く処理がきてから、ネクタイの付け根が動く事は、エラーにつながるというわけです。
そういったわけで、オリジナルモデルを設計したい人は、このボーン名の数字の順番を、よく考えながら設計する必要があるわけですが、よくわからなくなったら、初音ミクちゃんのモデルのボーン名の数字が、どのような順番で並んでいるのか?を参考にしましょう。
(5) ここからが、「多段ボーン」らしい設計という事で、今回、2つ入れた「全ての親」の1つを、座標位置を変更して、特殊動作をさせやすい位置に入れます。
前は、「ブランコ」の為に、真上に移動させましたが、今回は、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」のを、簡単に作りやすくするためを例にします。
まず、「多段ボーン」使いの人が、初心者から見ると、「何を考えているのか?わからない?」と感じるのは、今回のように、実際に、いろいろとモーションを作ってみると、「思ったよりも、普通に作ると、その処理は、めんどうくさい」と思った時に、この処理を、簡単にやってしまうには、どうすればいいのか?と、いろいろと頭をひねる過程があるからです。
それで、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」場合には、キャラモデルの真後ろに、「全ての親」を移動させておけば、どうも可能そうだという事がわかったので、それをやるというわけです。
このように、「多段ボーン」使いの人であっても、「あらかじめ、綿密に考え込んで、数字だけで設計しているわけではなくて、実際に、体当たりで、モーション作成してみる中で、このままだと、扱いづらいし、めんどうくさいと感じてから変更する事が多い」ので、「多段ボーン」使いの人が、初心者から見ると、「何を考えているのか?わからない?」と感じるのは、このように、「実際に、モーション作成をしてみて気が付いた事がある」までは、わからないわけです。
「0: 親1」(子ボーン名: 1 全ての親)(←「0: 親1」の座標位置を変更)
「1: 全ての親」(子ボーン名: 2 センター)(←モデルの足元直接の方は、変更しない。フィギュアのベース(土台)部分にあたる)
そこで、「ボーン」タブの所で、「0: 親1(全ての親1)」をクリックしてから、同じ位置に、「全ての親」ボーンが、2つ入っていて、わかりづらいので、今回は、モデルの後ろ側に座標移動させるので、「ボーン座標」の「Z: 10」と入力してみます。
それで、ミクちゃんのモデルが表示されている画面で、「右クリック」しながら、マウスを横へ移動させると、ミクちゃんが、横を向くので、そうすると、ミクちゃんの後ろ側に、「全ての親」が、1つ後ろの座標に移動している事がわかります。
このように、作業するボーンが重なってしまっていて、わかりづらい場合には、適当に、「X, Y, Z座標」の数値に、「+10」など足した数値を入れてみると、他の扱いやすい位置へ移動します。
今回は、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」のを、簡単に作りやすくするためなので、「円形陣」の中心は、もっと後のはずなので、良さそうな位置まで「Z座標」の数値を変更します。
今回は、「25〜30」位が、良さそうなので、とりあえず、「Z: 30」にします。
「円形を描いて、カーブさせて走らせる」場合には、「右カーブ(時計回り)」であれば、ミクちゃんの右側(画面では、左側)なので、「X: -30」などです。
この微調整は、実際に、モーションをあててみてから、少しずつ調整していきます。
(要するに、「多段ボーン」使いの人は、「モデルセッティング」と、「モーション作成」の間を、何回も、行ったり、戻ったりしながら、微調整をして、作り込んでいっているので、かなり手間がかかっているわけです。自分も、そういう感じの作り方をしています。要するに、その動画で、最も、最適化したモデルを、その都度、1つずつ作るような感覚の作り方です。めんどうくさい感じがしますが、実際には、動かない状態のモーションで、悶々としているよりも、スカッとして、できあがってみれば、かなり楽で、いわゆる、急がば回れという感じの作り方で、できあがれば、モデルが、物理演算で破綻しないし、より複雑な動作も、させられるようになるわけです。)
(応用編〜円形を描いて、走る、歩く、泳ぐなど)
同様に、ここで、もし、「Z: 30」の代わりに、「X: 30」とか「X: -30」を入れれば、ミクちゃんの真横に、「全ての親」が入るので、「円を描いて、走ったり、歩かせる事ができます。」
この時に、重要なのが、MMD側での、モーション作成時に、「走り、歩き、泳ぎモーション」などが、「固定位置モーション」で、「全ての親」で移動を行なうように、作られている必要があります。
しかし、直線に、走る場合とは違って、円形に走るので、「全ての親」の制御が、「座標軸移動」ではなくて、「座標軸回転運動」に変わってしまうので、これは、数学で、円形の歩幅に計算して合わせる必要があります。
ここで、「全ての親」の制御が、「座標軸移動」ではなくて、「座標軸回転運動」に変わってしまうので、「全ての親」で直線移動制御が入っているので、前に進んでしまうわけですが、まず、「全ての親」の移動制御を削除して、「座標軸回転運動」で調節すれば、とりあえず、ぐるぐると同じ場所で回ります。
そこで、直線走り制御用の、「全ての親」と、この「座標軸回転運動」の制御を、うまく組み合わせれば、直線から、回転運動へというように、「グラウンド」を走るようなモーションが作りやすいです。
同様にして、円形に、「走り、歩き、泳ぎモーション」ができるわけなので、同じ手法で、「円形を描いて、盆踊りも可能」です。
これは、直線運動と、円回転運動の歩幅を、数学で計算してもいいのですが、めんどうくさいので、もっと簡単で、的確な歩幅に合わせる手法としては、次の「多段ボーン」化したモデルの動作が変になってしまった場合のエラー箇所のチェック方法の手法を使って、微調整して、歩幅が適切になる角度のタイミングで合わせた方が楽です。
円回転の場合には、MMDでは、「近い方の向きに向かってフレーム補正されていく」ので、360度の円運動の場合には、回転角度の「0, 120, 240度」の3箇所に、回転のモーションを打ち込んでいきます。
例えば、
30フレーム (Y軸回転 120度)
60フレーム (Y軸回転 240度)
90フレーム (Y軸回転 0度)
にして、3回目の時に、初期位置の「0度」に戻るようにします。
これだと、確実に、歩幅が合わないはずなので、はじめの1つ目の時に、次の手法で、「コマ送り」してみて、歩幅が、ピッタリと合うタイミングの時のフレーム数を探します。
通常は、勢い良く、走っている場合には、「靴底」も、若干、滑るので、あまり、ピンポイントで、足の歩幅が合っていると、少し変な勢いの感じられない、ピタピタ歩くような、走り方になってしまうので、これは、何回も、再生と調整を繰り返して、自然に見える位置を探していきます。
そういったわけで、数学の計算で、ピッタリと数値で合わせるよりも、「見た感じ」で調整した方が、自然な仕上がりとなります。
勢い良く走ってから、ブレーキをかけた場合には、「靴底」を滑らして、砂煙を上げた方がリアルで、ピンポイントで、数学の計算の角度で割った位置で、ピタッと止まると、だいぶ不自然に見えますので、「慣性の法則」を考えながら、見ながら自然に見える位置に調整しましょう。
また、「走り」モーションの場合には、グラウンドカメラのように、地面スレスレに設置してあるカメラワークの方が、迫力ある映像になりますが、作りたい映像の種類によって、カメラワークも工夫してみましょう。
「初音ミク」、「ちびミク」、「ぷちミク」の3人で走らせたら、歩幅が、ずれるかなぁ?と思ったのですが、「ちび、ぷち」用に、モーション適用時に、いつものように、補正を加えずに、そのまま使った所、「ぷち」は、大きいミクちゃんのモーションなので、「大きく飛び跳ねて見える」だけで、あまり不自然でなかったので、そのまま適用させれば、歩幅は、まったくずれないようです。
また、モーション再生時に、「再生」のボタンがある、すぐ上にある、「視点」パネルで、「ボーン」に、チェックを入れて、モデルの「頭」ボーンを選択したままの状態で、「再生」ボタンを押すと、その「ボーン」を中心にした視点で、常に、モーションが再生されるのですが、以前は、「モデル」位置中心のみだったのですが、「ボーン」中心の視点が可能になった事で、こうすると、つまり、キャラモデルの「頭」の位置を中心にして、カメラが動くので、「そのキャラの視点を中心にした、カメラワークになって、けっこう、迫力や、臨場感が出る事が、わかりました!」
「目」でもいいのですが、「目」よりも、「頭」の方が、安定感のある見え方をするようです。
通常は、「ボーン」中心だと、「センター」や、「全ての親」などを選ぶのですが、どうしても、「何かに注目させて、中心に置きたい」ような、カメラワークをしたい場合には、この「視点」の「ボーン」中心にチェックを入れると効果的な、カメラワークが、簡単にできるはずです。
例えば、「弓道」なんかの飛ぶ「矢」を中心にした、カメラワークが、簡単に作れます。
この「走らせる」関係は、ややこしくなるので、次回に、詳しく書きます。
いきなりやっても、わけがわからなくなるので、今回は、ただの「スマイルプリキュア」風の「円形陣」での、ダンスを踊る所までを書きます。
(「多段ボーン」化したモデルで、作ったモーションの挙動がおかしい場合のチェック方法)
このような感じで、「多段ボーン」化したモデルで、実際に、モーションを動かしてみて、変な場合には、とりあえず、「0フレーム」目を選択してから、「ボーン操作」パネルで、「選択」というボタンを押すと、「モデルのボーンが全部、表示されます。」
この状態で、「カーソル」キーの右を、押しっぱなしにしてみると(連打すれば、コマ送り)、「多段化されたボーン」も含めて、「ボーンの動きの変化を見ながら、モーション再生した形と同じ状態になる」ので、これを使って、モーションの、おかしい箇所を確認すると、「思っていた所と、違っていたボーンが動いてしまっている」事などが確認しやすいです。(例えば、「センター」ボーンでやるべき動作だったのに、「全ての親」を使ってやっていたなど。特に、「全ての親」の多段化を、何段階も、やってしまった場合には、きちんと、どのボーンには、何をやらせるのか?を、自分で、ノートに書き出しておいて、徹底して管理しておかないと、わけがわからないモーション作成で、修正不可能な状態に陥りがちになるので、これで、チェックします。)
(6) ここで、今、PMDエディターで変更したモデルは、後で、まぎらわしくなるので、「情報」タブの「モデル名」、「コメント」に、変更箇所をメモ書きしておきます。
この一発のみの場合には、いいのですが、後で、この「モデル名」、「コメント」に、変更箇所をメモ書きが無いと、忘れてしまって、だんだん、わけがわからなくなってくるので、できるだけ、この変更箇所のメモ書きは大事なので書きましょう!
今回は、
「モデル名」:「初音ミク(Z後親)」
としました。
(7) 今回のように、「多段ボーン」化したモデルは、「その動画、一発!でしか使えない!(似たシチュエーションならば使える)」ので、必ず!別のファイル名で保存しましょう!
今回は、「初音ミク(Z後親).pmd」で保存しました。
今回のように、「多段ボーン」化したモデルなどは、設計をミスると、エラーで動かなくなる可能性が、とても高いので、こういった作業をする前に、「オリジナル」のモデルファイルは、「必ず!オリジナルは、どこかに、バックアップをとっておいてから、作業しないと、エラーが出た場合に、復旧不可能になります!」
(MMD側で、動作確認)
(「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」設定方法)
(1) これで、今できた、モデルを読み込むと、「ボーン・フレーム操作」の「ボーン名」の一覧の所の1番上には、「親1」が入っています。
(2) この「親1」を選択してから、「視点」を、「左面」など、真横にして、少し離れて見ると、ミクちゃんの後に、「親1」ボーンがある事がわかります。
このように、平面操作で、微妙な傾きが入らないように、回転の確認をしたい場合には、モデルのいる画面の右下にある「local」と書いてある文字部分をクリックすると、「global」となります。
この「global」にした状態で、画面を、斜め方向などからキャラモデルを見る方向にしてから、「global」の文字のすぐ下にある、「Y軸回転」のボタンを「左クリック」しながら、マウスを上下に動かすと、画面のカメラ位置が、斜めであるにも関わらず、ミクちゃんは、座標軸に対しての「Y軸回転」しかしません。
そこで、「ボーン操作」の「回転」を押して回転させると、大きな円を描いて、ミクちゃんモデル全体が回る事を確認します。
この「global」の座標軸を扱うモードは、扱い方によっては、とても便利で、「ねじれ」などを入りづらくしたりしながら、モーション作成が可能です。
場合に応じて、「local」状態と、使い分けましょう。
しかし、慣れると、「global」モードのみで作業した方が、座標軸の頭がわかる人は、わかりやすい場合があります。
(3) ここで、実際に、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」設定方法をやってみます。
まず、初期状態に戻してから、「フレーム0」の位置で、「親1」を選択します。
次に、画面上側の「ボーン編集」-「数値入力」を選ぶと、ボーンの座標情報を、直接、数値入力できます。
今回は、5人で、360度なので、5で割って、「72度」です。
そこで、「Y軸角度: 72」と入力します。
(「X, Y, Z軸」と回転方向がわかりづらいですが、自分の手にペンなどの棒を持って、座標軸の方向で、手首をねじってみて下さい。「Y軸回転」の方向が、ミクちゃんが、真横に回る方向のイメージがわかります。)
ミクちゃんの初期位置が、「円形陣」の所定の初期位置に移動しました!
これを、5キャラ分やれば、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」初期設定位置に、簡単に、移動できるわけです。
「親1」は、「Z軸: +30」だったので、ここで、同時に、「位置Z: -30」も入力しておけば、座標軸0の、ど真ん中を中心に回転するので、カメラ移動などの作業がしやすくなります。
ここで、「ボーン操作」パネルの「未登録選択」を押して、「フレーム登録」です。
(4) ここで、通常の、ダンスモーションデータを読み込むと、「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」事が、簡単にできるわけです。
このような感じで、5人分、設定するなどしていくと、だんだん、わけがわからなくなってきてしまうので、こういった多段ボーンで、一発!のみ使うモデルの場合には、後でわかりやすいように、「この動画で使った、5人分の多段ボーンモデルと、モーションデータなどの一式を、まとめて管理しておいた方が、後で、修正が必要になった時に、混乱しないでいいです。」
自分の場合には、こういった、ややこしい管理の場合には、その動画専用のフォルダを作って、「モデル、モーションなど混在で、1つのフォルダに入れておく」事が多いですが、そうすると、「pmmファイル」などを開いた時に、モデルが見つかりませんなどと、エラーが出やすいので、再設定しないといけません。
という感じで、多段ボーン化したモデルで、その動画、一発!で終わるようなモデルの管理は、後で、ごちゃごちゃになりやすいので、何が何だか、わけがわからなくなってくるので、この管理方法が、難しいです。
(遊園地の「コーヒーカップ」のようなモーションを簡単に作る方法)
それで、今現在の、この「スマイルプリキュア」風のように、「円形陣で、多人数で踊る」ようなセッティングが、全て終わった状態で、「親1」ボーンと、「全ての親」ボーンの、「Y軸」回転をさせれば、すぐに、遊園地の「コーヒーカップ」のようなモーションを簡単に作る事ができるわけです。
このように、「多段ボーン」化した場合には、モーション作成時に、頭の中で、座標軸の管理や把握を、きちんとできる人向けなので、万人向きではないのですが、1度、やり方がわかってしまえば、とても簡単に、かなり複雑な動きを作る事ができるようになります。
次回は、「直進運動」と「カーブ運動」を組み合わせる場合の説明を書きます。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
この間の、「リンちゃんがむっちゃ眠そうです」、「マリエルさんがむっちゃ眠そうです」が、とても可愛かったので、自分は、「ちびミク」で作ってみました!
今回のようなのが、前回に書いた「全ての親」を、土台に1つ入れておくと、「モーション全体を保持したまま、モデルの位置を調整できる」の例です。
今回は、「ちびミク」サイズになったので、いろいろと、微調整の変更しなければ、いけないわけです。
自分のモーション設計の考え方は、「3DCGとして、どこを、どのように調整すれば、労力や、時間を大きくかけないでも、できるのか?」を先に考える事です。
今回の例で、具体的に、考える順番を書いていくと、
(1)「りん」ちゃんモーションが、「ちびミク」サイズになったので、いろいろと細かな調整が必要になりそう。
ほとんどは、MotionConverter とか、「フレーム位置角度補正」で、90%〜95%程度まで、ほとんど変更の必要なく終わりますが、最後の微調整が、少し残ります。
(2)それで、「りん」ちゃんモーションが、「ちびミク」サイズになったので、「ちびミク」が、机の中に、めり込んだので、机の位置を下げたら、今度は、標準のミクちゃんの足が、机から突き出てしまった。
それで、下を見てみると、「ちびミク」と、標準ミクちゃんの座っている椅子の高さが、バラバラになっている事がわかった。
という事で、そういう「モーション全体を保持したまま、キャラクターの初期位置を変更する」という事ができるのが、「全ての親」を追加する事です。
このように、「ちびミク」とか「ねんどろいど頭身」キャラなどに、標準のモーションを、そのまま、当てると、「非常に!ダイナミックな動きになる!」ので、その調整のコツです。
まずは、とりあえず、「りん」ちゃんモーションだけを、保存します。
次に、「ちびミク」に、「全ての親」を追加してから、呼び出して、そのモーションを適用する。という順番にします。
こうすると、「モーション全体を保持したまま、モデルの位置を調整できる」ので、0フレーム目の「ちびミク」を、標準のミクちゃんと、同じ高さの椅子に座らせる所まで、「全ての親」を移動します。
そうすると、「それ以降のモーション全体を保持したまま、初期位置を移動できます。」
(3)これで、再生してみると、「ちびミク」は、手が、ドリンクまで届かない!事が発覚した!ので、後は、気合いで、いろいろな細かい変な箇所を、手打ち調整です!(今回は、3日かかった!)
ドリンクが、「ちびミク」サイズに、少し大きかったので、サイズを、「0.043」に変更。
「MikuMikuDance 初心者チュートリアル」の第30章です。
(第30章)「動作のタイミング調整の仕方」を覚えよう!
今回は、MikuMikuDanceで、モーションで、「とても細かなタイミングの微調整の仕方」について書いていきます。
MikuMikuDanceの画面左に、「フレーム操作」のパネルがありますが、現在のフレームが、緑の線の位置です。
例えば、今回は、「眠そうな様子」を作ってみる場合の説明を書くと、とりあえず、ミクちゃんなどのモデルを呼び出してから、
(1)1秒間で、30フレームの間隔というのを覚えておいてから、とりあえず、30フレーム目からボーン動作開始の場合には、30フレーム目は、「動かさない止め位置」を記録しておかないと、0フレーム目から、はじめに動作記録をしたフレームまで、ゆっくりと動いていってしまいます。
(本当は、逆に、非常に、素早い動きを作る場合には、1秒間で、60フレームとか、120フレーム、240フレームの間隔位の記録ポイントが必要です。)
この「動かさない止め位置」の記録で楽なのは、例えば、30フレーム目から、「まばたき」とか、「眠そうな目」に変えたい場合には、ここで、「動かさない止め位置」の記録を入れておかないといけません。
「表情」の方は、楽であって、「表情操作」パネルの「目」の「まばたき」のスライダーを、何も動かしていない状態で、「登録」を押すだけです。
ここで、首などのモデルの体のボーンの場合に、「動かさない止め位置」の記録で楽なのは、30フレーム目を選択して、「首」ボーンを選んで、「ボーン操作」パネルの「コピー」を押して、すぐに「ペースト」を押してから、「未登録選択」で「フレーム登録」をすると、とても簡単に、今現在のボーン状態を、そのまま、今のフレームに記録できます。
仮に、先に、60フレーム目に、少し首が傾いた状態を記録した場合には、「0フレーム〜60フレーム」までの間に、とても、ゆっくりと首が傾いてしまいます。
という事は、この後に、30フレーム目に、「動かさない止め位置」の記録を入れるべきだった!と思った時には、すでに、「30フレーム」目の所には、途中の変化状況が、入ってしまっているわけです。
もし、そうなってしまった場合には、0フレーム目とか、かなり、モーション制作が進んだ後になった場合には、じっくりと、ゆっくり戻して見ていって、動く直前の同じボーンの動作記録点を探さないといけないので、とても面倒だからです。
この「動く直前の同じボーンの動作記録点」を見つければ、そのフレームを選択してから、対象となる、例えば、「首」ボーンを選択して、「コピー」を押して、「動かさない止め位置」までフレームを移動して選択してから、「ペースト」→「未登録選択」で「フレーム登録」をすれば、入れるはずだった「動かさない止め位置」の状態を、復旧可能です。
要するに、MikuMikuDanceでの「動作モーション」というのは、「ボーンの止め位置の記録」と「動いた後」で、ワンセットなので、「動かした後に、止め位置を記録する」よりも、あらかじめ、先に、「ここら辺で、止め位置を先に入れておいてから」という感じにして、先に入れた方が楽です。
(2)次に、60フレーム目に、「眠そうな目」と「首が少し傾いた状態」を記録してみましょう!
すでに、30フレーム目に、「動かさない止め位置」の記録が終わっているので、60フレーム目に記録すると、「1秒もあって、長すぎる」のですが、今回のテーマは、「動作のタイミング調整の仕方」を覚えよう!なので、実際の細かな位置調整のコツを書いているわけです。
それで、60フレーム目を選択してから、先程の、「表情操作」パネルの「目(まばたき)」を、真ん中より、少し低めにすると、眠そうな目になるので、「登録」を押します。
「首」ボーンも、少し傾けてから、「フレーム登録」します。
これで、「再生」してみると、「のろすぎる」事がわかります。
(3)フレームタイミングの細かな調整をする。
ここで、「30フレーム〜60フレーム」の間のタイミングが長すぎるので、フレームを削りたいわけです。
こういうフレームのタイミング調整の機能も、MikuMikuDanceでは持っているので、それが、例えば、今回は、削りたいのが、「30フレーム〜60フレーム」の間なので、50フレーム目を選択して、「K」キーを押すと、いらないフレームが削除できます。
そうすると、「60フレーム」だった位置が、「59フレーム」になっている事がわかります。
「K」キーで、「5個」とか「10個」位フレームを消してから、「再生」を押してみると、少しタイミングが早くなった事がわかります。
これで、好みのタイミングまで調整していきます。
もし、フレームを削りすぎた場合でも、大丈夫で、逆の、「空のフレーム」を入れて、タイミングの間を伸ばすボタンが、「 I 」キーです。
この「微妙なタイミング修正」の方法は、「効果音に、ピッタリ合わせたい場合」、「曲に合わせて、ピッタリの位置に、ダンスモーションを調整したい場合」などに、よく使う手法です。
(4)このように、「微妙なタイミング修正」をするようになると、フレーム選択の移動を、1コマずつゆっくりと確認したいなどの、細かなフレーム移動が頻繁にするようになりますが、「フレーム選択」パネルで、いちいちするのも面倒なので、そういう機能も、MikuMikuDanceにはあって、とりあえず、30フレーム目を選択してみてから、キーボードの「左右キー」のどちらかを、連打すれば(押しっぱなしで「コマ送り」状態)、「1フレーム先(後)に、簡単に、作業フレーム位置を移動できます。」
これも、「動作タイミングの微調整」をするようになってくると、とても、よく使う機能です。
(5)このキーボードの「左右キー」を連打して、「コマ送り」する手法は、いろいろと、裏技的な使い方ができて、
1つは、例えば、モデルの「ボーン操作」で、どれかのボーンを選択しておくと、「ボーンの位置が見えます」が、そこで、このキーボードの「左右キー」を連打して、「コマ送り」すると、「ボーン構造を、細かく見えて、把握しながら、モーションの移動が見えるので、モーション制作で出た、細かい不具合の原因(例えば、腕や、足がねじれた!とか)を探しやすくなります!」
これで、1番、恩恵を受けるのが、「全ての親」を多段化した後は、非常に、複雑なモーションが作れますが、逆に言うと、ボーン関連の動きのつながりが、わけがわからなくなりがちなので、最終的に、滅茶苦茶な動作付けをしていた!(要するに、そこは、センターを動かしてやるべきだった箇所なのに、全ての親で動かして、調整してしまったので・・・などとなると、後で、修正が困難になるので。)とかに、なりがちなのですが、この「左右キー」を連打して、「コマ送り」すると、複雑な「全ての親」を多段化した後の、ボーンが、どのように動いていくのか?を確認しやすいです。
今回、書いたような事をすれば、「モーションの動作タイミングの微妙な調整」とか、「モーションを作った後の、変な箇所の原因を突き止めて修正する箇所の発見」などの事が、かなり楽にできるようになります。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
「MikuMikuDance 初心者チュートリアル」の第29章です。
(第29章)MikuMikuDanceで、「X,Y,Z軸回転方向」の説明
MikuMikuDanceで、物理演算などの設計の時に分かりづらい「X,Y,Z軸回転方向」の説明を書きました。
しかし、自分も、あまりきちんと理解していないので、どこか間違っているかもしれません。
ミクちゃんが、標準の位置の状態が、値が「0」で、回っている方向が「プラス」方向のはずです。(たぶん)
「X,Y,Z軸回転方向」と「ネクタイ」の動きでは、
「X軸回転方向」(ネクタイは、前後に揺れる)
「Y軸回転方向」(ネクタイは、体に沿う方向で揺れる)
「Z軸回転方向」(ネクタイは、左右に揺れる)
主に、物理演算の設計の時に、「X,Y,Z軸回転方向」の「角度制限」や、「ばね」の方向を考える時に必要になります。
オリジナルモデルを、自分で作っている時に、「スカート」「髪の毛」「ネクタイ」なんかの物理演算の設計で、よくわからなくなってしまう事が多いので、イメージとしては、鉛筆を握った手で、それぞれの「X,Y,Z軸」の線方向で、手首を、ぐるっとひねると、分かりやすいです。
震災の影響で、大がかりな事ができないので、作る為のコツを書いておきます。
今回のような、鉄棒の大回転のような動きを作るのは、前回の「ブランコ」と同じで、腕を伸ばした位置まで、「全ての親」を移動するだけです。
今回の場合には、鉄棒のような太さが無い所をつかんでいるので、前回の「ブランコ」の「全ての親」を移動した「Y座標」を、「21」に今回は、なっています。
鉄棒を実際につかむ場合には、この近辺の数値で、Y座標を、微調整します。
こういう感じの動画を作る時には、前回に書いたような「全ての親」を多段化しておいた方が、楽に作れます。
例えば、今回の場合には、「X軸」方向で3回転するミクちゃんのモーションを1つ作っておいて、後は、そのモーションを保持したまま、1番基盤の元になっている「全ての親」の部分だけ、回転したり、位置調整するだけで、「Y軸」「Z軸」の方の回転のモーションも、すぐに作れてしまうからです。
このように、MikuMikuDanceでは、あまり労力をかけないでも、工夫すれば作れるようにできているので、うまく工夫すれば、それほど、時間をかけないで、モーションを作る事が可能です。
他にも、モーション自体に、「全ての親」を、すでに、使ってしまっている場合でも、最後に、もう1つ「全ての親」を多段化して加えておけば、「モーション全体を保持したまま、移動したり、回転させたりできる」ので、うまく活用して下さい。
例えば、忍者なんかの「壁走り」なんかの動画が、とても簡単に作れます。
「壁走り」自体は、「全ての親」が1つだけでも作れるのですが、「全ての親」を「多段化」しておいた方が、いろいろと後で、変更が利くので、便利なわけです。
例えば、とりあえず、普通に、真直ぐ走るモーションの場合には、「全ての親」を1つだけ使った場合には、「座標軸0」の所で、繰り返すモーションを、よく使いますが、これは、大体、ゲームを制作する時の歩いたり、走ったりする時に使う手法ですが、「滑ったように見える」のが欠点です。
次に、「全ての親」の位置を走らせるラインに沿って、動かします。
「パスメイカー」なんかを使ってやると、綺麗な曲線のラインでも、走らせられるので、グラウンドのカーブの周回とかを走らせるモーションも、綺麗に作れます。
忍者なんかのように、ぐにゃぐにゃに走らせたりできます。
ここで、「全ての親」を斜めに「回転」させて、高い位置に移動すれば、「壁走り」になります。
次に、「全ての親」の「多段化」で便利なのは、劇のようなタイプの動画の場合には、舞台を置いてみてから、カメラ方向を設定してみたら、「思ったよりも効果が薄かったので、ミクちゃんが走ってくる方向を、数度だけ、角度をずらしたい!」とかで、設定したカメラワークの、ちょうどいい構図の中に走り込んできて、ピンポイントで狙った位置にまで、微調整したい場合に、「全ての親」の「多段化」をしておいて、1番基盤になっている「全ての親」を移動したり、回転したり、微調整できるので、「モーション全体を保持したまま、移動したり、回転させたりできる」のです。
これは、とても便利で、労力がかからない方法なので、また、いろいろと工夫すると、面白い動画の効果を付ける事ができます。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
「MikuMikuDance 初心者チュートリアル」の第28章です。
(第28章)「全ての親」の初期位置の変更をして、「ブランコ、シーソー」などの回転運動モーションを作る。
今回は、ひさびさに「MikuMikuDance 初心者チュートリアル」でも書こうかと思います。
震災の影響もあって、大幅な時間がさけないので、大掛かりな事ができないわけですが、こういった時こそ、「MikuMikuDance」は制作に、大きな労力をかけなくても、いろいろな事ができるように作られている。という事をやった方がいいように思ったからです。
という事で、今回は、知っていれば簡単にできるが、知らないと、制作に、おそろしく時間がかかる手法の、お勉強をしましょう!という事で、「全ての親」を使った、小技テクニックを書いていきます。
今回のお題は、「ブランコ」、「シーソー」などのモーションを簡単に作ろう!というのを例にして書いていきます。
「ブランコ」、「シーソー」などのモーションは、「全ての親」を使わないで、標準の状態で制作しようとすると、もの凄くやっかいなのです!
しかし、普通に、「全ての親」を入れても制作できないモーションの1つで、それは「全ての親」ボーンの初期位置を、PMDエディタで、移動する必要があるわけです。
この「全ての親ボーンの初期位置を移動したモデル」と、「多段化した、全ての親ボーンのモデル」では、あまり考えないで、モーションを作っていくと、だんだんわけがわからなくなっていくので、あらかじめ、自分が、これから作ろうとするモーションの座標系について、自分で、管理しながら、モーションを作っていかないと、修正不可能な一発で終わってしまうモーションになってしまうのです。(特に、複数のモデル間で、そのモーションを共通で扱えるようにする為に必要な事なので、いろいろと考えなければいけません。)
(「ブランコ」、「シーソー」などのモーションを簡単に作ろう!)(設計の手法)
まずは、PMDエディタで、「全ての親」の初期位置を移動する設計をする前に、いろいろと考えなければいけない事があります。
まず、「全ての親」というのは、そこのボーンを持って移動すると、「モデル」全体の位置が動いてしまいます。
ですから、「ブランコ」、「シーソー」などのモーションのように、モデルの、かなり外側を基点にして、回ったりする場合には、「ポーズを作成する」という事から始めなければいけません。
例えば、初期位置で座らせるポーズを作ったとして、「ブランコ」だと、このままだと足を地面スレスレに擦ってしまいますが、このような場合に、いろいろとどうなりそうなのか?を考えるわけです。
つまり、1度、あるポーズの位置で、「全ての親」の初期位置を移動したポイントに入れると、どの位置でも、後で、このように、微調整が必要になったとしても、「全ての親」を移動すると、モデル全体の位置が移動してしまう為に、修正不可能なので、その「一発」のみのモーションになるわけです。(「全ての親」を多段化すれば、若干、修正が可能)
今回の、「ブランコで足が地面スレスレで、擦りそう」という問題は、いろいろと考えた結果、このままで問題無く、初期のフレーム0位置で、「全ての親」を少し、持ち上げるだけで、後には、何も影響がなさそうであるという事がわかったので、そのまま作ります。(はじめから、全ての親の多段化をしておいた方が、後で、いろいろな事ができるが、今回は、全ての親の初期位置の移動の説明をメインで書くので、ややこしいので後で書く)
このモデルの外側に、「全ての親」の初期位置を移動する設計の場合には、例えば、ミクちゃんの標準の立った状態のまま、頭の上の位置に、「全ての親」がくれば、「ブランコ」は作れそうな気がするわけですが、実際には、「座った状態での、お尻の位置を基準にしないと、変になってしまう」のです。
それで、このように、まず「ポーズ」作りから始めます。
しかし、「ブランコ」、「シーソー」など、とても、いろいろな、この種のモーション設計は、はじめから、かなり、「自分が、どういうストーリーにして、どういうモーション付けをするのか?どこに、基準点を置くのが、ベストそうなのか?を、かなり考えておかないと、簡単なようで、後で、修正不可能なモーションになってしまいがちで、思ったよりも、難しいのです。」
「ブランコ」といっても、「ただ固定位置で座っているだけ」ではなくて、反動を付ける為に、足も振るし、上体も、後にのけぞります。
しかし、どうも、「お尻の位置」は基準点で、ここに座っているわけなので、ここは動かないので、基準点にして良さそうだと考えるわけです。
モーション制作中でも、「基準点」「全ての親」の座標管理の把握を、しっかりしておかないと、後で、修正不可能な、わけのわからない、一発しか使えないモーションになりがちで、けっこう設計は難しいのです。
例えば、「全ての親」でも、「多段化した、2つ目以降の全ての親」でも、「センター」でも、どれを使っても、モーション製作中に、モデルの全体を動かす事が可能なのですが、「何も考えないで、あるフレームでは、センターで移動していたのに、途中から、センターでやるべき移動を、全ての親でやっていた」とか、だんだん、わけがわからなくなってくるので、そうやって作ったモーションは、一発で終わります。ので、他のモデルに使えなくなってしまうのです!
しかし、この「全ての親」「多段化した、全ての親」「センター」の座標管理の把握を、きちんと考えながら設計していくと、例えば、「ジャンプ」をしたりする際に、「関数のグラフ」で、綺麗に整える事がしやすくなります。
「全ての親」と「センター」の両方を使う場合には、「センター」は、固定位置で、キャラクターが、好き勝手なポーズを取ったりするのに使うと、比較的、楽に複雑なモーションが制作できます。
・「センター」→「ポーズの変形」
・「全ての親(初期位置(足の真下))」→「座標の移動(地面を基準にした、2次元平面で設計していくと扱いやすい。が、自分の作りたいモーションによって、かなり自由)」
・「多段化した2つ目以降の、全ての親」→「特殊移動」
などのように、自分の作りたいモーションによって、自分で、「座標管理の基準」を把握しながら、モーション設計する事が、非常に、大切になります!
という感じで、本来は、このように、いろいろと考えてから、「全ての親」の初期位置の移動の設計をした方がいいのですが、こればかりは、実際に、自分で、モーション付けをしていって、「何をやったから失敗した」ので、「こうした方がよかった」という風に、体当たりで、「使いながら覚えるしかない」ので、わからなくてもいいので、とりあえず作ってみましょう!
(「ブランコ」用に、「全ての親」の初期位置を移動してみる)
まず、「ブランコ」「シーソー」や、自分が作りたい、ある「ポーズ」を中心にして、回転などをさせたい場合には、とりあえず「ポーズ」を作ってみましょう!
その「ポーズ」で、今度は、「カメラ」操作に切り替えて、例えば、「ブランコ」の場合には、アクセサリや、モデルが入る大きさまで、カメラを引いてから、そのカメラ位置を記録しておきます。
今回は、「ブランコ」のモデルなどが無い場合には、こんな感じで、自分でイメージしながら、ラフで、いいので、ここら辺に、ブランコが入るはずという風に描くと、ブランコモデルの設計がしやすいです。
先程の、固定した距離の「カメラ」位置で、「正面」方向と、同じ程度の離れ方のまま、カメラをクルクル回して、「横」方向の、2枚のスクリーンショットを撮っておくと、イメージがつかみやすいです。
この2枚のスクリーンショットに、ラフでいいので、「どこを基準にするべきか?」を、線を引いたりしながら、考えて描いておくと、設計しやすいです。
今回は、「ブランコ」なので、「お尻」の位置は動かないので、この真上に、ブランコの回転の中心を置きます。
シーソーでも、自分の真正面にくるだけなので、考え方は、同じです。
今回は、「お尻」の位置が基準なので、「座り」ポーズを作ったら、「センター」ボーンを選択して、画面上の「ボーン編集」-「数値入力」というのを選ぶと、自分の場合には、(位置Y -4.316、位置Z 4.735)と出ているので、この数字を、メモしておきます。
今度は、PMDエディタで、「ブランコ回転用に、全ての親の初期位置を変更」します。
これは、今回の「ブランコ」専用でしか使えないモデルになってしまうので、必ず!モデルを保存する場合には、別のファイルとして保存して下さい!(「全ての親」の初期位置を変えるモデルは、そのモーション関係の専用モデルにしかならない。が、どうしても作りたいモーションがある場合には、とても簡単に作れるので、割と、よく使われる手法です。)
まず、ここで気を付けてほしい事は、「PMDエディタ」上の画面に見えているモデルは、MikuMikuDanceのモーション付けと違って、「モデル自体の変更」です!
なので、ここで、ブランコ用に、ミクちゃんを「座らせた」とすると、「座った形のモデル」のままが、固定されて保存されてしまいます!
当然、わざと、そういう手法を使う場合もあって、それは、「自動車などに乗ったままのモデルを作りたい場合」などで、自分の作りたいモーションによって、どの手法が適切なのか?を考えます。
今回は、「ブランコ」ですが、「ブランコ」に座ったままではなくて、もしかしたら、「ブランコから、ジャンプする」という、モーションを後で、自分で入れたいなぁなどと変更するかもしれないので、立った位置のまま、「全ての親」を移動して入れていきます。
(PMDエディタ)
(1)「ファイル」-「開く」で、モデルを開きます。(自分の場合には、PMDエディタで、いじる前には、上書きで、万が一、モデルが破損するのが怖いので、PMDエディタ内のフォルダに、モデルを、別名で、コピーしておく事が多いです。)
(2)次に、標準の位置に「全ての親」を入れます。
「編集」-「ボーン」-「全ての親ボーンの追加」
(ここで、「全ての親」の多段化をしてもいいが、設計手法が、非常に、難解になるので、今回はやらない)
(3)「ボーン」というタブを選ぶと、「全ての親」というのが追加されていると思います。
ここで、「全ての親」のボーン座標に、先程の(位置Z 4.735)というのを、入力してみましょう!
ここが、先程、ミクちゃんを座らせた時の、お尻の位置の「Z座標」です。
今回は、ブランコ回転基準位置なので、「Y座標」を、もっと上に上げないといけません。
センターの基本の「Y座標」の位置が、「8」と出ているので、憶測で、「20」と入力すると、ほぼミクちゃんの身長程度になりました!
先程、ブランコポーズで撮ったスクリーンショットと、ラフ絵を見ながら、「位置Y 40」程度に、とりあえずします。
本来ならば、モデルがあるはずなので、そのモデルに合わせて基準位置を決めましょう!
これで、「ブランコ回転基準位置」に「全ての親」が移動しました!
(4)PMDエディタで、「全ての親」というのを追加すると、「表示枠」から、センターが外れてしまいます!
そこで、「表示枠」タブを選んで、普通は、「ボーン枠」の「IK」か「体(上)」「体(下)」など、自分の使いやすい位置に「センター」を追加しておきます。
もし、「全ての親」を多段化した場合には、場合によっては、「ボーン枠」の何も無い所で、「右クリック」して、「新規追加」をして、「親」などというグループを作った方が見やすかったり管理しやすい場合があります。
今回は、「体(下)」を選んで、右側の「対象ボーン操作」で、「センター」を選んで、「追加」ボタンを押します。
この「表示枠」に追加されていなくても、モーション自体は、作成する事ができるのですが、後で、非常に、操作が困難になっていってしまうので、「表示枠」に入れます。
(5)今度は、「全般」タブを選んで、「モデル名」を「初音ミク(ブランコ)」などと、わかりやすい名前にしておきます。(「モデル名」は、文字数制限があるので短めで区別できるようにする。)
コメント欄には、元モデル名と、何を変更したのか?をメモしておくと、後で、他のキャラクターにも、共通モーションを作る時に、互換性を上げる設計がしやすくなります。
(6)最後に、「ファイル」-「PMDデータの状態検証」を選ぶと、エラーのあるモデルかどうか?を、チェックして、どこがおかしいのか?を表示してくれますが、初心者が見ても、なかなかよくわからないので、目安にしましょう。
(7)それで、できあがったら、とりあえず、「ファイル」-「名前を付けて保存」で、「必ず!オリジナルには上書きしないで、別名で保存して下さい!」
また、自分で、ある程度、動く安定したモデルが完成した場合にも、その安定モデルには上書きしないで、「実験モデル」段階の時には、別名で保存しておいた方が、万が一の時に、被害が少なくて済みます!(むしろ、オリジナルモデルは、大体、初期状態で、どこかに保存してある事も多いので、復旧しやすいが、自分が、わからないまま、実験していて、安定動作するようになったモデルなどのように、”自分の、そこにしかない”という場合には、実験失敗して上書きしてしまっていると、今までの苦労が水の泡になる事が多いです!ので、気を付けましょう!)
できあがったら、「MikuMikuDance」で、きちんと動くのか?を確認しましょう!
(「MikuMikuDance」で、「ブランコ」の動作の確認)
とりあえず、この「ブランコ」専用モデルを、MikuMikuDanceで開くと、標準立ち位置の状態のまま、このような感じで出るので、不安になりますが、ミクちゃんを座らせると、きちんと「ブランコ回転基準位置」のまま座るようです。
今度は、実際に、「ブランコ」独特の、回転モーションで動くのか?実験してみましょう!
とりあえず、フレーム30辺りにして、「全ての親」を選択して、「左面」方向で、「回転」をさせてみました!
これは、凄いです!
簡単に、グルグルと回る事がわかります!
(「ブランコ」独特の関数モーションの付け方)
ここからが、「全ての親」を使ったモーションの得意分野の1つで、「関数」グラフを使って、かなり複雑な、モーション構成を、比較的、簡単に作る事ができます。(ただし、コツが要るので、難しい。特に、全ての親の多段化をしてあると、かなり、複雑な軌跡を、綺麗に作る事が可能です。特に、メカ系の物だったり、空中飛行のモーションなんかを綺麗に作れます。座標の把握や管理を、しっかりとやっていないと、だんだん、わけがわからなくなってくるので、作るコツをつかむまでが難しいです。)
まずは、「ブランコ」の場合には、基本的に、「振り子」運動なので、とりあえず、「行き」と「帰り」の振り幅を、揃えたり、きちんと把握したい人の為に、説明していきます。
(1)まず、先程の「30」フレーム基準だと、かなり、のんびりと進むので、「15」フレーム目の所で、「全ての親」を選択してから、画面上の「ボーン編集」-「数値入力」というのを選びましょう!
この「数値」の直接入力モードは、画面内で、移動や回転をさせるよりも、座標の把握をしやすいです。
ここで、今回は、今までにやってこなかった「角度」の方の数値入力になるわけですが、この「座標軸と角度」の把握は、初心者には、非常に、混乱して把握しづらいです!
イメージは、「X, Y, Z」軸とありますが、座標軸の回転方向は、その軸方向へ向けて、鉛筆などを持ってみましょう!
「ブランコ」は、前後方向に動くので、初心者の頃は、「Z軸」方向の回転ではないか?とか、混乱しがちです。
まず、「視点」を「左面」にしてみましょう!
ここで、「ブランコ」の回転方向を、イメージしてみます!
前後に揺れます!
前後方向は、青色の「Z軸」です。
しかし、座標軸の回転方向は、この「赤、緑、青」の線方向へ向けて、「鉛筆」を持って、手でひねると、イメージがつかみやすいです!
赤軸の「X軸」方向へ向けて、鉛筆をひねると、「ブランコ」の前後の回転方向になる事がわかります。
そこで、先程の「数値入力」の欄では、「X軸(角度)-45」と入力します!
ミクちゃんが、後ろへ行ったと思います。
これで、「ボーン操作」の「未登録選択」→「フレーム登録」です。
今度は、ブランコの逆側の方へ振るので、とりあえず「45」フレーム目にして、同様に、「数値入力」画面で、「X軸(角度)45」と入力します!
今度は、前側に振られました!
これで、1回目の振り子運動のパターンができたわけです。
しかし、再生してみると、「直線的」な動きで、「ブランコ」っぽくありません!
ここで、登場するのが、いつも、見ながらも、使っていなかった、画面左下の「関数」のグラフを、いじるモードです。
まず、この「関数」のグラフのある箇所に「 〜 」のように、対象とするフレームの範囲を入力できる箇所がありますので、そこに、今回の「ブランコ」の振り幅モーションのフレームの「15〜45」と入力して、「範囲選択」を押します。
対象になった範囲のフレームには、赤いマークが付きます。
「全フレーム」とか出ている所は、「全ての親」にして、関数グラフの隣は、今回は、「回転」運動の関数を決めるので、「回転」にしておきます。
次に、関数グラフの動作検証の為に、今度は、画面右下の、いつも、「再生」をする所にあった所の下にも、「 〜 」とあるので、ここも、同じ「15〜45」と入力します!
さらに、「くり返し」に、チェックを入れて再生してみます。
この「再生」の最中に、先程の、「関数」のグラフの中にある「赤い x」マークを持って移動すると、この関数グラフを、ぐにゃぐにゃ曲げられて、モーションの動き具合を見ながら、グラフの関数を変更できます。
大体、たぶん、こんな感じの「S字」形のカーブにすればいいと思います。
しかし、自分は、この「関数」のグラフの使い方の細かな部分を、あまり把握していないので、この「15〜45」以降に、逆方向の振りも作って、1つに戻るパターンを作って、それを、連続パターンで、コピーしていけばよさそうだなぁと思っていたのですが、「関数」部分の形が、うまくいきません。
という感じで、大雑把に、作る方法は、わかったと思うので、後は、いろいろと実験しながら、よさそうな方法を、見つけてみて下さい。
(「全ての親」の多段化の設計)
次に、とてもややこしい、「全ての親」の多段化の設計について、少し書いておきます。
今回の「ブランコ」モーションの場合には、「全ての親の多段化」をしておく利点は、「1度、振り子運動のブランコモーションを作成しておけば、その振り子モーションの改変なしで、ブランコを好きな位置に移動し直したりできます。」
PMDエディタで、「全ての親」の追加をして、すぐに、また、もう1つ「全ての親」の追加をすると、「全ての親」の多段化ができます!
これは、何段階にもできるのですが、非常に、ややこしくなるのと、扱うのが難しいです!
また、「全ての親」の多段化をした後に、どこかの「全ての親」を移動したりすると、その設計が、かなりややこしいです!
まず、今回の「ブランコ」を、標準の地面の真下にある「全ての親」を基準にしながら、そこから、さらに、「ブランコ」の上の「多段化した、全ての親」につなげて、そこから、「ミクちゃんの、センター」にしてみる場合を考えます。
「全ての親」の多段化した後には、必ず、追加した「全ての親」は、何らかのボーン名の変更をしておかないと、後で、何が何だかわからなくなってきます。
MikuMikuDanceの画面の表示枠の文字数もあるので、大体「親1」「親2」とか、説明付きで「〜親」とかにする事が多いです。
この「全ての親」の多段化は、設計を間違うと、きちんと動かなくなるので、わかりやすい見るポイントの目安を書いておくと、この写真のように、「標準の地面にある、全ての親」→「ブランコ用の多段化した、全ての親2」→「ミクちゃんのセンター」という風に、クレーンのように、きちんとつながっている事を把握します。
これは、モーションの制作中でも同じです。
しかし、「全ての親」の多段化モーションは、とても、複雑な軌跡が作れると同時に、扱いや把握が難しくなってくるので、あまり、大量に、いきなり多段化しない方が無難です。
また、ほとんどの場合には、自分の作りたかったモーションでは、実は、こんなに大量の「全ての親の多段化をしなくても、大丈夫だった」という事が多いので、普通は、多くても、「3つ」程度あれば、大丈夫です。
「全ての親」の多段化をすると、結局は、クレーンのようにつながっていってしまうので、例えば、「走り、歩き」モーションのカーブ用に、右、左、上でぶらさがって、標準の地面にも入れて・・・と、大量に入れると、「だんだん、わけがわからなくなってくる上に、扱いこなせなくなってきます。」ので、単純なモデルを、シーン別に作った方が楽な事が多いです。
この複雑な軌跡を作る時の、「全ての親」の多段化で、モーションを作る時のコツは、少しモーションができあがってきたら、「再生」ボタンではなくて、まず、「0フレーム」目など、再生チェックしたい周辺のフレームを選びます。
次に、いつものように、「ボーン操作」の「選択」というボタンを押して、ミクちゃんの、全てのボーンなどが「見えている」状態にします!
次に、「再生」ボタンを押すのではなくて、「左右」のカーソルキーを連打してみて下さい。(押しっぱなしも可能)
そうすると、多段化した、クレーンのようになった、「全ての親」や「センター」のボーンが見えたまま、アニメーションしますので、この複雑な軌跡の、どこの設計が、間違っていたのか?を見つけやすいです!
特に、「全ての親1」「全ての親2」「センター」ボーンのように、「どれを使っても、一応、モーションの設計ができる場面が多いので、座標軸の管理や把握を自分が、しっかりとしていないと、次第に、滅茶苦茶で、無秩序なモーションができあがっていって、最終的には、その動画、一発!で終わる、他のモデルで扱えない、という、かなり扱いづらいモーションになりがちです!」
しかし、「全ての親」や「全ての親の多段化」を使っても、モーション設計時に、この座標軸の管理や把握をしっかりとしておくと、割と、他のモデルでも、扱う事が可能なようにもできるわけです。
これは、実際に、「全ての親」や「全ての親の多段化」を自分でやってみて、モーションを作ってみると、どこで問題が生じそうなのか?の把握ができますが、とても、複雑なので、かなり大変です。
お勧めは、今回のような感じで、「標準の地面の真下にある、全ての親」→「ブランコ」につなげるような形で、自分が、把握しやすい範疇でやると、遊園地の「メリーゴーランド」「コーヒーカップ」のようなモーションが作りやすいです。
「メリーゴーランド」なども、多段化しないで、1つの「全ての親」でも作成可能なのですが、多段化してあると、もう少し凝った動きが作りやすいです。
作るコツは、
・「中心の地面の真下の、全ての親」→「メリーゴーランド」「コーヒーカップ」の大きな中心の回転
・「ブランコ」などで吊ったりした、別の位置の、全ての親(それぞれの作りたいモーションで違う)」→「コーヒーカップ」の1つの回転、「メリーゴーランド」の回転木馬の上下運動(これは、全ての親、1つだけでも可能)
・「センター」→「メリーゴーランド」「コーヒーカップ」の上に乗ったキャラクターが、動き回ったり、ポーズを付ける場合
のように、きちんと、自分で、座標軸や、基準を把握しながら作ると、かなり、わかりやすく、自由な上に、非常に、複雑なモーションを簡単に作れて、しかも、他のモデルにも転用しやすいです。
要するに、「センター」「全ての親1」「全ての親2」・・・の、どれを使っても、「その瞬間の、モーションや、ポーズの作成はできてしまう」ので、自分で、座標軸や、基準を把握したり、管理できないと、だんだん、何が何だかわからないモーションに仕上がっていってしまい、結局は、その動画、一発で終わるモーションになってしまいがちだからです。
実際に、コツがわかってしまえば、かなり、楽に、もの凄い事ができるようになります!
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
「MikuMikuDance 初心者チュートリアル」の第27章です。
(第27章)物理演算のグループ番号管理と「当たり判定」の排他処理を覚えよう!
今回は、本格的にモーションを作る前に、動画制作者がやっている「動作チェック」の部分を見てもらって、「物理演算」の「剛体」を設計していく事について扱います。
今回のメイン項目は、
・物理演算のグループ管理と排他処理を覚えよう!
・複数のキャラクター間での、剛体の当たり判定処理の設計の仕方
・速すぎる物体が、剛体をすりぬけてしまう!事を回避する
今回は、わかりやすいように簡単な「ハードル」の剛体の設計が、どうなっているのか?見てみましょう!
「ハードル」の剛体を見てみると、土台となっている下の剛体が、けっこう大きいです!
標準のミクちゃんは「つま先」剛体が入っていませんが、Lat式ミクちゃんには入っています。
試しに、Lat式ミクちゃんで、「ハードルの土台の剛体」を踏んでみると!
「動かない!」
という事で、こういった2キャラ間での剛体の当たり判定の「排他処理」について、今回は見ていきます
(モデルの「物理演算」設定画面を出す)
モデルの「物理演算」設定画面を出すには、画面上の[ヘルプ]-[モデル拡張]-[物理演算編集]の所です。
また、画面上の[物理演算]-[剛体表示]にチェックを入れると、通常の画面中でも「剛体」が見えるので、これを見ながら「物理演算」を使った映像で、動作が変な場合にはチェックしていきます。
(剛体の当たり判定の有無の設定の部分)
剛体の当たり判定は、
・グループ
・排他処理をする番号(グループ番号を複数書く場合には「半角スペース」で区切る。「16番:地面」は固定番号。)
の所です。
この画面では、「4 5 7」と自分が書き加えた場所が「排他処理」をするグループの番号で、このハードルの上の剛体は、「4」「5 」「7」番のグループとの当たり判定を無くしたという意味です。
しかし、「ハードル」自体には、「1番」のグループしかありません。
では、なぜ?「ハードル」の剛体にないグループ番号の「4 5 7」を書き加えたのか?というと、これは、標準の「初音ミク」モデルの剛体の番号なのです!
(「初音ミク」標準モデルの剛体のグループ番号)
1(上半身、下半身、頭、首、胸(動かない場合)、足)
2(右腕)
3(左腕)
4(右髪)
5(左髪)
6(ネクタイ)
7(スカート)
8(ふともも(スカート処理用))
9(腰飾り)
16(地面)
つまり、ハードルの剛体の排他処理の数字の「4 5 7」は、「初音ミク」ちゃんが、「ハードル走」を走った場合に、きちんとジャンプできたのに!「髪の毛」が暴れたり、「スカート」が、かすってしまって、ハードルが倒れてしまう誤作動を防ぐ目的のために書いた数字なのです。
このようにして、モデルの剛体を設計していく際には、「2キャラ間」の間の関係について考えながら設計して記述していく必要があるのです。
ただし、キャラクターのモデルの場合には、ミクちゃんのモデルのように「剛体」のグループ番号と、当たり判定の「排他処理」番号が、大量に、設定されているので、どこかに、メモで書き出していって、かなり解析してからでないと、このグループ番号と、当たり判定の「排他処理」番号の再設計をする際には、なかなかうまく動作しなかったりするので、少し難しいです。
ですから、モデルの剛体のグループ分け番号は、できるだけ標準のミクちゃんに合わせておいた方が、たくさんのモデルが共演する場合でも、対応がしやすくなります。
(2キャラ間の剛体の当たり判定の設計)
よく複数のモデルが共演してダンスを踊ったりすると、このような感じで、他のキャラの顔の中などを、ミクちゃんの髪の毛が通り抜けてしまい、ちびミクなどが可愛そうな事になる事があります。
これも、この「排他処理」は、「複数のモデルで共通」なので、うまく設定すれば回避できるのです!
このような感じの映像の場合で、「ぷちミク」は、頭で髪の毛を跳ね返していますが、「ちびミク」は、顔の中に入ってしまいます。
標準のミクちゃんの剛体のグループ分け番号に合わせる感じにしていくと修正できます。
(「剛体」の「物理演算」を「Bone追従」の固定にしてしまう方法)
「ハードル」が、ミクちゃんの髪の毛の「剛体」に当っても倒れないようにする1番簡単な方法は、「ハードル」の「剛体」設定の所の「剛体」の挙動のチェック欄で「物理演算」から「Bone追従」の固定にしてしまう方法が、1番楽な方法です。
この方法では、「ハードル」などの固定物自体は、何が当っても倒れなくなります!
なので、どうしても倒したくない「ハードル」の箇所がある場合には、この「固定ハードル」を、その箇所に置きます。
この場合には、「ハードル」に、ミクちゃんの「髪の毛」が当ると、「髪の毛」自体が、ハードルに跳ね返されるので、見た目が自然かもしれません。
このように、いろいろなモデルにおいて、作りたい映像によって、「剛体」の設定を変える事で、自分の望んだ映像の形にしていきます。
(物理演算設定を変えたモデルは、必ず!上書きしないで、別のモデルとして保存する事)
「物理演算設定」を変えた「固定ハードル」などは、完全に別のモデルになるわけなので、別のモデルとして保存しておきます。
例えば、
(1) 「ハードル」モデルのチェック欄を、「Bone追従」の方に設定し直した場合
(2) 画面上の[ヘルプ]-[モデル拡張]-[拡張モデル保存]の所で、必ず!上書きはしないで、別のモデル名にしてファイルに保存して下さい!
また、この物理演算設定の画面では、かなり、いろいろな数値の設定ができるので、場合によっては、かなりイレギュラーな設定になってしまって、MikuMikuDance自体の動作が不安定になる事も多いので、慎重に設定していって下さい!
なので!「モーションを途中まで作ったけど、途中で、物理演算の設定を変えた」という場合には、まず、「物理演算設定」をいじる前に、必ず!モーション自体を保存しておかないと、最悪、フリーズしてしまって、作ったモーションが無くなってしまう場合があります!
「物理演算」の設定は、けっこう難しいですが、コツがわかれば、いろいろな望んだ映像を作る事が可能になります!
(速すぎる物体が、剛体をすりぬけてしまう!事を回避するには)
物理演算を使っていて困るのが、「速すぎる物体がすりぬけてしまう!」事がある事です。
「ハードル」のように薄い物体の場合には、たまにすりぬけてしまいます。
この回避方法は、「対人用」の別の剛体を厚めにして入れるとか大きめにする事で回避できます。
剛体を大きくすると、倒れた後に「空中に浮いてしまう!」ので、「対人用」剛体と、「対地面用」剛体の2つは必要になります。
この時に、「対人用」に入れた大きな剛体で、「空中に浮いてしまう!」のを回避するのが、先ほどの「16番:地面」のグループ番号で、この「16」を、「対人用」の大きな剛体の「排他処理」番号欄に書き込んでしまえば、「地面」との当たり判定はなくなり、「人物」との当たり判定は残ります。
まったく同じ位置に「対人用」と「対地面用」の剛体が重なるので、この2つ同士も、当たり判定を無くすように番号を書いて下さい。
後は、頑張って、うまく「2キャラ間」の「当たり判定」処理を調整していけば、複数のモデルが共演するダンスでも、対応がしやすくなるので、頑張ってみて下さい。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
(大地震の影響で、ブログ活動休止のお知らせ)
2011年3月11日に起きた、大地震の影響で、ブログ活動休止のお知らせです。
こちらは、あまり大きな被害の起きた地域ではないのですが、いろいろと大地震の影響で、バタバタと忙しくなってきて、やらなければいけない事がたくさん出てきてしまいました。
そこで、こちらのブログは、「大地震の影響で、ブログ活動休止のお知らせ」という事にしました。
自分自身も、まったく無事の状態です。
もともとの、このブログの目的は、ブログを立ち上げた当時には、まだ、「MikuMikuDance本」という物も、この世になく、一部のMikuMikuDanceを使っている人が、使い方を教えていく。という、やり方で進んでいきました。
この時に、当然、当時、説明できる人というのは、いろいろとわかっている上級者の人が多かったのですが、この人達が、今「P(プロデューサー)」さんと肩書きのついている人達で、たとえば、「かんなP」氏などが中心になってやっていました。
この時期に起きていた問題が、「難解すぎて初心者にはわからない」という声が多かったので、自分のブログの所では、「簡単な操作で扱いながら操作を覚えていってもらおう、という、チュートリアル方式の、(MikuMikuDance初心者チュートリアル)を開始しました。」
その後、「MikuMikuDance本」が、現在は、4冊発売されるようになって、誰でも、気軽に調べられるような土壌が構築できました。
また、ユーザー数が増えた事で、それぞれのユーザーが扱い方や、発見した事などを、P氏と呼ばれる人達以外にも、とてもたくさんの人が、情報発信できるようになってきました。
この(MikuMikuDance初心者チュートリアル)が1つの、このブログの目的であって、これは、現在、役目を果たして、もう安定期に入っている事です。
もう1つのブログの目的は、「21世紀はじめの電子の歌姫、初音ミク」ちゃんが、「3D立体視で、飛び出るバーチャルダンスステージの実現」までは、サポートしてあげようというのが、どちらかというと技術系の人間だったのであったわけですが、これも、Nintendo3DSや、プレイステーション3の「3D立体視テレビ」対応が発売された事で、大体、時間がたてば、もう実現直前にある。という所まできています。
この2つが、このブログのメインの目的であった為に、ほぼ、両方共に、もう実現し、このブログの当面の目的も果たしたので、「大地震の影響で、ブログ活動休止のお知らせ」という事にしました。
後は、昔に書いた古い(MikuMikuDance初心者チュートリアル)の記事や、「MikuMikuDance本」や、多くの人が発信している、MikuMikuDance関連情報や、発見した事、思いついたアイデアなどの情報が、とてもたくさんあるので、そちらを読んで参考にしていって下さい。
今は、こちらは、ちょっとバタバタとしているので、とても忙しい状態で、次に、再開するか?も不明です。
という事で、長い間、わけのわからないような記事も多い中、このブログを読んでくれていた人に感謝の念を示して、とりあえず、「大地震の影響で、ブログ活動休止のお知らせ」という事にしました。
後は、みんなで、「21世紀はじめの電子の歌姫、初音ミク」ちゃんが、「3D立体視で、飛び出るバーチャルダンスステージの実現」までサポートしてあげて下さい。
評価:
かんなP,ラジP,極北P,ポンポコP 翔泳社 ¥ 2,079 (2010-05-11) |
評価:
かんなP,ポンポコP,ショ大河P,6666AAP 翔泳社 ¥ 2,709 (2011-03-16) |
評価:
かこみき ビー・エヌ・エヌ新社 ¥ 2,730 (2010-08-26) |
「MikuMikuDance」初心者チュートリアル第26章です。
(第26章)「全ての親」の使い方
ようやく「全ての親」という物を使うと何ができるのか?を理解してきたので、それについて書いていきます。
「全ての親」というのは、あるモデルと、ないモデルがあるので、まず1番はじめに注意しなければいけない事は、ダンスモーションを汎用性のある物に作りたい場合には、「全ての親」を使って作成すると、適用できなくなってしまうので、作る際には注意しましょう!
しかし、「全ての親」があると、かなり幅広い事ができるようになるので、将来的には、標準で実装されてくるかもしれません。
それは、「無限繰り返し」映像や、「ダンスモーションのパーツを使いまわす」といった事と関連してくるのですが、MikuMikuDanceでは、できるだけ「楽にダンスモーションを作れるように」設計されています。
ここが、1番のMikuMikuDanceの特徴なわけです。
「全ての親」があると、かなり複雑な動きでも、簡単に作る事ができるのです!
(「全ての親」を使ってできる事)
1. まず、1番使うのが、「同じポーズのまま移動させる」事ですが、先程書いたように、「ダンスモーションを汎用性のある物に作りたい場合には、「全ての親」を使って作成すると、適用できなくなってしまうので、作る際には注意しましょう!」
そういった場合には、「センター」を1度選択しておいて、「全て選択」を押してからだと、「全ての親」と同じような「同じポーズのまま移動させる」事ができます!
(「全ての親」を使えば、「0位置」のみでモーションを作っておけば、いくらでも、好きな方向へ動かせる!)
2. 今回のメインは、こちらの方法で、「0位置」のみでモーションをまず作ります。
移動は、まったくさせないで、中心を固定したままモーションを作ります。
次に、できあがった「中心で固定されたモーション」に、「全ての親」でいろいろな方向に移動させるモーションを登録しておけば、もう「全ての親」に沿った位置に従って、好きな方向へ移動させたり、回転させたりできます!
よく使うのが、「歩き」「走り」モーションを、0位置のみで固定して作っておけば、そのパターンだけで、もうどこでも簡単に移動できます!
カーブさせて歩かせようが、傾けて走らせようが、何でも簡単にできます!
これは、もの凄く楽なのですが、注意点としては、「少し滑った感じになる」事です!
なので、「全ての親」を使って作りやすい動画は、「滑る物」や、「車などの移動物体の上での、複雑なアクション」です!
(「全ての親」を使って作りやすい動画)
・フィギュアスケート、スキー、ソリ、スノーボード、スケボーなどの「滑る物」で、移動しながら、簡単に複雑なアクションを取らす事ができる!
・車などの「動く物体」の動きに合わせながらでも、その「動く物の上で、複雑なアクションを簡単に取らす事ができる!」
(これは、「動き」は、車などで作っておいて、それを、そのまま人物キャラクターの「全ての親」のモーションに適用します!「人物キャラクターのアクション」は、「0位置のみで、複雑なアクションを作っておきます!」これだけで、「移動物体の上で、複雑なアクションをするモーションが作れます!」)
・「0位置」から、モーションを作る方法には、いくつかありますが、1つは、「キャラクターを、0位置を基準として動かす」方法で、これは、通常のダンスモーションの小さいパーツ的に使う場合には、こちらの方が自然に仕上がります。
0位置から、ダンスステップを踏めばそれだけ移動する感じに作ります。(滑ったようにならない)
・もう1つは、「0位置から、まったく移動をさせない」で作る方法で、この場合には、「全ての親」で移動をさせる事を前程に作ります。
これは、中心の位置を固定したまま作るので、「ジャンプモーションでも、腕や足の動きを、その場で動かすのみで、上には動かしません。」
また、「歩き」「走り」モーションでも、「その場で、足だけ滑っているように、中心の位置を固定したまま作ります」
「ジャンプモーション」の場合には、「上下の移動モーション」も無いと、とても作りづらいので、「上下のみ移動させて作っておいて、それを、「全ての親」で、好きな方向に移動させる方法でも作れます。」
自分の取りたいアクションに応じて、楽な方法を選択すればいいわけです!
(「全ての親」を使った場合に起こる事)
・「再生」などの際に、「操作モデル中心」を選択しても、「全ての親」をセンターの代わりとして移動に使った場合には、「操作モデル」のセンターの位置が、例えば、「0位置」のみで作った場合には、「操作モデルのセンターの位置が動いていないわけなので、操作モデルについていかない」
「操作モデル中心」の際に、「操作モデルの位置」としているのは、どうもセンターの位置だからです。
今回は、うどんげさんで「フィギュアスケート」っぽい動作を作ってみましたが、「スノーボードのハーフパイプのエアー」などの、「滑る物の上に乗って、角度を付けて常に移動している物体の上でも、「複雑なアクション部分は、0位置で作っておいて」、「移動を、全ての親で作る」だけで、それらが加算された位置のモーションが、とても簡単に作れます!
こういう場合には、まずは、「スノーボードの上に乗っかったポーズ」をキャラクターに付けておきます。
それで、「全ての親」で、「ハーフパイプの傾きに沿って、角度を合わせながら移動させたり、エアーの高さまで、移動させるボードの部分の移動位置のモーションを作ります。」
もうこれだけで、「スノーボードの上に乗っかったポーズのまま、エアーで、クルクルと回転したりしているはず」なので、そのモーションを見ながら、エアーの複雑なアクションを付けていけば完成です!
また、移動する車の上での、激しいアクションシーンは、すぐに作れます!
ソリや、バイクや、車が、ジャンプしたり、傾いたりするような上での、キャラクターのアクションを付ける映像でも、簡単に作れます!
これは、応用次第で、とても複雑なアクションを簡単に作れる方法なので、「全ての親」は、とても便利な方法です!
「センター」で、今回のような「フィギュアスケート」のような動作を作った場合には、「やっぱり、こっちのコースよりも、中心を通ってから、角に出た方が、かっこよかったなぁ」とか思っても、「移動ルート」の変更は、かなり大変になってしまいますが、「移動」と、「モーション」が別になるわけなので、こういった修正がかなり楽になるメリットがあります!