« ◇食べてない;疑問文過去形に対する否定応答の時制 | トップページ | ◆絶対距離を想定できるか?宇宙論Q&Q »

◆ステーション5建造(7);2001年宇宙の旅CG再現

space-station-5建造(7):アニメーション作成

映画「2001年宇宙の旅」の"宇宙ステーション5"をCGで作っていきます。

ここではステーション5に映画を模した動きを付けます。


シーン1


シーン3


シーン4


シーン5

[◆2001年宇宙の旅;ステーション5のCG動画] に4つのシーンをまとめ音楽を付けたものを載せています。画面にはシャトル(オリオン号) も追加されています。

映画の動きの分析

ステーション5の動きは次の3つの要素で作られています。

  1. ステーションの回転
  2. カメラの直線移動
  3. 背景プレートの直線移動
ステーションの回転と、背景の動きにより、カメラがゆっくり弧 を描いているように錯覚しますが、カメラは完全な直線移動であり 撮影軸方向の回転もありません。

シーン4はカメラの少しの移動の上、合成位置を右にずらしている可能性もあります。

基本計画

使用するCGソフトはShade-9です。
最終出力は16:9のaviおよびシネスコサイズのフラッシュビデオにします。
本記事はShadeやフラッシュに特化しています。(自分自身のメモを 兼ねています)

CGの動きは

  • ステーションの回転
  • カメラの直線移動
のみとします。
Premiereの合成時に次の動きを付けます。
  • 背景の直線移動
  • 合成位置の直線移動(微調整用;現在使用していません)
背景は、プラネタリウムソフトで生成した星空と無料地球の写真をPhotoShopで作成します。

シーン設計

モデルの修正の版管理が難しくなるのでシーンごとにShadeのデータ.shd を分けることはしません。
Shadeのシーンの保存・読み込みは残念ながら理解できていませんので、 1シーンモデルだけを作り、出力するシーンごとに

  • モーションカメラと照明のセットの選択
    (カメラの選択、セット全体の画像出力のon/off)
  • ステーションの回転角度の設定
  • 出力コマ範囲指定
を行うことにします。
対象外のシーン用の照明は消され、カメラは動いているが 参照されないかたちとなります。

生成するシーンの長さと回転角度は次のようにします。

シーン 秒数 コマ数 開始角度 終了角度(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
シーン1,2と シーン4,5,6では回転方向が逆になっています。

ステーションの回転

[パート]->[回転]で回転機構をステーションの中心に置きます。
(回転軸指定:上面図の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で生成して、合成を行いました。
マスクはバックを白にして、照明を全部消したものです。
映画ではステーションが地球の絵にかぶさることはありませんが 合成の確認のためここでは地球にかぶせてあります。

|

« ◇食べてない;疑問文過去形に対する否定応答の時制 | トップページ | ◆絶対距離を想定できるか?宇宙論Q&Q »

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/489055/9890006

この記事へのトラックバック一覧です: ◆ステーション5建造(7);2001年宇宙の旅CG再現:

« ◇食べてない;疑問文過去形に対する否定応答の時制 | トップページ | ◆絶対距離を想定できるか?宇宙論Q&Q »