このページは、私がジェット機を描く際に使ったテクニックを紹介します。
曲線が多かったり複雑な造形の立体を、様々な角度からリアルに描くのに良い方法です。
内容に関するご質問は掲示板へ。感想も歓迎!
目次
ここでは、私がジェット機を作成するのに使用したテクニックをご紹介します。
曲線の多い物体を手作業で綺麗に描くのは骨の折れる仕事です。
運良く3Dモデルデータが入手できた場合、または自力でモデリングできる場合は、
3Dモデルを下絵にして作画すれば、だいぶ楽になります。 この方法は、複雑な形状の立体を、
様々な異なる視点から描く必要がある場合には有効です。
※本ページの解説を元に、応用的に実践しようとすれば、多少の英語力が問われるでしょう。
ですが、HPサイトやソフトのマニュアルを翻訳して欲しい、といったご要望には、
当方ではお応えできません。 あらかじめ、悪しからずご了承ください。
3Dのシーン(scene)を作成し、画像を出力できるソフト。シーンを作成するとは、複数の3Dモデルを回転や拡大縮小して配置し、カメラおよび光源の位置・角度を設定するレイアウト作業全般を言います。
ただし、パースのつかない、アンチエイリアスなしの画像が出力できるものが必要。(作業画面でも構わない。)
レンダリング(rendaring)、レンダラー(renderer)
コンピューターが3DCGを作画することレンダリングと呼びます。そのためのソフトウェアをレンダラーと呼びます。シーン(scene)、レイアウト(layout)
シーンまたはレイアウトとは、カメラおよび複数の3Dモデルや光源を配置した構図を指します。この作業を行うソフトはシーンエディタ、レイアウトツールなどと呼ばれますが、通常はレンダラーがこの機能を兼ねています。パース(perspective)
遠近法で描かれた図のこと。遠近法に基づいて、遠く離れたものほど縮小して描くことを「パースをつける」といいます。アンチエイリアス(anti-alias)
CG画像でドットのギザギザを目立たないように境界線をぼかして描く処理。アンチエイリアシング(anti-aliasing)。普通、レンダラーはパースのついた画像を出力しますが、ここで必要なのは、パースのつかない画像を出力できるソフトです。また、アンチエイリアスも大抵のレンダラーで標準的に用意されている機能ですが、この機能を無効にして出力できるソフトが必要です。
上記を満たすソフトはあまり見当たらないのですが、作業画面でなら3danim8orというソフトが要求にあった画像を出力してくれます。このページでは3danim8orを例に手順を説明します。
なお、3danim8orは作業画面を出力するということもあって、作業上の制約が多く、使い勝手は良いとはいえません。作業画面ではなく、レンダリング出力で上記条件を満たすソフトがないか探してみるのもよいでしょう。
お目当てのものを見つけるのはなかなか難しいでしょうが、海外にはフリーの3Dモデルがダウンロードできるサイトが幾つかあります。
http://www.3dcafe.com/asp/platinumdefault.asp
ftp://avalon.viewpoint.com/avalon/
3Dモデル(3D model)
三次元の立体(のデータ)。オブジェクト(object)、メッシュ(mesh)などとも呼びます。ただし、使用するレンダラーに対応するファイル形式でなければなりません。 検索するとき、データファイルの拡張子をキーワードに加えるとよいでしょう。(メジャーな拡張子:dxf, 3ds, lwo) 【 Google検索例1 検索例2】
また、自分でモデリング(3Dモデルを設計すること) しよう、という方はGMAXというソフトがフリーで利用できるようです。
使用方法についてはSimcity4ファンサイトのこのページなどが参考になるでしょう。このページで使用する3Dモデルデータは、色やテクスチャーなどが適切に設定されているものとします。
そうでないモデルでも使えますが、配色は完全に手作業になります。
仕上げの作業に使用します。いわゆる普通のお絵かきツールですが、このページで使うのはレイヤー機能をもっていることが前提です。
レイヤー(layer)機能
レイヤーとは、アニメのセル画を想像してもらうとよいでしょう。
何枚かの画像を重ね合わせて、一つの画像を合成する機能です。私はPhotoshopを使っていますが、フリーでもGIMP, PictBare, Pixiaなどがレイヤー機能をもっています。
これらのソフトの入手先についてはこちらのページをご覧下さい。
この章では3DCGレンダラーである3danim8orを使用して、3D出力画像を作成する方法を説明します。
まずは用意した3Dモデルを読み込んでください。メニューから[File]→[Open]を選びます。
作業をやりやすくするため、地表のグリッドを表示しておきましょう。メニューから[Option]→[Grid]を選びます。
開いたダイアログを次のように設定すると、黒いグリッド(格子)が表示されるようになります。様々な作業を便利に行うため、作業画面の切り替え方を覚えて下さい。作業画面はTop(上面図)、Front(正面図)、Side(側面図)、Ortho(鳥瞰図?)、Perspective(透視図)があります。作業画面左端に表示されている、画面の種類名をクリックすると、画面を切り替えるメニューが開きます。このメニューの代わりに、タイトルバー下の[View]メニューから選ぶこともできます。本章では基本的にTop View(上面図)を基にして作業を行います。
3DCGレンダラーを使って、出力画像を生成するためのシーンを作成します。
3danim8orでは3Dモデルを「オブジェクト」と呼ぶので、この章でも以降、3Dモデルのことをオブジェクトと呼びます。
オブジェクトエディットモードで、オブジェクト選択ボタンを押すかAキーを押し、作業画面上のオブジェクトをクリックして選択状態にします。 ここでこのオブジェクトをコピーするために、メニューから[Edit]→[Copy]を選ぶか、Ctrl+Cキーを押します。
次に、 コピーしたオブジェクトを貼り付けします。メニューから[Edit]→[Paste]を選ぶか、Ctrl+Vキーを押します。元のオブジェクトに重なって見えますが、貼り付けられたオブジェクトが選択状態になっています。
そのままにオブジェクト移動ボタンを押すか、Mキーを押して、作業画面でドラッグするとオブジェクトを移動させることができます。この作業はTop View(上面図)で行うのがやりやすいでしょう。建物や乗り物を東西南北に回転したパターンを作成する場合は、3Dモデルを複製して、それぞれをY軸に対して適切な角度だけ回転させて並べて配置します。ただしFreeTrain世界の東西南北の軸はX,Z軸とは45度ずれています。例えば北に向いた物体はZ軸から時計回りに45度回転させる必要があります。 回転させたいオブジェクトを選択状態にしたまま、メニューから[Edit]→[Rotate]→[Rotate Custom]を選び、例えば下図ように入力するとY軸に対して45度回転させることができます。
※本来なら、Z軸から時計回りに45度の方角は北ではなく東になるところですが、 光源の位置を補正するために、後で画像を水平方向に反転させて使用するので、時計回りに45度の方角が北になります。
左右が反転すると好ましくないような物体は、あらかじめオブジェクトを左右反転させてレイアウトします。以上のような作業を繰り返して、必要な方向に回転させたオブジェクトを並べると下図のようになります。
画面上で縦(Z軸)方向に並べる場合は、物体と物体の間の間隔を十分に開けるようにしてください。背の高い建物などはできるだけ横(X軸)方向に並べたほうがよいでしょう。
並べ終わったらグループ化しておくとよいでしょう。 また、ここでシーンデータをファイルに保存しておくのもよいでしょう。
本来なら、次にカメラと照明の設定を行うべきところですが、3danim8orでは作業画面を出力にするため、カメラや光源の設定が活かせません。また、残念ながら作業画面の視点を保存することもできないので、 ここからの作業は保存の出来ない一発勝負になります。(根気さえあれば何度でも、一からやり直せますが。)
まず、ビューをX軸に沿って回転させます。オブジェクトの回転とは違うので注意してください。
グリッド平面を表示させ、縦のグリッド間隔が横のグリッド間隔の半分になるように調整します。 このとき、物体が画面上で縦に並んでいて、間隔が狭いと、物体同士が重なってしまいます。こうなると画像出力に使用できないので、もう一度物体の配置をやり直す必要があります。 回転中は円が表示されるので、左ドラッグで視点を縦に回転させ、円の内側の縦グリッド数が横グリッド数の二倍になるようにします。
このとき、反対方向に回転させないように注意してください。正しい方向に回転させれば、物体の上面がよく見えるようになります。反対方向に回転させると、物体がひっくり返ったようになり、底面が見えるようになってしまいます。 円の中心がグリッドに合っていないときは、右ドラッグで円の中心をずらして調整します。また、グリッドは12〜15個しか表示されないので、グリッド平面が切れて調整できなくなった時は、視点を拡大してグリッド間隔を大きくとります。
最後に、画面の倍率を調整します。背後でFreeTrainを起動して、他の建物などとサイズを比較しながら、適切な倍率になるよう調整します。3danim8orの作業画面はウィンドウサイズを変えただけでも自動的に変わるので、調整後はウインドウをリサイズしないように注意が必要です。調整が終わったら、グリッドは非表示にしてください。
この節と次の節では、マテリアルを編集します。マテリアル一覧が表示されていない場合は、マテリアル表示ボタンを押して、一覧を表示させて下さい。
マテリアル(material)
物体の材質を意味します。3DCGの世界では、材質を表現するためにAmbient(環境)、Diffuse(拡散)、Specular(光沢)、Emissive(発光)などのパラメータごとに色や模様(テクスチャ)を指定します。各パラメータの意味と効果は3danim8orの設定マニュアル を参考にしてください。まずは、着色のない陰影だけの画像を出力します。ただし、そもそもモデルに色が設定されていなければ、この作業は不要です。また、色の設定が極端に複雑なモデルの場合は、先に配色画像出力をやったほうが良いかもしれません。
陰影だけの画像を出力するには、マテリアル(材質)編集で、それぞれの材質の色を真っ白にするだけです。
具体的には、マテリアルの編集画面で、Ambient、Diffuseを白(255,255,255)に設定します。Specular、Emissiveに色が付いている場合は彩度(右下のS値)を0にします。全てのマテリアルを修正した結果は図のようになるはずです。この作業画面をキャプチャー(Alt+PrintScreen)して、ペイントソフトに貼り付けます。
キャプチャー(capture)
コンピューターの画面を画像ファイルに取り込むこと。ただしここでは、AltキーとPrintScreenキーを押して、メモリ(正確にはクリップボード)に取り込むことを言います。
この後、ペイントツールで「貼り付け」を行うと、画面の内容を貼り付けることができます。
今度は、陰影のない配色だけの画像を出力します。直前の陰影画像出力で、白く設定したマテリアルの色を、全て元に戻します(Ctrl+Z)。もちろん、必要ならオリジナルとは違う配色にしても構いません。
陰影を消すには、マテリアルのプロパティ設定画面でEmissive値を1.00に設定し、Diffuseと同じ色にします。また、Ambient、Specularは0.00に設定します。結果は図のように陰影が消えた状態になるはずです。この作業画面をキャプチャー(Alt+PrintScreen)して、ペイントソフト上で先ほどの陰影画像とは別のレイヤーとして貼り付けます。
建物にはおそらく不要ですが、飛行機などの場合は、ドロップシャドウ(物体が他の物体に落とした影)画像が欲しい場合があります。なお、ここで説明する方法は簡易的なもので、背の高い建物などのドロップシャドウ作成には向きません。
まず、シーン中の物体を全選択します。(グループ化してあれば、グループ選択するだけ)。 物体の拡大縮小モードにして、Y軸方向だけをどんどん縮小します。図のように設定すると、Y軸のみが拡大縮小されます。本来なら、ビュー座標のY軸に沿って伸縮すればよいはずなのですが、3danim8orがうまく機能してくれない(バグ?)ので、一旦メニューから[View]→[All]と選んで、4分割ビューにして、FrontまたSideビューで縦方向にドラッグして押しつぶします。(この作業中、ウィンドウをリサイズしないように注意!)
最終的に、物体が押しつぶされて、ぺらぺらの紙のようになったら、 仕上げに、物体全体に同じマテリアルを適用して、色を真っ黒にすれば、ドロップシャドウの出来上がりです。Ctrl+Aキーで全てのオブジェクトを選択状態にし、黒いマテリアルを選んで、[Apply]ボタンを押します。Userビュー(上図右下)の左上隅にある名前部分をクリックして、メニューから[1View]を選んで一画面表示に戻します。この作業画面をキャプチャー(Alt+PrintScreen)して、ペイントソフト上で先ほどの陰影画像とは別のレイヤーとして貼り付けます。
ここからはペイントソフト上での作業になります。
まずは3DCGレンダラー出力画像の背景部分を「近似色を選択」により選択して削除し、透明にしておきます。同時に、キャプチャー画面の余分な部分は切り取って、作業しやすいサイズにしましょう。
背景色の選択と透明化
[自動選択ツール]で背景部分をクリック、メニューから[選択範囲]→[近似色を選択]。Delキーで切り取り。
メニューから[選択]→[色による選択]、背景部分をクリック、Ctrl+Xキーで切り取り。余分な部分の切り取り(トリミング)
[長方形選択ツール]で範囲選択、メニューから[イメージ]→[切り抜き]。
[切り抜きツール]で範囲選択、[切り抜き]ボタンを押して実行。レイヤーの順序を入れ替えて、陰影レイヤーは配色レイヤーの上に、ドロップシャドウレイヤーは配色レイヤーの下に配置します。陰影レイヤーの重ね合わせモードは「乗算」に設定してください。
最初に作ったレイヤーが「背景」レイヤーになっていると、そのレイヤーの順番を入れ替えられない場合があります。その場合は、背景レイヤーを複製して、こちらを正規のレイヤーとし、背景レイヤーの方は削除するか、適当な色で塗りつぶしてしまいましょう。さて、陰影レイヤーを重ねてみると、光源がFreeTrain規定の左上方ではなく、右上方にあることに気づくでしょう。ここで各レイヤーの画像を左右反転しておきます。
レイヤーを左右反転
レイヤーウィンドウで対象のレイヤーを選択状態にし、メニューから[編集]→[変形]→[水平方向に反転]を選ぶ。メニューが無効になっている時は、Ctrl+Aキーを押して、全て選択してみる。
レイヤーダイアログで対象のレイヤーを選択状態にし、メニューから[編集]→[変形]→[水平方向に反転]を選ぶ。メニューが無効になっている時は、Ctrl+Aキーを押して、全て選択してみる。次に、各パターンをFreeTrainのグリッドにあわせて再配置します。 位置合わせ用にFreeTrainの実行画面からマップのグリッドをキャプチャして、別レイヤーとして貼り付けるとよいでしょう。このレイヤーは配色レイヤーやドロップシャドウレイヤーよりも下に配置します。
少々面倒な作業ですが、配色・陰影・ドロップシャドウの各レイヤーそれぞれについて、パターンごとに範囲選択して、適切な位置に移動させます。 順番としてはまずドロップシャドウレイヤーで位置決めして、ドロップシャドウにあわせて配色レイヤーを配置し、最後に配色レイヤーにぴったり重なるように陰影レイヤーを調整するのがやりやすいでしょう。
範囲選択して移動
[長方形選択ツール]で動かす部分を選択、そのまま選択矩形をドラッグ。
[矩形選択ツール]で動かす部分を選択、そのまま選択矩形をドラッグ。
FreeTrain用の画像としては、3D画像を未加工のまま使用するより、若干手を加えたほうが良いでしょう。
例えば、周囲の建物に溶け込んでしまわないように、境界線を描くことも重要です。Photoshopのように、ペイントソフトによっては、簡単に境界線を描くコマンドが用意されていますのでそれを利用するのも良いでしょう。しかし、ここでは多少面倒ですが、精細な境界線を作成する方法を解説します。これは「境界線を描く」コマンドが用意されていないソフトでも利用できる手法です。
まず、配色画像レイヤー以外を非表示にします。配色画像のレイヤーを4つ複製して、それぞれ上下左右に一ドットづつずらし、4枚のレイヤーを結合します。これを元々の配色画像の下に配置すると図のようになります。(差分の画像は参考まで)
レイヤーを複製
レイヤーウィンドウで対象レイヤーを選択状態にし、メニューから、[レイヤー]→[レイヤーを複製]を選択。
レイヤーダイアログで対象レイヤーを選択状態にし、ダイアログ下部の[レイヤー複製]ボタンを押す。レイヤーを一ドットずらす
選択範囲があればCtrl+Dキーで解除し、レイヤーウィンドウ内の対象のレイヤーを選択状態にする。[移動ツール]を選択し、カーソルキーで移動一ドットづつ動かす。
選択範囲があればCtrl+Shift+Aキーで解除し、[移動ツール]を選択する。画像をクリックすると一番上のレイヤーが移動できるようになるのでカーソルキーで位置ドットづつ移動。(目的のレイヤーの上に他のレイヤーが表示されていると、それが選択されてしまうので、余計なレイヤーは一時的に非表示にしておくこと。)レイヤーを結合する
結合したい全てのレイヤーを表示し、レイヤーウィンドウ内でリンクして(レイヤー表示アイコンの右隣のボックスをチェックする)、メニューから[レイヤー]→[リンク部分を結合]を選ぶ。
レイヤーダイアログで、対象の上位レイヤーを右クリックし、ポップアップメニューから[下のレイヤーと結合]を選ぶ。 4枚結合するときは、これを3回繰り返す。次に陰影レイヤーの重ね合わせモードを一旦「標準」に戻し、それ以外のレイヤーは非表示にします。配色レイヤーと同じ手順で4つの複製レイヤーをそれぞれ上下左右にずらして結合します。間違って「乗算」モードのまま結合すると、望ましくない結果になりますので、ご注意ください。
結合してできたレイヤーを元の陰影レイヤーの下に配置し、明度を下げて、若干暗くなるようにしてください。この状態でさらに元のレイヤーと結合すると、右下図のように境界線が生成されます。
明度を下げる
メニューから[イメージ]→[色調補正]→[明るさ・コントラスト]を選び、明るさスライダを左方向にドラッグします。(あるいは負の値を直接入力します。)
メニューから[画像]→[色]→[明るさ-コントラスト]を選び、設定ダイアログで明るさスライダを左方向にドラッグします。(あるいは負の値を直接入力します。)仕上がりを確認するため、陰影レイヤーを配色レイヤーの上にして両方のレイヤーを表示し、陰影レイヤーの重ね合わせを「乗算」にしてみてください。
一番外側の境界線はこれで十分ですが、画像内での物体の重なり合いによる境界線は、手作業で付加しなければなりません。飛行機であれば、胴体と主翼、水平尾翼と垂直尾翼の境界などを描くと、より物体の外形がくっきり映えるでしょう。陰影レイヤーの上に、新規レイヤーを作成し、重ね合わせを「乗算」にします。ペンの色を灰色にして、境界線を加えたい部分にペンを加えると、その部分の明度が下がり、境界線らしくなります。境界線が濃すぎたり、淡すぎたりする場合は、より明るい、または暗い灰色のペンで描きなおします。
必要に応じて、配色の手直しをします。
ここは純粋に手作業になります。例えば、本来左右対称な配色パターンですが、3DCGレンダラーの出力では、ラインの幅などが違ってしまうことがあります。こういうのは目立つので、手作業で修正します。なお、この作業中は陰影レイヤーを非表示にしておくとよいでしょう。
夜の照明色置換を使用したい場合は、陰影レイヤーの上に、専用のレイヤーを作って描きたしてください。陰影レイヤーの下だと、指定したカラー値ではなくなってしまい、正常に色置換が行われません。
以上で作業は完了です。地表グリッドのレイヤーは非表示にし、その他は表示状態にして、bmpファイルとして出力します。