Lightwave3Dの使い方メモ

3DCGソフトであるLightwave3Dの使い方のメモです。
あまりにも膨大な量のメモなので、上から目で追っていくのは不可能でしょう。Ctrl+Fで単語を検索するといいと思います。

 

 

///////////////////////////////////////////////
LightWave

 

使用上の注意:
OSの再インストールの時はドングルを外す。故障の現認になる。Lightwaveのアンインストールでは外す必要はない。
Lightwaveは異なるバージョンの同居が可能だが、プラグインの安定動作などのため、できるだけ1バージョンだけインストールされていることが望ましいらしい。

 

///////////////////////////////////////////////
基礎

 

///モデラー特徴

 

サブディビジョン系:
ボーンなど変形の予測と、異なるオブジェクトの接続、ウェイトコントロール、再分割が容易。
厳密な工業製品には向かない。穴あけやミリ単位の位置変更が困難。
有機体のモデリングに向く。

 

NURMBS系:
正確な曲線が描ける。穴あけもできる。
工業製品に向く。キャラクターには向かない。

 

ドングルについて:
アンインストールするときはドングルを外して行う。

 

/////////////////////////
資料集めと寸法について

 

建造物などは設計図があると楽に作れるが、公共の建築物は機密文書で手に入らないため、写真から長さを推測することになる。
写真はネットなどで集められる。できるだけ人間も映っている写真を集める。人間の長さはわかっているので、そこから建築部材の寸法を推測する。
できるだけ多くの角度から見たものを集める。
オブジェクトを実際にモデラーで作ってみて、パースペクティブをいくらかつけて、人間と建物を合わせて、写真を見ながら違和感がなくなるまで修正する。

 

/////////////////////////////////////////
手順

 

プランニング:
表現手法の決定。動きを含めたシーンを想定し、必要な物体を全て書き出す。そしてどの物体にどの表現を使うかを決める。
サーフェイスや物理演算も考慮する(サーフェイスで分断する部分はトポロジー的にも分断していなければならないし、物理演算では、あまり大きなポリゴンだとサブディバイドしたときに物理演算の変形が不自然になるかもしれない)

 

モデリング:
人物画の描き方より、テーマや人物などの設定を行う。
下書きをする。紙に6面図(対称なら5面)を描く。モデラーでボックスを作り、下絵を取り込んで貼り付け、スプラインによって3次元の下書きを行う。セグメントラインも描いておく(スプラインは、後で編集できないがベジエがいい。スプラインドローはポイントを増減すると線が変わる)
操作の仕方は、最初にXYの位置を調整し、後でZ方向へ調整するやり方が最も早い。
別の紙に、トポロジーをおよそ示しておく。考慮すべきは、まず変形部分(モーフ、ボーン)のトポロジを描き、残りはそれらを起点にしてトポロジを描く。変形(物理演算)に強いように。
サブディビジョンのモデリングの手順は、面貼り→形状整理(エッジウェイト含む)→変形(ボーン、モーフ)→テクスチャの順。多少変えてもいい。
物理演算のウェイトマップを作成。
レイアウトで物理演算をテスト(服など)。うまくいけば数値だけテキストに保存。
これ以上ポリゴンの編集が必要でなくなれば、モデラーでサーフェイスを分類し、色・質感設定。UVなどのテクスチャを作成(2Dソフト)人物などで個性を作るときは、できるだけポリゴンを動かさず、拡大などだけで済まし、テクスチャだけいじるようにすると手間が省ける。
サーフェイスに問題があればモデラーに戻って直す。保存。
ここまででモデリングは終了。これらモデリングは常に使い回しができる。

 

レイアウト:
全ての物体を配置(ライト、カメラも)
通常移動、ボーン、物理演算など適用し、アニメーションを作る。ワイヤーフレームで全フレームをレンダリングテスト。動きが上手くいくまでやる。
静止状態のテスト。適当なフレームをいくつか取り、レンダーフレーム。それらが上手く出来上がるまでテスト。
本レンダリング。その後AfterEffectで編集。

 

独創性について:
一般に、デッサン(形状)を変えてしまうと、特に人間などは美が崩れて受け入れられなくなる。
しかし色はかなり自由に変更しても、基本的な美は失われない。色彩理論に従い、自由に色を変えて独創性を出して行くのが無難である。

 

//////////////////////////
手順詳細

 

////////////////
表現手法

 

どの物体をどのソフトウェアを使って表現するか。
「クオリティの高さ」を優先するが、「作業の速さ」「計算負荷の軽さ」も考慮する。
物体の種類には、ポリゴン(面貼り、プリミティブ、曲線でパッチ)、ファイバー、パーティクル、特殊効果(スカイトレーサーやレンズフレアなど)、2D画像(AE,板ポリゴン)がある。
動きには能動と受動があり、能動にはキーフレーム(2D,3D)、ボーンIK(ただの親子関係も含む)、モーフがあり、受動には物理演算、パーティクルがある。
サブディビジョンの有無。サブディビジョンはポリゴン数を消費するので、できるだけ使わない。
計算負荷が高ければ、別に作って後で合成できる。フロントプロジェクションで背景と合成、前景の物理演算やシャドウはダミーのポリゴン数の少ないオブジェクトを透明にして使う。
アニメの背景は1枚絵でできているため、オブジェクトだけ3Dで製作し、配置し、1枚絵にして背景に設置、動きはAEで作ると、効率はよい。ただし背景の中を動き回れないため、「3Dならではの強み」にはならない。

 

少量の液体:
少量の場合、PSとAE、あるいはAE内のエフェクト。PS画像は高解像度で。あるいは3Dで別に液体だけ作ってAEで配置。
これらはどの方向から見ても、見た目の形状があまり変化しないという特徴のため、二次元で問題ない場合がある。
動きはAEのモーションやディストーションエフェクトで動かす。
余裕があれば物理演算(クロス)モデリングはメタボールが使いやすい。メタボール解像度を使用する。
丁寧になるならモーフやボーン、あるいは変形モディファイヤなど。

 

大量の液体:
パーティクル、あるいは、津波のような途切れない液体なら、普通のポリゴンで塊を作り、適当にモディファイヤやクロスシミュレーションで動かす。
板ポリゴンに動画を貼り付ける方法も可能。

 

波:
変位マップ(UVでなくローカル)で波をアニメーションできる。

 

光:
PSとAE、あるいはAE内のエフェクト。あるいは3Dで別に光だけ作ってAEで配置。
これらは液体以上にどの方向から見ても形状の変化がない。
マスクやディストーション、基本的なトランスフォームなどで動かす。
余裕があれば、パーティクル、3Dのグロウと自己発光、3Dレンズフレア、ボリュームライトなどを使う。
板ポリゴンに動画を貼り付ける方法も可能。

 

煙、霧:
3Dパーティクル。動きを表現するのが難しいため、AEではきつそう。
遠距離やわずかな動きなら、PSとAE、あるいはAE内のエフェクトで表現できるかもしれない。
板ポリゴンに動画を貼り付ける方法も可能。

 

炎・煙・大量に液体:
ポリゴンでやる方法もありそう。
およその形(三角錐)をたくさん作り、変位マップとバンプでタービュレンス、それを上昇させつつ、変位マップでタービュレンスをランダムに加えて風を表現する。端を透明にする。
板ポリゴンに動画を貼り付ける方法もあり。

 

爆発:
通常はパーティクルでやるが、ポリゴンでもできそうである。パーティクルだと膨大な時間がかかるのに注意。
およその形をもったポリゴンで、サブディビジョンを使ったノード変位、バンプ、サーフェイスのノード編集を使って時間的に変化させる。

 

オーラ:
一番きれいなのはグローを使うやり方だが、明るさと大きさを時間変化できるくらいで、色は変えられないので不便。しかしオブジェクト自体ははっきり見えるので、輪郭に近い感じで使用できる。
三次元的にオーラをまとう場合は、そのオブジェクトにハイパーボクセルを使い、スプライトでやればいい。オーラの面積が小さければレンダリング時間は短い。ただしこのやり方は、輪郭以外の中央でもオーラがかかる。
輪郭的に、つまり端だけ見えるが中央はかけない場合、これはエッジと同じ概念になるので、難しい。グローでできない場合は、ハイパーボクセルくらいしかできない。

 

人間の肉体:サブでディビジョンあり、できるだけレベルを高くする。面貼り。能動の動きはIKを含むボーン、受動の動きは物理演算。髪はファイバーFX、顔パーツはモーフ。余裕がなければボーンのみで。

 

衣服・布:サブディビジョンあり、できるだけレベルを上げる。面貼り(均等分割)。動きは物理演算。余裕がなければ肉体を同化させてボーンでコントロール。また回り込みがなく、常に同じ位置にあり続けるシワは変位マップやバンプマップで対応できる。

 

人工物(工業製品):サブディビジョンなし。プリミティブ。動きはキーフレームか物理演算。滑らかなところはできるだけスムージングで済ます。

 

樹木:
かなり遠距離なら、1枚の板ポリゴンに2D描画する。
中距離では、上から見ると米のような形をした、板ポリゴンを回した残像のような形。近距離になるほど枚数を多くする。
非常に近い距離では、たとえば樹木なら幹はフルポリゴン、枝もフルポリゴンで、葉は板ポリゴンを米状に貼り付ける。
CCTVでごまかす手もあるが、どんな方向から見ても同じように見える不自然さに注意。
動きが必要なら、幹や枝はボーン、葉はモーフ、ボーンで。余裕があれば物理演算でも可能。

 

山:
遠距離なら板ポリゴンとバンプ。
中・近距離なら山状のポリゴンと樹木。バンプ、あるいはかなり近いなら変位マップ。

 

地面:
遠距離なら板ポリゴン。
近距離なら板ポリゴンにバンプや変位マップ。
動きは物理演算やキーフレーム。

 

草:
中・遠距離は板ポリゴン。
近距離はファイバーFXでもいい。
動きは物理演算、ボーン、モーフ。

 

空、雲:
空はTextureEnvironmentのグラディエントで作成。プロシージャルでノード編集も可能。
雲は、前後対称でもよければTextureEnvironmentの平面状でスケールや角度を変えて配置する。
前後対称が嫌なら、巨大ポリゴンに雲を描いてはるか遠方に貼り付けるしかない。

 

光の筋:
よくあるまぶしい感じを出すときには、ボリュームライトよりもレンズフレアのほうがそれらしく見える。ボリュームライトでは眩しすぎることが多い。

 

紙状のもの:
非常に薄く、実質厚みを持たせなくてもいいものは、テクスチャで透明度を調整(Opacityで抜く)することで、ポリゴン数を大幅に減らせる。これは四角の1枚のポリゴンでもいい。
例えば樹木の葉や草などは、インスタンスを併用すると大量のポリゴンを少ない負担であらわせる。
また超遠距離で、実質形が変わらない山や海や雲なども、1枚のポリゴンに貼り付けてテクスチャで抜く方法が使える。

 

大量の人間:
背景キャラクタとしての大量の人間。例えばオブジェクト、IKを100人配置すると、パソコンが動かなくなる。
まずはじめに、下の「板ポリゴンに動画貼りつけ」ができないか検討してみる。これが一番正確で負担が少ない(動画はLWで撮影したもの)
手書きアニメを板ポリゴンに貼りつける場合、近景と遠景では省略の方法が異なるため、特に遠景の人間は手書きでやらないと、オブジェクトをそのまま遠距離に置いたのでは不自然になることがある。
最も良い方法は、板ポリゴンに人間の絵を描き、100枚配置する。これは1枚絵として使用し、カメラも動かさず、その絵をそのまま移動、拡大縮小、回転して使用するのが一番無難。
「板ポリゴン動画貼りつけ」を使わずにやる場合、サブディビジョンを最低限にし、ボーンやIKではなく、それぞれモデラーで一度にモーフで動かせるようにするといい。ボーンではスケマティックビューでさえ複雑すぎる(レイアウトでそのオブジェクトをスケルゴン変換しなければいい。モデラーではジョイントボーンなどでそれぞれモーフを作っておく)
大量の人間がわずかなアニメで済むなら、手書きの板ポリゴンに人間を描き、板をアニメさせたりテクスチャをアニメさせるほうがいいかもしれない。fpsが高い場合にはAEのディストーションによるアニメが有効かもしれない。
大量の人間自体をできるだけ画面に入れないように配置するのが一番楽。

 

大量の自然物:
同じ形ならできるだけインスタンスを使う。樹木などは、少し回転してしまえば別の形になるので、ランダム回転すれば不自然に見えない。
近景と遠景では省略の仕方が異なる場合(草むらなど)、近景用、遠景のオブジェクトをそれぞれ用意し、インスタンスなどで配置するといい(ただし遠景オブジェクトでカメラで近づくと不自然になる)

 

大量の建築物:
カメラから見て、カメラの動きで「見た目の形」が変わるものの場合、オブジェクトとして作らないといけない。単純な形で作成して配置する。あまり細かいところはテクスチャやバンプで済ませる。細かいところまでモデリングして負担を増やしすぎないように。
カメラが動いても「見た目」が変わらないほど遠い場合は、板ポリゴンに絵を描けばいい。距離感を少しでも出したければ、板ポリゴンを距離ごとに何枚か配置する。

 

//////////////
プリセットの使用

 

以下は最初からプリセットが用意してあるので、それを取り出して使いやすいようにアレンジして使うといい。
サーフェイス(主に物質)、スカイトレーサー2、TextureEnvironment、フロッキング、ハイパーボクセル(雲、炎、煙、物質、岩、宇宙など)、ボリュームライト。
特に爆発などは自力での設定は難しいので役に立つ。

 

//////////////
バンプか変位マップか

 

変位マップは、細かい模様だとポリゴンをたくさん作るため、可能ならバンプで済ませたい。
模様などに関しては変位マップでもバンプでも変わらないが、輪郭は変位マップでしか表現できない。したがって、輪郭が見えてしまうシーンを含む場合は、変位マップを用いる。
ただし輪郭は、まずはノードテクスチャを使って、輪郭部分の透明度をテクスチャなど使用して、それっぽく見せられないかどうかをまず検討する。それでだめなら変位マップを用いる。

 

例:
川や海は、1枚のポリゴンにバンプを貼り付ければよい。ただし水面を真横から見たシーンが存在する場合は、細かく砕いた後に変位マップが必要になる。
山や塊の草むらは、最小限のポリゴンでバンプをつけ、輪郭はテクスチャのノードで、カメラとの角度によって透明度を変え、輪郭付近が透明になるようにする。輪郭の透明度にプロシージャルテクスチャなど使用し、輪郭をギザギザにする。あるいは遠方の山なら、適当に輪郭を透明にしてしまえばよい。
道路、砂利道、床などは、真横から見るシーンがない限り、1枚のポリゴンにバンプを貼り付ければいい。

 

//////////////
板ポリゴンに動画貼りつけ

 

板ポリゴンに動画を貼り付け、板をカメラと常に正面になるようにすることで、ポリゴン数の負担を減らせる。この方法は、人間など複雑なアニメをするものがシーンに大量にある場合(数十人とか)には非常に有効。
欠点は、周囲との関連ができない。たとえば板ポリゴンの人間がもう一人の人間に抱き着いたり、殴ったりということはできない(こういう場合は2人まとめて板ポリゴンアニメさせる。要するに、板以外の物体との連携ができない)。また板なので影が正確でない。ライティングの影響も受けない。
レイアウトで大量複製すべきオブジェクトを1つずつアニメさせ、それぞれ動画にする。それら動画を板ポリゴンに貼り付けて動いているように見せかける。
板ポリゴンなので、近距離で側面からカメラが回りこむような動きをする場合には平面であることがばれてしまう。

 

手順:
まず動画を作るとき、本番と同じ動きのカメラで動かしつつ撮影する。ライトも本番と同じように設定。
動画をAVIにし、板ポリゴンに映して本番撮影。カメラの動きも前のと同じなので、動きはモーションでコピーさせればいい。
このとき板ポリゴンがカメラに常に正面になるようにしてレンダリングする。これで真横から見る不自然さまで直る。
複数人かかわるときは、複数人まとめて動画にし、板に貼り付け。

 

ボリュームの代用として使用:
時間がかかり、アニメ的にできないボリューム演算の代わりにこれを使用する方法がある。
板ポリゴンにAEなどで作成した炎や煙の動画を貼り付け、板を常にカメラの方向へ向かせる。
問題点として、板ポリゴンであるために物体やカメラが回ると板である事がわかってしまうことや、ほかの物体を内部に侵入させたり回り込ませたりはできない。
対策としては、物体やカメラを回転させない構図にする。

 

/////////////////
大量のポリゴンへの対処

 

ポリゴン数が多すぎると、レイアウトでもモデラーでも、操作に遅延が生じて困難になる。その対処。

 

モデラー:
モデラーでは数万ポリゴンで重くなりはじめる。
背景などで膨大なオブジェクトを扱う場合、モデラー上での位置関係はそのままで、別のファイルに分割していく。
つまり、モデラーで重くなり始めたと感じたら、そのままコピーペーストしてファイル的に分割していけばいい。
モデラー上での位置関係をそのままにしておくことで、レイアウトで読み込んだ時に、初期位置で位置関係が正しくなっているので、レイアウトで位置合わせをする必要がない。

 

レイアウト:
複製可能なものは、インスタンスを使わなくても、レイアウト上で複製し、表示をバウンディングボックスなどの負担の軽いものにする。
同じ形のものを複製するときは、インスタンスを使う。
表示サブディビジョンレベルを減らして操作し、レンダリング時だけ増やす。
別のシーンで動画を作っておき、上の「板ポリゴンに動画貼りつけ」を使う。

 

////////////////
手描きアニメ風にする

 

手書きのアニメの特徴:
fpsが低いと、高いときよりも絵は瞬間的に入れ替わる。30では中間の動きが動きで補間されるが、8ではまだ絵は止まっている。
つまりfpsが低いほうが、急加速、急減速しているように見える。fpsが高いと迫力が出ないのはそのため。
高いfpsでも手書きのような迫力にしたければ、グラフ曲線で急加速、急減速させればいい。

 

急加速・急減速の方法:
グラフ曲線のTCBの数値を変えただけでは足りないことが多い。カメラのタイムワープなど使うと、動きだけでなく時間全体がゆがむので都合が悪い。
そこで、動かすボーンなど、中間時間にキーフレームを追加して時間的に前後に移動させるとよい。
加速、減速を大きくする場合、2つのキーフレームの中間の、まず近い場所あたりに「動いている部分だけ」キーを増やす(止まっている部分まで打つとそこでTCBによる揺れができてしまう。やってしまった場合は直線にして動かないようにする)
これら近い部分のキーを、中間へずらすようにすれば、急加速、急減速の表現が可能になる。
全アイテムにキーを打ち、動く部分だけ中央へずらした後、動いてないもののキーを消すという手順でもいい。動いてないものはタイムラインにキーがでているので、消すのは簡単。

 

8fps表現:
現実には、すべてがモーションやモーフで表現できるわけではなく、どうしても絵を複数描いて、手書きアニメのように絵のすり替えでしか表現できないことがある。
動きでないもの、例えば光の点滅を8分の1秒ずつ描く場合、光は動いているわけではないため、モーフなどでは表現できない。
しかし手書きアニメでは8fpsだったので、24や30fpsの枚数で表現するのは大変。
そこで、例えば光の点滅の場合、0あるいは24fpsのままで、8分の1秒ずつ、光を点滅させる。24の動きの中に8分の1秒ずつの動きが入っても、実際はさほど不自然には見えない。
ただし人間の動きなどにはもちろん使えず、光のような特殊効果(物理的な動きでないもの)にだけ適用できる。
実際は、8分の1秒の間隔で、透明度を徐々に変化させていって次の絵へ徐々にクロスフェードさせることで、24の隙間を埋めると自然に見える。
このやり方で、1秒間に24枚の絵を描かなくてもすむ。

 

平面に動画貼りこみ:
板ポリゴンにAEなどで作った動画を貼る。立体まで作るのが面倒な爆発シーンなどに使えそう。
動画をLWで作成し、それを板ポリゴンに貼る手もある。

 

/////////////////////////
別オブジェクトにするかどうかの判断

 

一人の人間を作るとき、衣服や頭髪まで作るが、それらを一つのオブジェクト(レイヤー)としてまとめなければならないかどうか。
同一オブジェクト内で別レイヤーにするか、別のオブジェクトにするか、レイアウト上では同じだが、同じオブジェクト内ではボーンやモーフが同様に表示される。あまりにボーンが多くて見にくい場合、別のオブジェクトに切り離したほうがいい。

 

///切り離す条件

 

物理演算を使うもの:
物理演算はオブジェクト単位で行うため、オブジェクト、あるいはレイヤーとして切り離さなければならない。例えばスカート。

 

FiberFXを使うもの:
FiberFXはオブジェクト、あるいはレイヤー単位ですべてに適用されるため、切り離す。たとえば頭髪。

 

///切り離さないほうがいいもの

 

ジョイントモーフ:
ブラジャーのように、本体関節のジョイントモーフを使う場合。ジョイントモーフは別のオブジェクト(レイヤー)には届かないため、できれば同一レイヤー内に収める。

 

ボーンで動かせない衣服:
連続モーフで動かす物体の場合。連続モーフはオブジェクトの数が多いほど手間がかかるため、一つのレイヤー内に収めたほうがいい。

 

/////////////
建築物のコツ

 

レイヤー・ファイル分けについて:
同じ物体は同じレイヤーで作り、レイヤー分けしたまま統合しない。統合すると後の制作が非常に困難になる。レイアウトに持ち込むときは、別のファイルに統合したものをコピーして使用する。
ポリゴンが増えてきて重い場合、位置関係はそのままで別のファイルに続きを作る。そのままレイアウトに持ち込めば、それぞれ位置を移動させる必要がない。

 

接合の難しさの回避:
梁(ハリ)のある建築物のほうが建築しやすい。梁がないと、部分と部分をそこでぴったり接合しなくてはならなくなるが、これは難しい。
階段と廊下や床などの接合場所には、梁と同じような「接合部(小型の梁)」を作ってごまかすといい。廊下と階段の床を全く同じ高さにもってくるのは非常に難しい。接合部には梁を使う。
複数のポリゴンを合わせて一つのポリゴンにしたいときがある。この時、一度両ポリゴンの全ポイントだけすべて別レイヤーにコピーし、ポイント選択でポリゴンを作るとやりやすい。

 

穴あけと採光:
複数回にわたって同じポリゴンに穴をあけると、開けられなくなることがある。理由はわからないが、1枚のポリゴンに穴をあけるときには、一度のブーリアンで済ます。間違えたら、一度穴のポイントを選択して消せば、開ける前の状態に戻るので、やり直せばいい。
窓のサッシなどは、外から光が入らないよう、わずかな隙間もないように作る。サッシが壁にめり込むくらいでいい。わずかな隙間でもあると、そこから光が漏れて不自然になるので注意。
窓の穴あけは、窓ガラスをスムース押し出しで穴あけ用のオブジェクトを作るといい。
どこかに欠陥があって、むやみに光が入ってしまう場合、板ポリゴンでふさいで光が入らないようにする。

 

角を丸めない:
特に主要部分(梁、壁、床、天井など)は、角を丸めないようにする。
これらは特に切ったり貼ったりという細かい作業が必要だが、角を丸めると角に細いポリゴンが発生して作業が非常に難しくなる。

 

/////////////
複製時の注意

 

大量複製するとき、サーフェイス設定、パーツ分け、UV展開をしてから複製するようにする。
大量複製したものを一つ一つUV展開などするのは大変である。

 

///////////
トポロジー(ポリゴンメッシュの配置)とサブディビジョン

 

円柱の一周360度の曲面を作成するとき、最低限形を崩さず滑らかに見えるために必要な面数は6(サブパッチレベル6で)。つまり60度以内の曲面を作るときは1面で可能だが、60度以上のときは面を一つ増やさなくてはならない。
球を作るときは、縦方向に6面、横方向に6面必要なので、最低36ポリゴンは必要。

 

下書き:
6面図(左右対称なら5面図)を用意する。紙に描いてスキャナで取り込み、モデラーに下書き用のレイヤーを用意し、ボックスの面に貼り付ける。
さらにボックスに従い、スプラインで主要な線を3次元下書き。
できれば関節はボーン配置を考えて、できるだけ中間位置にしておく(半分曲げたくらい)例えば右に90度、左に60度回転するなら、初期位置は右に75度にしておく。回転角が大きいと変形がおかしくなる可能性が高いため、できるだけ最大変形角度が小さくなるようにする。
下書きが正しいか検証する。さまざまな角度から見て、間違いないか確認。いくつかの角度から見た図を印刷し、紙に絵を描いてみるとよくわかる。

 

面貼り:
紙にメッシュの配置を、およそでいいので下書きをする。まずは変形する場所(モーフ、ボーン)を、壊れないような配置で最初に描き始め、次に変形のない場所の配置を決めていく。おおまかなメッシュの流れを描く。
必要最小限の頂点でオブジェクトを作成する。オブジェクトの曲面の頂点(極大点)を探し、曲線の腹となる部分でポイントを一つ用意する。これが最低限必要なポイント数。
頂点を作成。最初XY面で全ての頂点を配置して、後で一斉にZへ移動させると早い。あるいはパースでポイントを置き、別の角度で移動、また移動……でもいい。
正面がZを向くようにする。レイアウトでは進行方向がモデラーのZの正方向になっているため、何かと便利。
同時に、変形する場所は、必ず変形させながら貼っていく。変形で予期せぬ形になる場合、その時点でメッシュの配置を変えるため、変形が全体の配置に影響するため。モーフ、ボーンともに。
サブディビジョンの場合、面貼りの精度は適当でいい。サブディビジョン状態で微調整すると、サブディビジョンを解いた時点でわけがわからなくなることがあるため。スケルゴンの調整直前に微調整するといい。
通常、サブディビジョンでは60度ごとに一面増やすが、スケルゴンの部分は、ピッチでは90度に一面、ヘディングでは60度に一面、バンクでは曲がる角度45度につき1本入れるようにする。理由はスケルゴン手順を参照。
その他変形についてはスケルゴン手順を参照。

 

四角形のみで構成する方法:
「閉曲面は偶数の頂点で成立する」と覚えておく。偶数の頂点でで囲まれた面は、必ず四角形のみで構成でき、奇数では絶対にできない。
閉曲面の外縁が偶数の頂点であればいいのであって、場合によってはその内側に1つか2つ点を入れると三角形上の四角形を作らずに済むことがある(外縁の頂点数は変わらない)。特に2点入れてベベルに近い形にするときれいに仕上がるが、サブディビジョンでそこだけ盛り上がったりするので注意。
しかし実際、すべて完全に四角形で構成するのは難しい。三角形は、閉じた曲面では必ず偶数個できるようだが、それを統合すればいいのだが、三角形がたとえば頭と足の裏にできているような場合、これを統合するのは難しすぎる。そこで現実的な方法として、三角形のポリゴンはなるべく見えない、目立たないところに配置するようにする。またキャットマルでは三角形でもさほどシワにならないので、あまり神経質になる必要はない。
三角形ができるのは、面貼りの作業の最終工程でできる問題なので、つまり重要な部分から先に制作するといい。重要でない部分は、たとえば後頭部のような髪で見えなくなる部分や、鼻の穴の中や足の裏など、普段あまり見ない部分。

 

サブディビジョンと閉じた曲面:
人体自体に適用する物理演算はSoftなので、人体を一つだけの閉じた曲面で作る必要はなく、切り離して別々にサブディビジョンしてもいい。
ただしClothの場合、重力設定で自由落下するため、一つの閉じた曲面で作る必要がある。さもないとバラける。

 

滑らかな物体を作る場合:
サブディビジョンそのものでは都合が悪いような物体、たとえば机のような物体では、面の部分までポリゴン分けされているので無駄である。
こういう場合はサブディビジョンを使わずに角を削ったりするが、サブディビジョンしてからフリーズさせ、無駄なポリゴンを修正していってもいい。
サブパッチやキャットマルの分割率をオプションで調整して、滑らかさを決める。
無駄なポリゴンがある場合、削っていく。エッジだけ削る「ループのディゾルブ」などの機能を使うと早い。

 

輪郭線の滑らかさ:
3Dでは、輪郭線を完全に曲線にすることは不可能。ポリゴン数を増やすことで、見た目でほとんどわからないくらいにはできるが、完全な曲線にはならない。
スムージングを使えば、陰影に限っては完全に滑らかにできる。

 

サブパッチ補間について:
キャットマルでは現在、サブパッチ補間が不可能。よってテクスチャを使用するものは基本的にサブパッチになる。

 

サブパッチとキャットマルの違い(分割方法):
三角形:サブパッチは多数の三角形に分割する。キャットマルは多数の四角形に分割する。
四角形:サブパッチもキャットマルも多数の四角形に分割する。
五角形以上:キャットマルではポール状(中心に一点作り、そこを中心に放射状に四角形で分割)

 

普通はキャットマルのほうがきれいに仕上がる。四角形のみで作られるのが理由だが、四角形のみでもたいていキャットマルのほうがきれいに仕上がる。同じポリゴン数でもたいていキャットマルのほうがきれい。
キャットマルでもポール状の部分などはしわができる。
処理の早さはサブパッチのほうが早いが、無理に四角形のみにしようとするとポリゴンが増えるため、ポリゴンを減らしたキャットマルのほうが早いかもしれない。
また、サブパッチのレベル4はおよそキャットマルのレベル2(半分)に相当する。しかしレベルが上がると、サブパッチはなかなかポリゴン数が増えないが、キャットマルは急速に増える。シワをなくすにはとにかくレベルを上げればいい。
サブパッチはフリーズするとシワが少し消えるが、キャットマルではそういうことがない。
関係ないが、トポロジーを考えるときはキャットマルの分割を参考にするといい。特に中心点への集まり方。

 

シワについて:
一言でいうと、ポリゴンに鋭角部分があると(45度以下)しわができる。サブディビジョンではなくスムージングの時点でしわになる(サブディビジョンは細分化するだけ)
単一ポリゴン中、鈍角部分があれば残りは鋭角になりやすいため、鈍角を作るのも望ましくない。できるだけ正多角形を目指す。
三角形は鋭角ができやすいためにしわもできやすい、という理屈。正三角形のみで作ればシワはできない。
以下、サブディビジョンの分割手法を考慮し、どういうポリゴンでシワができやすいかを述べる。

 

分割の詳細:
サブパッチ、三角形:元の三角形の中点を頂点とし、中にもう一つ同じ三角形を作る。このため元の三角形に鋭角があればパッチ後にも鋭角ができる。つまり鋭角がある場合、サブディバイドでさらに鋭角が増える(シワが増える)
キャットマル、三角形:元の三角形の中点から重心へ線を引き、一つの三角形から4つの四角形を作る。このため新しく鋭角が作られることはない。元の三角形に鋭角があれば、それだけシワになり、それ以上シワは増えない。
四角形:対面の中点へ線分を引く。シワは増えない。増えるどころか減ることもある。
キャットマル、n角形:nが大きくなればなるほど重心から出る線が増えるため、一つの角度は減る。つまりnが大きいほど鋭角ができやすい。

 

サブディビジョンでの曲率調整:
キャットマルならエッジ単位でカクつきの調整ができるが、キャットマルはサブパッチ補間が使えないので不便。
サブパッチで、ボーン変形のない物体なら、エッジをカクつく周辺で増やせば、それでカクつかせることができる。
サブパッチウェイトを変える方法もあるが、エッジ単位ではないので注意。

 

シワを出さないコツ:
テクスチャがなければ、できるだけキャットマルにする。どうしても重すぎるならサブパッチで。
まず、できるだけ長方形に近い四角形のみで作成しようと試みる。
三角形ができるときは、正三角形に近い角度のものにする。ただし変形の少ない場所に限る。
三角形を使うとき、鋭角ができたら隣接する四角形とくっつけて五角形にできる場合は、そうすることで鋭角をなくせる場合がある。
ポリゴン数はできるだけ少なくする。分割が増えると鋭角ができやすくなる。
n角形を使うときはnが増えないようにする。六角形以上は使わないようにする。

 

////////
ポリゴンの修正

 

ポリゴンを減らす:
ボーンの関節点などは一般に、ポリゴン数が少ないほど上手く曲がるため、この点で上手くいかないときに、トポロジを崩さずにポリゴン数を減らさなければならないときがある。
偶数の頂点で囲んだ面はすべて四角形で分割できる。部分的に減らす場合、まず一つ以上の頂点を囲む、偶数の頂点で成り立つエッジを見つけ、そこを四角形で分割すると、全て四角形でポリゴン数を減らせる。
大きく減らす場合、ループ選択のように一筆書きで面を選択し、削り取ると、そこを接合させれば全て四角形のポリゴンを維持できる。

 

平たい面(曲面)にしたいのにメッシュが集中してボコボコになってしまって困るときは、滑らかにした多数の面を全部一つの面にして(メタフェイス変換、エッジ減少、平坦化など)、後でエッジ追加などで四角形メッシュを貼ればいい。
どんなに切ったり貼ったりしても、閉じた曲面の中での四角形の数は一定。ただし2つのポリゴンを統合して1つにすると三角形が二つでき、2つの三角形から1つの四角形が出来上がるが、この2つの三角形の距離を離しすぎると統合できなくなり、結果として三角形が2つの状態で仕上がることになることがあるので注意。
頂点を増やす場合、ある点を囲むようにエッジを追加する。減らす場合、ある点を囲むエッジを減らすように頂点を減らす。

 

尖らせる部分について:
修正はエッジウェイトやサブパッチウェイトを調整するのがベストだが、それでは上手くいかない場合、その部分の頂点を増やすと自然に尖ってくれることがある。特にサブパッチウェイトは尖らせたくないエッジまで尖ってしまうので、この方法が有効。

 

