【第10回】

3D CGキャラクターと共演させるぞ! アニメーション合成編

(00/12/08)


 フォトレタッチ、3D CG、ビデオ編集…マルチメディア系のオンラインソフト“だけ”でネットアイドルをプロデュースしよう! 窓の杜のネットアイドルだから、略して“杜ドル”だ。歌って踊れるネットアイドルのプロモーションビデオをつくってストリーミング配信するまでの奮闘記!! 今回はいよいよ、まのりと3D CGキャラクターが共演する。

 オンラインソフトを使って窓の杜のネットアイドル=“杜ドル”をプロデュースするこの企画。いよいよこの企画いちばんの山場&難所。3D CGキャラクターのアニメーションを作成して、あらかじめビデオカメラで撮影した実写映像と合成するぞ。キャラクターを動かすこと、ライティングでリアルな影をつけること、特殊効果などなど、やらなきゃいけないこと満載! 大丈夫か? モッティ??

3D CGキャラクターに生命を吹き込む!

“スケルトン”という骨組みを入れて動かす
“スケルトン”という骨組みを入れて動かす
 前回モデリングした“クルクルバビンチョ”なキャラクターのことを、ワタクシことモッティは“モリオ”というコードネームで呼んでいる。このモリオを動かして杜ドル・まのりと共演させるのが今回のミッション。本来ならばここでCG合成シーンのために絵コンテを描いて、3D CGソフト上でどんなことをやらなければいけないのかを確定してから作業に移るんだけど、今回はちょっと違う順序をとってみた。いきなり、モリオを動かしてみる! この作業からGOだ!  アニメーションの作成とレンダリングには「Blender」を使う。オランダのNot a Number社からリリースされているフリーの3D CGソフトだ。独特な操作法にとまどってしまう人も多いが、「これでフリーなの?」とびっくりするような高度な機能が用意されている。Blender上でモリオがどんな動きをするのか…というか、モッティ自身がどれくらいのアニメーションを作れるのかを見極めてからシーンの構成を考えてみよう。

 モデリングデータはVRMLファイルでインポートする。前回、モリオをモデリングソフト「Metasequoia」で作成した際に、本体、2パターンの目、しっぽという具合にオブジェクトを分けておき、それぞれを別のVRMLファイルとして書き出した。Blenderにはレイヤー機能があるので、それぞれのVRMLファイルを別々のレイヤーに読み込んでおいた。こうやってパーツに分かれたオブジェクトを同時にアニメーションさせるときには、すべてのパーツに動きをつけていってもいいんだけど、オブジェクト間に親子関係をつけておくと便利。親オブジェクトを動かせばそれに連れて子オブジェクトも動く。親オブジェクトを回転させれば子オブジェクトも回転するという具合だ。

 モリオの本体は、頭から足まで全体を切れ目のないオブジェクトとして作ってあるから、“スケルトン”という骨組みを入れて動かす方法をとる。スケルトンも親子関係の一種で、骨を動かすにつれて周囲の肉にあたる部分が変形するという、まるで粘土人形に針金で骨組みを入れて動かしやすくするイメージだ。Blenderのスケルトンには手足の先を動かしてやると、それにつれて手の根元の方まで動く“インバースキネマティクス”という機能がついていて、操り人形を動かすようになめらかなキャラクターアニメーションを作成できる。モリオには腰骨、背骨、足、足首にあたる部分に合計8本のスケルトンを仕込んだ。はじめは腕にもスケルトンを入れたのだが、変形を調整するのが難しかったのと、腕の動きは小さくてあまり関係ないだろうという理由から最終的には腕のスケルトンは外すことにした。

 このほかにモリオを動かすために“Empty”オブジェクトという特別なオブジェクトを4つ使っている。Emptyオブジェクトとは、通常のオブジェクトと違って外形をもたないオブジェクトのこと。何に使うかというと、オブジェクトの親子関係で親オブジェクトとして使うことが多い。Blender以外の3D CGソフトでも“NULLオブジェクト”とか“参照オブジェクト”という名前で同じ機能をもっているものもある。じゃぁなぜEmptyを使わなきゃいけないかというと、Blenderでインバースキネマティクスのスケルトンを使う場合に「体全体を動かしたいのに足が地面から離れない」というケースがままある。こういうときにEmptyを使ってオブジェクトの親子関係を調整してやれば、操り人形のようにうまく動かせるのだ。モリオには腰の部分と両足先に移動用のEmptyをおいた。さらに、頭の上に体の屈伸と回転を調整するEmptyを追加した。

 さて、モリオをいよいよ走らせてみる。アニメーション設定には、動きの始点と終点、通過点を設定してその間を補完する“キーフレーム”という機能を使う。全体の移動は腰のEmptyを使うんだけど、前後の移動だけじゃなくて上下動も忘れずにつけよう。足の動きは比較的カンタン。両足先のEmptyを移動して左右の足をパタパタと動かすだけで走っているように見える。あぁ、モリオの足に足首をつけないでおいて正解だった。さらに頭の上の回転用Emptyで体をちょっとおおげさに揺らしてやればOKだ。別のレイヤーに置いてある目としっぽは回転用Emptyに連動するようにしておいた。丸い目とつぶっている目を交互に表示レイヤーと非表示レイヤーに移動することで目がパチクリとアニメーションしているように見える。

いよいよ実写と3D CGを合わせる!

