◆ステーション5建造(7);2001年宇宙の旅CG再現
space-station-5建造(7):アニメーション作成
映画「2001年宇宙の旅」の"宇宙ステーション5"をCGで作っていきます。
ここではステーション5に映画を模した動きを付けます。
シーン1
シーン3
シーン4
シーン5
[◆2001年宇宙の旅;ステーション5のCG動画] に4つのシーンをまとめ音楽を付けたものを載せています。画面にはシャトル(オリオン号) も追加されています。
映画の動きの分析
ステーション5の動きは次の3つの要素で作られています。
- ステーションの回転
- カメラの直線移動
- 背景プレートの直線移動
シーン4はカメラの少しの移動の上、合成位置を右にずらしている可能性もあります。
基本計画
使用するCGソフトはShade-9です。
最終出力は16:9のaviおよびシネスコサイズのフラッシュビデオにします。
本記事はShadeやフラッシュに特化しています。(自分自身のメモを
兼ねています)
CGの動きは
- ステーションの回転
- カメラの直線移動
Premiereの合成時に次の動きを付けます。
- 背景の直線移動
- 合成位置の直線移動(微調整用;現在使用していません)
シーン設計
モデルの修正の版管理が難しくなるのでシーンごとにShadeのデータ.shd
を分けることはしません。
Shadeのシーンの保存・読み込みは残念ながら理解できていませんので、
1シーンモデルだけを作り、出力するシーンごとに
- モーションカメラと照明のセットの選択
(カメラの選択、セット全体の画像出力のon/off) - ステーションの回転角度の設定
- 出力コマ範囲指定
対象外のシーン用の照明は消され、カメラは動いているが 参照されないかたちとなります。
生成するシーンの長さと回転角度は次のようにします。
シーン1,2と シーン4,5,6では回転方向が逆になっています。
シーン 秒数 コマ数 開始角度 終了角度(899コマ目) シーン1 30 900 180 0 シーン2 5 150 180 0 シーン3 30 900 -60 120 シーン4 20 600 180 360 シーン5 20 600 180 360
ステーションの回転
[パート]->[回転]で回転機構をステーションの中心に置きます。
(回転軸指定:上面図のZ軸0で0をクリックしておいて、前面図の中心で、上方向
にドラッグします)
回転対象であるstation5を回転の中にドラッグします。
[回転]をセットすると、それまで作られていたカメラの傾き
などのデータが破壊されてしまうことがある
ので注意が必要です。
また、セットしただけで、設計軸方向が180度変わってしまう
こともあるので注意が必要です。(前
の項の表で開始角度が0でなく180としてあるのは、ずれて
しまった180度を修正したものです)
さらに、カメラウィンドウで修正すると、本来カメラの視点で
描かれるはずの透視図とレンダリングがまったく異なる
位置になることがあることにも注意が必要です。こうなった
場合の対処法は全く不明であるため、途中途中で状態を
保存し、透視図とレンダリングにずれが生じた場合は
ただちにShadeを終了させることが最良の道です。
基本的にカメラウィンドウでは焦点距離を数値入力
する以外の操作は行うべきではありません。
設定法は、モーションウィンドウで回転を選択した上で、 時間軸を0に移動し、角度を入力、[+]キーをクリック。 時間軸を899に移動し、角度を入力、[+]をクリック。
カメラの移動
カメラをスタート位置に移動し、
モーションウィンドウで時間軸を0にした上で
カメラを選択し、[+]をクリックします。
時間軸を出力最終位置(149,599,899)に移動し、
[move]-[オフセット]でカメラを終了位置に
移動し、[+]をクリックします。
調整はカメラオブジェクトに付帯するオフセット
オブジェクトの制御点を移動することで行います。
調整の度に時間軸を0にし[+]をクリックします。
注意!!
モーションウィンドウのオートキーは決してonにしては
いけません。意図しないところにキーが作られ、訳が
分からなくなります。
合成
「無圧縮」で出力をすれば、アルファチャネル 情報があるため、Premierで重ねる だけで合成となることが分かりました。
サイズ設計
最終ビデオは2.18:1とします。Shadeでは16:9で作成し、
Premierでは上下マスク、FlashVideoEncoderでは
上下カットします。
今回は合成をPremierで行ったため、非正方ピクセルに
よる混乱が入ってしまいました。合成にAfterEfects
などを用いれば混乱しなくて済むと思われます。
幅 | 高さ | ピクセル形状 | 画面縦横比 | 有効画面 | 補 | |
---|---|---|---|---|---|---|
Shade出力 | 864 | 480 | 正方 | 16:9 | 全面 | Premire | 720 | 480 | 27:32(1:1.185) | 16:9 | 上下マスクで2.18:1 | (720/480)/(16/9) |
FlashVideoEncoder | 720⇒480 | 480⇒396⇒222 | 27:32(1:1.185)⇒1:1 | 2.18:1 | 上44,下40ドットカット | 396×(480÷720)×(27÷32) |
flvの最終高さ222ドットは次の計算によるものです。
Premiere出力の720×480の縦を上下カットし396にしています。
これを1:1のまま横幅を480にすると、396×(480/720)=264と
なります。Premiere出力のピクセルサイズが1:1.185なので
264/1.185=222.78となります。小数以下はカットしました。
レンダリング法と動画用照明
レンダリング方式としてレイ・トレーシングを採用します。
Shadeでは他にもパス・トレーシング法などが用意されており、
パス・トレーシングでは反射光や、広がりを持つ光源なども
取り扱えます。
しかし、パス・トレーシングでは1画面を生成するのに3分程
かかりましたので、900コマだと45時間ほどかかる計算になる
ので断念しました。
レイ・トレーシングでは反射光が取り扱えませんので、
代わりの光源をリングとリングの中間に入れています。
スポークと交わる部分4箇所に反対側のリングを照らすための
ライトを置き、もう少し軸よりの8箇所に軸を照らすライトを
置いています。これらはステーションと一緒に回転します。
シーン1,3ではリングBの影が落ちます。リングBの骨材の
影は細かくて若干目障りなため、影が広がるようにします。
パス・トレーシングでは影の広がり(光源の広がり)を
設定できるのですが、レイ・トレーシングではできないため、
多面体(32面体)の頂点に点光源を置いた擬似太陽を光源
に用います。シーン4,5では普通の点光源を使います。
swf作成
既に動いている.flaのステージサイズとアクションのsrcを
変更します。
ムービーのデバグを行うと.swfが出来上がる。
(本当は0から書き下ろせるはずなのです。何しろその.fla
は0からかきおろしたのですから。
しかし、なぜかうまく
いきません;0からの書き下ろしが成功したら、この項は
記述しなおします)
AcrtionScriptコードはココログ・記述法メモにあるものと同じです。
圧縮ビデオによる合成(旧)
当初Shadeの出力を圧縮形式のビデオにしていました。
合成用アルファチャネルを持たないため、合成用のマスク
を別途Shadeで生成して、合成を行いました。
マスクはバックを白にして、照明を全部消したものです。
映画ではステーションが地球の絵にかぶさることはありませんが
合成の確認のためここでは地球にかぶせてあります。
| 固定リンク