////////////
一人の人間をコピーして別の人物を作る

 

まず裸体の状態で改変する。改変は頂点などを移動し、必要でなければポリゴンは増やさない。増やすとウェイトマップの付け直しが要る。
身長など、大きな改変は、拡大縮小などで。
ボーンの変形を確認。
目は、眼球の大きさや位置は変えず、まぶたなど周辺の位置を変える。
口はそのまま変更してもいい。
テクスチャを描く。
体にフィットする服は体をはがして作成、フィットしない服は一から作成し、ボーンの変形を確認。

 

/////////////
スケルゴン手順

 

基本方針:
ウェイトマップの微調整はできるだけ使わず、VertexPaintの一撃で済ませる。ウェイトマップの調整が必要ならVertexPaintでペイントするのが早い。ただしサブディビジョン状態のものは見られないため、サブディビジョン後の形を予想しながらやることになるが、そんなに難しくはない。
ウェイトの値は、100だと完全に追従して回転する(半径が変わらない)が、100以下では渦巻きのように半径が縮みながら回転するため、その周辺の体積が縮小する。これはレイアウトの接合部補正で防げるが、これはピッチに対してだけ機能するので、2方向以上補正をかける必要があるときはボーンの数を増やし、少しずつ曲げるようにすれば体積の縮小は防げる(ただし人間の体では2方向以上補正が必要な部分は存在しない)
スケルゴンの名前の変更は、まずスケルゴンツリーでスケルゴンの名前を変えてからVertexPaintの自動計算をすると楽。なぜかその後名前を変えるとおかしな動きになることがあるため、できるだけウェイトマップ作成後には名前を変えないように。
ノーマライズは全てのポイントのウェイト値を合計1にする機能。親が動けば子も動くので、子が動かすところは親も動かせると覚えておく。
ポリゴンは縮みよりも「伸び」のほうが弱い。したがってポリゴンが最も伸びる時点を初期位置にするように頂点位置を再調整すると非常に上手く変形する。ただし曲げた状態で固定すると、VertexPaintの自動計算がやりにくくなるという問題があるため、あえて伸ばしておいたほうが改良しやすい。レイアウトに読み込む直前にこれをやってもいい。しかし一般的に言えば、めいいっぱい伸ばした状態のほうが造形の編集はしやすいので、初期位置を曲げるのはリスクがある。
ウェイトマップでマイナス値を使うのは推奨されていない。筋肉を盛り上げたいならレイアウトの「筋肉の隆起」やジョイントモーフを使う。ボーン変位などもある。

 

スケルゴンエディターとスケルゴンリーダー:
制御と制限がここでできるので使いたいところだが、重大な不具合が治らないため、使えない。使わないように注意する。

 

手順:
スケルゴンを入れるタイミングは、面貼りをやりながらでもいいが、そのたびにやっているとノーマライズで値が変わったり間違って全体にVertexPaint自動計算をしたりすると今までの調整が無駄になるので、面貼りを全て済ませてからスケルゴンを入れてもいい。
まずはサブディビジョンの場合、造形の精度を十分にする。形がしっかりできていないと正しい変形が見られないため。頂点移動のほか、サブパッチウェイトやシャープネスで形状を整える。

 

スケルゴンの入れ方:
関節点(回転の中心)は、基本的には関節断面(最も折れ曲がる部分の断面)の中央に入れるようにすると最もうまくいく。脚の付け根でも、まず斜めの断面の中央に入れる。それでうまくいかない場合、二段階関節を考える。
いわゆる「関節」とは、ピッチとヘディングのことを指す。大きく曲がって体積が縮小する部分は、人間の場合、一つの関節では1方向しかない。したがってその方向をピッチにする(バンクの回転角度の調整、スケルゴン編集で後からでも調整できる)
VertexPaintはサブディビジョンでないときの状態を基準に計算するので、スケルゴンを入れるときや位置の調整は、サブパッチしていない状態にする。

 

ピッチとヘディングの入れ方:
ピッチをヘディングは関節は非常に短くてもいい。また短い間で大きく曲がることが多いので、その部分にはピッチでは90度(補正できる場合)、ヘディングでは60度、バンクでは45度につき、スケルゴンを1本、ポリゴンを一面増やす。これで変形時にサブディビジョンの「壊れ」が出ないようにする。
関節の曲がる点ピッタリの場所にいれるといい。関節位置ピッタリの場合、後でVertexPaintで高い値を入れるといい。VertexPaintの値は、高いほど(128とか)影響範囲のウェイトが高くなるため、体積の縮小が起こりにくい。できるだけ高くするのだが、そのためには影響範囲が狭くなるため、関節面ピッタリの場所に入れる。

 

バンク:
バンクは関節部分ではなく、骨に沿って入れる。ボーン付け根から親部分に向かって少しずつ回るように調整する。これだけは1つのボーンだけで済ますことは非常に難しい(堆積の縮小を防げない)そこで、バンク45度ごとに一つ入れるのがいい。例えば135度なら3本のスケルゴンを連続して入れる。
バンクの骨で、本当に根元にあるボーンは、自動計算の都合でバンクには役に立たない(付け根だけ回る)。したがってバンクは根元を含めると一つ余分に作ることになる。例えば90度回転させるなら3つ作り、先端の2つをバンク用に利用し、付け根のボーンは使わないことになる。その付け根のボーンをピッチとヘディングに使うとちょうどいい。

 

ボーンの位置と切り取り範囲の調整:
まずボーンの位置と切り取り範囲を調整する。これが完全に正しくなるまでウェイトマップはいじらないように。
それぞれのスケルゴンで、スケルゴンの影響を受ける部分を切り取り、塊を別レイヤーに移す。
切り取り方だが、一直線になっていてVertexPaint自動計算で一気に計算できそうなところはまとめて切り取る。枝状になっていたり、曲線状になっていて、VertexPaintの自動計算で上手くいかないところは、相互に影響がないように分ける。人間の体でいえば、各指ごと、腕全体、脚全体、足の指、くらいで分ける。
切り取るとき、残さず切り取る。残しがあると、そこだけVertexPaintで計算されず、ノーマライズしたときにおかしな値が入る可能性があるため。

 

ボーンの名前について:
VertexPaintは、同じボーンの名前でウェイトマップを作ると、後のもので前のものを上書きしてしまう。このため別レイヤーに分ける場合はボーンの名前を固有のものにしておく必要がある。

 

ルートボーン:
ルートボーンは縦にまっすぐ入れる。これでオブジェクトの回転も行う。

 

VertexPaint自動計算:
分けた部分をVertexPaintで自動計算し(VertexPaintは別レイヤーには及ばないため)、VertexPaint内で関節を動かして変形テスト。おかしければ切り取り範囲を変えて(切って元レイヤーに戻したり元レイヤーから持ってきたり)また計算して変形テスト。あるいはボーンの位置や数を調整してみる。
これで上手くいったら、その切り取り範囲を選択セットで保存しておく。これらはVertexPaintを再度自動計算するときに常に分けて別レイヤーへ移さなければならないため(切り取りが悪ければ再度計算の必要があるが、いっぺんで切り取りが正確にできることはあまりないので、この過程は必須)
VertxPaintだけでなく、その場でスケルゴン回転で、サブディビジョンの状態(特にスムースシェイドで)を見てみる。
計算にはスケルゴンは少なくとも2つ以上必要で、最も親のスケルゴンは計算できない(全部100%になる)なのである程度いっぺんに切り取って計算する(ピッチとヘディング、バンクを別々に計算しようとするとここで困るので、バンクも同じ128で計算する。45度に1つ入れていれば、これに耐えられる)
VertexPaintの計算は値が高いのを使うのがベスト。できれば128で自動計算できるといい。値が小さいと余計な部分まで曲がってしまう。しかしこれだと影響範囲は小さいため、スケルゴンの関節点の真横にポリゴンの断面が来るようにする。
部分のルート(一番親のスケルゴン)はその場でテストできないので、元レイヤーに戻してテスト。
計算が終わったら全てのレイヤーを一つの集め、ノーマライズする。戻すときは「ポイント結合」をすればいい。
元レイヤーでもスケルゴン回転などで調整する。ノーマライズで変わっている可能性があるため。
とにかくこの過程では、切り取り範囲の決定とボーンの位置と数を決めることに全力を注ぐ。実際にはウェイトマップの調整はほとんど不要のため、この過程だけでボーンの作業は終わると思っていい。選択セットで正しい切り取り範囲を保存することで、いつでも各部VertexPaintの自動計算ができるようにしておく。

 

サブパッチウェイトなど調整:
関節で、骨が出っ張って表面に見えている尖った部分は、ウェイトマップではなくシャープネスかサブパッチウェイトでさらに調整するといい。ウェイトマップではなかなか思うように曲がらない。ただしその部分は平常時にも出っ張るので、値は低いほうが無難。
その他の部分のシャープネス、サブパッチウェイトで最後の造形の微調整を行う。

 

レイヤーわけ:
この時点でマップを全て消去し、ひとまず分類したパーツセットごとにレイヤーに分けておく。ボーンの調整は最終段階で一気にやるほうが間違いにくいため。
レイヤーに分けたら、テクスチャ貼りに移る。テクスチャでトポロジが変わる可能性もあるため。

 

二段階関節について:
足の付け根や膝など、非常に急角度で曲がる部分は、接合部補正でも補正しきれないことがある。そういう部分では関節を二つ作ると非常に上手くいく。一つは普通に作り、もう一つは少し先端側に作る。こうすると曲げによる体積の縮小を簡単に防げるので非常に便利。

 

うまくいかないときの対処:
VertexPaintの計算のための「切り取り」は、どこで切り取るか(どこまで影響させるか)は非常に重要な問題。まずこれをいろいろ試してみる。
体積の縮小やめり込みが防げないときは、二段階関節を試してみる。たいていこれで解決できる。
ポリゴン頂点の位置を変えると直る場合がある。ワイヤシェイドなどで頂点の動きを見てみるとわかる。
ボーンの関節の位置を変えてみる。といっても、基本的に肉の中央で、関節点ピッタリで固定すべき(二段階関節を除く)であり、それが上手くいっているかどうか再度確認する、ということ。関節点にしっかりおかないとすぐにおかしな動きになるので、それを疑ってみる。関節点を肉の外側に持ってきたりするのは、別の部分が回転しすぎたりするのでよくない。
ウェイトマップは最終微調整のためと思っていい。できるだけいじらないように。事実、人間の体でさえ、ボーンの位置と数をしっかり設定すれば、ほとんどいじる必要がない。とにかくウェイトマップをいじるのは最終手段と考え、ボーンの位置と数、ポリゴンの配置をまず変更してみること。

 

線の四角形ポリゴン:
まれに、四角形のポリゴンなのに線になっていて、しかもほかのポリゴンと一致していて非常に存在がわかりにくいことがある。しかしこれがあるとどうしても上手く曲がらないため、逆にどうしても上手く曲がらないとき(シワができるとき)は、これの存在を疑ってみるといい。頂点を統合したときに起こりやすいようだ?

 

///ボーンとトポロジーについて

 

ポリゴン数とボーンの関係:
曲がる部分は、たいていポリゴン数が少ないほうが上手く曲がる。
足の付け根など、どうしても上手く曲がらないときは、まず無駄なポリゴンがないかどうかを見る。上記ポリゴンを減らす方法を参照。少しでも減らす。
特に、大きく曲がる部分はポリゴンが多いとおかしくなりやすいため、あまり伸びない部分でポリゴンの数を徐々に減らしていき、伸びる部分では十分減っているようにするといい。

 

ポリゴンの方向:
頂点とエッジ、そして面の性質について。
経験則だが、頂点とエッジはそこが「角」あるいは「曲がり点」のような状態になりやすい。角の部分が頂点になるようにし、関節断面はエッジで曲がるようにする。急激に曲げたい、角にしたい部分では面が来るように配置してはいけない。
面はその部分は滑らかになりやすいため、特に滑らかな曲面は面に相当させる。滑らかにしたいのにエッジや頂点が来るように配置してはいけない。

 

ポリゴンの平行性:
サブディビジョンの場合、関節を曲げたとき、できるだけポリゴンのそれぞれの内角がそのままになるようにする。曲げてもポリゴン(四角形)の形ができるだけ維持されるように。
コツがある。まず関節断面はエッジが来るようにする。その周囲はできるだけ関節断面のエッジに並行になるように、ポリゴンを配置していく。つまり、腕や脚などを輪切りにするように、関節断面に並行にエッジを配置し、あとはそれに垂直にエッジを配置すれば、きれいな四角形の連続になる。
とにかく、曲げても四角形がそのままになるように。

 

///特に難しい部分の対処

 

脚の付け根:
関節断面が斜めなので、斜めの断面の中心あたりにボーン関節点を一つ、さらに下、股間のさらに少し下あたりでもう一点作り、少し離れた二段階関節にする(中間に一つボーンを挟む)。ウェイトマップで調整が必要。ほとんどは関節断面の関節だけでうまくいくが、ヘディングが急激になる場合は2番目のものを、足を大きく上げた場合は3番目の関節も使う。
3番目の関節も全方向に動かせるようにする。付け根はヘディングもバンクも回しすぎると股間の形が変形して見えにくくなるため、中央の形が歪んだときはここを回して歪まないようにする。
股間と同じ高さにやると、横方向へうまく曲がらなかったりする。基本的にはボーンの関節点は関節断面の中央あたりに置くことを念頭に置く。

 

足の付け根のめり込み問題:
最も難しいのが足の付け根で、足を大きく上げた後に横へ開く場合、股間に大量にシワができる点。この問題は、足を開くときにバンク方向へ同時に回転させるとシワがなくなる。しかしバンクに回転させては不自然なため、同時に膝近くのバンク回転を逆方向に回せば相殺できる。
この付け根のシワは、ウェイトマップ、スケルゴンの位置、ジョイントモーフなど、どうやっても解決しない問題のようで、これ以外に解決方法が見つからない。

 

肩:
肩甲骨の上昇時、自動計算では乳房あたりまで肉が動かない。この辺りはモーフで補う。ジョイントモーフにする。
肩を上げるとき、最初45度くらいまでは肩甲骨が上がるが、そのあとは肩甲骨は上がらず、肩の根元が上がる、という順番があるのに注意する。

 

指:
指は、親指と中指はまっすぐ曲がるが、薬指と小指は手のひらの中心辺りに向かって、やや中央寄りに曲がる。
しかしやってみるとわかるが、これをVertexPaintですべて正確な方向に曲がらせるのは非常に難しい。一つ前のバンク回転角度を調整するのだが、4本全てが衝突しないように一つずつ調整するのは非常に困難で時間がかかる。
そこでいい方法として、とりあえず真上からボーンを入れて、すべて真横に曲がるようにしておく。そしてレイアウトで曲げるとき、指の付け根だけヘディングやバンクも曲がるようにしておき、曲げるたびに微調整して4本が衝突しないようにするといい。時間的に見て、こちらのほうがずっと効率がいい。

 

眼:
キャラクターの場合、テクスチャによる移動を使うほうがいい。陰影が出ないよう、あまりデコボコを入れないように。
テクスチャによる移動のしかたは、モデラーで「平面状」でZ軸方向にしてテクスチャを張り付ける。UVだとポリゴンに固定されるために動かせない。
よって、目を動かすときは、ノード編集の「位置」がグラフで調整できるので、これを使う。目はZ方向は考えなくていい。

 

口:
キャラクターの口は小さすぎて、横から見ると奥行きが足りない。これを防ぐ方法はないので、できるだけ真横から撮影しないようにする。

 

胴体:胸や腹は自動計算を128ではなく4くらいで行う。
ひじ、ひざ:ひじは関節ひとつでも補正をかければなんとかなる。ひざは2段階関節が必要。

 

///スケルゴンの最初のバンク角度について
普通にスケルゴンを引いたときは、パースビューに従う。上面、側面いずれかによって、スケルゴンのバンク角度は決まる。
スケルゴン変換のときのバンク角度の規則はよくわかっていない。しかし、一度ドロー線を引いたら、後はそれをどのように回転、移動、スケールしても同じ方向に出来上がることから、ドロー線を引く時点ですでにスケルゴンのバンク角度は決まっている。
原点からの角度と関係があるようで、Y軸から同心円状にドロー線がひかれている場合は、すべて同心円状に規則的にバンク角度が決定する。スカートなどはY軸を中心に作れば、同心円状のバンク角度を作成できる。
しかし常にうまくいくとも限らないため、念のためVertexPaintでバンク角度を見て調整する方法が最も確実。

 

///////////////////////////////////
モーフ

 

///モーフとは(モーフィング)
モーフは、あるオブジェクトを基本とし、別の形を作成、「相対」ならポイントの移動した分だけベクトルを記憶し、「絶対」は移動したポイントが絶対座標で記憶される。
相対だと、ベースを移動すればその分新規モーフも移動する。
まず基本オブジェクトを作成したら、右下の「M」か「新規モーフ」、その後変形すれば変形した分だけモーフになる。レイヤーみたいなもの。ベースのときに変形すればそれがベースモーフになる。
元のポリゴンの位置をを少しでも変えるとモーフもたいてい変更が必要。
レイアウトでは、サブディビジョン手順をモーフの後にしていないとうまく変形しないので注意。
モーフのテストをするとき、50%くらいのときもチェックする。まぶたなど、50%モーフのときに眼球がまぶたを突き破っていることがある。

 

モーフの手順(左右対称図形も含む):
モーフは切ったり貼ったりするとうまく機能せず、あくまでポイントの移動で作成しなければならない。「背景からモーフ」でも、切り貼りした場合は全体の形がむちゃくちゃに崩れる。
左右対称を作る場合、プラグインのMMapを使うといい。

 

まぶたのモーフ:
顔面のモーフは難しい部分がある。
まぶたを閉じたとき、まつ毛などのテクスチャが伸びたり隠れることがある。これは、ポリゴンが伸びる部分がそうさせてしまうので、そのポリゴンが伸びないようにモーフを作るか、伸びる部分にはテクスチャが入らないようにするか。
まぶたの内側に、閉じたときの切れ目が鼻のあたりまで入り込むことがある。これは、目の中央寄りのポリゴンや頂点を移動させて、急激な折り目がつかないようにモーフを調整する。
眼を閉じたときに下のまつ毛が見えて不自然な時は、下のまつ毛を十分上に移動させて見えなくする。しかしやりすぎると50%くらいモーフした時におかしいことがある。また中央に織り目がつきやすいので、できるだけ移動量は控えめに、ぎりぎり見えないくらいにする。
調整が微妙で難しいため、片方調整したらMMapで移動するといい。顔面のトポロジは完全左右対称になるようにしておくこと。

 

口のモーフ:
口の内側の皮膚は作らない。顔面は一枚の面で作る。内側まで作ると非常にややこしく、モーフが作りにくい。
特に真横から見て不自然にならないように。口をあけたとき、適度に奥行を持たせないと、横から見てもちっともあけていないように見えることがあるため。

 

口の正面と横の矛盾:
口の中央は少し前へ突き出ているのだが、この突き出た部分を入力しないと横から見たときものすごく不自然。しかしこれがあると正面から見たとき必ずこの部分に不自然な陰影ができる。
そこで、この突き出をモーフにし、横から見たときはオンにする。現時点でこの方法しかない。
当然、口の表情や言葉のモーフそれぞれにこれが必要。

 

MMapを使わない場合:
左右対称図形で、左右それぞれモーフを作るとき、それぞれ作ったのでは左右でずれが生じるため、それをできるだけ防ぐ方法。
まぶたを例にとると、まず右まぶた用のモーフマップを用意する。オブジェクトを別レイヤーにコピーし、左右対称モードで両方のまぶたを変形する。そして右まぶたのマップを左マップにコピーする。これで変形レイヤーを背景にし、元レイヤーを左右それぞれ変形させて作成する。
モーフマップはレイヤーでまるごと記憶されているため、背景レイヤーの右、左とも、両まぶたが変形していなければならないことに注意。
このやり方は、完全に左右対称になるわけではないが、見た目でわからないくらいの精度はある。ただし左右対称モードでは、変形部分は対称として操作はできない。
出来上がったらレイアウトで変形を確認する。モーフの途中でポリゴンが突き抜けたりする問題がないかどうかを見る。

 

モーフの組み合わせ:
プラグインのモーフマップ・ミキサーを使うのがいい。モーフ適用でもできるが効率が悪い。
口や眉毛では、理論上動きうる動きをすべてBasicとして記録し、それらを組み合わせて実用的なモーフを作成していくとモーションの時にやりやすくなる。

 

複数オブジェクトに共通モーフ:
複数オブジェクトを同時に普通に表示したまま「新規モーフ」で作成すればいい。これで変形すれば両方のオブジェクトに同じ名前でモーフを登録できる。
同時にモーフで動かしたいときなどに有効。モーフのグラフ編集でチャンネルのところで右クリックの「保存」「置き換え」でコピーしていくと楽。
オブジェクトが2つあり、片方のモーフにあわせてもう一つのモーフを作るときは、オブジェクトを別レイヤーにコピーしてそれにあわせたほうが手間がかからず楽。
詳しくは「連続モーフ」を参照。

 

モーフとボーンの順番について:
モーフが先でボーンが後なのだが、モーフはローカルのポーズで行われて、その後にボーン変形が行われる。
たとえ何フレーム目であっても、まずローカル(モデラーの状態)の状態でモーフの変形が行われ、その後に現在フレームのボーンの変形が行われた形になる、と考えるといい。
0フレーム目や現在のフレームを基準にしてモーフ変形が行われるのではなく、あくまでローカルの形でモーフ変形が行われることに注意。

 

モーフ同士の順番:
モデラーで異なるモーフを順番に使った場合、使った順で変形する。通常のモーフで重ねても順番は関係ないが、モデラーのジョイントモーフは回転なので、通常のモーフと併用すると順番が異なると変形も異なる。

 

モーフとボーンの順番を変える:
変位ノードでモーフマップをやれば、ボーンの後にモーフ変形できる。
ボーンのアイテムプロパティでも設定できるが、こちらはシーン中で変更ができない上、パフォーマンスに問題が出るらしいので、やらないほうがいい。

 

////////////
テクスチャ手順

 

///基本

 

UVマップについて:
UV作成の際、ポリゴンを選択してその部分だけ作ることができる。
UV座標からはみ出た部分(1.0以上の部分と0以下の部分)は、繰り返しになる。たとえば1.2の部分は0.2と同じになる。
テクスチャを画像で貼り付けるとき、画像でなくもとの色(LightWaveの単色)でできるときは、できるだけ元の色でやる。画像はテクスチャの解像度の関係で、粒子が見えたりすると汚い。

 

複数共通UV:
ある部分を、コピーする前にUVを出しておけば、コピーしても共通のUVとして利用可能。大量に複製してそれぞれUVが必要な場合、複製前にUVを出しておくことで効率がぜんぜん違う。

 

不連続UV:
パースビューでいくつか隣り合うポリゴンを選択すると、UV上では隣り合っておらず、離れていることがある。このポリゴンの属するポイントを結合解除すると、UV上では離れた点にポイントが出来上がる。これが不連続UV。
パース上では隣り合っているのが、UV上では隣り合っておらず、そこで切れている。なので「画像を貼り付けるときにそこが滑らかに画像でつながらない」という問題がある。
不連続UVはそのままだとUV上で移動できないが、パース上でポリゴンを結合解除すれば移動できるようになる。ただし後でパース上で結合しておかないと物理演算などでばらけてしまう。全てのポイントを選択してポイント結合すればいい。またFreeMoveにしておくと、移動や回転で自動で切り離せる。
サブパッチのものはサブパッチ補間する必要がある。いろいろ試してベストなものを選ぶといい。非連続部分のテクスチャやバンプが問題になるとき、まず非連続エッジを試すといいが、うまくいかないこともあり、リニアコーナーなどのほうがうまくいくこともある。

 

//UVテクスチャ作成手順
まず画像を作成する。顔面の場合、正面ビューでプリントスクリーンし、フォトショップに貼り付け、それを参考に目などの画像を作る。形は正面ビューなど参考に、そのまま描けばいい。
テクスチャは複雑な形で出すとどこに対応するかわけがわからないため、できるだけ簡単な状態、ポリゴンの数をそれ以上変更しないと思った時点で出す。サブディビジョンならフリーズせずに出す。
UVは必要な部分だけポリゴンを選択して出す。また必要であれば、画像ごとに一つずつUVを出す。その画像に最適な頂点の配置がある場合があり、別の画像では適切に変形しないことが多いため。
ペイントデータをLWに読み込んだら、あとは画像に合わせてUVの頂点を移動させるだけ。正面で見た図と同じ形になるように移動すれば、およそうまくいく。ただし一つのUVに複数の画像を対応させている場合、UVを移動させるわけには行かない。下の「正確なUVテクスチャの書き出し」を参照。
サブディビジョンのオブジェクトでは、サブパッチ補間などの補間をしておかないと、画像がサーフェイス上でゆがんでしまうので注意。頂点移動自体はサブパッチのまま行う。キャットマルではサブパッチ補間がきかないので、最初からサブパッチでやるように。

 

テクスチャを出すときの注意:
そのままUVを出すとUV自体が意味不明な形で出てくるため、出す前に選択範囲を変形、特にXYZのどれかの軸で揃え、平面上でUVを出すといい。この変形自体はモーフを用意してやると、すぐに元に戻せる。モーフ変形したままUVを出す。
UVで出すとき、それぞれのポリゴンの面積が歪んでいれば入るほど、拡大縮小が多ければ多いほど、テクスチャが書き込みにくい。テクスチャを見たまま書き込んでも、UVポリゴン面積の差で歪んでしまう。よって、できるだけポリゴンの面積を維持したままポリゴンを正面に向かせる。
しかし回転ツールだけで変形しても、端のほうがなかなか回ってくれないことがある。これはサブパッチ補間の都合で、周囲のポリゴンとくっついているために起こる。
そこでまず新規モーフを作成し、UVを出す全ポリゴンを一度切り取り、そのままペーストし、周囲のポリゴンから切り離す。そしてそれ以外のポリゴンを非表示にし、表示ポリゴンを部分的に「回転」させることで全体が平面になるようにする。それで平面でUVを取り出す。「回転」のみ使うのが重要。こうすれば面積をほとんど代えずに平面状でUVを出せる。
UVテクスチャを取り出したら、モーフを消して、UVを出したポリゴンとその周囲のポリゴンを選択し、「結合」でポイントを結合させ、元の形に戻す。モーフを消さないと結合できないので注意。
Ver11.6時点で、UVを平面で出すと、ジオメトリそのままの比率ではなく、UVの正方形に合わせて無理やり拡大縮小されている。これを訂正するためには、UVテクスチャマップ作成の時、設定をマニュアルにして、縦と横の長さを同じにする。たとえばZ軸基準でテクスチャを出した場合、XとYの値を同じにすれば、見た目のままの比率で出せる(一度「新規UVテクスチャ」にしないと位置が狂うので注意)

 

UNアンラップ:
UVで切れ目を入れたい部分をエッジで選択、反応させたくない部分のポリゴンを「隠す」にした状態で「UVアンラップ」を使うことで、各ポリゴンの面積をできるだけ維持したままUVを出せる。
服の模様や髪の生え際など、場所によってはこちらのほうが都合がよい。

 

正確なUVテクスチャの出し方:
プリントスクリーンだと、切り取ったとき(フォトショップの「切り抜き」)のにUVの端(1.0の位置)がなかなか正確に合わせられず、わずかにずれることが多い。非常に微妙な輪郭線など書くとき、このずれが致命的になることがある。
大きさ自体はEPSで書き出せば完全に正確のため、ファイル自体はこれを使用し、上からプリントスクリーンした画像を貼り付けこれをEPSと完全一致させ、これを見ながらペイントする。
まずモデラーでEPSファイルにして書き出す(EPSはマイドキュメントなど、日本語フォルダ名のところには書き出せないので注意、DrawPointsを忘れずに)これをフォトショップで読み込むが、これはサブパッチ補間がない。
プリントスクリーンでサブパッチ補間のものを切り取ってEPSのデータの上にレイヤーとして貼り付ける。このとき、サブパッチしていない状態の頂点が点で出ているので、この点がEPSファイルの頂点と完全一致するようにすれば、全体の大きさも位置も正確になる。
この作業は、拡大縮小の中心点を画面の最も端のどれかの点に合わせ、そこからもっとも離れた点を一致させるようにすると正確にあわせやすい。

 

結合と結合解除とモーフ:
服など切れ目がある場合、切れ目を作りたいところで「結合解除」しておく。結合解除した部分はUVでもそこで途切れて作られる。また結合解除してからモーフを作ると、後で結合できなくなるため、このとき作ったモーフデータは削除する。削除すれば結合でき、元に戻せる。

 

テクスチャ優先かUV優先か:
平面でUVを出した場合、プリントスクリーンでUVをフォトショップに移し、その上からテクスチャを描く。目などはアンラップにあわせてゆがめて描くことは難しいため、正面図でフォトショップに取り込み、目玉などきれいに描き、それにあわせてUVを動かす。テクスチャの品質が求められる場合にこうする。
髪の生え際のように、UVアンラップで出した場合、その図形に合わせてテクスチャを描く。テクスチャの品質が求められないが、平面的でないポリゴンにはこの方法を使う。

 

ノード編集:
基本的に色を載せるにはグラデーションで載せるため、サーフェイスで分割するとうまくグラデーションができない。UVマップを作成し、その中でグラデーションのあるアルファを作り、それで抜いた部分に色をグラデーションで載せる。詳しくは実例を参照。

 

テクスチャの透明をポリゴンから抜く:
ポリゴン板から人物以外の部分を透明にしたいときは、人物ラスター画像のほかに、同じ絵のアルファチャンネル画像を用意しておき、色・質感編集の「透明度」の「T」に突っ込めばいいだけ。モデラーではわからないのだが、レイアウトでレンダリングするとちゃんと抜き取られている。

 

注意:
オブジェクトに三角ポリゴンがあると、サブパッチしたときにテクスチャが歪むことがある。できるだけ四角だけで作るほうがいい。
サブパッチする前にUVを取ったほうが安全らしい。サブパッチしても平気だが、ポリゴン化してからUVを取ると、なんだかバラバラになっていてわけがわからないことがある。
UVテクスチャは、ポリゴンを選択してポリゴン単位で作成可能。頭部だけUV展開するとかできる。

 

///画像ファイルについて
png,tiff,jpeg,psdまで正式に対応しているが、psdに正式に対応しているので、これでやるといい。
テクスチャの内容を変えるときはレイアウトとフォトショップを同時起動して、画像をフォトショップで開き、保存してすぐさまレイアウトの画像編集で「置き換え」をやれば、すぐに代わるので非常に効率がいい。tiffだと保存が面倒。
psdはレイヤーのオンオフにも対応している。不要だがとりあえず残しておきたいレイヤーは、オフにして保存すればいい。
安定して読み込めるのはpsdとtiffのみ。
psdの透明にも対応している。
細かいことだが、同じファイルを作った場合、tiffよりpsdのほうがずっと軽い(特に白黒)。psdは特殊な圧縮を使っている様子。保存にも便利。

 

tga:大きすぎると読み込めない。また色深度に制限があるらしい?古い形式なので、わざわざこれを使う必要はない。
png:tiffやpsdと同じように使えるのだが、プレビューではどういうわけかアルファのぼかしがつけられておらず、シャープな画像になってしまっている。しかしレンダリングやVPRではきれいになっていて問題がない。最終品質には問題はないが、作業しにくい。
bmp:32ビット保存してもアルファ対応せず、別にアルファ画像を作って透明度に入れなければならないため、非常に面倒。

 

/////////////
テクスチャを動かす方法

 

テクスチャをLightwave上で動かす:
今のところは、画像貼付で、UVではなく平面上などにして、画像の位置を時間で調整する方法しかない。
平面上で動かす場合、ワールド座標などは無効にする。この時の「平面状」という意味は、モデラーにおける座標のXYZ軸という意味(ローカル座標)なので、レイアウトで回転させてもずれることはない。
強引な方法だが、これで眼球オブジェクトを作らなくても、目を動かせる。

 

動画テクスチャを使用する:
動画やシーケンスをテクスチャにしても、レイアウトではひたすら繰り返しアニメするだけで、手動制御ができない。そこで、AEかあるいはLightwave上で動画を作り、それをテクスチャとして使用することができる。
ただしシーンに応じて厳密に長さを設定した動画を作る必要がある。
開始タイミングはオフセットで変更できるため、動画前に空白の時間で無駄な容量を食う必要はない。AE上では1フレームから始めてよい。
開始以前はドロップフレーム(真っ黒)や開始フレーム固定など可能。ドロップフレームは真っ黒になるので、場合によっておかしな表示になってしまう。安全に行くなら、開始以前と終了以後で「開始フレーム固定」「終了フレーム固定」にし、開始以前と終了以後では動画を透明にして表示させないようにするといい。
LW上でフレーム位置を変更した場合は、AEでも同様にフレーム位置を変更する。

 

対応動画ファイル:
非圧縮AVIを使うようにする。できたファイルをさらに圧縮する可能性が高いため、圧縮形式だと2回圧縮で画質が劣化する可能性がある。
一応、Lightwaveが正式対応しているのはaviとmovだが、wmvでも使えることがある。しかしパソコンによってか、Lightwaveのバージョンにもよるのか、読み込める場合と読み込めない場合がある。最も安全に読み込めるのは非圧縮AVI。
QuicktimeはWindowsの64bitが対応していないため、Windows7では使えないようだ。

 

///////////////////////
ボーン、モーフ最終調整

 

UV終了時点でそれ以上トポロジが変わる可能性がないため、ここでボーンの最終調整を行う。
手順は、モデラーでウェイトマップ調整、レイアウトでバンク角度調整、接合部補正、ジョイントモーフ、IK設定と角度制限。モーフはいつやってもいいが、スケルゴンとボーンについてはこの順でないといけない。

 