青白くぼおっと光る光の中からモリオが現れる
青白くぼおっと光る光の中からモリオが現れる
 モリオがトコトコと走り出すようになったので、次はいよいよ実写と合わせてみる。東京でまのりを撮影したときに、合成を想定したショットをいくつか押さえておいた。その中から使えそうなシーンを選び出すとしよう。

 まずはモリオの登場のシーン。これは当初の予定通り、お台場のボードウォークにたたずむまのりのそばにモリオが現れて、まのりの方をちらっと見たあとで走り出すというもの。登場時には“パーティクル”という粒子アニメーションを使ってみる。光の粒の中からモリオ登場! という趣向だ。

 パーティクルを発生させるには、その種になるオブジェクトが必要だ。ここでは球を使ってみた。球オブジェクトの各頂点から粒子が湧き出てくるのだ。粒子の湧き出る動きには、方向やスピード、どれくらいの間粒子を飛ばすのかといったパラメーターが設定できる。プレビューウィンドウの中で実際の粒子の動きを見ながら調整していく。続いて粒子を光の粒に見せるための質感を設定する。色や発光する強さをいじりながらテストレンダリングを繰り返してイイ感じのパラメーターを決定するという具合に、けっこう地道な作業だったりするのだ。

 パーティクルの色は青。青白くぼおっと光る光の中からモリオが現れる。モリオは始め豆粒くらいの大きさにしておいて、グワっと大きくなるようにしよう。実際の大きさになったらトコトコっとボードウォークを走り去る。それを追いかけ、追いついて拾い上げるまのり。登場シーンはこんな感じ。そのあと、モリオはまのりの周りを飛びまわらせることにしよう。お台場の空、原宿の街角を飛ぶ。モリオの頭上にあるEmptyを使って、ちょっと体を反らせた格好にしてやれば飛んでいる雰囲気が出る。さらに、しっぽからパーティクルを散らせば不思議な生物っぽさも増すというもんだ。

 最後にモリオは空に飛んでいく。当初はまのりが投げて空に飛ばすというシーンを予定していたんだけど、撮影したシーンの出来自体がいまいちだったのと、まのりが投げちゃうというのが「もう飽きたからバイバイ~」みたいな感じになっちゃいそうなので急遽変更。モリオの方から空へと帰っていく、という設定に変更した。お台場の高層ビルの上空へとパーティクルを光らせながら飛んでいくシーンだ。

ポイントはカメラの位置・角度と影

 実写と3D CGを合成する場合いくつかのポイントに注意する必要がある。まず、キャラクターが地面を歩くような場合に実写の地面と3D CGで仮に設定した地面の角度がズレないようにすること。このためには、撮影に使ったビデオカメラとレンダリングの基準となる3D CGのカメラの位置と角度をなるべく合わせることが必要だ。さらに、レンズの焦点距離(画角)も合わせておく。ビデオの撮影時にメモをとっておけばいいのだが、今回は残念ながらとっていなかった。これもトライアンドエラーで合わせるしかない。うーん、自業自得とはいえ、めんどくさい作業だ。

 次のポイントは3D CG合成がリアルに見えるかどうかの境目、ライティングだ。CGの制作は、現実空間の厳密なシミュレーションではないので、「それっぽく見える」ことが大事なのだが、それでも実際の光からあまりかけ離れたライティングは控えた方がいい。やりすぎると不自然に感じてしまうからだ。ライティングといえば忘れてはいけないのが影。オブジェクト自体の陰影(シェード)と、地面などに落ちる影(シャドウ)の2種類の影があるが、合成時にはシャドウをどうやって落とすのかを考えなければいけない。

 光をさえぎったオブジェクトがシャドウを落とすためには、そのシャドウを受けるオブジェクトが必要だ。もしも階段などの段差があるところにシャドウを落とす場合には、階段状のオブジェクトを作らなければいけない。幸い、ここで地面にシャドウが落ちるシーンはボードウォークのシーンだけで段差はない。平面のオブジェクトをつくって地面に敷いておけばOKだ。Blenderではこの平面に“Only Shadow”という質感の属性を設定しておけば、合成の時に便利だ。

 レンダリングした画像はアルファチャンネルつきの連番TARGAファイルで書き出す。アルファチャンネルをつけることによって、ビデオ編集ソフト「MainActor」で読み込んだときに、オブジェクトとシャドウだけがきれいに実写と合成できる。3D CGと実写を合成する場合には必須といってもいいだろう。

 そんなこんなでいくつか合成カットを作ってみた。本当はもうちょっと作っているんだけどもうちょっとブラッシュアップしたいんで、次回ビデオ編集編でのお楽しみ。そう、次回はとうとうプロモーションビデオの全編を編集してしまうのだ。いやぁ、始めはどうなることやらと思っていたけど、とうとう完成一歩手前なんだなぁ。気合を入れなおしてもうひとふんばり、いってみるぜぇ! 待て、次回!!!!!!!!!!!!!!

WMVの再生(553KB、6秒) WMVの再生(372KB、4秒) WMVの再生(157KB、1秒)

■「Blender」
【著作権者】Not a Number
【ソフト種別】フリーソフト
【バージョン】2.04

□Blender:index
http://www.blender.nl/
□窓の杜 - Blender
http://www.forest.impress.co.jp/library/blender.html

(望月 貞敏)

トップページへ
ネットアイドルファクトリー INDEX


Copyright (c) 2000 impress corporation All rights reserved.
編集部への連絡は mado-no-mori-info@impress.co.jp まで