3Dモデル作成経験のない人間が触った所でほとんどよく解らないキャラスタジオ機能について、
解らないなりに記事を作っておけば、詳しい人が加筆してくれるだろうという期待を込めたページ。
スタジオとはどんなものかを理解するにはまず公式のシーンろだから適当なデータをDLして、あらかじめあるデータで体験するのが手っ取り早いし理解が進みます。
最初は先人が作ったシーンデータのキャラを片っ端から自分のお気に入りの子たちに「差し替え」て眺めるだけでも良いのです。
そうやって、シーンを読み込んで鑑賞したり、「キャラ差し替え」を何回か繰り返すことによって「このキャラは少し表情変えたほうがいいな」とか「手や腰の位置がちょっと」とか「なんとなく思う」ようになればしめたもの。
そこからがスタートラインです。「キャラ操作の方法」から始めてみましょう。
キャラスタジオを立ち上げた初期状態では、「影」の値が0となっている。
個人差はあると思うが、このままでは立体感が掴めず大変編集しにくい。
そのため、取り急ぎ「system」>「画面効果」の影の濃さを上げることをおすすめする。
また、ある程度操作に慣れてからでも良いが、System>オプション>表示タイプを「選択表示」に設定しておくと良い。
デフォルトの「全表示」だと、「操作軸」をONにした時にすべての物体に●が表示されるため、複数の物体が密集していると判りにくい。
「選択表示」にしておけば、ワークスペースで選択したものだけ●が表示されるようになるため判別が楽である(逆に逐一ワークスペースで選択しないといけないのが煩雑であれば戻そう)。
キャラクターやオブジェクトなど、スタジオ上のあらゆる生物・物体は「FK」もしくは「IK」を用いて動かす。ここがもはやキャラスタジオの難関。
まず「FKとIKなにが違うの?」というところから始まるが、素人目でもぱっとわかるのが、
FKは関節を回転させて、
IKは関節を移動させるのだ、ということ。
しかし、これこそがFKとIKの違いだ、と思ってはいけない。この2つにはもうひとつ重要な差がある。
FKで肩を回転させると、それに同期して手首の位置も変化する。
肩を基準に腕がまるごと回転するので、円で言えば肩が中心、手首が円周となる。
反対に、手首を回転させても肩には影響がない。
一方IKはというと、肩を移動させても手首の位置はほぼ変化しない。
そして、手首を移動させた場合には、反対に肩回りもつられて動くことになる。
つまり、FKには「肩>手首」、IKには「手首>肩」という立場関係がある。
それもそのはず。
そもそもFKとは「フォワード(前)キネマティクス」の略で、体の中心から見て手前側のほうが制御権を持っており、
IKは「インバース(逆)キネマティクス」の略で、その逆が制御権を持っているのだ。
さて、この違いがキャラスタジオにどう運用できるのかというと。
例えば、人生には美少女を磔にしたい時がある。
腕を広げて吊り上げ、脚も開かせるためにはFKでの制御は楽なのだが、もっと「それっぽく」するためには、多少体をよじらせるべきだろう。
そこでFKで腹部周りのポイントに角度をつけると、
こうしたことになってしまう。
先述の通り、FKは体の中心の方が立場が強いので、手首や足首の位置まで大きくずれてしまうのだ。
こういう時は、FK項目で「IKにポーズを反映」させて、IKでいじったほうがやりやすい。
この通り、腹部を横方向に動かしても手首足首の位置はほぼ変わっていない。
全くずれないわけではないが、それでも少々の微調整でなんとかなるレベルである。
ちなみに上記まではFKとIKの根本的な仕組み面をフォーカスした説明だが、他にも「FK→首・髪・スカートを操作軸で角度付けできるが、キネマ>首操作ができない」「IK→首はキネマ>首操作でしか角度付けできず、髪・スカートの角度付けはできない」という差異がある。
通常:半透明にできる。柄は半透明にはできない。輪郭線(ライン)が付かない。
キャラ:柄を半透明にできる。輪郭線(ライン)を付けられる。その物体自体を半透明にはできない。
Parentボタンによってモノ(アイテム・キャラ限らず)同士を親子付けした際、子の座標は、現在の親の座標を基準にした値となる。
キューブ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」のキューブとして座標を測ってしまい、本当は-0.5離れているはずのAの座標は「X:-0.1 Y:0 Z:0」になる。
そのため、拡大しているモノの子は、座標0.001あたりの移動距離が親のサイズに比例して長くなるため、座標の調整が粗くなってしまう。
Parentボタンによってモノ同士が親子付けされている時、親を回転させると、子も親を中心に一緒に回るようになる。
例えば、スフィア(球)とシリンダー(円柱)でチュッパチャップスを作ったとして、スフィアが親であれば、スフィア回転時に飴部分を中心にスティックを振り回すように回転するし、シリンダーが親であればスティックの中間点を軸に飴全体を回すような恰好になる。
そしてなぜかこれも拡縮の影響を多大に受ける。というかバグる。
ざっくり言えば、親がなんらかの方向に拡縮されている時に「親または子の回転値のうち、親が拡縮している軸と異なる軸をいじると」子が歪む。
例:親の拡縮Xが2の時、親か子限らず、回転YかZをいじると歪む。
対処方法としては「親の拡縮は1:1:1のまま変更しない運用にする」「親をフォルダにする(フォルダは拡縮をかけられないため)」などがあるが、どうしても拡縮をかけた親に直接子を付けたいときは、「間に拡縮1:1:1のモノを入れて、本来の子を孫付けする」という方法がある。
例えば、全ての軸を拡大したキューブ>1:1:1のまま変えていないキューブ>回転させたいキューブ、と三世代にすれば、回転時にゆがみは全く発生しないで済む。
もし中の親が見た目上邪魔であれば、アルファを0にして透明化するか、地中深くにでも埋めておけばよい。
ちなみにフォルダではなくモノに親子付けするメリットとして、「親を拡縮させた時に、子は拡縮を保ったまま位置調整される」ということがある。
例えばイチから教室を作っていて机も並べ終わった後に、教室自体の大きさを少し縮めたくなったとする。
この時、もし全ての机を何らかのモノに子付けしていれば、親であるそのモノを縮めれば、机同士の間が適宜詰められる。フォルダだと拡縮ができないため、こういった操作を行うことはできない。