保存の問題と手順について:
ボーンとスケルゴンは完全に別物であり、スケルゴンのデータはモデラーに保存されるが、ボーンのデータ(ボーンのプロパティとモーションオプション)はすべてレイアウトかRIGの中にしか保存できない。
スケルゴン(位置、数、ウェイトマップ)を変更すると、ハブを使ってもすぐ反映されないのは、ボーンとスケルゴンが異なるためで、一度全ボーン消去して再度スケルゴン変換すれば反映される。シーンにはボーンのデータが保存されているため、レイアウトでシーンをセーブしても、スケルゴンの変更をしたら一度全ボーン消去してスケルゴン変換しないといけない。
レイアウトでIK設定、制御と制限、ゴールオブジェクトの設定などをすべてやることになる。これはレイアウトやRIGには保存できるがモデラーには保存できないため、スケルゴンの位置・数をモデラーで変更した場合、一から組み直しとなる(モデラーでウェイトマップを変更した場合はボーン消去→組みなおしをする必要はない、自動で反映される)。組みなおすとき、ゴールのNULLオブジェクトを残して(親子関係を解除して)ボーンを消去したほうが後が楽。
しかしレイアウトでボーンの設定(制御と制限やIK設定など)をやるのはけっこう面倒である。別のシーンで人体オブジェクトを読み込んだら、そのつどボーンの設定をやらなければならないが、RIGとして保存しておけばその手間が必要ない。
つまりRIG保存していいことといえば、別のシーンに人体オブジェクトを読み込める、という点のみである。もちろんモデラーで変更を加えたら、そのRIGは役に立たず、新しく設定してRIGを保存する必要がある。またRIGはほかの人体では使うことはできない(しかしこの問題も、あらかじめ登場する可能性のある人間を全て読み込んでボーン設定したシーンをテンプレートとして用意しておけば、RIG保存する必要はなくなる)

 

レイヤー結合してウェイトマップ調整:
人体でさえほとんどウェイトマップの調整は必要ないことを覚えておくこと。できるだけ自動計算でできるように切り取る。
ウェイトマップを調整する場合、モデラーでやるよりVertexPaintのadd,aub,eraseなどを使ったほうがずっと早い。
人体の二段階関節で、関節点と回すポリゴンが離れていて自動計算が及ばない場合にこれが必要なことがある。例えば足の付け根は関節断面が斜めになっているため、関節点を高めにして下のポリゴンを回すが、普通に自動計算をしたのでは下のポリゴンまで影響が及ばないため、手動で調整することになる。
親が動けば子も動くので、ウェイトを0にしているのに無駄に動いている場合、その子の中のどれかがそれを動かしている。それを見つけてウェイトをゼロにすればいい。
調整するごとにノーマライズする。ノーマライズで値がおかしくなるときは、常にそのボーンの子のどれかに原因がある。子ボーンがそれを動かしているため、親が動くとそれも動いてしまう、という状況なので、その子ボーンのそこの動きをなくすしかない。
そのボーンをいじった後ノーマライズで値が変わるのは、それに接続されているボーンのみ。したがって急に動きがおかしくなったときは、直下のボーンが最も怪しい。
この時点で回転が上手くいっていれば、ほぼ実際も間違いなく動作すると思っていい。

 

バンク角度調整と座標系:
VertexPaintでバンクを回転させる。ボーンのバンク角度の回転は、そのボーンの一つ親のボーンを回すことでバンク軸が回転することに注意。そのボーンを回しても意味がない。
見るべき場所は、ピッチにしたいところがヘディングになっていないかどうか、また回転軸の微小なずれも修正する(指などは五指がそろって回らないといけない)
VertexPaintは親座標で、スケルゴン回転はローカル座標。よってVertexPaintで調整するべきで、スケルゴン回転ではバンク回転の調整ができない。

 

レイアウトに読み込み:
レイアウトでは座標系列を「親座標」にする。数値入力による調整とジョイントモーフが親座標にしか対応していない。
ボーンの接合部補正が親座標のピッチでしか対応できないこと。セッティングはすべて親座標で行う。またグラフ編集や回転角度の数値も親座標にしか対応していない。

 

レイアウトで接合部補正:
レイアウトに持ち込み、変形テスト。全てのボーン動きを調べておく。サブディビジョン手順はボーンの後にする。VPRなどでしっかりレンダリング状態の変形を見ること。メッシュではおかしなところに気づかないことがある。
見える部分はシーン編集でまとめて選択して動かせる。また接合部補正のチェックはほとんど有効にするので、シーン編集で全部チェックして、不要なものだけはずせば早い。
無加工の変形はスケルゴン回転と同じ動きをするはず。そして接合部補正の子と親が必要かどうか、また必要ならどれくらいの大きさにするかを設定。
人体では基本的に、すべての部分で子と親の接合部の補正を100%で行う。例外として、上脚の付け根、上腕の付け根、胸、首の上の付け根はいらない。
レイアウトでは必ず1フレーム目でキーフレームを打ち、そこで作業する。さもないと初期状態に戻せなくなってしまう。

 

その他設定:
Ver11.6時点では、デフォルトでは高速ボーン有効、ウェイトのみ使用が無効になっている。
スケルゴンどおりの動きをさせるには、高速ボーンを無効にし、ウェイトのみを有効にする。ウェイト正規化は、VertexPaintでNormalizeしていれば、たぶん有効でも無効でも変わらない。

 

///レイアウト・ジョイントモーフの設定
レイアウトでジョイントモーフのあるところは、その設定をする。ジョイントモーフの数値は親座標で、指定角度以上・以下の部分も設定するようにする(つまり最小角度、最大角度、最小以下、最大以上の4つの設定をする)
人体で必要なところとして、肩甲骨の部分。上がるとき、胸の下のあたりまで肉が引っ張られる。また足の付け根もしておくといい。
ジョイントモーフはほかのオブジェクトのモーフも指定できるのだが、やってみるとまったく動かない。できれば同じオブジェクト内に入れたほうがいいが、それでもほかのオブジェクトも動かしたい場合は、随時モーフミキサーで動かす。
レイアウト・ジョイントモーフのモーフを作るのに、モデラーのジョイントモーフを以下のように使用する。

 

モデラー・ジョイントモーフ手順:
現在の機能では、スケルゴン回転した状態でジョイントモーフを設定することができない。そこで、モーフ適用してない状態で関節変形状態を作り、モーフを作って衣服など変形して、これをジョイントモーフとして使用する。
まず普通にスケルゴンとウェイトマップを作る(モーフ適用する部分にまったくウェイトマップをいれないほうがいいこともある。適宜考えて行う)
次に新規モーフを作り、モデラーのジョイントモーフを使い、関節変形する(スケルゴンは動かない)。これをモーフ1とする(レイアウトで使うジョイントモーフがある場合は必ず関節を回す直前に「モーフ適用」で適用しておく。あるいは自力で変形させる。モーフ→モデラージョイントモーフの順を厳守すること。モデラージョイントモーフ→モーフの順だと、モーフより関節変形が先に行われるため、レイアウトでの順番と異なるため、おかしな変形になる)
モーフ1を切り、「モーフ適用」で100%動かし、「モーフ1を使っていない素の状態でモーフ1が使われた状態」にする。
新規モーフを作り、モーフ2とする。ここでレイアウトジョイントモーフとなるモーフを動かす。この時点だと衣服だけ別レイヤーに移して編集できる。選択しにくい場合は別レイヤーにしたほうがいい。
モーフ2を切り、モーフ適用でモーフ1を-100%すれば元に戻る。モーフ2がジョイントモーフである。
このやり方は、スケルゴン回転の後にモーフを調整した形になっているので、レイアウトの順番とは異なる。なので必ずモデラーで「モーフ→スケルゴン回転」で問題がないかどうか見ておく。問題があれば微調整すればたいていよくなる。
またこれをやった関節は、レイアウトの「接合部の補正」はやらないほうがいい。

 

これで上手くいかない場合:
上の方法では、関節点から遠いポリゴンがある場合、スケルゴン回転とモーフの順番が異なるとまったく異なる変形をする場合がある。その場合は、シンプルだが以下の方法を使う。
通常の状態からモーフを作り、予測してレイアウト・ジョイントモーフを作成。その後スケルゴン回転させて上手く変形できているかどうか確かめる、の繰り返し。
この方法はスケルゴン変形状態を見ながら変形できないため、回転を頭の中で予測する。つまりカンが必要で、何度が試行錯誤が必要。何度もやって上手くいくまで修正し続ける。

 

さらに正確にやる場合:
これは非常に手間なので、よほどの問題がない限りやらないほうがいい。どうしても必要な場合のみ。
レイアウト・ジョイントモーフやる箇所に、最初普通にウェイトをつけ、スケルゴン変形分をモーフとして記録する。次にその部分のウェイトをゼロにし、先ほどのモーフを適用し、それに加算する形でモーフを作る。これをレイアウト・ジョイントモーフにすれば完全に正確な形になるが、一度ウェイトをつけた後にゼロにするという面倒さがあり、ミスするとほかの部分のウェイトが狂う可能性もあるので、できるだけ使わないほうが安全。

 

///

 

モーフの調整:
モーフもレイアウトでないとわからない部分があるのでここで調整。
口の周りなど、同時に複数のモーフを使う場合、レイアウトでしかわからない。

 

操作上の注意:
人間の場合、腰の辺りに1本ルートボーン(親)がいる。全体を動かすためのもので、関係ないところに一つ伸ばしておく。
足首やつま先で、ゴールオブジェクト同士で親子関係にできる。

 

ハブの使用:
モデラーとレイアウトで、ハブを使うとすばやく調整できる。モデラーでスケルゴンを調整するとレイアウトではボーンへ自動変換されないのでそのままではおかしくなるので、モデラーでスケルゴンを変更したら、レイアウトで一度全ボーン消去(ボーンのアイテムプロパティ)し、その後スケルゴン変換をすればいい。
スケルゴンとボーンは別物と考える。ハブのモデラーでスケルゴンのバンク角度など変更しても、レイアウトには変更されない。一度全ボーン消去して、その後スケルゴン変換して初めてスケルゴンの変更がボーンに適用される。

 

角度の問題:
出来上がったらさまざまな角度から見て形状が破綻していないかチェックする。特に前顔ではおかしくなくても横顔だとおかしいことがあるので注意。

 

VetrtexPaintを使うとクラッシュする問題→VertexPaintの項を参照。

 

///ボーンのアイテムプロパティ
サブディビジョン時、スケルゴン回転時と同じ結果を得るには、オブジェクトのアイテムプロパティのジオメトリで、サブディビジョン手順をボーンより後にする必要がある。ボーン直後でいいか?
ウェイトマップで設定したのをそのまま忠実に再現したい場合、ボーンのアイテムプロパティで、「ウェイトのみ使用」にする。モデラーですでにノーマライズしてあれば、ウェイト常態化する必要はない。この状態では定長の強さやフォールオフ種をいじっても反応なし。

 

///////////////////////////////////
液体の表現

 

あまり大量の液体はパーティクルを使うが、量が限られている液体はモーフを使うと最も精密に動きを設定できる。

 

//////////
白濁液

 

///造形

 

ポリゴン:
モーフ、ボーンを使う。モデラーのあらゆる変形ツールを使用する。
最初の形は液体が最も伸びたときの形にする。大きく縮めることはできるが、大きく伸ばすとポリゴン数が追い付かずに形が崩れるため。球かカプセルがやりやすい。軸はXYZのどれかに平行に合わせておく。スプラインガイドを使うときにはXYZ軸のどれかに平行だと無難に変形できるため。斜めだとおかしな変形になってしまう。
最初の形はその場から動かさないように。動かすと後の編集が困難になる場合があるため。
編集に柔軟性が必要なため、サブパッチ前でも非常にポリゴン数の多い状態で作成する。そのためレイアウトでのサブパッチレベルは低くていい。
変形の仕方はさまざまだが、移動には右クリックで影響範囲を素早く変化できるドラッグネット、磁力、表面張力による膨張部分には先細り(拘束)、後は拡大縮小やストレッチ、スプラインガイドなど使用する。
表面のデコボコなど、変位マップ(Displacement)やバンプを使ったほうがいい場合がある。ノード変位を動画にすると物を伝って流れる液体をうまく表現できる。

 

ボーン:
出来上がったらボーンを入れる。レイアウトでこれを動かす。
ボーンはZ軸かジョイントか、やりやすいほうで。
ボーンは普通は回転しかしないが、この場合は移動やスケールも併用する。

 

手動パーティクル:
スプレーポイントを使い、手動でポイントを作成、ハイパーボクセルのブレンディングを使ってで液体を作る。
大きな変形や千切れたりする表現がやりやすいが、表面がデコボコになりやすいため、形状はそれほどきれいではない。
スプラインガイドが非常に役に立つ。
レンダリングに時間がかかる。

 

///アニメーション
空中を動かすときは移動して動かせばいい。
人や物の表面を添わせる場合、物理演算のClothでMotionScanし、MakePathのコマンドで、その頂点のパスラインをNULLで書き出し、これに親子付けすればいい。あるいはモーションオプションの「アイテムと同じ」
中心点は接触する物体との接点にあわせる(MakePathのため)
肉体ボーン変形によるわずかな差などは、後で移動ツールやMotionScanで微調整する。

 

///シェーディング(濁液)
自己発光度100で、拡散レベルゼロ、光は当てなくていい。色は白。透明度は70〜100くらいだが、このやり方では屈折率は1(デフォルト)になる。反射光や光沢は一応有効にしてもいい。
ノード編集のMarbleあたりを透明度に設定するといい場合がある。
水の屈折率は1.37だが、リアルにすると端に黒い影ができたりするので面倒ではある。

 

////////
透明液

 

粘性を表現する場合は白濁液と同じやり方でいいが、大量に噴出す場合は以下の方法を使う。

 

///パーティクルとハイパーボクセル
パーティクルでExplosionを0.1くらいにして、直線的に集中させたエミッターを大量に配置してそれっぽく見せる。エミッターの方向をVelosityでずらす。
一つのエミッターで広がらせると、ホースの水のように満遍なく広がるため、それらしく見えない。
ボクセルの大きさは30ミリくらいでサイズバリエーションは200程度。
BirthRateは最大1000くらいで、エンベロープで一定時間おきに出させる。
コリジョンはStickにして、物体を伝わらせる。

 

///////////////////////////////////
IKの設定

 

IKの必要な場面:
通常はFKだけでいいのだが、FKでは主に手と足の厳密な軌道を設定できない。関節の回転制御では、どうしても軌道という点ではずれが生じてしまうことが多いため。厳密に軌道を設定したいときにIKが役に立つ。
例えば足をキーフレームの地点ではしっかり地面に固定しても、キーフレームの間で固定が外れてしまう。これは関節の回転でキーを打っているため。グラフを直線にしてもこれは治らない。
そこで軌道を完全に固定できる、フルタイムによるIKで軌道を調整すれば完全に軌道を制御できる。
実質、腕と脚の2段階関節で必要となる。
軌道に関係ない部分はIKを設定しない。
IKブースターでも同じことができるが、精密さは劣る。

 

その場でIKを作る:
途中、予定外のところにIKがほしくなることがある。それをその場で(といっても0フレームに戻って)IKを作る。別に時間はかからない。
IKはIKFKブレンディングの数値を変えることで、時間的に有効、無効を調整できる。
IKブースターは動きが精密にならず、固定点の問題をよく起こすため、突然想定外のところでIKを使いたいときは、0フレームに戻ってIKをその場で作成したほうが作業が早いことが多い。
ただしIKはIKブースターよりもずっと処理が重いらしく、何十も作ると処理が重くて動かなくなる。スカートのような、あまりに大量のIKに通常のIKは使えない。

 

複数IKの注意:
胸と腰にIKをつける場合、腕や脚の親部分に当たるため、複数IKになる。設定を間違えると、腕を動かしたのに胸まで動いたり、ゴールがおかしな場所に固定される不具合が起こるので注意する(不具合を参照)
具体的には、まず普通にIKを設定する。腕、脚、胸、腰にIKを設定したら、「両肩ボーン」「両脚付け根のボーン」に「子孫のIK効果を及ぼさない」をつける。枝分かれ部分(腰や胸)につけないように。不具合が出る。本当に「IKを止めたい部分にだけ」つければいい。余計なところにつけないこと。
また「チェーン」の効果は、「子孫のIK効果を及ぼさない」を超えて効果が出ることはない。しかしすべてチェーンにしておくと、腰のIKFKブレンディング値がルートを越えて胸まで及んでしまう。ここでルートは枝分かれしているので子孫の効果はつけられない。そこで腰はボーンが一つで胸と腹が3つボーンがあるなら、胸と腹にチェーンを設定し、腰はチェーンをオフにする。これですぐに値を変えられる(腰の値を変えるには腰ボーンだけ変えればいい。付け根(最先端NULL)の値は無視していい)。意味がないが、チェーンの値は「子孫のIK効果を及ぼさない」のボーンにも及ぶ。
さらに「子孫のIK効果を及ぼさない」をつけたボーンは、どのIKからも少しも動かない。腰や腹の付け根に設定すると、まったく動かないしおかしな挙動になるので注意。
IKの影響は、「そこから親、あるいは子」までであり、同じ親を持つ別の子(別の枝)までは及ばない。なので、ルートボーンに「子孫のIK効果を及ぼさない」を設定しないからといって、胸のIKが腰に及ぶことはない。

 

腕と脚のIK設定:
通常はIKを使わず、厳密な軌道が必要なとき(腕は何かに動きを沿わせるとき、脚は接地の、つまり移動するとき)にだけIKを有効にするのが基本、普段からずっと有効にしてもいい。
IKは時間で無効にすることもできる。普段はIKFKブレンディングを100%にしておき、FKで動かせるようにしておく。IKが必要なときはE(グラフ)でステップ状で0%にすればいい。
粘性をすべてゼロにする。これの数値があると、なかなか曲がらずに苦労する。また曲がりにくくても、一度少し曲げてしまえば、後は楽に曲がることもある。
曲がりやすくするため、最先端NULL(腕はHand、足はFoot)は「ゴールに接着」しておくと制御しやすい。
常にフルタイムIKで使用する。
チェーンは一応オンにしておく。個別に変えたいときはオフにするが、オフだとIKの関節すべてにオフ設定をしなければならないので、けっこう面倒。
枝分かれの部分(脚なら腰関節、腕なら胸関節)に「子孫にIK効果を及ぼさない」にチェックを入れておく。そうしないとゴールオブジェクトでほかのIKまで動いてしまう。

 

どこに設定するか:
IK関節でIKで動きうるボーンの回転全てに設定する。ただし軌道に無関係なバンク角度は手動FKで回す。
ゴールオブジェクトはどれにも親子付けしない。肝心の軌道の操作がやりにくくなるため(特に固定させる場合)
使用する部位は腕の付け根と肘、足は付け根の離れた2段階関節とひざ。肩まで設定すると3段階になってやりにくくなる。

 

IK初期値の設定「現在の時間を基準」:
腕や脚のIK関節は、モデリングの時点では伸びた状態になっているが、この状態からIKで動かそうとすると、中間の関節が全く曲がらずに困る。しかし「初期値」を設定しておけば現在のFK回転の値を参考にしてIKする。IKしている間もFKの値は設定可能であり、その値に応じてIKのその瞬間の初期値を決めてくれる。
そこで、初期設定は「現在の時間を基準」にする。通常、IKは「初期値」というものがあり、この初期値に近い範囲でIKの回転が行われる。初期値が曲がった状態なら、IKをしたときにそこは曲がりやすくなり、初期値で伸ばしておけば曲がりにくくなる。
つまり、IKが関係しうる全ての部分にIKを設定しておき、IKをしてその軌道が気に入らなければ、そのフレームでそのボーンのFK回転値をいじれば、ある程度までIKの軌道はそのFK値に近い位置になる、というもの。
ただし「現在の時間を基準」も万能ではない。あくまで初期値であり、参考にするだけで、Fk制御ができるわけではない。回しても場合によっては動かないこともある。だからIKの設定は最低限にしておき、3段階関節のような場合は、2段階にして残りはFKで動かす。
全ての回転をIKにすると精密な位置決定が出来ないという致命的な弱点も補える。非常に便利。
0フレームはモデリングの状態にしたいので(リセット用、これがないと「リセット」で関節を元に戻せなくなる)0フレームではIKブレンディングを100にしてIKを事実上無効にしておき、1フレーム目でブレンディングを0にして、以降有効にする。
腰と胸関節に「子孫にIK効果を及ぼさない」にチェックを入れる。これをやらないとゴールオブジェクトでほかのIKまで余計に変形してしまうため。
IKFKブレンディング設定は、同時に設定できるのは同じゴールオブジェクトを持つ一連の関節群ごとに可能らしい。面倒だが、腕と脚で合計4回設定する。0,1フレームでなぜかIKが効いていると思ったら、たいていここがうまくいってない。

 

制御と制限:
現実的なところ、腕だけやっておけば足りる。
上腕(肩甲骨を含まない)から下腕(手を含まない)まででいい。そんなに時間はかからない。

 

「アイテムと同じ」について:
Ver10.1まで、オブジェクト内に「アイテムと同じ」を一つでも適用している部分があると、そのオブジェクト内のIKが一切効かなくなるという不具合があるため、IKを使うときは「アイテムと同じ」は使わないようにする。
ただしVer11ではこの不具合は直っているため、普通にしてよい。しかしVer11ではアイテムと同じにも「粘性」パラメータがあり、これが大きいほどより「アイテムと同じ」回転が大きくなるようだ。これが0だと全く回らないので注意。1でいい。
Ver10.1以前では、いくつかFKでバンクを回すときは、複数選択していっぺんに回すようにする。

 

ほかのIK使用部位:
髪やスカートはIKブースターを使うといい。これは単に設定が面倒すぎるため。

 

フルタイムIKのモーションの保存、コピー:
そのままコピー・保存してもだめなので、フルタイムIKで動いている部分を、全て1フレームずつ全アイテムにキーフレームを打ってコピーする。

 

IK設定手順のやりかた:
関節とか、普通に親子関係をつける。親子関係は0フレームでつけること。さもないと解除したときなどにおかしな位置に来る。
関節の先端ボーンの先(関節の先端の点、ずれてはいけない)に、さらにNULLオブジェクト(最先端NULL)をつける(最先端だけはIKできないため)。最先端NULLの親を先端ボーンにする。
親子関係のまったくないNULL(ゴールNULL)をさらにつける。最先端NULLのゴールオブジェクトをこのゴールNULLにし、フルタイムIKを無効にする(これがあるとIK/FKブレンディングできない)
ゴールに接着は入れないほうがいい。オブジェクト全体を移動するとおかしくなる。
各関節および最先端NULLの制御と制限をすべてインバースキネマティクスにし、ゴールNULLを動かせばIKができる。
「IK有効」と「変化の影響」がチェックされていなければ、チェックする。これでIKができる。
「子孫のIKに影響を及ぼさない」にすると、それ以前の親にはIKが効かなくなる。
最先端NULLがその親より外側にないと上手く動かないので注意。設定が正しいのにIKが機能しない場合、最先端NULLの位置を変えてみるといい。
現在、ソフトIKを使う必要性はないと思う。ゴールオブジェクトの軌道をしっかり作ってやればいいだけで、ソフトIKでゴールオブジェクトの位置を厳密に作れないのはかえって面倒である。

 

複数IK:
IKしている関節の中にもう一つIKを作って(その部分に最先端NULLを入れてゴールを接着)その2つのIKの間に「子孫のIKに影響を及ぼさない」がない状態なら、一つのボーンに複数のIKを影響させられる。
たくさんの間接をIKで操作可能。

 

フルタイムとIK/FKブレンディング:
IKの場合、フルタイムが無効だと、ゴールオブジェクトのパスをパスツールで変更しても、ボーンに影響が出ない。しかしフルタイムのままだとボーンが回転せず、FK微調整ができない。
フルタイムが有効の場合、ボーンにキーフレームが打たれていてもそれは無視され、ゴールのフルタイムの動きに従う(フルタイム優先の法則)
しかしフルタイムを無効にすると、すでに打たれているボーンのキーフレームに従う(ボーンキー保存の法則)
IK/FKブレンディングはこの二つの割合を調整できる。ただしフルタイムでボーンにもキーが打たれていないと、ブレンディング割合にかかわらず回転できないので注意。フルタイムでも、回転させるためにはキーを打つ必要がある。

 

IK/FKブレンディングと制御と制限:
IKの割合を高くした分、制御と制限は小さくなる。
例えばIK/FKブレンディングを50%にすると、制御と制限で90度曲がるようにしておいても、FKでは45度しか曲がらない。50%にする場合、実際の限界角度の2倍にしておく。

 

途中でのモデラーに変更:
ボーンのキーフレームをしている途中にモデラーのウェイトマップやボーンの変更をやるばあい、HmotServerとMapMotionでモーションを記録しておき、再設定するといい。

 

///特殊な技術

 

大量のゴールオブジェクトを作成する方法:
モデラーのスケルゴンエディターを使い、大量のゴールオブジェクトを作成できる。
ただしあまり大量のIKが画面にあると、動作が非常に遅くなって操作しづらくなる(実質操作不可)ので注意。
ただしスケルゴンエディターは不具合があるため、普通は使えない。そこでもう一つ同じオブジェクト(ダミーオブジェクト)を用意し、そこでスケルゴンエディターでゴールオブジェクトを設定し、レイアウトでスケルゴンリーダーで読み込み、ゴールオブジェクトだけ残して後は消す。それを使ってゴールオブジェクトの設定を行う。位置が最初から適切な位置にあるのでやりやすい。
普通の点ポリゴンでゴールオブジェクトを作ると、中心点の位置が合わずに困難になる。点オブジェクトにスケルゴンはつけられず、これも不可能。結局スケルゴンエディターを使うしかない。

 

ゴールオブジェクトを何かに沿わせる:
MotionScanでMakePathし、これを「アイテムと同じ」のパーセントで調整する。
同じシーン内で、別の時間に別のアイテムに沿わせたいときは、ゴールオブジェクトを複製し、IKを切って(IKFKブレンディングで)次のオブジェクトと同じ動きをさせればいい。

 

//////////////////
IKブースターの設定

 

腕と脚以外にも、物理的な位置を「固定」して別の部分を動かしたり、軌道を厳密に調整したりしたいことがある。例えば側転するときに手のひらを地面に固定する。
これをFKでやるのはしんどいため、かといって体のあらゆる部分にIKを設定するのではあまりに面倒すぎるため、そういうときにIKブースターを使う。
通常IKに比べてさまざまな利点があるが、唯一劣る点は「軌道が厳密でないこと」

 

通常のIKとの比較:
ゴールオブジェクトをの位置をグラフ編集したりするわけではないため、精密さは通常IKに劣る。厳密な軌道をやらせようとすると、通常IKよりはずれが大きい。
ゴールオブジェクトの固定に関しては、Fixしてキーを焼けばいいので、固定には強い。
関節のどこからどこまでIKにするかが瞬時に設定、切り替えられる。通常IKではできない。
固定点も時間単位で任意気に切り替えられる。通常IKではできない。
大量のゴールオブジェクトをまとめて動かすことが出来ない。

 

設定:
全ての関節で、不要な回転はオフにしておく。さもないとIK内のすべての関節が曲がってしまう。
右下のグローバルIKは無効にしておく。
これをやるところは、モーションオプションは「キーフレーム」にしておく必要がある。これが「インバースキネマティクス」になっているところはまったく無効。
「IK有効」にチェックを入れようが、またIKFKブレンディングを調整しようが、モーションオプションでインバースキネマティクスになっているとまったく動かない。
人間程度の関節数であれば、フロートする必要はない。
親子関係のオブジェクトに2つともIKブースターをつけるときは、設定が簡単なほうは頻繁に除去するため(IKブースターの不具合を参照)、最初はつけなくていい。

 

IKブースターで動かす:
腕と脚は通常のIKを使用するので、これらにはIKブースターは使用しない。
固定したい場所をFixし、IK効果を止めたいところにIKStopを設定したら、後は動かすだけ。
FixとIKSopは時間で切り替えられる。一度これらで動きを作ったら、フレームの開始と終了に全キーフレームを打ち、これら二つの設定を解除。また新しいフレーム間で設定し、キーを打って解除……を繰り返す。

 

IKブースターの補間の問題:
IKブースターはキーフレームと同様のため、グラフ編集による補間は精密ではない。
軌道が厳密でないため、特に先端の軌道の補間がおかしくなることがある。スカートのような複雑な動きの場合、なかなか先端が直線的に動かず、何度も途中でキーフレームを打たなければならなかったりするし、それでも足りなかったりする。
このような場合、キーフレーム時の動きをいったん保存し、MakeMorphシーン(レイアウトから連続モーフを作るためのシーン)でモーフ化することで、動きを直線的にできる。
スカートなど、頂点ボーンのような大量のボーンにそれぞれ通常のIKをつけることはできるが、ゴールオブジェクトの操作が困難な上(IKブースターのほうが操作しやすい)、大量にIKがあると画面が極端に動きにくくなる、というより実質操作不能になる(IKはかなりの計算量を必要とするらしい)

 

Fixについて:
Fixを解除したときにキーフレーム間の補間が上手くいっていない場合、Fixのままで一度キーフレーム間のすべてのフレームを焼き付けてしまい、その後解除すればいい。
IK有効をオンにしていないと、Fixが上手く機能しないので注意。

 

//////////////////
極ベクトル+IKの設定

 

腕と脚は極ベクトル+IKの設定にすると非常に速い。

 

やり方:
上腕の付け根と脚の付け根に短いもう一つのボーンを入れておく。このボーンはウェイトマップゼロにしておく。
レイアウトで、これらのボーンを、目標アイテムをIKゴールに、極ベクトルアイテムを極ベクトルアイテムにしておく(すると制御と制限の回転のところが、目標を注視、目標を注視、極ベクトルに沿うになっている)
腕と足のIKしたいボーンを普通にIK設定する。これで終わり。
通常のIKと同じで、全ボーンを「現在の時間を基準」にしておく。肩と太もも付け根をIKストップしておくことも忘れずに。
IKゴールで設定してそのままキーフレームを打つと、ボーンまでのそのうちでキーが打たれるので、キーを打つ時は一度IK無効にしてから売った方が安全。

 

//////////////////
アニメーションの設定

 

バンク方向の追従:
「アイテムと同じ」を使うとIKが使えなくなるので都合が悪い。いっしょにバンクを動かしたい場所は、全部選択してまとめて通常の回転で動かす。

 

スケルゴンの保存:
一応RIGでセーブしておいてもいいが、RIG出力でセーブしてもゴールオブジェクトなどの情報は保持されないし、モデラーでスケルゴンの位置、数、ウェイトマップを編集した場合はRIGのデータを使うことはできず、IKも初めから組みなおすことになる。よって、できるだけ早くIKを組み立てられるような環境にしたほうがよく、また一度IK設定をしたら、スケルゴン編集を行わないほうがいい(スケルゴンを完璧に設定してからIKの設定に移るとよい)
スケルゴンの再編集と行うときは、編集前のヌルオブジェクトの設定くらいは残しておきたいので、まず全てのヌルオブジェクトを0フレームで親子関係を解除してから全ボーン消去すれば、ヌルオブジェクトの位置はそのまま残しておける。
別のシーンに人体を読み込むときは、RIG保存しておくといちいち設定する手間が省けるので便利。

 

回転のリセット、ジンバルロック:
「リセット」することで、表示されている一番小さいフレームの数字まで戻る。タイムラインに0フレームを表示させてこれをやれば、0フレームの状態に戻る。回転させた後にさらに回転させるときは、一度リセットしてやるとわかりやすい。
ジンバルロックはピッチを回すと発生する。回転させるときはピッチより先にヘディングを回すとやりやすい。ジンバルロックが起こったら一度ゼロフレームへリセットし、そこからまずヘディングを回し、次にピッチを回すといい。
中心点の回転は、以前の回転の中心点まで変えるので、使えない。どうしてもジンバルロックが起きたら、最小限でワールド座標にして回転させる。ワールド座標にするのも回転経過が狂うのでよくない。

 

座標系の問題:
ローカル座標やワールド座標で回転させると、回転の初めと終わりはいいのだが、途中の回転が予期しない回転になっていることがある(特に人体の関節)。これは基本的にボーンが親座標で回転しているだが、別の座標だと回転の過程が親座標を無視するため。
したがって、ボーンの回転には基本的にはすべて親座標のみでやらないとおかしなことになる。どうしても別の座標を使う場合、親座標で回転させて補正する程度に使う。
ワールド座標で問題ないとき(人体以外では問題ないことが多い)、ワールドだと回転軸が上手く合わないことがある(スカートのボーンなど)。この場合、調整のためだけにキーを1フレームずらして(ボーンでなく)オブジェクトを回転させ、ボーンを回転させやすいようにし、ボーン処理が終わったらまた戻せばいい(1フレームずらすのは、キーを消去しやすくするため)

 

制御と制限:
制御と制限は親座標のみ有効。これを設定した後にほかの座標系で許容値外の値まで回すと、異常な変形になることがある。
制御と制限を設定したら、基本的には親座標しか使用できないと考えていい。
スケルゴンリーダーで読み込んだときに「中心点の回転」をやると最初の回転が0になる。しかしこれはスケルゴンエディターを一回使わないといけないため、これはやってはいけない。

 

パスツール:
移動する物体ならこれで微調整するとわかりやすい。ただしボーンのように、回転させるものには使えない。

 

FPS:
最初から完成状態のfpsでやる。
リアルな映像になるほど、fpsが高くないと不自然に見える。リアルな映像なら最低12、通常30らしい。

 

