3Dモデル作成経験のない人間が触った所でほとんどよく解らないキャラスタジオ機能について、
解らないなりに記事を作っておけば、詳しい人が加筆してくれるだろうという期待を込めたページ。
スタジオとはどんなものかを理解するにはまず公式のシーンろだから適当なデータをDLして、あらかじめあるデータで体験するのが手っ取り早いし理解が進みます。
最初は先人が作ったシーンデータのキャラを片っ端から自分のお気に入りの子たちに「差し替え」て眺めるだけでも良いのです。
シーンを読み込んで鑑賞したり、「キャラ差し替え」を何回か繰り返すことによって「このキャラは表情変えたほうがいいな」とか「手や腰の位置がちょっと」とかなんとなく思うようになればしめたもの。
そこからがスタートラインです。「キャラ操作の方法」から始めてみましょう。
キャラスタジオを立ち上げた初期状態では、「影」の値が0となっている。
個人差はあると思うが、このままでは立体感が掴めず大変編集しにくい。
そのため、取り急ぎ「system」>「画面効果」の影の濃さを上げることをおすすめする。
キャラクターやオブジェクトなど、スタジオ上のあらゆる生物・物体は「FK」もしくは「IK」を用いて動かす。ここがもはやキャラスタジオの難関。
まず「FKとIKなにが違うの?」というところから始まるが、素人目でもぱっとわかるのが、
FKは関節を回転させて、
IKは関節を移動させるのだ、ということ。
しかし、これこそがFKとIKの違いだ、と思ってはいけない。この2つにはもうひとつ重要な差がある。
FKで肩を回転させると、それに同期して手首の位置も変化する。
肩を基準に腕がまるごと回転するので、円で言えば肩が中心、手首が円周となる。
反対に、手首を回転させても肩には影響がない。
一方IKはというと、肩を移動させても手首の位置はほぼ変化しない。
そして、手首を移動させた場合には、反対に肩回りもつられて動くことになる。
つまり、FKには「肩>手首」、IKには「手首>肩」という立場関係がある。
それもそのはず。
そもそもFKとは「フォワード(前)キネマティクス」の略で、体の中心から見て手前側のほうが制御権を持っており、
IKは「インバース(逆)キネマティクス」の略で、その逆が制御権を持っているのだ。
さて、この違いがキャラスタジオにどう運用できるのかというと。
例えば、人生には美少女を磔にしたい時がある。
腕を広げて吊り上げ、脚も開かせるためにはFKでの制御は楽なのだが、もっと「それっぽく」するためには、多少体をよじらせるべきだろう。
そこでFKで腹部周りのポイントに角度をつけると、
こうしたことになってしまう。
先述の通り、FKは体の中心の方が立場が強いので、手首や足首の位置まで大きくずれてしまうのだ。
こういう時は、FK項目で「IKにポーズを反映」させて、IKでいじったほうがやりやすい。
この通り、腹部を横方向に動かしても手首足首の位置はほぼ変わっていない。
全くずれないわけではないが、それでも少々の微調整でなんとかなるレベルである。
//------------------------------------------------------------------------------
Parentボタンによってモノ同士を親子付けした際、子の座標は、現在の親の座標を0とした場合の値となる。
キューブAが座標「X:0 Y:0 Z:0」(ゼロポイント)で、キューブBが座標「X:0.5 Y:0 Z:0」だった時に、AをBの子にすると、
Aは、親であるBを「X:0」として、相対的な座標である「X:-0.5 Y:0 Z:0」になる。
なので、キャラクターを置いた後で右手首にベルトを付けたくなったという時は、
の3ステップを踏むことでちょうど右手首に付くことになる。
但し、この相対的な座標はなぜか親の拡縮が加味される。
つまり、上記キューブの例でBの拡縮が「X:5」(横方向に5倍長い)だった状態でAを子にすると、子になったAは横棒と化したBを「1:1:1」のキューブとして座標を測ってしまい、Aの座標は「X:-0.1 Y:0 Z:0」になる。
そのため、巨大化したモノの子は、座標0.001あたりの移動距離が親のサイズに比例して長くなるので調整が粗くなってしまう。
Parentボタンによってモノ同士を親子付けしても、子の回転率は変化しないが、親が回転すると、親の中心点に合わせて子ごと回るようになる。
スフィアとシリンダーでチュッパチャップスを作った場合、
スフィアが親であれば飴部分を中心にスティックを振り回すように回転するし、
シリンダーが親であればスティックの中間点を軸に飴全体を回すような恰好になる。
そしてなぜかこれも拡縮の影響を多大に受ける。
「拡縮と回転のそれぞれ異なる軸がデフォルトでない場合」、例えば拡縮X:2で回転Y:10とか、拡縮Z:0.5で回転Y:300とかであるモノを親として親子付けしたとき、なぜか子が歪む。この仕組みが解る方がいたら追記してください。
(ちなみに親が拡縮1,2,1 回転0,0,0である時に、回転10,0,0の子を親子付けしても歪む)
いずれにせよ、親子付けする時は、
などの運用とした方が安全である。
(追記)
拡大をかけている親に、どうしても回転・拡大を行う可能性のある子を付けたい場合、
間に拡縮1:1:1のモノを親として入れるという方法がある。
例えば、全ての軸を拡大したキューブ>1:1:1のまま変えていないキューブ>回転させたいキューブ、と親子付けすれば、
回転時にゆがみは全く発生しないで済む。
もし中の親が邪魔であれば、座標は歪みに影響しないので地中深くにでも埋めておけばよい。
というかそもそも歪むのはバグだろう。
ちなみにフォルダではなくモノに親子付けするメリットとして、「親を拡大/縮小させると、子は拡縮を変えずに位置調整される」ということがある。
例えば腕>ベルト2つを用意したうえで、そのベルトの位置と腕の位置が合うようにキャラクターを配置し、磔を表現したいとする。
一意のキャラクター、及び同様の体型であるキャラクターであれば破綻が生じないように配置調整を行えるが、キャラクターを入れ替えると両腕の間隔も変わるため、ベルトの位置を調整しなおす必要がある。
この時、もしベルトをフォルダに子付けしていると、フォルダは拡縮できないため、ベルトを1つずつ位置調整することになるが、
例えばキューブなどに子付けしていれば、そのキューブだけ拡縮を調整すればそのままベルト間(=両腕間)も調整したことになる。