オイラーとクオータニオン:
クオータニオンはIKブースターで使える。180度以上回転できない(キーフレームを何度も打つことでやる)ジンバルロックがない。

 

//////////////////////
共通手順(セットアップ)

 

制御と制限:
真っ先にこれをやる。

 

中心点の設定:
連続モーフのことを考え、オブジェクトはすべて、中心点はモデラーの原点に設定しておくべきである。この設定はレイアウトでは不要。
親オブジェクトの移動はオブジェクト移動で行うが、親オブジェクトの回転、子オブジェクトの移動と回転はルートボーンで行う。
体はルートを入れやすいのだが、スカートなどの衣服にはルートボーンを入れにくい特徴がある(IKブースターでスカートの端を動かすとスカート全体がどうしても動いてしまう)この場合、NULLオブジェクトをスカートの回転中心位置に置き、スカートの親にすればいい。

 

スケマティックビューの作成:
スケマティックビューを作る。単に選択するのが目的なので、適当でいい。とりあえずボーンでなくそのアイテムを選んでTreeViewすればだいたいうまく並ぶ。
人体のように、複雑なモーションオプションをやるものだけスケマティックツールを使う。頂点ボーンなど、スケマッティックビューが不要なものは使用しない。おかしくなる。
親子付けしていると子ボーン全てに適用されておかしくなることがある。子ボーンに影響したくなければ、一度親子付けを外してからやるといい。

 

セットアップ:
スケルゴン変換で行う。スケルゴンリーダーは使わない。

 

////////////////////
特殊なアニメーション(頂点ボーン)

 

///スカラー値の編集
グラフ編集は面倒なので、できればスライダーを使うと楽。曲線の形はグラフ編集を使う。

 

///////////////
頂点ボーン

 

全ての頂点を通る曲線から自動でスケルゴンを作成することで、頂点単位でボーンコントロールする方法。IKで効率よくできる。
サブディビジョンをしない場合は煩雑さを防ぐため、レイアウトでウェイトを設定する。
サブディビジョンする場合はウェイトマップが必要。レイアウトでボーンの対応を作ると、サブディビジョンレベルによってボーンと対応する頂点との距離が変わるため、うまく動いてくれないため。
サブディビジョンする場合、ほかのウェイトの名前をBで始まらないようにする。大量のウェイトがBを頭文字として作成されるため、煩雑になる。
頂点ボーンでウェイトマップを作る場合、名前をつけられないので別のオブジェクトにしたほうがいい。ウェイトマップを消すのも、別オブジェクトにいったん移せば、プラグインですぐ消せる。
利点の一つとして、ボーンなのでSoftFXと併用できる。
薄い生地の場合(パンツなど)、頂点数が足りなくて大雑把な動きになることがある。この場合、一度サブディビジョン・フリーズしてからボーンを入れればいい。フリーズはキャットマルを使えばきれいに出せる。ただしUVの対応がおかしくなる場合がある(サブパッチ補間がリニアに近くなる)のと、ボーン数が増えるのでコントロールしにくい(特に衝突)ので、注意する。
生地を伸ばしたい場合は、伸ばしたいボーンをまとめて選んでローカル座標でZ軸方向へ移動させて、後は普通の操作をすればよい。
ルートがない場合、ボーンの一番親は、移動すると上手く動かせることが多い。
パンツなど、関節ボーンと頂点ボーンの両方画面に出している場合、関節ボーンのほうを消すにはEditFXでウェイトマップ指定し、その部分だけどかす。

 

手順:
モデラーでオブジェクトを作ったら、ボーンを作成する頂点を選択し、「作成」「曲線作成」「開いた曲線を作成」し、曲線を選択する。全ての曲線を選択し、一度切り取ってから貼り付ける(そのままでは曲線はエッジにくっついて一体になっているため。こうすればオブジェクトのエッジとは別と扱われる)その後「セットアップ」の「スケルゴン変換」で、曲線をスケルゴンに変換。方向が逆ならそのスケルゴンを選択して反転すればいい。
パーツに分ける場合、ボーンの名前が重複しないようにする(ウェイトマップが上書きされる)
サブディビジョンをする場合、別のオブジェクトとして作成し、VertexPaintでウェイトを作成。数値は安全に行くなら128が安定(低いと別のところまで動く)。ルートボーンも作っておき、ウェイトの不要なところはそれで動かすようにする(ウェイトゼロの部分があるとおかしな動きをするので注意)
レイアウトでスケルゴン変換する。サブディビジョンありならそのまま、サブディビジョンなしなら全てのボーンを選択し、「影響範囲指定」を有効にし、開始0m,終了1mmにする。(ボーン種をジョイントにし「固定長の強さで乗算」を無効にする方法もあるが、IKブースターが使いにくくなる)
ボーンを回転させればオブジェクトは伸びない(服など)ボーンを移動させると伸びる(液体など)

 

IKを使う場合:
頂点数が多いので、できればIKを使うと楽。
一度にたくさんゴールオブジェクトを動かすときは通常のIKを使う。一つずつ動かす場合はIKブースターを使うほうが早い。
衣服などは順番にゴールを動かすことになるため、隣り合う順番で数字を入れておくとわかりやすい。通常のIKでは、先端のスケルゴンに名前をつけておけば、その名前がゴールオブジェクトの名前になって判別しやすい。
IKブースターでも先端のスケルゴンに数字で名前をつけておくと、フロートさせたハンドルに数字がついてとても見やすい。数字を順番に並べておけば編集しやすい。
IKブースターではジョイントは使えないらしい。
IKブースターは全画面にしないと点が選択できないので注意。
IKを使うときは構造上、一組のボーンが一つ以上のカーブを描くのが難しい。複数のカーブを持つような形の場合、変曲点でIKFixなどして、IKが及ばないようにする。Stop点も動かすのでフロートする。

 

IKボーンの入れ方:
IKを使う場合、一本の親子が長いほど使い勝手がいい(枝が少なく、階層が深いものほど一度に動かせるボーン数が多いということ)逆にダイナミクスを使う場合は、枝が多くても階層が浅いほうがバラけにくい。
あまりダイナミクスを使わないほうがいい。スピードを求める場合は、なるべく普通に物理演算する。ボーンダイナミクスは輪にできないために形が崩れる。
服に入れる場合、シワの尾根と平行にボーンを入れると、動かしたときにシワがそのほうにできるため都合がいい。
生地の柔らかさはVertexPaintの自動計算の数字で調整するので、ボーン数を増やす必要はない。
服によって着脱の際の力点(つかむ部分)はだいたい決まっており、閉曲面(パンツなど)では力点に子がくるようにし、開曲面(ブラジャーなど)では面の中央が親で、端は子が来るようにする。
原則として、ボーンの階層が深くなるにつれて動きが大きくなるように親子の方向を設定する。多くはつかんだ点から少しずつ動きが小さくなるので、つかんだ点をIKの末端にする。ブラジャーの胸の部分のように、動かすと後ろのホック側まで「動きが減少せずに」動く場合は、力点を親にする。
階層が浅くなるにつれ動きが減少し、動かなくなる限界あたりで一度IKを切るといい。
親は親同士で、子は子同士で接近させたほうが楽だが、それほど厳密に守らなくても平気。
IKブースターでなくても、FKのほうが動かしやすいことがある。その場合は座標系が変えられる普通のボーン回転のほうが使いやすいこともある。

 

IKブースター動かし方:
大まかにFK→正面ビューでIK→側面ビューでIK→微調整IK→一つずつFKの順でやるといい。
いきなりIKや頂点ボーンをそのまま動かしたのでは時間がかかって大変。なので初めに、できるだけまとめて選択して通常のボーンの回転で動かしておき、できるだけ形を作る。細かいところまで、できるだけこれで済ます。
IKなどの頂点ボーンは、通常回転の後の修正くらいに考えるといい。時間がかかるので。
最後の細かい調整はFKでひとつずつやるといい。IKは動きがどうしても大まかになるため。

 

ボーンダイナミクスを使う場合:
ボーンダイナミクスは、ボーンが「輪」にできない(親の先端とこの末端をつなげられない)という理由から、中に穴があるものには上手く適用できない問題がある。基本的に、中に穴が開いている衣服には向かないが、スカートのように、一部輪を固定すればそれらしく見せられるものがある。
ダイナミクスで固定するにはFIXを使うしかない。このため、どの部分も最初からすべてダイナミクスで動かそうとせず、ダイナミクスは固定で後でFKで動かすなど、動きの場合わけをしておくと、親子末端による生地の伸びを防げ安い。

 

動的なバンプ:
パンツなど伸び縮みするものは、ボーンを増やすよりも、細いバンプをあらかじめ作っておき、ノード編集でシワができる時間に合わせて見えさせたり消したりするほうが楽。

 

///実作例

 

スカート頂点ボーン:
プリーツの各頂点にボーンを対応させ、ひだの最下部に数字をつける。
動かさない部分がダミーのルートボーンを作り、ウェイト100%にする。ほかの動くボーンのウェイトはすべて0%にすればいい。

 

髪頂点ボーン:
各頂点ではなく、およそにわけて、パーツにわけてウェイト付け。ボーン全てに名前をつけておく。
ストランドの数があまり少ないと動き時にまとまりすぎて不自然、あまり多いと編集がしんどいので、適当な数にする。
根元からはがれないように注意。ただし根元をすべて動かなくすると、ボーンで動かしたときに根元が引っ付いて不自然な動きになるので、意図的に根元をゼロにはしないほうがいい。
ただしボーンは髪の根元から先端まで沿って入れること。途中からボーンを入れると、親ボーンを動かしたときに根元が逆方向に動いてしまう。
全部動かすのではなく、ある程度は全く動かない髪を作っておくと、根元からごっそり抜け落ちたような不自然な動き方をしないですむ。

 

///////////////////////////
レイアウトで連続モーフ

 

///モーフ作成用シーンの作成
関節運動を含むモーフを作るとき、頭髪や下着など、体と別のオブジェクトはモデラーのジョイントモーフでいっしょに動かすことが出来ないため、つまりモデラーで連続モーフのモーフの作成は不可能である。
そこで、これら全てのオブジェクトのモーフをレイアウトで作成し、エンドモーフとしてオブジェクトに保存すればいい。
モーフ作成用のための専用シーンを作成する。以下に注意がある。

 

モーフの順番を変更したとき:
ノード変位でボーンとモーフの順番を入れ替えることができる。
これをやった場合、ボーンによる関節運動をさせたあとにモーフ変形が可能。ただしモデラーでその形を見るため、一度変形状態をモーフ保存してモデラーで見ながらやったほうがやりやすい。

 

使用例:
呼吸するときの胸の動き、スカートのめくれやスカートを脱がせる動きにはこれを使う。
関節変形とモーフが同時に行われる場合、あるいは「関節変形が複雑で直線的にならずに困る場合(スカートめくりのような)」には、ボーン変形ごとモーフ記録し、最終的にはモーフだけで動かす。

 

モデルの注意:
読み込む全てのオブジェクトは、中心点は原点(0,0,0)でないとうまくいかない。原点以外に中心点があると、中心点から離れたぶん、モーフしたときにオブジェクトごと移動してしまう。
このため基本、ボーンオブジェクトはルートで動かすことになる。ルートボーンはまっすぐ縦に立てる。そうでないと親座標がワールド座標と一致しなくなるため、動かしにくい。
勘違いしてはいけないのだが、本シーンでは親オブジェクトは、オブジェクトの移動にはオブジェクトを移動させるのであり、ルートを移動させるのではない。ただし回転はルートで行う(中心点が原点だと回転させにくい)
子オブジェクトは、移動も回転もルートで行う。

 

レイアウトでの設定:
レイアウトでオブジェクトをすべて読み込んだら、普通に設定する。通常のシーンではフレーム0でこの設定をしておき、コピーしておくといい。
レイアウトに読み込んだオブジェクトは、読み込んだ瞬間の位置からのモーフとなる。オブジェクトごと動かすとその移動までモーフ記録される。
サブディビジョン手順は「ボーンの後」にしておく。モデラーではサブディビジョン後のメッシュまでは記録されないため、ボーン変形前にサブディビジョンをしてしまうと、モデラーで読み込んだときに形が少し変わってしまう。同じ理由で、変位マップやバンプ変位、ノード変位は記録されない。
ジョイントモーフも設定しておく。

 

IKの原点戻しの問題:
リセットで戻すときにIKのゴールオブジェクトまで適切な位置に戻らないという問題が生じる。
これをやるためには、その場でルートボーンにゴールオブジェクトを親子付けすることで、ルートとオブジェクトの動きとともに原点へ戻るようにする(0フレームで親子付けすると以後の動きはもちろんおかしくなるので意味がない)
しかし途中で親子付けするとそれ以前の動きはめちゃくちゃになるため、シーンは保存できない。
また親子付けした以後のシーンでも、「本来の動きは親子付けしていないもの」のため、ゴールオブジェクトの動きはおかしくなっている。よってこの作業は、モーフが必要なシーンごとに行わなければならない。

 

複数オブジェクトの相対位置:
2つ以上のオブジェクトの相対的な位置関係は、正確にモデラーに持ち込むことができない。モデラーで2つ読み込み、およそ接近させることはできても、「レイアウト上の」正確な距離や角度はわからない。
これを何とかするため、エンドモーフ保存でオブジェクトのどこかの点を、ClothFXのMotionScanとEditFXなどで、位置のキーポイントとなる地点をどれかの頂点で示しておくと、モデラーの単一オブジェクト内でその位置を知ることができる。
MotionScanでの頂点の変更を保存する場合、表示サブディビジョンレベルはゼロにしておく。ゼロでない場合、ケージでない分割後の頂点を移動させた場合、分割後の頂点はもちろん保存されず、その移動に応じて変更したサブディビジョン前の頂点の変更が保存されるだけとなる。
2つのオブジェクトをモデラーで表示して共通名のモーフを作ってやるのは作業が面倒なため、片方のオブジェクトをもう片方にコピーし、モーフ適用で形を固まらせると楽。
同じ物体の変形でも、コピーして別レイヤーに配置し、モーフ適用で変形後の形を背景に置くことで操作しやすい場合がある。コピーしたものがいっしょにモーフ変形しないようにするには、モーフ変形した状態でそのモーフを-100%すればいい。

 

ボーンモードとモーフモードの境界:
ボーンで動かしているのをボーンモード、ボーンの動きごとモーフで動かすのをモーフモードとする。
ボーンモードからモーフモードへ移す瞬間、ボーンはルート以外すべてリセットし(0フレームに戻す)、またモーフモードからボーンモードへ戻すときは、PreMorphであらかじめボーンのキーフレームを打っておけばいい。ルートボーンとオブジェクトの位置と回転は動かさない。これでちょうどうまくいく。

 

手順:
普通にシーンを作成し、モーフを記録する段階で別のシーンとして保存し(PreMorph)、モーフ記録したいフレームの「オブジェクトの位置」と「ルートボーンの回転」を0フレームに戻す(「リセット」すればいい)。これで原点位置で、回転なしのポーズになるので、これを記録すればいい。
次にIKも原点に戻す。モーフを作るフレームで、全てのゴールオブジェクトをルートボーンに親子付けする。そこでルートとオブジェクトをリセットする。これをモーフが必要なフレームごと行う。親子付けした以前のフレームは動きがめちゃくちゃになるため、絶対に本シーンではこれを保存してはいけない。オブジェクトを保存したらシーンを破棄し、再び開きなおし、必要なモーフが揃うまで同じ事をやる。
先にPreMorphを全フレーム作成してからMakeMorphへ移るといい。どこかでPreを訂正するとMakeも訂正するようになるため、先にPreシーンを全部作ったほうが修正が少ない。
誤って本シーンにリセットした情報を保存しないよう、必ず本シーンとは別のシーンとして保存すること。
モーフ記録するフレームで、「全アイテム」でキーフレームを打っておく。キーフレームが打たれていないとモーフが上手く保存されないことがあるようだ。シーンを保存しなくても、オブジェクトを保存すれば理屈上はモーフも保存されるはずだが、なぜか上手く保存されないことがあるので、念のためシーンも保存しておくといい。
0フレームで保存するとせっかくの設定も台無しになる可能性があるので注意。
最終的にはボーン変形はなくし、モーフ変形だけでシーンを作るのだが、ボーン変形したシーンも残しておかないと修正が効きにくいため、「ボーン変形した元のシーン」と「モーフ記録するシーン」と「本シーン」の3種類シーンを保存しておく。
なお、レイアウトでボーンを曲げて作ったエンドモーフは、モデラーではスケルゴンが対応していっしょに変形している。モデラーに取り込んだエンドモーフをさらにモーフ変形させるとき、スケルゴン回転によるモーフ記録で変形させるのに役に立つ。

 

物理演算でのエンドモーフ保存:
物理演算でエンドモーフを保存することが可能。物理演算はシーンのフレーム数が長いと大変な時間がかかるが、モーフ専用シーンで最低限のフレーム数で計算すれば、時間も短くて済む。それをモーフで保存し、本番ではモーフとして使えばいい。
サブディビジョン手順を「一番終わり」以外にすると、サブディビジョン後のレベルで物理演算され、EditFXもサブディビジョン後の頂点の編集が可能だが、これでエンドモーフ保存すると、サブディビジョン前の変形としてエンドモーフが保存される。つまりエンドモーフとして記録される頂点は、サブディビジョン前の頂点の変位だけがエンドモーフとして記録されるようだ。
サブディビジョンレベルゼロで計算すると、突き抜けが発生したりしておかしくなるが、少しレベルを増やしておき、そのレベルで物理演算させてエンドモーフ保存すれば、「より細かい分割でのサブディビジョン前の変位」を記録できて大変便利。
物理演算でエンドモーフを保存するときは、移動や回転で0フレームに戻すことはできないので、そのままエンドモーフ記録し、モデラーの移動の数値入力で0フレーム位置に戻す。レイアウトのその時点での移動距離と回転角度をモデラーでマイナス入力して戻す。

 

モデラーでモーフ作成:
モデラーでオブジェクトを開いて、必要なら関連オブジェクト全て開き、ここでモーフをさらに作る。
後は通常のシーンで使用すればいい。同じモーフを複数のオブジェクトで使うには、モーフの動きをグラフ保存(.env)して置き換えればいい。
現実的には、モデラーのジョイントモーフで変形させたほうが面倒がない。

 

モデラーで人物と一体化する:
通常、身体とかかわる物体の場合、身体の一点をMotionScanのMakePathでNULLを作って親子関係にして動かすが、人物と独立して動かない物体の場合、モデラーで人物と一体化し、ボーンのウェイトマップを付けて一体化したほうが楽なこともある。
一体化した物体を見えたり見えなくしたりするには、屈折率を1にして透明度を調整する。屈折率が1以外だと透明でも見えてしまうので注意。

 

データの保存について:
作成したモーフ専用のレイアウトのデータは、シーンごとに必ず保存しておく。
さもないと、ボーンで動かしたデータが存在しないと、モーフで動いていてもボーンは動いてくれないため、それに続く動きが作れなくなってしまう。
ボーンの動きをモーフ専用レイアウトに取り入れる場合、モーフ前、モーフ用、本番シーンの3つを保存しておくこと。
本番シーンは、モーフ前のデータ(ボーンだけで作ったデータ)が全部出来上がってから、これをコピーして作成する。

 

///以下は失敗した問題

 

関節変形の失敗例:
レイアウトで関節変形をさせ、それをエンドモーフ保存、モデラーでそのモーフを使い、それにあわせて服の変形を作る。
例えば、レイアウトでバンザイさせてエンドモーフ保存、モデラーでバンザイさせ、そのポーズにあわせて上着を脱がせる、ということをしても上手くいかない。
モーフの起点はローカルである。モーフ自体はモデラー(ローカル)のポーズでまず行われ、その後にボーン変形がなされるため、バンザイさせて衣服を動かして元に戻しても、「まず初めにローカルポーズでモーフが適用される」ため、服は体を突き破ってしまう。
このような複雑な動きは、関節変形ごとモーフする。つまり、レイアウトで関節変形させ、変形ごとエンドモーフ保存し、モデラーでそのモーフに「付け加える形で」衣服の変形を加え、モデラーではモーフでバンザイさせる。

 

起点の問題の解決:
ボーン変形ごとモーフ記録する場合で、レイアウト上で連続モーフの起点はボーンの位置と体の動きがまったく合っていないため、連続モーフの最中に関節を動かすことができない。これを解決するため、強引だが、必要な部分だけボーンの位置を一つずつ変更し、無理やり体の位置に合わせる方法がある。
ただしボーンを全て移動させるのはかなり時間がかかり、非常にやりにくい作業でもある。モデラーのスケルゴン回転によるモーフ記録でやるほうが現実的である。
これをやる場合、まず連続モーフの起点を0フレームにし、それにあわせて「チップ移動」で体の形に合わせてボーンを移動させる(チップ移動は0フレームでないと使用できないため、起点を0フレームにする)
その後はモーフ変形させつつも、ボーン変形が可能になる。
ただしチップ移動は0フレームでしかできないため、この「ボーン位置の変更」は1シーンに1回しかできない。途中でもう一回やろうとするなら、別のシーンを作る必要がある。

 

/////////////
モデラーで連続モーフ

 

関節運動を伴わない、あるいは簡単な関節運動は、モデラーだけで連続モーフの作成が可能。

 

モーフ適用は、ポリゴンで選択すればその部分にだけ適用できる。
モーフの動きは直線なので、回転であるボーンとは厳密には動きが異なる。
体の関節に親子付けされている髪やスカートなど、別オブジェクトもいっしょにモデラーに読み込み、いっしょにモーフで動かす(モーフデータはそれぞれのオブジェクトに別々に保存される)関節による親子付けが機能しないため。

 

共通手順:
まずモーフするオブジェクトをモデラーで読み込むのだが、そのオブジェクトに親子付けされているオブジェクトで、モーフといっしょに動くものがあればそれも同時にモデラーに読み込む。
全部のオブジェクトを普通に表示し、そのまま「新規モーフ」で、そのまま変形させてモーフを作成すれば、複数のオブジェクトで同じ名前のモーフができあがる。
作り方は2通りある。

 

手順その1:
このやり方は、前のモーフが変形した状態からさらに追加して変形させるときに、手順が簡単でやりやすいが、複数モーフを混合させることができないので、単純なモーフに適用する。
まずモデラーで最初のモーフを作成する。次のモーフは、前のモーフをコピーし、そこから動かせばいい。これを繰り返す。
レイアウトでは、まず最初のモーフを100%にし、次のモーフへ移るときは、前のモーフを0%に戻しつつ、同時に次のモーフを100%へ導く。この時、0と100が完全一致するようにし、グラフはすべて「直線」で結ぶように。直線ですると、2つのモーフの合計%が常に100になるため、別の部分が余計に動かなくてすむ。
例えば服を半脱ぎさせ、モーフで乳首の動きを作っていくとする。2つのモーフで服の半脱ぎは共通だが、グラフが直線でないと2つのモーフ値の合計が常に100にならない。モーフに含まれている「服の動き」が合計100でないため、服が動いてしまう。これを防ぐため、直線で結ぶ。モーフ1が100のときモーフ2は0、モーフ1が0のときモーフ2は100になるようにしなければならない。

 

手順その2:
このやり方は、いくつものモーフを混合させるときに使うことができるが、衣服のように、次々を変形を付け足す場合は、モデラーでの操作が煩雑になってしまう。
まずモデラーで最初のモーフを作成する。次のモーフを作るとき、前のモーフを「モーフ適用」100%行い、素で前のモーフ変形状態にする。この状態から次のモーフを作成すれば、レイアウトでは前の変形を100%した後、次の変形を付け足して変形できる。
戻すときは前のモーフを-100%すればいい。

 

その後:
複数オブジェクトに同じモーフを作ったときは、一つ作ったらモーフのグラフ編集で、左のチャンネルのところで右クリック、「保存」でエンベロープを一時保存し(拡張子は.envだがつけなくても.envで保存されるようだ)、同様にコピー先のグラフで「置き換え」で置き換えるといい。
モデラーで関節ごとモーフ記録した時は、レイアウトではすべての回転を0フレームにリセットする必要がある。

 

///////////////////
EditFX(MotionScan)による変形

 

ClothFXのMotionScanはボーンと物理演算の後に行われるため、最終微調整としてどんな変形の後にも組み込めるのが強み。
Editを少しでも始めると、ボーンや物理演算の変形はそれ以降全く使えないので、まずはボーンと物理が完全に間違いないことを確認してから変形を行う。事前に本レンダリングアニメーションを作って間違いないことを確認する。
余計なところが動かないよう、ウェイトマップで動かすところを範囲指定しておく。そのとき全体と部分と両方ウェイトマップを作っておく。はじめに大まかに動かし、後で細部を動かすため。
モーションは、一つの動きを作るごとにセーブしたほうがいい。多くの動きをいっぺんにセーブすると、ある部分だけ元の形に戻す、ということができなくなるため。

 

保存する方法:
モーションをmddファイルで保存するしかない。
変形をエンドモーフや変形オブジェクトの保存で保存することも可能だが、上の「エンドモーフについて」でも書いてあるように、手続きが面倒すぎて現実的な案ではない。

 

//////////////////////////////
サブディビジョンレベルについて

 

「一番終わり」以外:
物理演算と同じ。「一番終わり」以外では、表示レベルとレンダーレベルは同じにしておかなければならないとおかしな表示になる。当然スキャンする瞬間も最終表示レベルにしておかないといけない。
計算が最終レンダリング時のもので行われるため、レベルの高いものでは計算しきれない問題が起こる。これにした場合、その物体のサブディビジョンレベルはある程度低く抑えられてしまうのが難点。
このやり方はサブディビジョン後の頂点も編集できる。細かいしわの付く変形などはこちらのほうがよさそう。
操作は、スキャンした瞬間のサブディビジョンレベルとサブディビイジョンなし(レベルゼロ)のみ操作可能。それ以外の表示レベルにするとおかしな表示になる。

 

「一番終わり」:
「一番終わり」にすると、表示レベルとレンダーレベルは異なるものにできる。表示するときだけ滑らかに映すことが可能。
ただし頂点の編集はモデラーのレベル(サブディビジョンレベルゼロ)の状態でしか編集できない。編集の難易度からして、細かい変形がなければこちらのほうが楽。
問題として、変位マップはサブディビジョン前に行われるため、細かい凹凸が変位マップで表現できない。
最初はサブディビジョンゼロで大まかに形を作り、後で本レンダリングのサブディビジョンレベルで細かい編集をすると効率がいい。

 

/////////////////
髪の制作

 

//////////////
ポリゴンでやる場合

 

ストランドを囲むように、髪の最外殻と最内殻をポリゴンで作る。
端を透明で抜き、陰影やハイライトも自力で描く。後はカスタムシェードで調整。

 

///ブラシストローク
フォトショップの指先ツールで端を描くのだが。手際よくやらないと髪の先端や陰影がゆがんだりするので注意。
特に筆に関しては、ゆがむことなくまっすぐに線を引かないと、歪みが目立つ。
まずは太めの筆でおよその形を描く。Lightwaveはpsdファイルを読み込めるので、これで保存して何度も保存して読み込み、調整するといい。
およその形ができたら、順次筆を細くしていく。
指先ツールは、筆圧感知ありで強さ100でやっていくとうまく描ける。指は素早く動かしたほうがよい。
筆圧感知なしでやる場合は、指先ツールの強さの値を念入りに調整し、素早く引く。途中で筆を離すと末端がきれいに伸びないので注意。
通常のブラシで端をぼかして消してから、指先ツールで一気に伸ばすようにすると早くできる。指先ツールで何度も引き直すときれいにいかないことが多い。

 

/////////////
FiberFXを使う場合

 

方針:
モデラーではストランドを別レイヤーで作成し、レイアウトで首ボーンと親子付けする。
編集はドロー曲線で行い、後でこれらをストランドメーカーでストランドに変化させる。
ただし手動でポリゴン面に均等に生えさせる「間隔」が難しいので、後述するFiberFXによるファイバーを出させて編集する。
ファイバーの数を減らし、レイアウトでガイド半径を大きくしてレンダリングする方針でやる
ストランドはカメラに映るため、オブジェクトはカメラ、光線を無効にする(ファイバーを読み込むと自動でオフになっている)

 

数々の深刻な不具合:
本来、できるだけたくさんのファイバーをモデラーで用意し、レイアウトでは房の半径を小さくするほうがきれいに見えるが、大量のストランドを編集するのは困難なため、ガイドを作ってそれにそって大量のファイバーを出させる方針になるが、ストランドをFiberFXでガイドとして読み込むとき、ノット数がひとつでも異なるファイバーがあると不具合を起こすためにこの方法は使えない。
また、ストランドの編集は多くの不具合によって困難になっている。ストランドは複雑なポリゴン構成をしており、切り貼りしたり、ノット(点)を削除すると、レイアウトで不具合を起こしてクラッシュしたりする。これら問題点が、モデラーを眺めただけではほとんどわからない。1ポリゴン、2ポリゴンの数など見ないとわからない。

 

製作手順:
最初に下書きしておくとよい。髪の下書きを見ながら、ベジエでおよその髪の立体的な輪郭を描いておくとやりやすい。
下書きは、髪がボリューム(体積)を持つことに注意する。最外郭と最内郭の輪郭を描き、一つの閉曲面の輪郭を描く要領で行う。

 

ファイバー作成:
モデラーで、頭皮をすべて選択し、選択以外非表示にして(切り取る必要はない)、そのままFiberFXを使う。
ファイバーを生やして、ストランドを作成する。長さは間違えていてもいいが、本数は完成時と同じにする。本数が多いほうが細かく編集でき、見た目もリアルだが、編集に時間がかかる。エッジ数(1本あたりのポイント数)は、サブディビジョンと同じ要領でできるだけ少なくする。まずはドロー曲線を作ることに全力を注ぎ、ポイントが足りなければ後で足せばいい。最初から多数のポイントでやると、編集が煩雑になりすぎる。
全てのストランドをドロー曲線に変える。ストランドそのままではあまりに編集しにくいため(アンドゥ、切り貼り実質不可能)。やり方は1本ずつ、まずストランド先端の1ポイントを選択しで連続面選択→閉じた曲線の作成。これを大量にやった後、wで曲線を選択し、連続面選択、そして曲線の選択を外すとよい。
ドロー曲線を、ボーンで動かす範囲ごとにレイヤー分けする。Cullマップで根元の点をすべて選択し、そこから範囲を狭め、連続面の選択で分けていくとよい。分けないとごちゃごちゃしてわかりにくい。
曲線を1本ずつ編集していく。縦ビューと横ビューを同時に表示しておくと速い。全てのドロー曲線の形を、この時点で最終的な形にまでそろえる。
完全に格子状のように規則的にそろえて埋め尽くすと、非常にそろって動くためにかえって不自然になるので、適当にばらつかせる。また長さや位置に関しては、多少ずれていてもかまわない。髪は元々そういう性質なので。
ここでエッジ数(ポイント数)が足りなければ、ポイント追加でポイントを増やす。曲線を全部選択してからやると速い。最初に足して、後でいらないポイントを消していくとやりやすい。

 

レンダリングテスト:
レイヤー分けしたドロー曲線をそれぞれストランドメーカーでストランドに変換し、ひとつのレイヤーに統合し、レイアウトでテストレンダリング。
上手くいくまでドロー曲線の形状を編集。編集は分けたレイヤーの状態で行うため、ドロー曲線を統合しないように。
形が十分整ったら、各レイヤーのドローをそれぞれストランドに変換し、それぞれにボーンを入れ、VertexPaintでウェイト付け。
統合してVertexPaintでノーマライズし、レイアウトでレンダリングする。レイヤー分けしたストランドは残しておくこと。後でウェイとマップ編集できるように。
後はレイアウトで数値調整する。
物理演算を使う場合は動かすためのウェイトマップをつける。ストランド作成時についているウェイトマップを利用し、Cullマップで選択していくといい。特に付け根のFixは必須。

 

///不具合への対処
ウェイトマップを付けるときは、ストランドの状態で切り貼りするとレイアウトで不具合が起きるので、必ず線の状態でレイヤー分けし、ストランド変換してからレイヤーごと切り貼りすること。
詳しくは不具合一覧を参照。

 

///////////////////////////////////////
物理演算の基本

 

///モーフのすすめ
以下で述べるが、物理演算は基本的にシーン全てのフレームに適用されるため、大変計算負荷が高く、結果として非常に時間がかかってしまう。また演算時にフレームを限定すると、その前後は全く動かなくなってしまう。
またサブディビジョンレベルは、「一番終わり」以外ではレベルをあまり増やせず、いい画像にならない。「一番終わり」にすると、今度は変位マップが使えない(サブディビジョン前に変位マップが適用されてしまう)
これより、物理演算そのものが、実践では非常に使いにくいものになっている。
そこで、あらかじめ専用のシーンを用意し、そこで物理演算で動きを計算させ、それをモーフとして記録し、それを使うほうが現実的である。
さらにシーンを区切る必要もなく、便利。
詳細は「連続モーフ」を参照。

 

///計算するタイミング
物理演算あるいはEditFXは、Lightwaveによるテストレンダリングを十分に行い、それ以上キーフレームの位置をずらさないと確定した時点から行う。
これらは後で時間的位置をずらすことが一切できないため。

 

////計算負荷を軽くする基本

 

接触するものだけ計算してセーブする:
計算したらセーブしてロードすれば、動かすときには負担にならない。つまり計算するたびにセーブし、必要ならロードして使う。
これを利用し、相互に接触する部分だけ計算し、セーブしてロードすればいっぺんに大量の計算をしなくてすむ。例えば肉体とスカートだけ衝突を計算し、スカートだけセーブ。その後肉体と上着の衝突を計算してセーブすることで、肉体とスカートと上着と、3ついっぺんに計算しなくてすむ。ただしスカートと上着が衝突するなら、3ついっぺんに計算しなければならない。

 

一度に計算させるのは2つまででよい(重要):
一度計算し、セーブすることで次からそれは計算対象に外される。しかしこれに演算項目を加えて別の計算をさせることは可能。
例えば硬質A,布B,布Cが同時に当たるとする。まずAをCollision、BをClothで計算し、Clothをセーブする。セーブした時点で次からはBのClothは計算でいないが、ここでBをCollisionにし、CをClothにすれば、Bの布の動きとCの布の動きを計算させることができる。これで負荷を大幅に減らせる。
つまり、物理的に切り離せるものはできる限り切り離して、それぞれ計算したほうがよい。
またClothとClothの衝突は計算させることが難しい(精度が悪い、ポリゴンの付きぬけが起こる)ため、一度Clothを計算し、次にCollisionとして別のClothと計算させれば、計算精度もさらに上がるので二重にお得。
この方法を使えるのは、CollisionとCloth,Hard,Softのいずれかの組み合わせで、例えばClothを適用してセーブ、同じオブジェクトにもう一度Clothを重ねて計算するなどということはできない(セーブしても呼び出されず、演算しても先ほどの動きが無効になり、現在の計算で上書きされる)

 

ポリゴン数の少ないダミーで計算:
ダミーのポリゴン数の少ない、あるいはセルフコリジョンの起きないクロスオブジェクトを用意し、FX_Metalinkで本物のオブジェクトを動作させる。正確さは落ちるが、おかしな動きや時間のかかりすぎる計算は防げる。
コリジョン側も、ポリゴン数を減らすためにダミーを用意し、それで計算させることもできる。
MetaLinkは親オブジェクトが子オブジェクトよりもポリゴン数が少ない必要がある。子よりもポリゴンが多いとおかしな動きをする。同数でもいい。

 

隠れた部分を切り離し:
物理的には一体でも、切り離しても切断部分が見えないような特殊な場合は、切り離して別々に計算できる。

 

隠れている部分を作らない:
セーラースカーフやブレザーのシャツなど、ほかのもので隠れていて写す可能性のない部分は、中身を削って外側の衣服と一体にすればいい。ただしもちろん、脱衣シーンのように中身まで写る場合はこの方法は使えない。

 

ウェイトマップで衝突部分の制御:
ウェイトマップで衝突計算する部分を指定できる。できるだけ少なくすれば計算負荷が軽い。たとえば半袖の服なら、手や頭などは計算から外す。

 

モデラーで切り取り:
物理演算に限ったことではないが、カメラに映らない部分はモデラーの時点で切り取ってしまえばいい。

 

ポリゴン数を減らす:
とにかくこれが一番効果的。少ないポリゴン数で多いポリゴンに見せるには、演算ポリゴン数でモデラーで作成し、それにサブパッチを施し、サブディビジョンを一番終わりにして計算する。詳しくは後述。

 

パラメータで節約:
Collision:Collisionの側は細かくしても計算負担はあまり変わらない。
Resolution:精度は落ちるが、これを上げると計算負荷は減る。
SelfCollisionやDoubleSide:これらも無効にすると負荷が減る。

 

///////////
演算の時間について

 

物理演算の開始・終了時間はタイムラインの開始・終了(数値入力可能)と同じになる。したがって計算に無駄な時間がある場合はこの数値調整で時間を省ける。
演算は長時間になるほど遅くなるようで、できれば複数の区間で区切ったほうが計算が楽。時間区間ごとに動きを保存し、レンダリングを分けるか、区間ごとに別オブジェクトにして透明度を変えてレンダリングするなど、演算の負荷を減らす方法がある。
物理演算する前の時間は、ボーンなどの変形は不可能で、完全に停止しているだけ。ただし演算直前のボーン変形状態で固定しているので、演算前にボーンで変形固定しておき、そこから演算を開始することはできる。
長いシーンをすべて計算させると負担が大きいが、レンダリングするときは1シーンが長いほうがいい。そこで一つの長いシーンを作っておき、区間に区切り、その間はカメラで物理演算のオブジェクトを映していなければ、そこで計算を区切ることができる。あるいは何も動きのない区間を作ってそこで計算を休ませる(mddデータを分ける)ことができる。
保存したmddは時間のずれまで認識していないので、使うときはShiftFramesにずれた時間を入れる。

 

/////////

 

///物理演算時の設定
VIPER、IK有効は無効でもいいが、変形の影響は有効にしておかないといけない(ボーンの変形が考慮されない)
ウィルスソフトも無効にしておく。少しは早くなる。

 

親子付け:
髪は首の一番高い部分のボーンを親にする。スカートなどは腰の辺りのボーンを親にする。

 

//////////////////
衣服の制作

 

///服の種類による製作の分類

 

服の種類と制作手法:
ボタンやジッパーは、SewingToolを使えるように、接合点にポリゴンの頂点が来るようにする。
折り返しで厚みが出せそうだが、実際には付きぬけが発生しやすくなったり負担が大きくなるので、やらないほうがいいようだ。
物理演算では一度サブディビジョンしてからさらにサブディビジョンするので、できれば四角形ポリゴンのみで作る。

 

たくさん用意しておく:
実際には、何種類かのタイプの服を作っておき、場合に応じて使い分けるのがよい。明らかに不可能なもの以外(例えばスカートに関節ボーンを使うとか)は全て作っておくといい。
種類は、関節ボーン、頂点ボーン(ダイナミクス想定)、物理演算のほか、親子付けによる移動、モーフがある。

 

///衣服と衣服、衣服と皮膚の接合

 

突き抜けと重ね着の問題対処:
服をいくつも重ね着させる場合、ボーンを動かしたときに下の皮膚や服が、上の服を突き抜けてしまうことが多い。これを防ぐため、可能なら下の服を削除したいところだが、見る角度によっては下の皮膚や服が空洞になっている部分が見えてしまい、不自然になる。
そこで、モデラーやレイアウトで見てみて、どういう角度から見ても中身が見えない部分については、削除する。少しでも見える可能性がある部分は、残しておく。
削除する前のデータも必ず残しておくこと。そうでないと、使いまわしや衣服の変更ができなくなる。
内部は空洞なので、服を脱がせたりはできない。服を脱ぐ場合には、少なくとも脱ぐシーンでだけは全部の衣服を作りこまなくてはならない。

 

実際の服はどうなっているか:
現実には、服と皮膚の接点は、重力によって様々に変わる。しかし3DCGでは重力の方向によって服を少し動かす、ということはできないので、皮膚から少し離れたところを、皮膚を囲むようにして服を作る。
服と服の接点は、シワによって接合点ができ、それ以内は見えなくなる。これを3DCGでやると、変位マップでシワを作ったとき、そのシワで上の服を突き破ってしまうので、不可能。
服の元の形状や、筋肉の微妙な起伏で、現実にはまず見えない部分というのが多数存在する。それは実際の服を見てみないとわからないので、資料を集めてチェックする。見えない部分は削除する。
3DCGでは、重ね着させすぎると、どんどん服の堆積が増え、太って見えてしまう。これを防ぐために、見えない部分を削除する必要がある。
削除しても、実際は服の中は暗くて見えなくなるため、理論的には見えている部分でも、削除して問題ないことがある。

 

手順:
まず、普通に重ね着させる。服はすべて作る。
シワの変位マップを付けた状態で、レイアウトで見る。変位マップは、一番外側の服だけにつけ、中の服にはバンプだけつけるといい。中身をポリゴン的に変形させると、それで突き抜けができてしまう。
ワイシャツの襟など、皮膚と強固に接している部分は、皮膚や下の服と接合させてしまう。接合するとき、当然、皮膚を変形させたりしないこと。
どんな角度から見ても見えない部分については、モデラーで削除する(実際は、筋肉の微妙な起伏などによって、ほとんど見えない部分というのが存在する。特に奥の方は、ほとんど見えない上に、光が当たらず暗くて何も見えない部分がある。これは削除してよい)
現実に重ね着すると、下の服が上の服に接する場所がどこかに必ずあるので、そこで接合させるといい。主に服同士では、下の服を少し膨らませて、上の服と接合させると安定する。皮膚は変形させないこと。

 

/////////////
バンプ、バンプ変位

 

Displacement(バンプ変位)の設定:
変位マップは軸の方向を決めなければならないため、シワなどはバンプ変位を使う。ノードではDisplacementで、これなら法線方向に変位してくれる。
サーフェイスはテクスチャアンチエイリアシングは無効にしておかないとおかしくなる(Ver8)。またピクセルブレンディングも外したほうがいい場合がある(普通は有効にしたほうが滑らかになって良好)
しわの最も大きく突き出る部分を参考にし、アイテムプロパティの値を設定する。あとはテクスチャの濃度やノード編集の不透明度などで調整する。

 

バンプの設定:
ただのバンプではピクセルブレンディングもテクスチャアンチエイリアシングもデフォルト(有効)でいい。

 

変位マップで回り込むシワ:
バンプ変位ではなく、変位マップも使えないことはない。
バンプ変位で浮き上がらせた後、変位マップでさらに左右に移動させることで、回り込むようなシワを作ることが可能。
ただしサブディビジョンレベルがかなり高くないと、回り込んだところのポリゴンが滑らかにならないのが欠点。

 

変位マップのアニメーション:
変位マップやバンプ変位のテクスチャをアニメする、あるいは透明度や位置を時間的に変えることで、変形のアニメが使える。
服の上から、あるいは肉体でも、わずかな変形(揉んだり舐めたり)する場合にはこれが使える。

 

解像度とテクスチャ:
通常のテクスチャはとにかく高いほうがきれい。
バンプ変位や変位マップは、解像度が細かければ凹凸も細かくできる。
特殊なのは通常のバンプで、バンプテクスチャ(変位マップやバンプ変位は含まない)は解像度が高いとピクセルの粒が見えて汚くなる。
バンプは解像度が高いほどシワが浅くなり、ピクセルの粒が目立つ。解像度が低いとシワは深くなり、滑らかになるが、あまり解像度を低くすると細いしわを作るのが難しくなる。
バンプのシワは、ぼかしが大きいほうがピクセルのノイズが大きく、細いしわのほうがピクセルのノイズが少ない。
滑らかなシワを作るには、なるべく解像度を下げる。最も安定したバンプが作れるのは、およそ200×200〜500×500あたり。ただしシワが細いときはもっと解像度を大きくしたほうがいい(解像度が低いと塗れる細さに限界があるため)しかしできる限り解像度は下げる方針で。
同じ塗りでも、解像度が低いほどバンプが深くなる。シワの深さはバンプテクスチャの解像度だけで決まり、オブジェクトの大きさは関係ない。

 

/////////////
ノード変位

 

ノード変位(変位マップのノード編集)のこと。
通常の変位マップは、XYZのどれかの方向へ向かってしか変位できないが、以下の方法を使うことで、XYZ軸方向へのほか、法線方向への変位も可能。
またノードを使うことで、バンプ変位(Displacement)では不可能だった「へこませ」も可能。
動画を使えばアニメも可能。

 

ノード変位で法線方向へへこませる:
バンプ変位ではどうやっても「へこませる」ということができない。しかしノード変位(変位マッピングの下にある)を使えば可能。
SpotInfoはそのオブジェクトのノーマルベクトルを出せるので、これをMathのScaleノードのVectorに入れ、スカラーレイヤーのスカラー値をScaleノードのScaleに入れる。これで法線方向への変位が可能。
途中でベクトルのMultiplyを挟み、b値に-1とか負の数を入れておけば、凹み方向へ変位できる。

 

///////////////
どの変形手法を使うか

 

それぞれ弱点と長所があり、動かしたい物体の性質とシーンの特徴で方法を随時変えていくことになる。
同じシーンの中でも、時間区間に分けて別のものを使用することもできる。
基本的には早いものから順に試していき、クオリティが悪ければほかのものを使う。

 

変形の順番について:
変形が行われる順番はマニュアルのとおり、モーフ→ボーン→移動、回転、スケールなどの変形→物理演算→EditFX。変位マップはいくらか調整可能。
後の変形と前の変形が拮抗するときは、後の変形が優先で行われ、前の変形のその部分は無効になる(後の変形の及ばない部分は前の変形が維持される)
例えばボーンで変形した後、全体に物理演算をかけて変形させると、ボーンの動きは全て無効になり、演算のみの動きになる(しかし演算で効果のないFixなどの部分はボーンの動きがそのまま出る)
ボーンダイナミクスはボーンの変形の直前となる。したがって、ボーンの手動変形はダイナミクスでかき消される(Fixしていれば消されない)。またダイナミクスは最後にはボーンの変形となるため、物理演算でかき消されることはある。

 

現実的な案とその特徴:
現実的な案としてはスカートのようにフィットしない衣服は「関節ボーン→物理演算」か「頂点ボーン(IK)」のどちらか。上着のようなフィットする衣服は「関節ボーン→EditFX」か「連続モーフ」のどちらか。
物理演算、EditFXを使うやり方は、関節ボーンの後に行うので、手間がかからないが複雑な修正はやりにくい。簡易な、あるいは少量の変形ならこれがいい。速度のグラフ編集もできない。さらに、簡単に見えるがやってみるとかなり時間がかかる。
頂点ボーンと連続モーフは、複雑で大きな変形も対応できる。大きい変形、複雑なはこちらがいい。モーフなので速度をグラフ編集できるが、動き自体は直線であるのに注意する。

 

モーフかSoftFXか:
脱いだりつかんで引っ張ったりする動作など、ひとまとまりの動きで、頂点がまとめて直線的に動く場合はモーフでいい。
押したり中へ手を入れて動かす場合など、波のように頂点が動く場合はSoftFXを使う。

 

頂点ボーンか関節ボーンか:
物理演算が不正確な動きのため、できれば頂点ボーンを使いたいが、関節といっしょに動かす場合は関節ボーンを使うしかない。
一般的に、硬い衣服(ブラジャーなど)は複数の関節にまたがらず、関節に近い動きをするので頂点ボーンが使いやすい。
柔らかい服は複数の関節にまたがり、かつ関節のような動きにならないため、関節ボーンとEditで動かすのがやりやすい。
プリーツスカートは特殊な例で、関節とは無関係の動きをするために頂点ボーンが使える。

 

例:
静止している人間の長袖の上着を自分で少し脱ぐ→関節ボーンとEdit
長袖の上着を全部自分で脱ぐ→関節ボーンと物理演算とEdit(別レイヤー)
半脱ぎでそのまま関節運動→モデラーで服を脱がせ、そこにボーンを入れてウェイトマップ作成、レイアウトで関節ボーンとして服を動かす。
静止している人間のひだの多いプリーツスカートをめくる→頂点ボーン
マフラー、セーラータイ、ブラジャー→マフラー自体にボーンを入れる。全頂点でなはなく、およそに入れ、ウェイトマップで調整。

 

////各パターン

 

1.関節ボーン→SoftFX→EditFX:
衣服と肉体の接触面積が大きく、肉体と同じ動きをするもの(上着、シャツ、ズボンなど)は、ボーンとEditFX(MotionScan)による制御を使う。
ポリゴン数は、肉体と同じ感覚で作ればいい。できるだけ少なくし、サブディビジョンする。ジオメトリにシワを付ける必要はない。頂点数はかなり減るため、服のつきぬけが起こりやすい。その場合、部分的にポリゴン数を増やすと変形が硬くなり、突き抜けなくなることが多い。うまくいかなければ、服の頂点の位置を変えたほうが早いことも多い。
シワをバンプ変位とバンプで制御する。バンプ変位を大きくしたときにさらに外側の服に突き抜ける場合、外側部分にだけバンプ変位を付ける。またバンプ変位に普通のバンプを重ねるのもいい。
基本的には肉体の上にそのまま衣服をかぶせ、ボーンウェイトをつけ(別レイヤーにボーンだけ切り取って持ってきて計算する)、肉体と一緒に衣服を動かす。
サブディビジョンの後に変位マップをやればよく、変位マップの時点でもかなり細かいしわまでつけられる。
服のポリゴンには肉体のスケルゴンでボーンウェイトをつけておく。これで同じスケルゴンで両方動かせる。肉体のスケルゴンを切り取って、別レイヤーの服のポリゴンに当てはめて自動計算、スケルゴンだけ元に戻す。一つのスケルゴンは別レイヤーにウェイトマップを作成することができ、付け替えるだけで同じように動かせる。ただしレイアウトのリグ設定をそのまま生かすため、スケルゴンの位置や数は変えないほうがいい。
内部がどうしても突き抜けてしまう場合(強くフィットしているような服)、付け替えることもできる。付け替えが容易にできるよう、ポイントセットで付け替える部分を保存しておき、ポイントからポリゴンに選択を替えて付け替えるといい(ポイントセットは重複が可能なので、こういう用途に向いている。重複できないポリゴンセットはスケルゴンウェイトの自動計算に向いている)
Editを使う場合、ウェイトマップで動かす部分だけ指定できる。余計なところが動かなくて済む。
ボーンの動きの後にSoftが使える。さらにその後、MotionScanでEditできる。

 

体にあまりフィットしない服の場合:
上着など、体にピッタリではないがそこそこフィットしているもの。
体にあわせて服を作り、体のボーンを持ってきて(切り取りペースト)普通にVertexPaintで計算を行う。数値(128とか)も体を作ったときと同じにすれば、だいたい体と同じように動くため、つきぬけが発生しにくい。
VertexPaintは体のときと同じく、パーツごとに分けて計算させる。
できるだけボーンウェイトは変えない方針で。ウェイトを変えるのは実際は難しい。
ポリゴンを細分化すると自然に突き抜けを防げることが多い。また服なので、多少の突き抜けはジオメトリの位置変更で直る。
それでもだめならボーンウェイトを変える。それでもだめならジョイントモーフを使う。

 

体にフィットする服:
かなり肉体にフィットしたもの(靴下やパンティなど)は、肉体を部分コピーし、そこから作り上げる。
ジオメトリの位置変更はできるだけしない。少しでもずれるとボーン変形で狂ってしまうため。
まずコピーした肉体をわずかに拡大し、服の端の形はジオメトリの移動ではなく、切り取り(ポイント追加、ナイフ、エッジ追加、バンドソーなど)で行う。端の頂点を動かすとボーンウェイトはそのままで動くため、変形したときにおかしくなるが、切り取った場合はボーンウェイトは切り取り位置に応じて中間の値を取ってくれるため、変形してもおかしくならない。エッジ追加で細かく切り取るのがおすすめ。
元の形状が複雑になっている部分がある(足の指先に靴下を履かせる場合など)。この場合、まずその部分を細分化し、頂点数を増やしておく。そしてポリゴン除去で、頂点を残したままポリゴンを消す(頂点のウェイトマップ情報は全て残っている)。その後残った頂点で面張りをし、靴下の形を作っていけば、ウェイトマップそのままで形を変えられる。
理論上、この方法でどんな複雑な形でも、ウェイトマップを変えずに形を変えられる。ウェイトのついた頂点を残しておき、頂点を移動させないことが重要。移動させると変形が狂う。またポリゴン除去の前に細分化して(メタフォームやサブパッチ→フリーズ)おけば、細かい形を作りやすい。
実際は、いっぺんにポリゴンを消すと大量のポイントが残ってわけがわからなくなる。一枚一枚ポリゴン除去し、そのたび面貼りして少しずつ形を変えていく。ポイントが大量にあってわかりにくくなったら、1ポリゴンを消してしまうとわかりやすくなる。
出来上がった後は体と離すべく少しだけ拡大するのだが、これはノーマル移動あるいはスーパーシフトやマルチシフトを使うといい。ただし出た部分はウェイトがコピーされないので、手動で行う。端だけ体に密着させたいときがあるが、ジオメトリを変えるよりも変異マップで端のポイントだけ体に近づける方法もある。

 

肉体の削りと突き抜け:
肉体で、シーンでどうやっても見えない部分は削ったほうが無難。削らないとボーン変形で肉体を突き抜けることがある。
本来、削らずに突き抜けないように服を動かすほうが正確な動きになる。正確さを求めるなら、一切削らなければいい。
削っていない場合(脱がせる必要のある場合など)、スケルゴン回転で回転時に肉体が衣服を突き抜けないか検査する。突き抜ける場合、ウェイトマップを変える。
削るポリゴンはポイントセットで記録しておき、ポイントをポリゴンに変換で選択、別のレイヤーに退避させて、また使いなおせる。
削るポリゴンは、服を着せたまま、テクスチャーモードで服を着せたままクリックしまくって、それでも触れない部分だけ削る。外から少しでも見える部分を削ると空洞が見えてしまうため。
手順としては、服をまず-で見えなくし、肉体のその周りのポリゴンを選択、服を表示してからあらゆる角度から見てポリゴンをクリックしまくってできるだけ消す。残ったらどの方向からも見えない、完全に埋まった部分となる。テクスチャビューでやるとやりやすい。

 

服の端の問題:
服の端はサブディビジョンの問題で、肉体と同じ形になっていないことがある(内側にめり込むことが多い)また服の端の「ボーンの動き」は、肉体と揃わず、少し遅れることがある(パンツの尻の端など)
この問題の最もよい解決方法は、その部分を端にしないこと。大きめに切り取り(例えばパンツなら、腰から太ももの中央辺りまで)端のポリゴンは透明にし、必要な部分はエッジ追加などでラインを作る。
大きめに切り取って動かせば、中央あたりの動きは問題が起きない。とにかく端だけ動きがおかしくなるので、色のついている部分を端にしなければいい。

 

1.5関節ボーン→物理演算→Edit
肉体と同じレイヤーに服を入れてボーンを動かすと、服と肉体の衝突ができない。そこで、服と肉体を別レイヤーにし、それぞれ同じボーンを入れてレイアウトで同じ動きをさせる。そして肉体はCollision、服はClothで計算させる。これで関節ボーンの動きの後に物理演算で変形できる。
1フレーム目でクロスのほうが有効になってボーンはほぼ無効になる。よって0フレーム目の形をボーンで変形させておく、というような用途に使える。

 

2.物理演算→EditFX:
衣服と肉体の接触面積の小さく、肉体とかなり異なる動きをするものスカート、マントなど)は、物理演算とEditFXで動かす。
変位マップとバンプ変位で、初期状態のしわは作れる。衣服が柔らかいと無意味だが、HoldStructureを大きくした場合などは元の形に戻った時に変位マップの形が出てくるので、初期状態のシワ、ある程度できやすいシワはちゃんと作っておく。
バンプやストレスマップは使えるので、細かいしわにはこれらを使う。物理演算の後に変位マップを使うことはできないため、ジオメトリの変形には物理演算しか使えず、ソフトの計算精度にかかっている。精度の低さはバンプでごまかすしかない。
突き抜けが生じる場合があるため、やや大きめに作ってかまわない。演算後、わずかな時間で縮む。

 

3.頂点ボーン→SoftFX→Edit:
完全手動で調整でき、正確。服を脱がすときに。

 

4.関節ボーン→頂点ボーン
上着など、通常ボーンの後に頂点ボーンを使うことはできないが、擬似的にやらせる。
モデラーでスケルゴン回転とモーフ適用などで上着だけ肉体に沿って変形させ、その後上着に頂点ボーンを流し込む(服のポリゴンを消去し、全ての頂点を選択して「閉じた曲線を作成」で自動で線をすべて作成、スケルゴン変換で短時間でスケルゴンを入れるやり方でやるといい。丁寧に頂点を選択して線を作ってからスケルゴンを作るやり方では時間がかかりすぎる。このやり方ではIKが使えないのでそこは注意。)
見てのとおり、このやり方ではレイアウトでは通常ボーンによる変形は不可能。肉体関節が完全に固定されたシーンで、かつ通常ボーンで衣服が動いており、「肉体は動かないが別の細かい動きをさせたいとき(脱がせるときなど)」には使える。
スケルゴン回転の変わりに、レイアウトでボーンを回転させて変形オブジェクトを保存してもいい。

 

5.部分的に物理演算、後はボーン
セーラータイなど、部分的に動かしたい場合。
肉体のポリゴンをほとんど消し、タイだけ残す。ただしボーンだけ残す。タイとボーンのみのオブジェクトにする。
ボーンは普通に動かし、物理演算し、動きをセーブする。
本オブジェクトを呼び出し、Clothを適用したら、セーブした動きをロード。プレイバックモードをLocal,NodeMatchにすれば、タイだけ動かせる。
ただしボーンの動きはセーブしたときの動きとまったく同じでなければならない。
布同士では振るえが起きるため、これをやるくらいなら最初から頂点ボーンで手動調整するほうがいいかも。

 

6.モーフ→頂点ボーン
ボーンの変形の変わりに、モデラーのスケルゴン回転によるモーフ作成を使い、本来ボーンでやる変形をモーフにしてしまう(直線の動きしかできないのに注意。わずかなら動きなら)
レイアウトでモーフとして関節を変形し、服は頂点ボーンで動かす。

 

7.関節ボーン、頂点ボーン→物理演算→Edit
関節ボーン、あるいは頂点ボーンで初期位置を決め、1フレーム目から物理演算。
体と服をボーンで動かし、体はFixしておく。服は最初の1フレームだけ初速となる。
シーンのその区間内で関節が固定されているなら、これが可能。
頂点ボーンで当たり判定が悪い場合、初期位置を調整する目的にも使える。

 

8.連続モーフ
関節ボーンの後に変形、たとえば上着を脱ぐ場合など、EditFXでは大変な時、あらかじめモデラーでモーフを作っておけばよい。
注意点として、必ずモーフの後にボーンが実行されるため、モデラーで関節回転してからモーフをしたのでは、手順が逆なのでレイアウトでその通りにならない。そこで関節回転してからモーフさせる場合、関節回転もモーフでやってしまい(モデラーのスケルゴン回転とモーフ記録で)その後衣服のモーフをやればいい。

 

///演算補助のためのダミーコリジョン
服をつかんだりするのに衝突判定でつかむのが難しい場合、ダミーの衝突物質(透明)を使い、反対面から押すようにしてつかんでいるように見せかける。
Clothはサブディビジョンしたオブジェクトを使うほうがいい動きをする。衝突エフェクタでは、特にスケールしたときに判定が弱くなる。
Softは衝突エフェクタを使うときれいに動く。サブディビジョンオブジェクトでは上手く動かない。

 

/////////////
物理演算の影響を部分的に切る、部分的に演算を適用する。

 

ClothFXやボーンダイナミクスでオフに指定した部分は、元の移動、回転、スケール、およびボーンの回転をそのまま行う。つまり影響を受けず、元の動きをする。
Fixになっていない部分は、そこにモノがぶつかるまでは移動、回転、スケール、ボーンの動きをするが、ぶつかった瞬間にそれまでの動きはその瞬間の「初速」となり、以降のキーフレームの動きは向こうになる。つまりぶつかるまでのキーフレームは有効だが、ぶつかった後のキーフレームは無効。

 

例:
人間に服を着せ、物理演算で動かしたい部分以外すべてFixしていれば、部分的に物理演算で動かせる。
人間同士の殴り合いで、殴られて影響する部分だけボーンダイナミクスをオンにし、後はオフで普通に動かせば、殴られたときの衝突のめり込みなど回避しやすい。

 

/////////////////
状況による工夫

 

衣服の測定:
衣服を厳密に再現したい場合、最もよいのは自分で着ることだが、できない場合、「服を着ている人間」の資料を集める。衣服の長さは、服をたたんで測定したときと着用して測定したときではかなり値が違うので注意。着ると横幅は狭くなる。
服の初期状態は、体のラインより大きいものも小さいものもある。セーラー服などは体の円柱半径より3センチくらいの余裕があり、ショーツなどは体より小さい。

 

大量のシワの作成:
不安定なフリルやプリーツなど、変位マップ、バンプで対応できる。ただしセーラースカートのように、回り込むシワには対応できない。
ウェイトマップでClothのポリゴンサイズを指定し、縮めることでも対応できる。
ショーツの細かいシワは、バンプで対応するといい。その他、形状のほとんどかわらにほどのシワはバンプで対応する。

 

服をつかむ、あるいは完全固定:
Collisionで服を掴んだり、靴下のように事実上完全に固定されるもの。
摩擦力に最大値をいれ、Boundは最小値を入れ、あとは普通に指先で服をつかみ、引っ張る。衝突エフェクタでは十分動かないため。張り付かせたいときは、重さ、重力も最小値にすると、ほぼ張り付いて固定される。
EditFXは、できなくもなさそうだが複雑すぎるのでやめたほうがいい。これはあくまで通常計算の結果を微修正するツールと考える。

 

ボタン、ジッパー:
物理演算で制御する場合、SewingToolで外したりつけたりする。
ボーンで制御する場合、最初から結合を外しておき、EditFXのMotionScanを使って動かす。

 

服に変形しないものをくっつける:
ボタンやアクセサリ、セーラー服のタイを入れる輪の部分など、衣服にくっつけたいがCloth変形してもらっては困るものは、EditFXのMakePathかFX_HardLinkを使用する。
衣服は通常、ひとつの曲面で作る必要がある。別の曲面をくっつけるとそこで当たり判定ができ、その部分だけ常に震え続けてしまう。

 

部分だけ物理演算:
セーラータイやセーラー服の襟など、「大部分はボーンで、しかしある部分だけ物理演算」させたい場合は、モデラーで物理演算させたい部分だけ残して後は消し、それを物理演算し、データをClothFXのNodeMatchで再生する。

 

衣服の変形状態のセーブ:
シーンの時間が長くて物理演算の計算が重くて持たない場合、ある程度時間がたったら変形状態の衣服をlwoで保存し、別のシーンで同じポーズをさせ、その上から服を着せてまた始めればいい。
シーンの作り始め、モデルを読み込むたびに、服を着せたモデラーでのポーズからシーンのポーズまで少しずつ変形していかなければならず、面倒。これを避けるため、あらかじめ初期状態のポーズまで関節を変形させ、変形状態の衣服をセーブし、初期ポーズに着せれば手間が省ける。
ただしこの方法は、衣服のポリゴン数は固定で、サブディビジョンは使えない。
Clothどうしの当たり判定:
切り離せる場合は切り離し、一度片方をClothで計算し、セーブしてCollisionを設定し、もう片方のClothと計算させる。ポリゴンの付きぬけも発生しにくい。
切り離せない場合、Cloth同士でも計算はできるが、ポリゴンの付きぬけが生じやすく、精度が悪い。同じレイヤーにしてSelfCollisionにすると精度があがるときもある。

 

///物理演算の典型的な問題

 

衣服を突き抜ける:
当たり判定は、Clothの「頂点」とCollisionの「面」が当たって初めて生じる。したがって突き抜けをなくすには、まずClothの頂点を増やすことが重要で、Collisionの頂点を増やしても少々よくなる、というくらい。
あまり服を大きくすると、1ポリゴンあたりの面積が大きくなり、あたりにくくなってしまう。
できるだけ正方形のポリゴンで作る。長方形だと、当たっている頂点と当たらない頂点があるとき、その間で付きぬけが生じる。長方形があれば、分割して正方形に近づけるといい。
何度かシミュレーションしてみて、突き抜けやすい部分だけ、ベベルやバンドソーなどでポリゴンを細かくしていく。また、まったく突き抜けそうにもない部分は、ポリゴンを大きくしてもいいかもしれない。
Radiusを上げれば突き抜けにくくなるが、服が大きくなりすぎるのを防ぐため、できるだけ控えめに使用する。
Collisionを二重に設定しても無意味。
MetaLinkで代用する方法もある。

 

衣服がブルブル震える:
ほとんどはClothのSelf Collisionが原因で、Self Collisionをなくせば収まる。SelfCollisionが生じないような衣服を作って計算させ、それをMetaLinkで代用する。
Self Collisionを行う場所を限定したりウェイトマップの数値を低くしたり、Viscocityを上げてもほとんど無意味。SelfCollisionを無効にする以外、確実な方法はない。
どうしようもなければボーンとEditFXで制御する。

 

///サブディビジョン手順

 

以下、サブディビジョン手順によって長所と欠点がある。

 

サブディビジョン手順、一番終わり:
サブディビジョン手順を一番終わりにすると、演算は必ずモデラーのポリゴン(サブディビジョン前)の数で計算される。
表示サブパッチレベルを高くしても、計算自体はサブディビジョン前のポリゴンで行われている。
これで計算させ、「一番終わり」にしておくと、レンダーするときだけ高いサブディビジョンで表示できる。理論上はこれが一番きれいに表示できる。
EditFXを使うときは、少ない頂点で編集される。表示サブディビジョンを変えても、実際は少ない頂点でしか編集できないようになっている。
モデラーで計算するポリゴン数でサブディビジョン・フリーズして、さらにサブディビジョンをかけることができるが、実際はモデラーでポリゴンを増やすことはめったにしない。計算負荷が大きすぎる。
バンプ変位が機能しなくなるという致命的な弱点がある(物理演算で崩される)
レンダリング時の衣服のレンダー・サブディビジョンレベルは非常に高いため、この方法が現実的。

 

サブディビジョン手順、一番初め:
サブディビジョン手順を一番初めにすると、表示レベルとレンダーレベルが同じでないとまともにレンダリングできない(レンダーしても動いていない)
計算は表示レベル、レンダーレベルで行われるため、計算負荷を考えると最終表示はあまり高いサブディビジョンレベルではできない。しかしサブディビジョン前のポリゴン数が少ないため、EditFXで編集しやすい。
「一番終わり」でやるときでも、計算の最適レベルを見つけるにはこちらのほうが効率がいいので、最初はこちらで調整すると早い。
レンダリング時のサブディビジョンレベルがかなり少なく制限されるため、あまり現実的なものではない。

 

///計算の手順

 

とにかく最初はサブディビジョンを減らして、およその値を決めていく。サブディビジョンを少しずつ上げていき、最適な値を見つける。面倒だがこれが一番早い。
Resolutionは上げても結果があまり変わらないなら、できるだけ上げる。
たまに計算前から形が崩れていることがあるが、ClearMotionすれば元に戻る。

 

///パラメータ数値
ClothとCollisionのRadiusは同じくらいにするといい。それぞれ10mmくらい。
特定の値が大きすぎると、マシンが計算放棄することがわかっている。極端な値を入れないほうがいい。今わかっているのは、SubStructureに10000以上、CollisionのFixとFrictionそれぞれ3以上入れるとおかしくなる。

 

///ClothFX
weight:デフォルト1のまま。高いとすっ飛んで行くことがあるが、計算負荷が軽くなることもある。
Spring:低すぎると伸びることがあるので、高いほうが安全。1000くらい。
Viscosity:生地の厚さで調整。通常の衣服は10〜50程度でいいが、パンティのような生地の薄いものでは、1くらいにする。また薄い生地では比例してポリゴン数を増やさなければならない。生地が厚くても、できればポリゴン数を増やしてViscosityの値を大きくしたほうがきれいに見える。あまり大きくすると(40とか)計算が重くなってくるので注意。10くらいが最も軽いか。
Resistance:0だと風が吹いても動かなくなるので注意。これが高いと肉体といっしょに動かない。しかし高くすると突き抜けやすっ飛びが発生しにくいこともある。低すぎると重力で落ちて変形するので注意。空気は0.14。
SubStructure:普通は大きい値にする(10000くらい)。さもないと伸びてしまう。またそうすることで少ないポリゴン数でもしっかり見える。伸びる部分はウェイトマップで減らす。
HoldStructure:普通は0でいい。つまりモデラーの形は維持しない。特殊な服では形状を維持するかもしれないが。

 

Collision項目:
Collision Offset:少しつけておく。数センチ。
Friction:100〜10000。適当でいい。100くらい。
あとはデフォルトのままで。

 

Self Collision:
これを入れないと服が突き抜けてしまう。DoubleSideも有効にする。

 

relaxもチェック入れておく。

 

///////////
グラディエント・セル

 

色のテクスチャでLightIncedence(キーライト)を使い、上をシェードの色にし、下を明るい部分の色にする。自己発光度100%でDiffuseは0、ライトは10くらい。
ハイライトは別レイヤーを作り、明るいほうをハイライトの色にし、暗いところはアルファにすればいい。2段階の陰影を作るのも同様に。
これで輪郭も作れる。前レイヤーを一つ加え、上のキーにグラデーションをつければいい。
セルシェーダっぽくしたければ、グラディエントのキーの位置で調整できる。上から一つ加えて少し下へ、下から一つ加えて少し上へ。

 

シャドウ:
拡散が0ではまったくシャドウがつかないので、拡散は100%、普通のキーライトも100%にする。これでシャドウが付く。
シャドウの色を変更した場合、アイテムプロパティの自己の影と影を受けるだけを有効にしておけば、ほかの物体にシャドウがつかないようにできる。ただしシャドウマップではどうしてもほかの物体にシャドウが落ちるらしく、レイトレースで面ライトを使えばシャドウをぼかしつつほかの物体に影を落とさないようにできる(シャドウマップを使わなくても平面を用意し、ものすごく大きい自己発光度にすればキーライトの代わりにできる。平面なので影もボケる)
Ver10ではシャドウの色も完全に調整できるので、シャドウが単一のサーフェイスにだけ当たるならこれで調整する手もある。
シャドウマップサイズが小さいと影が薄くてわからないことがあるので注意。8192くらいまで上げると安定する。

 

ラジオシティ:
影を落とそうが落とすまいが、ラジオシティは普通に使える。そのときアンビエントオクルージョンは無効にしておく。有効だと影がドス黒くなる。
ラジオシティでは自己発光している物体からその色が発散するので注意。キャラクターアニメならラジオシティは無効でいい。

 

その他:
ライトが増えたらそれぞれのライトでグラディエントを設定する。
グラディエント・セルをノード編集でDiffuseShaderに入れれば自己発光度を設定する必要はない。
フォトショップの色は、左右が彩度、上下が明度、カラーバーは色相を示す。これを参考にし、陰影をつける。普通、明るい部分は彩度が下がって明度が上がる。暗い部分は彩度が上がり(ここがリアルと異なる)明度が落ちる。色相は同じ。
シャドウをつけたくなければ、拡散度の画像マップを作ってその部分だけ拡散度を0にすればいい。ただしその分明るさが下がるので注意。
形は変えたくないがハイライトをつけたい場合(頬やまぶた)、反射光マップを作ってそこだけ明るくすればいい。

 

/////////
グラディエントセルのテクスチャ

 

グラディエントセルにテクスチャをつけても、シェードを付けることができない。この対処法。
テクスチャはたとえば唇などグラデーションの付いた部分に適用する必要がある。
サーフェイスを全体のポリゴンに指定し、その色テクスチャで、背景レイヤーに肌のグラデーションをつけ、前景にUVマップを各部分に指定し、そこに画像マップで画像を描いていけば、肌の中にグラデーションつきの画像をはれる。
画像はアルファ付きの物を用意する。フォトショップで単に背景を見えなくしただけではだめで、まず画像の「選択範囲の読み込み」で選択したものを「チャンネル」の「アルファチャンネル」に貼り付け、アルファチャンネルを用意する。それで保存すれば透明つきの画像をLWで読み込める。保存するファイルはTIFF,TGA(32bit)で可能。PNGでは単に背景を見えなくしただけでも透明になるようだ。

 

陰影のつけ方とグラディエントの設定:
キーの数は、フォトショップでやった陰影の数と同じにすることで、間違いなく再現できる。例えば陰影2種類、ハイライト1種類なら、陰影のキーは2つ、ハイライトでも1つ用意するべき。
複数キーを作っても、上下から少し中央へ寄せるとセルっぽくなり、顔面では違和感がない。
作成する色も、フォトショップと同じと考えていい。明るいほうから暗いほうへ行くにつれ、明度が減り、彩度が増える。

 

顔面と体:
顔面はややセルシェーダっぽくしたほうがそれっぽく見えるようだ。よって顔面だけサーフェイスを分け、グラディエントの上下からキーを追加し、少し中央へ寄せるといいかもしれない。

 

眉毛、まつ毛、眼球部分:
これらは材質上、シェードがほとんどないため、画像を用意した後、シーンの平均的暗さに応じて画像編集で明るさなど変えればいい。

 

唇、爪、乳首:
画像(白黒でもいい)を読みこんだら画像編集で「アルファのみ」を指定する。これを色テクスチャのレイヤーの一番上に設置し、ブレンドモードを「アルファ」に指定し、直下にそのテクスチャ色のグラディエントを生成すれば、唇などの色をLightIncidenceで制御できる。さらにこの下に肌のグラディエントを置けばいい。
このやり方は単色のものでしかできない。

 

ノード編集:
これらのグラディエントをノード編集で直接サーフェイスのDiffuseに入れれば、自己発光度や拡散レベルの調整が必要なく、完全にそのままの色で再現できて便利。

 

//////////////////////////////////////////////////////////
ライティング・ラジオシティ・フルカスタムシェーディング

 

一般的なライティングの手順:
室内でのライティング。最初にライトサンプルは8程度、シェードサンプルは1、アンチエイリアスは1で。
太陽光を平行ライトで、環境光を面ライトで設置。室内ライトは種類によって点ライトや線ライトで設置。
環境光の面ライトは窓のすぐ外に、窓とな時くらいの大きさで設置。すべて反比例~2で、光の届く距離は100mくらいに設定(跳ね返った反射光もすべて距離に含むため、十分な距離を取る)。室内ライトも同様。
光の位置と面ライトの大きさを、十分よくなるまで調整する。これが終わるまでは次の段階にいかない。
この後、太陽光と環境光と室内光とも、ライトの強さを適切になるまで調整する。コツは、最初に減衰距離を十分にとってから光の強さを決めること。またこの時点ではラジオシティは使わない。
最後にラジオシティの光の強さを設定。間接反射は十分な値で(15くらい)、評価毎の光線は100と50のデフォルト、倍数は10でいい。
ここまででうまくいったら、本レンダリングする。ライトサンプルやシェードサンプルを十分に増やし、アンチエイリアスを十分にとる。余裕があればラジオシティの評価毎の光線や倍数を増やしてもいい。

 

直射光群と反射光群:
直射光群は直射光と似た方向へ進み、各オブジェクトに向かう光で、具体的には天空光や周囲の建物などの反射光。これらはシャドウがつく。

 

ラジオシティを無効にする:
人物など、自己発光度100%のオブジェクトは光を発散して、背景のラジオシティのオブジェクトに影響してしまう。これを防ぐには、自己発光しているオブジェクトのアイテムプロパティのレンダリングタブで、ラジオシティ無効にすればいい。

 

反射光の自作:
ラジオシティで時間がかかりすぎたり不自然になるとき、反射光を自作する手がある。
ラジオシティの反射光の自作は面ライトを使い、ライトサンプルを上げることでノイズをなくす。ライトはカメラから見えないところに配置しておくとよい。見えるところに置いておくと、その付近が不自然に明るくなってしまう。
不自然に明るい部分があるときは、反射光を無効にするといい場合もある。シャドーが不自然になることがある場合は、シャドーを無効にする(ただし理論的には、反射光もシャドーも存在するので、できればオンのほうがよい)
面ライトで時間がかかりすぎるときは、点ライトで代用する。しかいシャドーが特に不自然になるので、できるだけ面ライトを使う。
周囲のある程度遠方にある反射光、たとえば建物や山、道などの反射光も、面ライトで代用する。カメラで映る範囲だけ照らせばよい。
面ライトが使えない場合、いっそ面ライトをのものを使わないほうがそれっぽく見える。

 

天空光:
天空光は直射光で入ってくるものと反射光で入ってくるものがある。背景画像を作ってラジオシティを有効にすれば、自動で反映される。
晴れなら直射光を強くして反射光を弱くし、反射光に青を混ぜる。
曇りや雨なら直射光を弱くして反射光を強くし、反射光に白か灰色を混ぜる。

 

ラジオシティ設定:
クオリティを上げたければ、ファイナルギャザーで透過使用以外すべて有効にする。時間は無効にしてもさほど変わらない。ボリューメトリックは、ボリュームがある場合はかなり時間がかかる。
補間だけは無効にしたほうがはるかに時間がかかるため、常に有効にする。また背景のぼかしも有効にすると早くなる。透過使用は無効にする。
モンテカルロよりファイナルギャザーのほうが短時間でできるらしい。
試しレンダリングでは、倍数を小さくしておよその明るさを見る。可能であれば本番では100%にする。
ラジオシティの明るさを非常に高い値にすると室内がうまく見えるが、あちこちに影の斑点の様なものができて画面全体が汚くなることがある。これを防ぐには「評価毎の光線」と「二次反射光線」の値を上げるといい。マニュアルによれば、評価毎の光線は二次反射光線の2倍の値にするといいらしく、そのようにする。500と250くらいでかなりきれいになる。倍数を増やしても斑点は消えない。

 

フルカスタムシェーディング:
重要なところだが、何度も試してみたところ、このやり方はどうやってもLight Incidenceによるグラディエントほど自由にグラディエントをつけることはできず、かつLight Incidenceと同じグラディエントをつけることはできない。
しかしLightIncidenceでは不可能だったシャドウについては、こちらのほうがはっきりつけることができる(シャドウの色までしっかり溶け込ませることができる)
したがって、陰影グラディエントの精密さかラジオシティの反映か、どちらか取ることになる。
人間の肌や顔など、陰影のぼかしが極度に重要であるところではLight Incedenceを、背景などラジオシティの反映が非常に重要なところではこのやり方を使えばいい。

 

部分的にカスタムシェード:
部分を限定してカスタムシェードすることができる。このやり方でテクスチャもつけられる。
ただし相当に煩雑であり、ノード編集の画面が見にくくなるほどのため、テクスチャを付けるとき以外はやらないほうがいいかもしれない。すべてのオブジェクトを1つのノードで管理するためにこれをやると、恐ろしい数のノードになってしまう。

 

部分カスタムシェードやり方:
シェーダのノーマルにアルファ付のベクトルを入れることで、シェード範囲を限定できる。SpotInfoからNormalを、ScalarLayerにアルファ画像を乗せ、ベクトルのScaleに入れ、それをシェーダのNormalに入れる。
シェーダから色を取り出し、カラースカラーで輝度に変換、そのまま取り出すのとInvertで取り出す2つを出す。そのまま取り出した方をMixierのOpacityに入れる。
Invertした方は、そのままではサーフェイス全体をInvertしてしまっているので、アルファ限定させないといけない。Invert値をMixerのFGcolorに入れ(カラー入力でスカラーに突っ込むが問題ない)、Opacityにシェーダ前のアルファのスカラー値を入れる。ここから出るColor値をMixerのOpacityに入れ、これを暗いほうの色とする。
後はもう一つの色を背景にして追加していけばいい。とにかくInvertがアルファ以外のすべての部分を反転させるからややこしくなるのであって、これをMixerのFGに入れ、アルファをOpcityで限定し、それをカラー出力すればそれで反転Opacityが作れる、というところが重要なところ。

 

やり方:
まずライトは普通に用意する。面ライトなどによる環境光が必要で、ラジオシティも必要ならオンにする。
Minnaert(Diffuseは100、BumpDropoffは0、Radiosity,Causticsをオン)などのシェーダーからカラーを出し、ColorScalarで輝度を取り出し、同時に輝度のInvert値も取り出す。
明るいほうの色は、Mixierで輝度のスカラー値をOpacityに入れて色を指定。
暗いほうの色も、Mixierで輝度のInvert値をOpacityに入れて色を指定。
明るいほうをBGに、暗いほうをFGにしてMixierで足してDiffuseに入れればいい。
陰影のエッジの鋭さはMinnaertのDarkening、2色の割合はシェーダのDiffuseで変更(あるいは背面から光を当てる)で変更できる。実際は、ライトの明るさは150〜300%あたりだと、環境光を0〜100%の間で調整しやすい。
シェーダはMinnaertがいい。Darkeningでエッジのシャープネスを調整できる。100にすればセルシェーダにもできるので便利。
SpecularShadingにPhongを入れると反射光の色など調整可能。Phongの色を買えるだけ。
なお、Diffuseに入れるのが普通だが、Colorに入れて自己発行度で調整する方法もあるが、今のところあまり意味はない。
シェーダの色は白がいいが、灰色にすると少し色調を変える事ができる。

 

フルカスタムの手順の注意:
この方法は、最初に明暗を設定した後で輝度を取り出し、そこに色をつけていくという手順のため、最初の時点で正確な明暗が得られないと、その後いくら調整しても「ほとんどの部分が明るいまたは暗い」というようなことが起こる(最初の明暗を得る設定とは、ライトの明るさ、配置、位置、そしてシェーダーへ入力する色と拡散である)
これを防ぐため、まずは手順として、ノード編集のシェーダーを直接Deffuse Shadingで出力させ、シェーダーの色と拡散の調整、ライトの明るさや配置を十分に調整し、物体に正確な明暗が得られるようにする。シェーダーの色や拡散値も明暗に直接影響するので、リアルな値をそのまま入れる(拡散値は通常40〜80)。反射光や光沢の設定も、シェーダーを直接Specularなどに出力して設定する。この時点では、まずはリアルな絵を作るのに全力を注ぐ。
この時点で十分正確な色と明暗が得られたら、シェーダーの出力をフルカスタムにつなぎ、色の調整を行う。出力直前でColor Toolを使い、最後の微調整を行うとよい。

 

ラジオシティの明るさ:
ラジオシティの明るさの、最も正確と思われる値は場所によって微妙に変動するが、およそ50〜100%。間接反射は大きいほど正確で、15くらいでもさほど時間は気にならない。

 

面ライトの明るさ:
環境光は面ライトを使う。面ライトの大きさによって、どれくらいフォールオフさせるかが決まるので、正しい値は場合によって異なる。まずは反比例2乗で試してみrう。
設定の仕方だが、ライトから遠くと近くでの明るさを見て決める。遠くの方が明るすぎる場合は、フォールオフが足りないので、「フォールオフの距離を短くして明るさを上げる」かフォールオフを「反比例2乗→反比例→直線状→オフ」に変化させてみる。
近くのほうが明るすぎる場合は、フォールオフしすぎなので、「フォールオフの距離を長くして明るさを下げる」かフォールオフを「オフ→直線状→反比例→反比例2乗」に変化させる。
最初はライトサンプル数を低くして試す。反比例クランプ2乗は、正確な明るさが得られないことが多い。
面ライトの明るさは、面ライト自体を拡大すると暗くなるため、拡大するにつれてより明るくする必要がある反比例フォールオフの設定なら、100%を超えないことが多いが、フォールオフが無効だと高い数値が必要になるので注意。
最初に直射光をオフにし、環境光とラジオシティだけで見るとやりやすい。ラジオシティは100%にし、サーフェイスを設定しつつ環境光の面ライトの明るさを設定していく。
フォールオフの距離は反射光も含める。あまり短い距離だと、反射光がないも同然になるので、ある程度の距離を取る。

 

環境光の面ライト、ラジオシティ、アンチエイリアス:
環境光に面ライトを使う場合、必ずラジオシティを併用するようにする。
面ライトを使うと、光の精度が高いがノイズが生じる。一方、ラジオシティはノイズが生じず、面ライトと併用することで面ライトのノイズを消してくれる効果がある。これにより、面ライトのみで使う場合よりも、ラジオシティを併用したほうがライトサンプル数がはるかに小さくてすむ。
アンチエイリアスをある程度の値にすると、ノイズの数が減る。したがって、本番レンダリングの実際の値としては、ライトサンプル数は63程度で十分になる。

 

面ライトの拡大縮小:
環境光の面ライトの拡大縮小は、環境光の元となる周囲の物体の並び方などによって変化するため、正しい設定というのはない。しかしこれで雰囲気がかなり変わるので、必要に応じて拡大縮小して使うとよい。
面ライトをめいいっぱい拡大すると、一様な環境光が得られる。直射光がさまざまな物体に均等に跳ね返って入ってきた状態で、曇りの日や平坦な感じが得られる。
面ライトを縮小して使うと、直射光に近いぼかした光が得られる。直射光が何か明るいものに反射して入ってきた状態で、晴れの日の夕方など、明るく劇的な感じが得られる。
環境光は、太陽の角度によって物体への当たり方が変わるので、明るさも変わることに注意する。

 

面ライトのライトサンプル数:
1つの面ライトから出されるサンプル数(ライトの粒)は、一定のため、面ライトが大きいほどノイズの粒が大きくなる。したがって無駄なくレンダリングするためには、面ライトから出る光の粒をすべてカメラの範囲内に収めるようにする。カメラ外に出ると無駄に時間を食う。
できるだけサンプル数を少なくする(レンダリング時間を縮める)ためには、面ライトをできるだけカメラで写している場所に近いところに置き(フォールオフがないなら関係ない)、また面ライト自体をできるだけ縮小して使用する。必要最低限、映す部分だけ照らすように面ライトを拡大縮小し、できるだけ至近距離に置く。
遠距離から見るとそれらの粒は小さく見えるため、大きい面ライトでも気にならない。
アンチエイリアスの値を大きくすると、面ライトのシェイディングノイズは減る。そのため、アンチエイリアスの低い値で試してノイズが多くても、アンチエイリアスを高くするとノイズがなくなっていることがある。ライトサンプルは実験値よりも低い値で済むことが多い。

 

電灯など:
電灯などの人工光は、そのすぐ近くに線ライトや面ライト(2乗フォールオフ)を置き、電灯自体はDeffuse Shadingに光の色をそのまま入れれば、十分それっぽく見える。
線や面ライトで時間がかかりすぎる場合は、これらを点ライトにしてもよい。電灯自体がよほど巨大でなければ、さほど違わない。あまり大きな光源なら面や線を使う。
電灯そのものを自己発光させると、汚くなる。

 

遠距離の環境光:
面ライトを遠距離まで引き延ばすととんでもない時間がかかるので、遠距離の物体の影のぼかしについては、スポットライトのシャドウマップを使うか、板ポリゴンの発光を使う。天空光は背景の色を設定してラジオシティを有効にすれば、自動で反映される。

 

面ライトの代替の発光板ポリゴン:
以下はあくまでやむをえない場合の代替法であり、あまりきれいな図はできないことを覚えておくように。
面ライトで時間がかかりすぎる場合、代わりに自己発光させた板ポリゴンを使う手がある。板ポリゴンをラジオシティによって自己発光させ、「カメラ無効」にすることで、面ライトと同じ状態にできる。
面ライトとラジオシティの計算方法は異なるらしく、こちらのほうは面ライトよりもはるかに早く計算できるが、精度はどうやってもかなり落ちる。ただラジオシティが汚いからといって、反射光をすべて面ライトでやる必要はない。二次以上の反射光については、ラジオシティでやって問題ない。
自己発光度はラジオシティの明るさに比例するので、自分で適宜調整する必要がある。普通は数千〜数万になる。
ラジオシティの設定値は、板ポリゴン自己発光度の数値に比例して「評価毎の光線」数を上げないと、精度が落ちる。評価毎の光線数は、一定の値まで上げれば後はさほど変わらないような数値があるので、何度か試して一番低い値を選ぶ。だいたい500くらいで十分になる。この状態で倍数や間接反射数をあげるとものすごい時間がかかるが、倍数と間接反射数は低くてもそれほど影響はないので、可能なら低いままやるといい。
板ポリゴンは大きいほど全体の光量が上がるため、できるだけ拡大して使うとよい。小さいままだと自己発光度が非常に大きくなり、評価毎の光線数を上げなければならず、時間がかかるし、評価毎の光線数を低いままでやると精度が落ちる。
板ポリゴンは物体から離れると光量が落ちるので、できるだけ接近させる。ぎりぎりまで接近させることで、自己発光度をあまり上げなくてもすむようになる。
これも面ライトと同じく、大きくすれば曇りの日のようになり、小さくすれば夕方のような効果になる。
「背面判定使用」をオフにするときれいになることが多い。

 

フルカスタムのノード編集:
やや複雑なので書いておく。
MinnaertのColor→ClolorScalar(輝度)→Mixer(Bg,Fgともに明るいほうの色を指定)のOpacityへ入力、Color出力を下のMixerのBgへ。
上と同じMinnaertのColor→ClolorScalar(輝度)→Invert→Mixer(Bgに上の出力を、Fgに暗いほうの色を指定)のOpacityへ入力、Color出力をDiffuseShadingへ。

 

//////////////////////////////
アニメーション作成

 

///カメラの設定
アニメーションを作成する前に、カメラのズームファクター設定をする。これがおかしいと、後で全てのフレームについて修正が必要になり、大変面倒。修正がある場合、グラフ編集でいっぺんに変えるといい。
ズームファクターが小さすぎると接近したときにゆがみすぎ、大きすぎるとカメラを後ろに下げなければ対象が小さく写ってしまい、下げすぎて別の背景に邪魔されたりする。

 

ズームファクターの値:
現実の人間の目と視野角度が同じになるまで(上30度、下60度、左右180度))ズームファクターを変えていくと、ズームファクターは1くらいになる。しかしこれでは遠近がつきすぎて不自然。つまりカメラは、人間の目と同じ位置で同じ視野角度を表現することはできない。
それで実際は、ズームファクターをある程度大きくし、実際の主人公の目の位置より遠くへ離して映すことになる。しかしあまりに離してしまうと、途中の物体で視野がさえぎられたりと不便があるため、あまり大きな値にすることもできない。
現実的な値は、4〜5くらいにするとバランスよく配置できる。
ちなみにパースビューと同じ視界の値は、4である。パースビューで現在の目の位置をカメラと同じ部分にあわせ、視界が画面に写っているので、それが画面にちょうどいっぱいになる比率を探す。すると4になる。

 

主人公の目について:
上記の理由より、主人公を影のように作り、主人公の眼球にカメラを追従させるという方法は使えない。これをやれば主人公の後頭部からカメラを映すことになる。
主人公の目線でやる場合、主人公の腕や脚など、部分的だけ作成、動かし、カメラにちょうど入るようにするしかない。

 

//////////
どこでシーンを区切るか

 

///重大な理由(システム上区切らなければならない場合)

 

物理演算とEditFX:
シーンを区切る最大の理由は、物理演算とEditFX。
これらは1つのシーンのすべてのフレームに適用されるため、必要最小限のフレーム数にしておかないと、処理がとてつもなく重くなってしまう。
物理演算やEditFXを使う部分だけ抽出して一つのシーンにする。それ以外の前後はなるべく別のシーンにし、物理演算の適用フレーム数を少なくするように。

 

連続モーフの起点が2つ以上ある:
上述の連続モーフで、「ボーン変形ごとモーフ記録する場合」で、チップ移動でボーンの初期位置を変更する場合は、チップ移動が1シーンで1回しか使えないため、新たにシーンを作る必要がある。

 

///軽度な理由(効率の問題)

 

ほとんど同じシーン:
例えば、人の動きそのものはまったく同じだが、服を着ている場合と着ていない場合で2シーン作る場合など、1シーンに2つ前後でくっつけると、モーフのつながりで面倒なことが起きる。
こういう場合は切り離したほうが効率がいい。

 

オブジェクトの配置:
そのほかの理由として、あまりに物的配置(オブジェクト)が異なる場合、シーンには登場しないのに無駄に計算されて時間を食ってしまう。
登場人物が大きく異なる場合と、背景が大きく異なる場合はシーンを区切ったほうが効率がいい。ポリゴンを減らすのが最大の目的。

 

////////////
手順

 

フレームとその内容のメモ:
Lihgtwaveでアニメを作る前に、エクセルでLightwaveの何フレームに何が記録されているか、メモを取りながら動きを作っていく。
アニメを作りながらエクセルにフレームの記録をするのがいいと思うが、慣れればアニメを作る前に書けるかもしれない。
フレームを前回の値にプラスするように式を書いてフレームを書いていけば、フレーム数は適当に書いていても、後で修正できるので便利。そのままアニメを作る前にエクセルでのフレームを終わらせることもできる。
難しければ、フレーム数は書かなくてもいい。とにかく内容だけはしっかり書いておく。どこで切り取り、ループさせるかを決めておくことが最も重要。

 

エクセルメモの注意:
ループする部分(特に口パク)は一つしか作らない。AEでコピーしてループさせるように(なんだかんだでLightwaveはAEよりはるかに時間がかかるもの)
表情の変化には注意。表情変化とともにしゃべる場合、表情変化はループしないが、しゃべる部分は口パクでループ。口の大きさは2種類くらい作ったほうがいい(15フレームくらい消費する)

 

参考点の作成:
複雑な運動では歩幅や速度に応じた距離など、ヌルオブジェクトやモデリングオブジェクトで参考点を作る必要がある。
例えば走るモーションは、フォームで速度が決まる。

 

キーフレーミングの手順:
作業は、キーを打つ→グラフ編集→プレビュー確認、をひたすら繰り返す。キーを打ってポーズができたらすぐグラフ編集する(グラフ編集で軌道も変わるため、交互にやらなければならない)特に、キーを打つ時にグラフを出しておき、キーを打ったらすぐにその部分をグラフ編集する癖をつけるようにしたほうがいい。
ボーンを動かす前にグラフオプションで初期設定をやっておく。体の動きはデフォルトがTCBにしておき、モーフは直線にしておく。後の動きはすべてこの設定に従う。後で訂正すると軌道が変わったりするので修正が面倒なため。
最初は必要なキーだけ打って編集しやすくするが、ポーズが完全に出来上がった時点で、すぐさまそのボーンに関係あるボーンとオブジェクトすべてにキーを打つ(「現在のアイテムと子孫」とIKゴールオブジェクト全て)。こうしないと、さらに後でキーを打ったとき、補間によってその時点でのポーズが変わってしまうのを防ぐため。また全ての人物のポーズが出来上がって、そのフレームの全ての動きが完成したら、「全アイテム」でしっかりキーを打っておく(ただしあまりにキーが多い場合、いちいち全アイテム打つと効率が悪すぎる場合があるので、そういう場合は全アイテム打たない。ある区間内の最初と最後のフレームで全アイテム打ってあれば、その区間外でおかしな動きになることはない)
とにかく完成したらキーをすべて打つ。親子付けしている衣服なども全てこの時点で打つ。忘れやすいので注意。
キーを打つ手順は、親から順に打っていく。まずオブジェクト、次にルートボーン、次は下半身(重心と移動の問題があるため。逆立ちしていたら腕から先にキーを打つ。つまり接地面に近いところからキーを打っていく)
実際やってみてわかったことだが、最初の時点でのポーズができたらその時点ですべてキーを打ち、次の時間へ移動したらまたポーズを作ってすべてキーを打ち、また次の時間へ……と、これを繰り返すのが最も効率が良い。複数時間に渡ってある部分だけキーを打って、次にまた別の部分を……というやり方では、グラフ編集時の「ずれ」や、接地位置が合わなかったりと、さまざまな理由でうまくいかない。どにかく時間順に完全に完成させながら進むこと。
ある一直線的な動きの終端で一度キーフレームを打つ。いきなり最初と終端を打ち、その中間を打ち、またそれぞれの中間を打ち……というやり方では、経験上うまくいきにくい。とにかく時間順に打つ。
TCBの都合で途中の軌道がおかしくなる場合、キーを増やせばいい。この中間を穴埋めした場所も、必ず完成後に全てのボーンにキーを打っておくこと。
子孫全てにキーを打った後にグラフ編集で時間移動すると、全部キーが移動しないため、めちゃくちゃになって収拾がつかなくなるので注意。時間移動はドープシートで行う。

 

回すときの注意:
普段からジンバルロックを回避するため、できるだけ親座標で回す。ほかの座標では発生する可能性がある。
関節を回すとき、ピッチより先にヘディングを回すとジンバルロックが発生しないので楽(ジンバルロックはピッチを回したときに発生する)

 

ジンバルロックの原因と理由:
スカートのIKやカメラで起こりやすいが、ジンバルロックが発生したときにワールドやローカル座標で回すと、対応しない親座標を導き出すため、急にものすごい角度になることがある。本来親座標で不可能な回転をやっているため、非常に遠回りな回転を自動計算した結果、そうなっている。
この状況になると、それ以降はますますおかしくなるばかりで、回転もおかしな軌道を取るようになり、修正不可能になり、無理に回してもその後でも延々と悩まされることが多い。

 

ジンバルロックの回避手段:
人間のボーンで起こったときは、一度回転を0フレームへリセットし(あるいは回転角度を一度ゼロにして)先にヘディングを回して、次にピッチを回すことでたいてい回避できる。あるいは起きたときだけIKを設置してIKで無理やり回す。
カメラでこれが起こった時の対処法は、カメラの親にNULLオブジェクトを設定しておき、普段はNULLを回し、ジンバルロックが起きたらカメラを回す、という方法で回避できる。普段からNULLを回すようにするといい。この方法はカメラ以外でも、どんなオブジェクトでも使える。
シーンで全てのオブジェクトにNULLと親子付けしておくのは面倒。ジンバルロックが起きたら随時これをやる場合、まるジンバルロックが起きたらゼロフレームに戻り、NULLを作ってオブジェクトのキーフレームを全部コピーする。そしてオブジェクトのキーを全部消去し、セロフレームで親子付けすればすぐにジンバルロックのない状態を作れる。
中心点を回転させるとFIberFXで不具合が起きるので使えない。「目標を注視」させると、注視させた瞬間に大きくバンクが回ったりするので面倒。NULLを使うのが一番簡単で早い。

 

グラフ編集:
グラフは主に、複数曲線をいっぺんに変えられるTCBを使う。
TCBの調整は、初めに張力を-1.0にしておき、連続性と傾斜を前後してキー前後の動きを作り、次に張力を少しずつ増やすと調整しやすい。目安として、加速度運動は張力-1、連続性を0.3くらいにするとそれらしく見える。
キーフレームでない部分の位置や回転を調整するとき、前後のキーフレームをいじって曲線を曲げて中間部分のタイミングを微調整するくらいなら、キーを増やしたほうが確実で早い。したがって、まずは位置をキーフレームで固定し、それらの微調整としてTCBの変形を使うといい。曲線で軌道を微調整しようなどと考えないほうがいい。
直線にしたほうが動きが見やすいこともあるが、最後にはTCBにすることが多いため、あまりいい方法ではない。
同時に動く一まとまりの力動部、伝播部は全て同様の曲線にすると自然に見える。
よく使うチャンネルはグラフ編集左上の「セット作成」でセットを作成しておくと後が楽。セットはレイアウトのシーンとして保存可能。ただしモデラーのデータ(ノード編集のグラフなど)は保存できないので注意(テクスチャの眼球の動きのセットなどは保存できないが、ボーンのセットなどは保存できる)

 

急加速・急減速:
張力などを調整しても直し切れないことが多い。アニメのような急加速などやる場合、そのまま中間時間にキーフレームを追加し、それを時間的に前後にずらすと急加速・急減速を表現できる。

 

グラフ曲線の調整かキーフレームを増やすかの判断:
基本的に、軌道の「位置」が気に入らない場合はキーフレームを増やし、軌道の「時間」あるいは「速さ」が気に入らない場合は、TCBによるグラフ曲線調整を行う。
体の動きの軌道が気に入らないからといって、あくまでTCBのグラフ曲線で軌道を修正しようなどとは思わないほうがいい。キーを少し増やせば一瞬で治る。

 

手前の曲線のデフォルト:
デフォルトではTCBになっているが、直線にしたほうがいい。
TCBでは全アイテムにキーを打つたびに、その前の動きが変わってしまい、いちいちすべてのボーンやアイテムを選択して曲線の形を直さなければならず、非常な手間になる。直線なら問題がない。
しかしなぜかモーフミキサーだけはデフォルトがTCBと決まっているらしく、いちいち直線に直さないといけない。最初キーを打ち、後でオプションでアクティブなモーフだけ表示し、片っ端から直線に直すと早い。

 

腕・脚の厳密な軌道の制御(IK):
腕と脚の軌道は、関節の回転によるキーフレームで制御されるため、グラフがTCBでも直線でも、「キーフレームの時点では軌道が正しいのに、その間の補完がどうしても軌道からずれる、あるいはおかしく動いてしまう」ということがある。
通常、これにはIKを使用する。IKを使用しない場合は原始的な方法だが、軌道が問題なら補完している中間あたりでキーを増やして少しずつ修正する。場合によっては1フレーム単位で修正が必要なところも出てくるが、現在はこれしか方法がない。

 

IKの使用:
チェーンが有効になっていると、同じゴールオブジェクトに属するすべてのIKの設定をまとめて変えられる。状況に応じて有効、無効にする。
IK軌道に無関係なバンクなどはFKで回す。
IKをオフにしたいときは、グラフ編集のブレンディングを0%にすればいい。

 

IK時の関節の回し方:
IKを使いつつ、望むようなポーズを作るのは非常に難しい。IKが複数方向に設定されていると、途中の関節がおかしな方向に曲がって修正不可能になる。
そこでいい方法として、まずはIKを無効にして(+F8で)、FKだけでとにかくキーフレーム部分のポーズを作ってしまう。その後ゴールオブジェクトをその軌道の点まで移動し、できるだけ同じポーズになるようにし、IK有効にする。その後各部の関節を回し(現在の時間を基準になっていることが必要)、微調整する。
キーフレーム部分ではどれもこのようにする。要は最終的にIK有効でポーズが取れていれば、キーフレーム間の補完は上手くいくので、このやり方でいい。
キーフレーム間の途中の軌道がおかしい場合、まずゴールオブジェクトの軌道を調整し、それでもうまくいかなければ各部関節を回して調整。

 

IK有効とボーン回転のキーについて:
IK有効にしてIKを使って体を動かしたとき、IK無効にするとボーンはIKの関係のない場所に戻る。
しかしIK有効にしてそのままボーンにキーを打つと、ボーンは「IK無効のときにある場所」ではなく、「IK有効なときの場所でキーが打たれる。
つまり、IK有効にしてIK操作をし、そこで全フレームキーを打つと、IKを無効にしてもそのポーズが保たれる。

 

IKブースター:
これはキーフレーム扱いなので、IKブースターと通常の回転を併用し、納得いく動きになるまで繰り返すだけ。
IK有効にしないとFixが機能しないので注意。

 

ランダム性:
動きにランダム性があるものは、IKやIKブースターを使うと楽かもしれない。

 

さらに微調整すべき部分:
力動部は関節を1,2フレームくらいずらすとリアルに見える。
ボーンのルートは使わず、オブジェクトの中心点をルートにあわせてそれを動かす。ルートボーンは親座標でないといけないのだが、親座標だと動かしにくいため。オブジェクトの動きはボーンよりも細かくなることが多い。

 

///難しい体の部分
脚の付け根:
脚の付け根は、できれば最初本来の関節(ビキニライン)を90度動かしてから、それ以上回すときは2段階目の関節を動かし始めたほうがいい。IKの場合は同時に動かすしかない。

 

指を曲げる:
指は曲げるとき、小指と薬指は中央寄りに曲がるが、これをモデラーのバンク角度で設定するのは難しく、モデラーではとりあえず真上からスケルゴンを入れることで、真横に曲がるようにしておく。
で、この状態でピッチだけ曲げると、異様に指が開いてしまい、実際見てみると指が折れているように見える。そこで指の付け根は全方向に曲げられるようにしておき、アニメするときに付け根のヘディングがピッチを調整して、不自然に見えないようにするのがいい。
指を曲げるときは普通、第2関節が最もよく曲がる。物をつかむときも、第2関節だけほかの関節よりも多く曲がるのに注意。

 

足の付け根:
2段階関節で、最初は付け根を曲げ、付け根が90度曲がったらあとは少しはなれた2段階目の関節を曲げる。順番があり、同時に曲げるのではない。

 

腕のバンク:
肘を伸ばした時に限り、腕のバンクは、最初肘を回し、回し切ったら腕の付け根のバンクを回す。
肘を曲げている場合、肘のバンクの延長に腕の付け根バンクを回すのではなく、腕の付け根は手の軌道を決めるための回転となるため、独立した運動とみなす。

 

肩:
肩を上げるとき、最初は肩甲骨を45度、さらにあげるときは肩の根元関節を上げる。順番があり、同時に曲げるのではない。

 

膝:
膝は2段階関節なので、同時に曲げる。

 

眉とまぶたの動き(モーフ):
まぶたの変化は2/30秒の間を直線で結ぶといい。眉は3/30くらい。

 

眼の動き:
眼球はノード編集のテクスチャを動かす(モデラーのローカル平面上になっている)ので、グラフを直接いじることになる。
非常に早く、実際は30分の2秒で動くが、動画を作るときは30分の1秒で動かしたほうが自然に見える。
左下のチャンネルから左上の編集部分に、眼球のチャンネルをドラッグで追加すると編集しやすい(ただし保存できないようだ)
目の動きはおよそ5mmで、それ以上動かすとおかしくなる。この数字を覚えておくといい。
グラフの保存は、これだけたぶんモデラーなので、編集したら忘れず「全保存」しておく。

 

口パクの作成(モーフ):
口は4/30秒くらいを直線で結ぶといい。
体が静止しているときのおしゃべりは、口パクをループさせるといい。体の動きをまずつくり、その後口パクを数フレーム作ってAEでループさせる。
通常のアニメの場合、言葉ではなく、表情にあわせる。例えば「あ」としゃべっていても、悲しい表情でしゃべっているなら「え」の口の動きにする。
口の開く大きさも、そのときの感情の強さに比例すると考えてよい。言葉によって大きさが決まるのではない。
常に同じ大きさで口を開けるのではなく、2種類くらいの大きさで交互にやると自然に見える。
画面の口パクとその音声、口パクのほうが少し早く終わるくらいにすると自然に見える。音声が出てないのに口が動いているとすごく不自然。

 

///////////////
モーションのコピーの方法

 

以下のいずれも、範囲指定するときは最初と最後のフレームでは全アイテムにキー打つこと。さもないと動きが正確にコピーされない。

 

ドープシート:
ボーンのような大量のものを長時間にわたってコピーする場合はこれがいい。
時間の表示は元のレイアウトの時間に準ずるので、長時間の場合は表示しておく。

 

レイアウトの「モーションのコピー」:
全時間にわたって一瞬でコピー。ボーンにも使える。少量のボーンならこれで一瞬でコピーできる。

 

ドープトラックを使う場合:
単一のオブジェクトから別のオブジェクトへ、長時間分コピーする場合、ドープトラックを使うのが最も速い。
複数のオブジェクト(ボーンなど)を、長時間分コピーする場合も、ドープトラックが速い場合が多い(ただしドープシートは複数のアイテムを一気にコピーすることはできず、一つ一つ手作業でやる。大量のボーンなども一つ一つコピーしなければならない。一つのボーンの動きを複数のアイテムに貼り付けることはできる。つまりコピー元が一つしか参照できない、ということ)

 

モーションミキサーを使う場合:
歩行など、同じ動きを何度も繰り返したり、少し異なる動きで何度も繰り返す場合、モーションミキサーを使う。
複数オブジェクトの動きを繰り返したり、動きと動きを滑らかにトランジションさせたいときにはモーションミキサーを使う。
モーションミキサーは、あるオブジェクトの動きを別のオブジェクトにコピーする、ということはできない。

 

IKのゴールオブジェクト:
人体の場合、「人体オブジェクトのパレントNULL」「ルートボーン」「IKゴール」は、コピーしたいのだが、コピー前の位置情報がそのままコピーされるため、そのままでは使いまわせない(ボーンは回転情報なのでそのまま使えるが)
動きの正確さのため、IKを使わないわけにもいかない。ボーンの回転だけでIKの動きを再現しようとする場合、全フレームの記録が必要になる(ドープシートで全フレームコピーする手もあるが、後で微調整するときにIKが使えず、非常に面倒なことになる)
そこで、IKゴールもモーションをコピーするのだが、モーションミキサーのAdd Motionで貼り付けた後、Edit MotionでIKの相対位置や相対回転を補正すればいい。現在、これが最も効率がよさそうなやり方である(Restore Channelsにすれば元の動きは変化させずに貼り付ける動きだけ変えられる)
ただしまったく同じ動きの連続で、直前のAdd Motionで貼り付けた動きが終わってすぐに動きを開始する場合、OffsetEditorを使えば、前の動きの終了地点から自動で開始してくれる。

 

モーションミキサーを使わない:
モーションミキサーを使わない場合は、まずIK含めて今の動きをhmot保存する。動きに関係あるモノは全て保存する。
動きを呼び出すとき、hmotで呼び出し、そのままセーブした位置と同じ位置に呼び出し、そのまま「人体オブジェクトのパレントNULL」「ルートボーン」「IKゴール」を必要な場所まで平行移動する。平行移動には、まとめて選択して「パス移動」するのが一番早い。

 

/////////
その他

 

座標系の問題:
ある部分をワールド座標で動かしたいが、オブジェクト全体が斜めを向いていて困る、というような場合、一時的にオブジェクト全体を正面に回す。
フレームをずらして一度オブジェクトを正面に回し、ワールド座標でキーを打ち、そのキーを元のフレームにずらす。

 

TCBを使うときの誤差:
まったく同じ動きを複製するためには、前後のキーフレームが同じでないといけない。貼り付けるときの注意だが、TCBの場合、あるキーフレーム地点の直前直後のキーフレームがあるかないかで、その地点のわずか前後の動きが変わってくる。
これを防ぐため、開始と終了時の少し前後の動きまで作っておき、前後の動きごとコピーして貼り付けると誤差が生じない。

 

動きを停止させる場合:
TCBは常に動き続けているため、カメラなどは常に動き続けることになる。
あるいは会話部分で口パクループさせるとき、体が動くと都合の悪いことがある。
一つの大きな動画を作り、後で切り貼りして調整するような場合、カメラが完全に停止していたほうが都合のいいことがある。
このようなときに完全に停止させるには、停止部分の最初と最後のキーフレームはまったく等しい内容にし、直線で実質ステップ状になるように調整する。ステップ状だと次の瞬間におかしな動きになることがある。そのためデフォルトは直線にしたほうがいい。

 

キーフレームのコピー:
ドープシートを使ってもいいが、グラフ編集でCtrl右ドラッグによるコピーのほうが早いことが多い。

 

モーフのコピー:
モーフはドープシートのオブジェクトのところに記録されており、ドープシートでコピーできる。モーフミキサーでコピーすると時間がかかるので、こちらのほうが便利。

 

ウェイトマップの付け直しについて:
重要なところだが、モデラーでウェイトマップを変更した場合、レイアウトではもう一度ボーン消去してスケルゴン変換する必要はない。そのままで反映されている。
ボーン消去して設定のし直しが必要なのは、ボーンの数や位置を変更した場合のみ。

 

///(参考)
複数フレームにわたって部分的にキーを打つ場合:
最初に一部のボーンだけ複数時間にわたってキーを打ち、また別の部分を……というやり方。このやり方は動きがおかしくなりやすいのだが、どうしても規則的な動きが必要な場合があるかもしれない。そういう場合にどう打つか。
初めに体オブジェクトを複数時間にわたってキーフレームしてしまい、グラフ編集までやる。その後親のほうから、これも複数区間すべてグラフ編集してしまう。そして次の子へ…とやるとうまくいく。
一つの動作を一区間とすると、親から順に一つの力動部を区間全て作成し、次に次の力動部を作成し……とやっていくといい。ある時点での全身を作って次の時間に……というやり方は効率が悪い。
その時点で、完全に正しいポーズが取れたら、その場でそのオブジェクトとその子孫にすべてキーフレームを打っていい。正しいポーズなのに、全てにキーが打たれていないと、その後に打ったキーでポーズが崩れることがあるため。

 

/////////////////////////
モーション分析の手法

 

モーションの自然な作成が非常に難しいと思われるため、実写の動きを自分で作成してビデオ撮影、そのあとAEのモーショントラックで動きを取り入れて数値化し、それを参考にLightwaveでグラフ編集や軌道の編集を行う方法がよい。

 

//手順
ビデオで自分で動きを撮影する。できるだけ動きが平面上で分析できるような角度で行う。奥行だけで動くと分析しても意味がないので注意。
動きによっては広い場所が必要かもしれない。それも確保する。
一度だけでなく、何度も同じモーションをやってみる。また演技力が必要だが、素人にできるものではないため、演技については絵画技法を参考にしながら、後で自力で調整する。
Mochaでモーショントラックを行うため、これに対応できるaviに変換する必要がある。解像度は720×480くらいでもいいが、画質やfpsを落とさないように。画質が落ちるとモーショントラックが不安定になる。
ファイルはかなり大きいので、あまり大きいなら外部ハードディスクに保存する。
aviをMochaで分析。AEにトランスフォーム・コピーし、グラフ編集で数値を見る。その曲線を参考にしてLightwaveに入れる。

 

////////////////////
Nevron Motion 使い方

 

環境について:
キネクトは電源が要るので、屋外では無理。
キネクトに撮影できる空間的範囲のものしか撮影できないため、少し距離をとる動きの場合、斜めか奥行き方向に向かって運動するしかない。
体育館にはコンセントがあるので、できればそういうところでやりたいが、パソコンを持ち運ぶのが難しい。macではキネクトは動かないのに注意。デスクトップPCを持っていくことになる。
室内でできる動きは室内で撮り、どうしても体育館が必要な動きだけ体育館で撮る。

 

//////////
基本

 

セットアップ:
kinectを使う場合はKinect Runtime driverをインストールしておく必要がある。マイクロソフトからダウンロードしてインストール。
C:\Program Files\NewTek\LightWave11.6\bin\pluginsに解凍したNevronMotion_Win32フォルダを丸ごとコピー。
lightwave11.6→support→genoma→rigs→Complex_Rigs→Bipedsにダウンロードしたベーシックリグ(Nevron_Genoma_Rig.lwoとNevron_Genoma_Rig.txt)を入れる。これでモデラーからベーシックリグを利用できる。txtファイルはその説明書き。ディレクトリを変えればモデラーの検索場所を変えられる。
Kinect_Skeleton_SKL0.lwsとKinect_Skeleton_SKL1.lwsはモーションキャプチャーのときに使うファイルなので、どこかわかりやすいところに移動しておく。プロジェクトファイルにでも置いておくといい。
レイアウトでプラグイン編集→スキャンディレクトリで認識させる。
alt10でトップにnevronを追加すると便利。マスタープラグインからでも起動可能。
Kinect Devicesの名前を「Kinect_A」にすることで、リターゲティング用のサンプルコンテンツをキネクトで利用できる。
デバイスマネージャーでなかなかkinectを認識しないことがある。そういうときはもう一度プラグインのスキャンをやる。少し上のディレクトリからやると上手くいくことがある。
ジェノマリグを、リグ作成した後にシーンから読み込む場合、レイアウトの「開く」「アイテムから開く」で読み込んだほうがいい。

 

///モーションキャプチャ

 

モーションキャプチャを行う場合、キャラクターのウェイトマップをキネクトリグに合わせて作るとよい。キネクトリグの動きを既存のボーンへ移し変えるには、人力では不可能なくらいの面倒な手続きが必要。
キネクトリグはかなり単純なので、ウェイトマップを作成してもそのままでは不自然な動きになる。シーンでジョイントモーフなどをたくさん用いて動きを調整するといい。

 

モデラー:
はじめにモデラーで、使用するキャラクターのスケルゴンの代わりにベーシックリグを使う。ウェイトマップなどふつうに作る。ベーシックリグはセットアップ→ジェノマプリセットの中に入っている。
すでにあるキャラクターの形に合わせてベーシックリグを移動回転などさせて合わせる。キャラクターの形を変える必要はない。この時点でベーシックリグを回転や移動させても、シーンでは問題なくできるので心配ない。

 

モーションキャプチャ:
レイアウトでNevronMotionのベーシックリグを含んだキャラクター(モデラーで作ったもの)を読み込む。そのままセットアップ→ジェノマ→リグ作成。
キネクトのプリセットリグ(Kinect_Skeleton_SKL0.lwsを「アイテムで開く」で開くといい)を読み込む。キネクトのプリセットリグは、形が崩れていることが多い。とりあえずバーチャルスタジオ→仮想スタジオの「アクティブ」を無効にする。
Nevronベーシックリグのボーンを回転させて、できるだけ各関節をキネクトのプリセットリグの対応する関節と「同じ角度」になるようにする。角度だけ合わせればよい。回転は左右片方だけ動くようになっていて、片方動かすと両方とも動くようになっている。これでベーシックリグが自分と同じ動きをしてくれる。キネクト側のリグをいじると、自分と異なる動きをするので、キネクトのリグは触らないように。
NevronMotionを起動し、プリセットよりKinectPlayer0か1をやり(読み込んだキネクトリグの名前と同じにする)リターゲティングする。
デバイスマネージャーをアクティブにし、Kinect For Windowsを開き、「Kinect_000……」の名前を「Kinect_A」にする。それを有効にする。
「設定」を押すと、パネルが開く。バーチャルスタジオの「アクティブ」「ライブ!」「記録」「再生」を有効にする。これで自分の動きに骨が追従するのを確認する。
実際にモーションを記録するには、バーチャルスタジオの「アクティブ」「ライブ」「記録」を有効にし、「再生」は無効にし、レイアウト右下の再生ボタンを押す。モーションが終わったらレイアウトの停止ボタンを押す。出来上がったモーションをみるには、バーチャルスタジオの「アクティブ」は有効のまま、「ライブ」「記録」はオフにし、「再生」を押す。この状態でレイアウトのタイムラインに動きが記録されている。
再度キャプチャをすると、前のデータは消える。モーションを記録(ベイク)するには、「アクティブ」を有効にしたままで、NevronMotionの「ベイク」をやる。
ベイクのモードはボーンにする。ただしそのボーンはもう二度とモーションキャプチャには使えないので注意。
終わったらキネクトプリセットリグは消すといい(Master_SKL_Globalを消す)
実際に作業するときは、キャプチャ寸前の状態で保存して別ファイルにし、この中にすべてのモーションを全部入れていく。ベイクしなくてもモーションそのものは保存できるので、ベイクせずに大量に保存、動きがある程度たまったら本シーンにモーションをコピーし、本シーンの中で編集する。これを繰り返す。

 

kinectセッティングパネル:
Tilt:カメラを上下に動かす。
カラーカメラ:ホワイトバランスや露光の調整。
IR:赤外線モードでやる。フェイスには不向き。
近接モード:遠くよりも近くを優先してトラッキング。
音声:音声認識がある場合に使用可能。

 

スケルトン:
スケルゴンのトラッキングを有効にする。これをしないとあまり意味がない。
全身の動きは同時に2体まで認識可能で、それ以上の人数は、あと4人までなら現在位置まで認識可能(4人の動きは認識されない)
近い人間から0,1…と番号が振られる。
座っていると判別されると、足と背骨はトラッキングされなくなる。特に「座る」を有効にすると、背骨と足はまったく認識しなくなる。

 

スムースプリセット:
値を調整して、スケルトンの追従具合を細かく調整できるのだが、微調整が難しいので、4つあるプリセットの中で上手くいくものを使うといい。
およそ、スムースにするほど動きがブレにくく、途中で動きが飛んだりはしないが、速くて細かい動きはほとんど認識されなくなる。
スムースでないものは、速くて細かい動きにも対応できるが、ブレが大きい。
キーフレームを消しながら、数フレームおきにあとで調整する目的なら、スムースでなくてもいい。
逆にキャプチャした動きをそのまま使うなら、スムースにしたほうがいい。

 

顔:
必ずスケルトンを先に有効にする必要がある、らしい。
顔にもスムースの値があり、大きくすると速くて細かい動きが認識できなくなるが、滑らかになる。

 

キャプチャー:
faceを有効にすること。有効にしないと首の動きがほとんど認識できないので注意。
キネクトは黒いものやゆとりのある衣服は認識しにくいので、できるだけ裸でやったほうが認識しやすい。
背景は黒いほうがよさそうである。

 

キャラクターにベイク直後、キャラクターにSoftFXを適用し、ScanMotionで固まらせ、手首や足首など、IKゴールを置くべき場所あたりのポイントを1つ選択してMakePathする。これをIKゴールオブジェクトにすればよい。

 

編集:
キャラクターの「制御と制限」ははずしておいてかまわない。
キャラクターに移したあとの編集だが、グラフ編集を見ながら、グラフ曲線の形を崩さないようにキーを消していくといいかもしれない。規則的にフレームごと削除したのでは、肝心のキーを消してしまう可能性があるし、グラフ曲線の形が崩れやすいと思われるため。
2段階関節など、単一の関節の動きを、複数の関節に数字的に等分して振り分けたいことがある。この場合、まず元のボーンのキーフレームを振り分けるべきすべての関節にコピーし、あとでグラフ編集の拡大縮小でそれぞれ等分すればよい。拡大縮小の基準位置は、初期位置の値になる。
バンクはキネクトで認識できないので、この時点で手動調整する。
下腕のバンクは手首の回転になっているが、必要なら手動で消す。手首の回転はちゃんとひじでも回っているので注意。

 

IKの問題:
どうやらNevronMotionはIKを認識できないようなので、しかし実際の動きにはIKを付けなければ正確には動かない。fpsが高い限り、8fpsごとに動きを取って直線補完しようが、最終結果が30fpsならIKが必要。
後付けで無理やりIKを付ける方法として、まずモーションキャプチャで普通に高fpsで動きを作り、手首や足首でmakepathし、それをIKゴールオブジェクトとして、IK設定してフルタイムIKさせる。

 

補間の問題:
補間に問題が残っており、30fpsの動きを8fpsに直そうとしたとき、途中にある細かい動きを直線的に補完するとおかしな動きになる(IKは問題なく動くが、オイラー角によるキーフレーム回転の場合、3軸回転があると補間がおかしくなる。クォータニオンなら直線的に動くが)したがって30→8fpsという変換は不可能。
またモーションキャプチャの動きは修正が必要で、30→8が不可能である以上、それも30fpsでやらないといけない。時間がかかりすぎる。陰影がセルでないなら、8fpsでは不可能なので、そうなる。

 

///////////
リターゲティング:
既存のボーンの動きを、そのままレイアウト上のNevron Genoma Rigに移す。既存のボーンは何でもいいが、専用のNevron Genoma Rigにしか移せないので注意。
BHVなど、すでに用意された動きがある場合、そこからボーンの動きを移せるのでそういうときに使う。
もし自分で作ったキャラクタに移したいなら、一度Nevron Genoma Rigに移してから、モーションのコピーで自分のキャラクタに移す。

 

使い方
モデラーのジェノマプリセットからでNevron Genoma Rigを読み込み、レイアウトで読み込み、「ジェノマ」「リグ作成」で骨を出す(ターゲットのリグ)
移し元のボーンを出す(ソースのリグ)
Nevronを起動(マスタープラグインなど)し、ターゲットにNevron Genoma Rigのボーンがそれぞれ書かれているので、対応するソースのボーンを合わせる。ソースのボーンを選択肢、「選択」をクリックすればよい。
リターゲティングしたくないものは「リターゲティング」のチェックをはずす。
IKできるところはIKが可能。「ゴールと同期」は、ソースにあるIKとまったく同じ位置にIKを置くらしい。特に事情がなければ、「ゴールと同期」でいい。
下の空白は、ソースの名前に接頭辞などを追加できる。判別が難しいときに。
ソースの名前をプリセットに保存したり読み込んだり可能。削除もできる。
ターゲットボーンの表示をオフにすると、Nevron Genoma Rigのボーンを非表示にする。
リターゲティングを押すと、リターゲティングをやる。リターゲティングしている間はソースと同じ動きをするが、キーフレームはまだ打たれていない。打つには「ベイク」を押す。ベイクするまでは解除もできる。
ベイクでは、コントローラーを選ぶと、ジェノマのコントローラーに対してベイクが行われる、という意味。ボーンにすればボーンをベイクする。
プリセットは
ユーザー\ログインユーザーアカウント\.NewTek\LightWave\11.6\NevronMotionPresets
に保存されている。
確実に同じ動きをさせるときには、ヒップの位置を一致させるようにするらしい。

 

モーションデータの読み込み:
BHVファイル:ファイル→入力→Mocap_BVH_SetupよりMotion Capture Setting。
Start Frame Offset:モーションキャプチャーデータの開始フレーム。通常は1。
BoneScaleFactor:ボーンのスケール係数。デフォルトは1。ボーンの位置がキャラクターに合わないときはこれを試行錯誤であわせる。
Bone Name Postfix:接尾辞に番号をつける。
Revert to Previous Setting:BVHのFPSの設定を、YesならレイアウトのFPSにし、NoならBVHのFPSにする。
読み込んだBVHのリグを、できるだけ合わせたいキャラクタのリグと同じ位置にする。ボーンの拡大縮小や移動など使って。完全にあわせる必要はない。

 

///////////
自作の独自スケルゴン(ボーン)にモーションキャプチャを使う場合

 

モーションキャプチャ自体は上記の手順でやればいいが、出来上がったモーションはNevronベーシックリグにベイクされるため、そのままではキャラクタに使えない。
ベーシックリグにモーションをベイクしたあと、目的のキャラクタのリグにモーションを移すのだが、ボーンの向きやバンク角度が異なると上手くコピーできず(数値だけ完全にコピーするため)、めちゃくちゃな動きになってしまう。
理論だが、キネクトリグは、リターゲットした瞬間のベーシックリグの初期値をとってキネクト初期ポーズの値にする。キネクトで動かした値は、そのままベーシックリグに入れられる。ベーシックリグの初期値をキャラクターの初期値にしておけば、ベーシックリグがどんなポーズをとっていようが関係なく、いわば値を一時保管するためだけの箱に過ぎない。その状態で値を保管させ、キャラクターにコピーさせればいいのである。本当はキャラクターリグの初期値をキネクトリグに入れて、キャラクターに直接値を入れさせることができればいいのだが、仕様でできないだけであるから、一時的にベーシックリグに値を移すだけ。
そこで、以下のようにする。

 

ベーシックリグの作成:
まずはNevronベーシックリグをモデラーで出し、そのままレイアウトに持っていってリグ作成。ベーシックリグは、移動回転スケールはしてもいいが、削除したりつけたしたりしてはいけない。またリグの対応はカスタムせず、デフォルトで使う。なぜかHipソースからSplineターゲットなど、Hip以外のボーンに移すと、位置情報がコピーされない。なのでとにかくデフォルトで使用すること。
キネクトリグの0を出し、NevronMotionを起動。kinect0を表示。デフォルトのまま使用する。
キャラクタリグとキネクトリグの初期値を同じにする。キャラクタリグとキネクトリグを出し、キャラクタリグをキネクトリグと同じポーズにし、そのときの位置を回転値をどこかにメモしておく。これがベーシックリグに入れるべき初期値である。
次に、レイアウトで、キャラクタリグとベーシックリグの、対応するボーンの初期値(位置と回転値)を同じにする。0フレーム時の値が同じでないと上手くコピーできないため。ベーシックリグはボーンを回しても意味がなく、コントローラー(緑の丸)を回さないと意味がないのだが、2つのリグの「ボーン」が同じ値でないといけない。コントローラーを回しながら、対応するボーンが同じ値になるまで回す(ただしデフォルトでは、ボーンとそれに対応するコントローラーの値は同じなので、コントローラーの値にはキャラクターの値をそのまま入れればだいたいはうまくいく)。スケールはキャラクターもベーシックリグもキネクトリグもすべての値が1なので、入れる必要はない。
ベーシックリグの腕と脚の付け根は埋もれた小さいボーンなので注意(コントローラーは付け根のもの)
ベーシックリグは回転が方向によって無効になっていることがあるので、画面左下のチェックをはずして回るようにする。ベーシックリグはいくつかのボーンは回転がデフォルトで制限されているが、キャプチャした後はすべての制限が外れて値が変わっているのであまり意味がない。
レイアウトで作ったベーシックリグとキネクトリグだけ残し、保存する。これがそのキャラクターのモーションキャプチャで使う汎用データとなる。ポーズはめちゃくちゃになっているが、かまわない。
もしどうしても数字をあわせることができない部分があったら、ベイクしたあとにそのボーンの全キーを差分だけ変化させればよい。グラフ編集で平行移動させればよい。あまり神経質にならなくてもよい。

 

キャラクターに移す:
モーションキャプチャーしたら、キャラクターにモーションを移す。移す手順は面倒なので、キャプチャーするデータは大量に取っておき、一度の操作で全部移すようにするといい。
モーションのベイクはボーンで行う。コントローラーではおかしくなる。また一度ベイクすると、そのベーシックリグは二度とリターゲットできなくなるので注意。失敗したら始めからやり直し。ベイクする前に一度保存するといいかもしれない。
データを移すコツだが、ドープトラックを使うと一番早いようだ。ベーシックリグのボーンは、使わないボーン(指や頭部)は消してしまうと選択が楽(ボーンを消すときクラッシュしやすいので注意)
手動で特定のチャンネルだけ消す場合はグラフ編集を使うといい。ドープシートはあまり長い時間の編集は難しい(不具合で消せなかったりする)

 

 

/////////////
キャッシュラジオシティ

 

これは、ラジオシティの「倍数」が100以下だと著しくクオリティが落ちるので注意。
理論上の話だが、物体あるいは光源が動く場合にはクオリティが落ちる、ということになっている。カメラだけ動く場合はクオリティはほとんど落ちないらしい。
先に設定をしたら、ラジオシティの焼きこみをする。動画の場合は「シーンの焼きこみ」にする。単一フレームのみ静止画ならフレーム焼きこみでいいようだ。
アンチエイリアスがあるとかなり時間が伸びるので、気にならないならアンチエイリアスを最低にすると速度が上がる。

 

キャッシュラジオシティは何をしているのか:
やっていることは簡単に言うと、ラジオシティに関する情報(焼きこみデータ)を外部に詰め込んでおき、ラジオシティするときにそれを使いまわして時間を早めようとするもの。1フレームずつラジオシティをしたのでは途方もない時間がかかるため、物体にテクスチャを貼るようにラジオシティデータを焼きこんでおく、というもの。したがって、オブジェクトや光源を移動したりすると、新しい焼きこみデータが必要になる。データは時間的に保存されているらしい。
焼きこみ時は、以下の4つの設定とは関係がなく、カメラに写っている部分しかやらない。ただしカメラから見て、隠れて見えない部分には焼きこみが行われない。一度物体に焼きこみを行うと、離れたフレームでもそのデータを使いまわし、次回から時間を短くできる。
フレームあるいはシーンを焼きこみを行うと、今カメラから見えている物体全てに焼きこみデータをテクスチャのように貼り付ける。ただしシーン作成しながら焼きこめるため、この2つの機能は実際は不要。

 

「クオリティ落ち」を防ぐには:
キャッシュがない場合は普通にラジオシティをやるのだが、キャッシュがある場合、焼きこみができていない物体にも無理に使おうとし、結果「なし」「固定」の場合、無理にデータを使うために物体にひびが入ったり、汚れているような陰影がついたりする。この「クオリティ落ち」は避けなければならない。
「なし」「固定」では、何が何でもキャッシュのデータを使おうとする。離れたフレームからでもキャッシュデータを使えるため、マイナスフレームとかでカメラでとにかくすべての物体を映してキャッシュを作成した後、「なし」でやればすべての物体が高速でレンダリングできるはずである。
しかし実際やってみると、物体の裏に隠れていたりカメラの枠が不十分だったりして、必ずクオリティ落ちが起こる。よって、最初のレンダリングで「なし」「固定」を使うことはできない。一度全フレームのキャッシュが出来上がってからは、この2つを選択してよい。
サーフェイスベイキングカメラを使えば、理論上はすべての物体をベイキングできるはずだが、実際やってみるとおかしなことになる。サーフェイスベイキングカメラ自体がそもそも不安定で、どうやってもまともなクオリティにならない。光がおかしなところに差し込んだり、解像度を高くしても汚れていたり、ラジオシティレンダリングが終わらない不具合など、使い物にならない。

 

レンダリングしながら焼きこむ:
「常時」「自動(1フレーム)」では、シーンをレンダリングしつつ、キャッシュに情報を溜めている。常時では1フレームずつすべて溜める。自動では指定フレーム間隔ごとに溜めていく。
ただし一度これらの設定でレンダリングしている場合、2回目以降は以前のデータを使うため、速度が上がる。速度の上がり方は、「自動」のほうが早い。おそらく、両方とも前のデータを使っているのだが、「常時」はさらに新しいデータを溜めるのに対し、「自動」では新しく溜めない。以前のを使うだけ。
1回目のレンダリングでも、どうやら前のフレームでオブジェクトに焼きこんだデータを、以降のフレームでも使っているらしく、同じオブジェクトをレンダリングしているとどんどんスピードが上がっていく。だからラジオシティといえど、そんなに時間がかかるわけじゃない。
しかしこの2つ、クオリティは変わらないため、以前のデータをあまり利用しない「常時」は時間の無駄。クオリティ的にわずかに常時のほうが高いが、気にするほどでもない。よって、最初のレンダリングは「自動」でやるのがいい。
フレーム焼きこみにしろ常時や自動による焼きこみにしろ、前のデータを消去して新しく作るのではなく、上書きされて更新されていくので、同じキャッシュ名前で何度も上書きしていっていい。同じフレームのデータは上書きされるので以前の部分はなくなるが、上書きして精度が落ちたりはしないので、どんどん上書きして完全なキャッシュを作っていくといい。

 

キャッシュラジオシティの手順:
物体が動こうが動くまいが、クオリティ落ちしないキャッシュデータを作るには、すべてのフレームを「自動」か「常時」でキャッシュに入れる必要がある。
しかし「ラジオシティする」カメラ、オブジェクト、光源すべてが動いていない時は、最初の1フレームのみキャッシュに入れれば次回より「なし」でいけるため、これらが動いていないところではキャッシュに入れる必要はない。
したがって最初にすべきことは「ラジオシティが有効なオブジェクト、光源、カメラの、一つでも動いている場面のみ取り出して自動(1フレーム間隔)でレンダリングする」ことである。これで完全なキャッシュができあがると同時に、動いているシーンのレンダリングもできる。
次に、完全なキャッシュができているので、「なし」で動かない部分のシーンをレンダリングする。
背景と人物を分離している場合でも、いちおうこうやってキャッシュを溜めておいたほうがいい。後で使うかもしれないから。
微細なクオリティにもこだわる場合、自動ではなく常時にすればいい。キャッシュなしでやるともっとクオリティがあがるかもしれないが、速度が現実的ではないのでお勧めできない。
「固定」より「なし」のほうがクオリティが高い。あまり急いでいるなら固定でもいいが、特殊効果のためにできるだけなしを使うように。
難しければ、とりあえずキャッシュラジオシティは「自動」のフレームステップ1でずっとやっていれば、特に問題はない。

 

/////////////////////////////
背景と人物の分離の必要性:
ラジオシティの設定は、評価毎の光線と二次反射光線は500と250以上、倍数は100で、キャッシュラジオシティなどのベイキングは一切使わないようにしないと、まともなクオリティは出せない。
つまり背景にラジオシティを使うと決めた以上、毎フレームラジオシティでレンダリングすることになる。
しかし実際のシーンでは、カメラは毎フレームそれほど動くわけではない。数百フレームのシーンでカメラがまったく動かないのに、これで毎フレームラジオシティを使うのは非常に時間の無駄である。
そこで、背景と人物は別々にレンダリングし、後で合成させると、時間を大きく節約できる。実際、合成を使わずに全てのシーンを作ると、12時間以内に1シーン完成するのは難しくなる。
ラジオシティで毎フレームレンダリングする必要のあるシーンでも、本当に必要なシーンだけレンダリングし、しなくてもいいシーンではしないようにして時間を短縮する。
クオリティ的な問題点としては、人物と背景が互いに影を落とすことができないことがある。
またこの方法は、人物にラジオシティを使わないという前提でやっている。人物にラジオシティを使う場合は、いっしょにレンダリングするしかない。

 

分離による輪郭線:
人物と背景を分離することで、偶然ではあるが、人物に細い輪郭線が違和感なく入るため、キャラクターの表現をやるには都合がいい。

 

背景と人物の分離の方法:
まず普通にシーンを作り、本番レンダリングする前に人物専用のシーンと背景専用のシーンを新しく作成する。
元のシーンから背景オブジェクトを全て削除し、ラジオシティは無効にし、これを人物専用シーンとする。
元のシーンから人物オブジェクトを全て削除し、ラジオシティは有効にし、これを背景専用シーンとする。
オブジェクトが残っているままでは影などの作成のため、計算は早くならないため無意味。不要オブジェクトはしっかり削除する。

 

人物シーンについて:
「特殊効果→背景(Ctrl+F5キーのやつ)」の設定で、背景を真っ黒にする。この設定でレンダリングした背景は、実質無効にすることができ、AEで「ストレート、マットなし」で読み込むことで、人物だけ切り抜き、背景は透明で読み込める。

 

背景シーンについて:
カメラも背景の物体も動かない場合、動画にする必要はない。1枚だけレンダリングし、AEで合成すればいい。
カメラは動かないが背景の物体が動いている場合、人物と同じようにループをつくり、AEでループさせると効率がいい。
カメラは回転するが背景の物体が動かない場合、場合にもよるが、一枚の大きな絵にして、AE上で平行移動させると効率がいい。カメラが移動している場合は使えない。
カメラと背景の物体ともに動いている場合は、全てのフレームをラジオシティするしかない。

 

///背景と人物の分離が使えない場合
以下の条件では分離が使えないため、普通に毎フレームラジオシティをやる。

 

人物と背景、互いに影が落ちる場合:
人物の影が背景に落ちる、あるいは背景の影が人物に落ちる場合。この方法は、背景と人物、互いに影を落とすことができない。
影を落としたければ、板ポリゴンにフロントプロジェクションで写す方法もあるが、設定が面倒で不正確なのでお薦めできない。
通常のシーンでは影は落とさず、影を強調したいシーンだけは毎フレームラジオシティを使うようにするといい。

 

人物の手前の物体:
この方法はAE上では背景は後ろに、人物は前景のみになるため、カメラから見て、人物よりさらに手前に背景物体を映すことはできない。
手前の物体が小さい静物なら、背景ではなく人物といっしょにレンダリングすればいいが、人物の手前に草原の草がなびいているような場合は不可能である。この場合は毎フレームラジオシティをやる。

 

///////////////////////////////
以下、フロントプロジェクションの方法は古いやり方で、Ver11からはShadow Catcherマテリアルを使ったほうがいい。

 

フロントプロジェクションを使う方法:
まず背景だけレンダリングし、できた動画を板ポリゴンのサーフェイスにフロントプロジェクションで読み込み、背景にして人物のレンダリングをする。
板ポリゴンに人物のシェードが付くようにダミーの床や壁など作り(それもフロントプロジェクション)、シェードが付くようにする。

 

クリップマップでは別々にレンダリングしても計算負荷は変わらないので、フロントプロジェクションを使う。
まず背景のみ用意し、人物は消す。背景だけレンダリングし、ムービーとして保存。
次に人物だけ用意し、背景のうち影のつく部分だけ用意、それにサーフェイスとしてフロントプロジェクションで先のムービーを写し、それにあわせて人物をレンダリング。
必要であればラジオシティ計算のための仮のサーフェイスを用意し、それにもフロントプロジェクションでムービーを写す。

 

/////////////////////////////////
2D合成

 

AVIファイルでレンダリングし、フォトショップに読み込む。あるいはそのフレームだけレンダリングし、フォトショップで読み込む。
静止画を作る場合、フォトショップで静止画で書込み、AEで合成する。
動画を作る場合(作画アニメ)、空白ビデオレイヤーを作成あるいは読み込んだビデオに直接書き込み、フォトショップでレンダリングし、AEで合成。

 

///板ポリゴンに2Dの絵を乗せてLWで表示
3D空間に2Dの絵を表示する場合、厚みゼロの板ポリゴンを用意し、そこに絵を貼り付ける。
絵を貼りつけるとき、板ポリゴンのDiffuseShadingに絵のカラーレイヤーを、Transparencyにアルファ抜き用の白黒レイヤーを適用するのだが、カラーレイヤーは輪郭のアンチエイリアスをなくさないとアルファ抜きがうまくいかず、輪郭が白くなるハロー現象が起きてしまう。
これを防ぐため、カラーレイヤーの輪郭の透明度をなくしておく必要がある。
フォトショップでカラーレイヤーの画像を、「演算」でRGBそれぞれ足す。具体的には、1元画像にレイヤーは現在レイヤー、チャンネルはレッド、2元画像も全く同じものを指定し、描画モードは通常で合成する。不透明度は100、マスクはなし、結果を新規チャンネルで作成。これをブルー、グリーンでも同じことをやる。
この3つのチャンネルができたら、もとのRGBチャンネルを削除し、イメージ→モード→RGBカラーを指定すると、アンチエイリアスを抜いた画像を作ることができる。

 

ハロー現象:
板ポリゴンなどで、元のカラー画像からアルファチャンネルを指定して透明を抜くとき、輪郭の部分ではアルファ値が中間あたりの値なので、元の画像の背景色が混じって抜かれる。
アルファで抜いたとき、元の画像の背景色が混じって輪郭に表示される現象をハロー現象という。
AEでは背景色を指定して抜くことができるので、きれいに抜けるが、LWではこのような機能がない。
これを防ぐには、元のカラー画像のアルファ値を0と1(255)のみにし、中間的なアルファ値が入らないようにするのが一番いい。それでフォトショップの演算機能を使う。
これが不可能な場合、輪郭部分を不透明色で塗りつぶしておけば、わからない程度にハロー現象を防ぐことができる。

 

//////////////////////
以下は使わないほうがいいが、一応やり方だけ書いておく。

 

サーフェイスベイキングカメラを使う方法:
サーフェイスベイキングカメラを使ってテクスチャを作る方法。しかし精度が悪く、手続きも面倒なのでお薦めはしないが、やり方を一応書いておく。できればキャッシュラジオシティを使うのがいい。
シェードまでベイクされるため、動く物体には一切使えないが、その物体が動きさえしなければどんなものにでも使用可能。影は後のレンダリングで落とせるため心配無用(最終レンダリングが自己発光と色によるため)
まずベイクするオブジェクト全てにUVマップを作る。アトラスでそのまま何も手を加えず、相対ギャップサイズを最大の100にする。
レイアウトでサーフェイスベイキングカメラで撮影。メッシュでオブジェクトを、UVマップでUVを設定し、あとはほとんどデフォルト。オフセットは100μm(0にするとおかしくなる)、スムースノーマルでカメラはUV撮影なので縦と横を同じにしておく。解像度を高くしておけば、本番でもきれいに写る。
UVボーダーはできるだけ大きくする。10くらい。さもないとUVの切れ目が目立ってしまう。相対ギャップサイズを大きくするのもUVの切れ目をなくすため。
ラジオシティを有効にして撮影、マルチスレッドはそのまま有効にし、できた画像をオブジェクトの色テクスチャにUVの画像として貼りこみ、自己発光度100%にしてほかのライトを全て無効にして撮影する。
サーフェイスベーカーはマルチスレッドできない上、なぜか画像が非常に汚く、使えるものではない。
本番レンダリングでは、ベイクしたものはすでに光が当たっている状態なので、光は当たらないようにする。しかし影は受けるようにする。
サーフェイスベイキングカメラを使うとき、UVを映すオブジェクトは、できればサブディビジョンを入れない。サブディビジョンオブジェクトはフリーズしておくほうが、正確に取れる。サブパッチ補間をしても不正確になる。

 

/////////////////////////
Lightwaveテストレンダー

 

静止、動画共通:
最初は軽い方法でテストしておよそを見る。
AEに入れてテストする際、プレビューではわからない、眼の動きや細かい動き、またループのつなぎに問題がないかなどを見る必要があるとき、いきなり本番品質でレンダリングすると効率が悪い。
以下、軽くする方法。

 

動画ではAPSを使わない。フリージングに時間がかかるため。
アンチエイリアス、ブラーをなしにする。
画面を小さくする。25%でレンダリングし、後でMediaEncoderなどで無理やり拡大すればいい。あまり細部が見えないなら50%で。
サブディビジョンレベルを下げる。人間でも1あたりまで下げてもおよその動きはわかる。
ラジオシティやレイトレースを抜く。
FiberFXを抜く。
フレームステップを増やし、そのぶん時間を遅くして見る(ただしこれは1フレーム単位で変化する表情を見るには適さない)
パースペクティブカメラを使う。
各レイトレースの設定をオフにする(透過やオクルージョンなど)
レンダー範囲調整で範囲を小さくする。

 

適正サンプリング:
アンチエイリアスのテストをするときは適正サンプリングをオンにし、閾値を1から少しずつ下げて、気にならないところまで下げる。値が大きいほうが汚いが、早い。

 

///テストレンダーの手法
サーフェイス、スカイトレーサー、ハイパーボクセルはVIPERが使える(動かすこともできる)
それ以外ではVPRが使える。VPRでも出ないもの(FiberFXなど)は静止画レンダーするしかない。
VPRはレンダー範囲調整で範囲を小さくすると早く出る。
テクスチャなどのテストでは、専用のテストカメラを用意するといい。フレームごとにアングルを変え、連番フレームでレンダーシーンするといい。

 

EditFXと物理演算:
EditFXや物理演算を使う場合はテストレンダーが終わってから行う。これらは後でキーフレームをずらすことができないため。

 

///手順
最終レンダリングの前に、肝心のフレーム(ライティングが変わる部分など)だけで静止画を何枚か撮ってみる。
最初は時間のかからない方法でテストし、後で本番レンダリングする。
AVIファイルはデスクトップなど、日本語の入るディレクトリ名ではファイルが生成されないので注意。
間違いなければ本番レンダリングを行う。
物理演算とEditFXによる調整を行う。

 

///////////////////
タイムワープによる修正

 

タイムワープの必要性:
長いシーンが出来上がり、その中の一部を時間的に調整したいとき(キーフレームを全体的に移動して時間を長くするなど)はタイムワープで時間の調整をするといい。
キーフレームの時間を動かしていたのでは、その後の全てのキーフレームをいっぺんに後ろへ移動させなければならず、非常に面倒。
レンダリング時間が伸びるため、キーフレームですぐ変えられる程度のならキーフレームで変えたほうがいい。

 

フレームブレンド:
ループ部分で、動きは全く同じで時間を少しずつ変化させる場合、AEの時間伸縮、タイムリマップを使ったほうが効率がいいことが多い。
フレームブレンドを使えば、長い時間でない限り不自然には見えない。

 

AE編集後にタイムワープを使う場合:
通常の修正が必要な場合、AEでその部分だけ差し替えればいいのだが、タイムワープによる時間の修正を行った場合は、複雑に編集したAEのデータは時間が全てずれてしまう。またタイムワープの修正がシーンの一部であった場合、残りまで再びレンダリングするのは時間の無駄。
それで、AEの最終段階まで作り、その後にタイムワープによる修正を行った場合、修正部分だけ追加で最終シーンに入れて作り直すといい。このやり方なら残りの部分は全て選択してまとめて移動してずらせばよく、修正部分だけ差し替えればいいため、非常に効率がいい。容量は少し増えるが、全てやり直すよりはいい。
解像度の低いテストの時点で修正箇所が見つかった場合は、AE編集の前にタイムワープ修正し、フレーム表を書きかえればいい。

 

使い方:
時間の加速度などはTCB曲線などで調整し、キーの位置はそのままでタイムワープで時間の早さを調整するのがいい。
タイムワープの使い方だが、ブラーを使わない間はWarpBlurとFixCameraは無効でいい。WarpCameraは有効で、SubFrameは10でいい。
サブフレームのずれの計算の仕方は、最大ずれが0.5秒のため(端数の場合は最寄の整数時間へ四捨五入される)例えばサブフレーム10なら最大0.05秒のずれが生じる。実際プレビューかレンダリングしてみて、おかしくならない程度に調整する。あまり増やすとレンダリング時間が延びる。
タイムワープを使っているとレンダリング時間が延びることがある。なのでタイムワープを使用している部分だけはプラグイン有効にしてレンダリングし、ほかのシーンは無効にして分割してレンダリングし、後でAEでつなぐといいかもしれない。
タイムワープ中はVPRは使えないので注意。おかしくなる。
キーフレームでやれるならキーフレームでやったほうがいい。
静止画レンダリングするとき、タイムライン上での数値はレンダリング時のものに置き換わっている。しかし画面上は元のまま、というわかりにくい状態。タイムラインは最終レンダリング時のものに置き換わっているが、関節の変形などはタイムワープ以前で編集できるという意味。
これら以外は特に難しく考えることはない。動画のオフセットがタイムワープで変わるとかいうことはない。

 

手順:
タイムワープ後は記録しておいたフレーム数と位置が異なるため、まずタイムワープ後のフレーム数も記録する。エクセルのフレーム表に、本来のフレームとタイムワープ後のフレームを書く。タイムワープ後に打つキーは、部分の最初と最後のフレームすべてに打つといい。たとえば5〜7に部分A、8〜11に部分Bがあるとすると、5,7,8,11にキーを打つ。
オプションで端数フレームを許可しておく。しなくてもあまり変わらないように見えるが、しておいたほうがいいらしい。
タイムワープは端数が出て四捨五入される可能性があるため、AE上で区切る部分はすべて手動で指定したほうがいい。
タイムワープの曲線の「X軸がレンダリング後の数値」「Y軸がタイムワープ以前の数字」に相当する。間違えないように。Y軸の値がタイムラインの値とポーズに相当する。その時点でのレンダリングフレーム(X軸)をどこにするか、ということ。速度を落としたいときは、グラフの傾きが1以下になる。
ワープしない部分(Y=Xの部分)は平行移動なので、端数フレーム四捨五入でフレーム数が変わる心配はない。
タイムライン上は元のフレーム数と同じだが、レンダーオプションのレンダーフレーム数はタイムワープ後の数値を入れないといけないので注意する。
タイムラインにはレンダリング時のフレーム(タイムワープ後のフレーム)を表示させるようにする。たとえば100フレームで終わるのを時間を遅くして200フレームのシーンにした場合、タイムラインに200まで表示しないといけない。さもないとレンダリングが永久に終わらない不具合が起きる。
タイムワープを使っているとレンダリング時間が伸びるので、タイムワープを使っていない部分ではタイムワープをオフにし、使っている部分ではオンにして別にレンダリングする。少々面倒だが、レンダリング時間が大きく伸びるよりはマシ。

 

//////////////////////////
Lightwave最終レンダリング

 

最終レンダリングは無圧縮AVIでやるため、データは外付けハードディスクなどに保存し、普段はダミーの圧縮データを使うといい(持ち運びも考えて)
レンダリングの時にだけ無圧縮のデータを移動させて使う。

 

スピードを上げる設定:
VIPER、レンダー処理結果の表示はオフにしておく。重くなる。
パネルを非表示にすると少し早くなるらしい。

 

バッチレンダリング:
スクリーマーネットやレンダーQは、動画は不可能。静止画の連番しか作れない。
複数シーンで動画を作る場合、複数レイアウトを立ち上げ、同時にレンダリングする。無理やりだが、これで複数レンダリングが可能。マルチスレッドはすべて自動にしておくと最も速いが、1スレッドずつ振り分けておくと負担が軽いかもしれない。

 

///レンダリングの設定

 

適正サンプリング:
オンにし、閾値を気にならない最大の値まで上げる。
動画だと実際のところ、最大サンプル3程度、閾値0.1くらいでもさほど気にならない。静止画だと最大サンプルは9程度、閾値は0.01くらい。
最大サンプルをあまり小さい値にすると、シェイディングノイズが増えるので注意。

 

カメラ設定・アンチエリアシング:
再構成フィルタは安定なミッチェルノーマルを使い、ソフトフィルタは使わない。ミッチェルではアンチエイリアスはそんなに高くなくてもいい。動いているなら2〜3程度で十分。静止画でも5あれば十分。

 

ランチョスについて:
ランチョスは画質は最高だが、どうやっても輪郭に線ができてしまうことがあり、安定しない。
ランチョスを使う場合、アンチエイリアスは5〜10くらいは必要で、ランチョスシャープしたときはソフトフィルタが必要。
理論上、ランチョスシャープでアンチエイリアスをできるだけ高くすると最もきれいだが、時間がかかりすぎる。1枚絵ならこれでいいかもしれない。

 

ブラーを使うかどうか:
ブラーを使うかどうか微妙だが、使わないで不自然なら使う。レンダリング時間が伸びるのでできるだけ使いたくない。
使う場合、できればAfterEffectsでかけると楽。

 

Lightwaveでのブラー設定:
スピードとクオリティを両立するための設定が必要。
ブラー設定では、ブラー回数以外はレンダリング時間に影響がないので、ブラー回数をできるだけ低くし、ブラー強さとシャッター効率でそれらしく見せるのがよい。強さはブレの大きさなのでできるだけ小さくするといい。

 

Lihgtwaveでのブラー数値:
種類はディザで、ブラーの強さを50、シャッター効率を100、ブラー回数を2にする。2で足りなければ3で。

 

レンダリングの注意:
四角形ポリゴンの場合、変形のしかたが強すぎると非平面ポリゴンになり、これが強いとレンダリングエラーが起きることがある(レンダリングできないのではなく形がおかしくなる)。エラーは変位マップやボーンなどで起きやすい。モデラーに時点なら情報タブで非平面があるかどうかわかる。
ポリゴンが最も歪んでいるところでレンダリングし、問題ないことを確認してから本レンダリングするといい。

 

レンダリングを軽くするコツ:
形が変わらないもの(変形せず陰影も動かない)は、板ポリゴンに絵を貼り付ければポリゴン数は減らせる。
一切形の変わらないものは、静止画をレンダリングして後で合成。

 

///手順
サブディビジョン、画面解像度、FiberFXの本数など、すべての設定を本番用にするのだが、とにかく最終レンダリングは時間がかかるため、少しでも時間を節約するように設定する。
サブディビジョンレベル、ラジオシティの倍数、間接反射、評価毎の光線、FiberFXの本数と透過度、アンチエリアシングレベルについて、何度か静止画レンダリングし、保存して並べて慎重に比較する。これらは必要最低限(クオリティが落ちないぎりぎり最低のレベル)にする。およそ、端(アンチエイリアス)で違いが分かるくらいの変化であれば、ほとんど同一クオリティとみていい。
下着など、映らないオブジェクトなどは消す。
レンダリング時間がどうしても大きくオーバーする場合は、細切れにして別の日にレンダリングし、後でAEで結合すればいい。無理に一度にレンダリングする必要はない。
途中経過の操作は遠隔操作のソフトを使うと楽。
一度にレンダリングする無圧縮AVIファイルは、容量が2GBを超えないようにする。AVIの仕様で、動画がおかしくなる。およそ1024×768で500フレームを超えないようにすれば、まず大丈夫(ただし2GB以上でおかしくなるのでLWだけで、AEでは2GB以上のAVIを生成してもおかしくならない)

 

実際の数値:
サブディビジョンレベルは、人物は6程度、スカートのような衣服は12くらい必要。
ラジオシティの倍数は100、評価毎の光線は500、アンチエイリアスは3程度必要。

 

///動画テクスチャの不具合
動画をテクスチャに使っている場合、なぜか「前の振る舞い」「後の振る舞い」をもう一度選択しないとそうならないという不具合がある。本レンダリングの前にもう一度選択する。

 

//問題
巨大な動画ファイルを作ると、なぜか不具合が起きる。1000フーレム以上の物を作ると、まず間違いなく何らかの不具合が起きている。
特に2GBを超えてもいないのにおかしなAVIができあがることがある。
できれば細切れに少しずつレンダリングし、後でAEでつなげるのが安全のようだ。

 

//////////////////////////
AfterEffects設定

 

///手順

 

AEとLightwave:
まずAEでLightwaveで作る動画以外のものはできるだけすべて作っておく。
Lightwaveのプレビュー、または最高速・最低画質のテストレンダーをAEに読み込み、切り貼りによる問題が起こっていないかチェックする。
Lihgtwaveの1シーンは適当な長さに区切り、プレボイス(長さを測るためだけの仮のボイス)も含めてAE動画を作成する。
気に入らなければ訂正し、繰り返し。プレビューか短時間レンダリングで出来上がったものをチェックする。
プレビューはその時の状況に応じる。RAMプレビューはオーディオも入るが時間がかかることがある。ワークエリア限定でレンダリングしたほうが早いこともある。通常のプレビューのほうが見やすいこともある。
もう間違いないと思ったら、Lightwaveの何フレームかテストレンダリングを行って、それでも間違いなければ本レンダリングを開始する。

 

カラーマネジメントの設定:
レンダリングするときは、カラーマネジメントをsRGBにする。
実際やってみたところ、Lightwave作業中にsRGBで行うと色が多く失われ、さらにAEで作業しても色は失われたまま。どうも3DCGの計算でsRGBを使用すると、非常に多くの色が失われるらしい。
そこで、とりあえず安全策として、LightwaveやPhotoshopではカラースペースをなしにして作業し、最後のAEでだけカラースペースをsRGBにしてレンダリングし、どのモニタでも同じ色で表示されるようにする。そうしないと、途中で色が多く失われすぎる。とにかく最後のレンダリングでsRGBに指定しておけば、読者のモニタによって違う色になる、というトラブルは避けられるだろう。
LightwaveからAEに読み込んだ時に色が失われてイメージが変わっていると思われる場合は、エフェクトの色調補正などでできるだけ戻す。
AE作業中もsRGBのシミュレーションができるので、これを見ながら色調補正を行う。
AdobeRGBでやると色がくすんでしまう。特に肌色は浅黒い色になってしまうので注意。色域が多いからといっていい色になるわけではない。sRGBにするように。

 

//////////////
注意:
最終レンダリングでミスをすると取り返しに時間がかかるため、まずはAfterEffectsで前準備をしておく。
プリコンポは2倍時間がかかるので、使わないでいいならできるだけ使わないように。
色調補正などのエフェクトは使う必要はない。Lihgtwaveで精密調整した色が狂う。それでもやるなら「自然な彩度」くらい。また一度エフェクトを使ったら、ほかのシーンでも同様に使わないと不自然になる。

 

フレーム番号について:
Lightwaveのレンダリングは、開始を0フレームにすれば、後で切り取るときに番号が混乱せずに済む。
AEのプロジェクト開始番号も同じく0にしておくといい。

 

シーンの長さとループ:
Lightwaveのシーンは、とにかくシーン数が多いと何度もレンダリングをするために面倒。一度で済ませるため、できるだけシーンの数は増やさず、一つのシーンにまとめる。
アニメでは繰り返しが使われる。特に口パクや往復運動など。ループする部分で単位にし、別ファイルでレンダリングする。
アニメでは静止状態が続くことがある。静止しているのにLightwaveでレンダリングするのは時間の無駄。AE上で調整する。
しかし一つの長いシーンをAE上で切り貼りすると修正が困難に。例えば後で最初に空白フレームを少し追加しただけで、以降全てのフレームの切り取り点がずれてしまう。これを避けるため、ある程度シーンを細切れにし、分けてAE上に読み込む。
ただしあまり細切れにしてしまうと、膨大な破片を整理するのにものすごい時間がかかってしまう(数千の破片ができる場合が考えられる)ので、ある程度の大きさに分け、後はAE上で分割なりコピーなりして配置するといい。
破片のサイズが大きいと、後でLightwave上でわずかな修正をしても長時間レンダリングが必要になると思われるが、いい方法として、Lightwave上では修正部分だけレンダリングし、修正前の動画とAE上で合成し、修正部分だけ上書きすればいい。つまり、破片のサイズは大きくしてかまわない。
各破片のサイズのおよその目安として、300〜500フレームくらいか。総数数万フレームもあるようなら、1000フレームくらいのほうが分けやすいかも。

 

AEのランダム処理:
ループをAEで繰り返すと、単調で不自然に見えることがある。
ランダムな動きを作る方法として、時間伸縮で時間を少しずつ変える、タイムリマップで時間をゆがめる、ループのつなぎを時間反転させてループを逆方向につないだり、つなぎを順再生・逆再生してそれでループを作る方法などある。

 

Lightwaveでのループ処理:
Lightwaveでループする場合や静止状態の場所にキーフレームを打ち、レンダリングするときはレンダー範囲でそこで区切る。これだとレンダリング中に何度も操作が必要なので、面倒なら無圧縮AVIで全部レンダリングし、AEで読み込んで再び無圧縮AVIで分割するという手もある。無圧縮なら劣化もしないが、二度手間になる。
LWのプレビューも同様に、細切れにして保存する。
Lightwave上のループする切り替えし点は、キーフレームをすべてのオブジェクトに適用しておけばうまくいく。
何フレームから何フレームまで、どんな内容かをどこかにメモしておくといい。さもないとわけがわからなくなる。
ループはつなぎがおかしくなりやすいため(特にTCBの設定で前後の動きに影響が出るとき。ステップとTCBの使い分けが重要)チェックが必要。
ループさせるときは、ループの開始と終了時にキーフレームを打ち、この二つはまったく同じ状態でなければならない。体が動かない場合はステップ状でつなげばよく、動く場合はキーフレームを全てコピーする。

 

静止画のループ(AE上で動画から静止画を作成):
静止画をフォトショップのデータでいちいち処理するのは面倒。動画をAE上でコピーして「レイヤー」→「フレームを固定」で、動画を静止画同様にできるので、これをやると面倒が少ない。

 

TCBの問題点:
切り貼りする場合、グラフのTCBによる「揺れ」に注意。TCBは、キーフレームのその地点での動きは同じだが、キーフレーム前後の動きは直前と直後のキーフレームの動きに左右されるため、モーションを切り貼りで複製する場合、モーションの最初と最後の曲線の接線をできるだけ水平にして滑らかに前後をつなげるか、あるいはそのモーションを3回繰り返して2回目のモーションをコピーに使う。

 

Lightwaveのプレビュー動画作成:
Lightwaveでプレビューを作成し、デフォルト設定のままプレビューを保存、それを本名で保存し、AEに投入してAE全体の出来上がり具合を見る(ワイヤーフレームレンダリングでは時間がかかりすぎるが、静止画の場合はワイヤーフレームレンダリングでいい)
プレビューを保存するとき、保存にして.aviの拡張子までちゃんと書かないと保存できないので注意。ここだけでなく、Lightwaveの保存全般は、拡張子まで書かないとうまく保存できないことが多い。
またこのAVIデータは、持ち運びを考えてf4vやwmvなどの軽いファイルにしておくといい。
プレビューオプションはデフォルトでいい。レンダリングは通常、エンコーディングUYVY(圧縮)、インターレースなし、OpenGLバック、表示形式はDIB、仮想メモリ有効、保存形式AVI、スクリーンサイズはストレッチなし、コーデックは無圧縮(無圧縮でないと後でMediaEncoderなどで読み込み不能になるので注意)
プレビュー保存の動画は、メディアプレーヤーでは見られないのだが、AEに読み込めば普通に見られる。

 

ボイス・効果音:
テストレンダリングでタイミングなど合っているかどうか事前にチェックする。声優に依頼する前に、AEにボイスチェンジャーの自作の音声データを入れておく。頭の中で声を流し、ストップウォッチで時間を測定するやり方もあるが、時間がかかりすぎて効率が悪い。
この過程はLightwaveのレンダリングの前にやっておく。LWのプレビューをAEに入れ、タイミングをチェック。LWでレンダリングした後、ボイスのタイミングが狂っているのがわかった場合、二度手間になる。
通常のアニメ製作では、映像を先に作ってボイスを後で入れる。タイミングが画面と合っていなかったり、セリフの長さを後で変更したい場合、ボイスをSoundBoothなどで時間的に伸縮するか、AE内で動画のその部分を時間的に伸縮するかすればいい。

 

テキストを使う場合の補足:
テキストを使う場合、読む時間は実際に読んでみた時間よりも1秒くらい長くとっておいたほうが安全。遅すぎるより早すぎるほうがよくない。
テキストとセリフを交互に入れる場合、30分の10秒くらい空けてからセリフ始め、セリフを読み終わってから1秒くらい空白をあけてテキストを始めるといい。

 

/////////////
BOX理論で手書きする

 

人体デッサンでは3Dでは線がうまくかけないこともあり、手書きしたいことがよくある。
手書きするとき人体のBOXのみ作ったものを用意し、これにボーンを入れて変形、印刷して上から鉛筆で描くと効率よく正確に描ける。定規で計算するよりずっと早い。

 

設定のしかた

 

オプションでカメラ視点の背景を背景色にし、背景色を真っ白にする。
さらにワイヤーフレーム裏面非表示にすればごちゃごちゃしてなくて描きやすい。その画面をプリントスクリーンして画像ソフトにコピーすればいい。
注意すべきこととして、ポリゴンのサーフェイス設定で両面ポリゴンにしないこと。片面にしないと裏面非表示にしているのに裏面まですべて写ってしまう。

 

//////////////////////
AEテストレンダリング

 

短いムービーであれば、最高画質、4分の1解像度画質のwmvファイルで試しにレンダリングしてみる(f4vのほうが早いが解像度が高いとレンダリングできないため)。ソロスイッチで必要なものだけ表示。
あまり長いムービーだとこれをやっている余裕がないため、通常のプレビューで何度もテストして確かめ、いきなり本番レンダリングをやるしかない。
OPENGLレンダラーはなぜか速度が落ちるのでやらないほうがいい。

 

///////////////////
AE最終レンダリング
すべて最高の画質に設定してレンダリング。レンダリングの前にパソコンを再起動しておくと速度が上がる。
sRGBにしておくこと。AdobeRGBでは色がくすんだりする。

 

//////////
エンコードと保存

 

レンダリングしたデータは無圧縮AVIで保存しておく。2回圧縮すると画質が著しく劣化するのを忘れないように。
無圧縮AVIは重すぎてそのままでは再生できないことがある。メディアエンコーダなどで、再生しやすいファイルにエンコードするといい。

お知らせ

2017/7/29(土)「関西創作系オフ会」を開催いたします。ご参加お待ちしています。

関連ページ

Lightwave3Dの使い方メモ
3DCGソフトであるLightwave3Dの使い方のメモです。
シナリオ(ストーリー)の作り方メモ
シナリオ(ストーリー)の作り方のメモです。
作曲の技法のメモ
作曲の技法のメモです。
絵画の技法のメモ
絵画の技法のメモです。
Photoshop(フォトショップ)の使い方のメモ
Photoshop(フォトショップ)の使い方のメモです。
AfterEffects(アフターエフェクツ)の使い方のメモ
AfterEffects(アフターエフェクツ)の使い方のメモです。
SoundBooth(サウンドブース)の使い方のメモ
SoundBooth(サウンドブース)の使い方のメモです。
FLASH(フラッシュ)の使い方のメモ
FLASH(フラッシュ)の使い方のメモです。
RPGツクールVXの使い方のメモ
RPGツクールVXの使い方のメモです。
Unityの使い方のメモ
Unityの使い方のメモです。

トップページ サイトマップ サイト内検索 管理人プロフィール 関西創作系オフ会