Virtual flight is a homepage which introduces FlightGear Flight Simulator.

3DCG



3D modeling

↑Blenderで作成の薬師寺三重塔

   

●3DCG

【コメント】

 随分時間がかかりましたが、ようやく自分でも3DモデリングソフトであるBlenderを使って3Dオブジェクトをなんとか一から作成することができるようになってきました。

 というのも、これまでは、せいぜい既存の機体の3Dモデルを改造し、機体の塗装用の画像(テクスチュア)をそれに合わせて少しいじるか、ロケットのような簡単なものをつくるのがやっと。改造が複雑なものになると機体の塗装が歪んでしまうなど、とても一から3Dオブジェクトをつくるなんて夢のまた夢でした。が、最近になって、Mark Seamを用いれば3Dオブジェクトを2次元に展開することができ、UVマッピングでテクスチュアの貼り付けができることがわかりました。「月間ウインドウズ100%」2010 May.No.0139(晋遊舎)の特集がわかりやすく参考になりました。

 なるほど、一枚の紙からなるパッケージもどこかがつなぎ目になっているから元の1枚の紙に開くことができるのであって、Mark Seamで切れ目を入れてやらないと、3Dオブジェクトを2次元に展開することができないことを今まで知らなかったのです。

 これでやっと積年の課題が解決できそうです。FlightGearの仮想世界には著名構造物の数がまだまだ少なく殺風景なため、3Dオブジェクトの作成にたずさわってくださる方が増えないものかとの思いでスタートした、当ホームページの所期の目的も達成できたと言えそう。

 みなさん。FlightGearの世界に建物や街を増やしませんか。私のような無器用者でなければ、比較的容易なことのように思われます。というのも、FlightGearの世界で必要とする3Dオブジェクトは、なにも精巧なものを必要としているわけでなく、仮想世界をより豊かにするとは言っても、それ自体はあくまで副次的なものでフライトシミュレーションを楽しむ際に動きが重くなったりしないように、なるべく軽く簡略に作成すべきものと思われます。しかも空中から見下ろす構造物はかなり小さくしか見えないので、立方体、あるいはせいぜい三角屋根を想定し三角柱、これらに写真を貼り付けた程度のもので十分なわけですから。


【Blenderを用いた3Dオブジェクト作成とテクスチュア貼り付けの実際】

〔使用ソフト〕

・3Dモデリングソフト Blender version2.49a
・画像処理ソフト    GIMPなど

〔テクスチュア画像の作成〕

・作成する3Dオブジェクトの展開図を作成します。
・画像処理ソフトにて、展開図に合わせ写真を貼り付けたり、彩色、必要なら文字などを加えます。
・pngファイルとして保存。

〔テクスチュアの読み込み〕

・ボタンウインドウのヘッダの一番左端をクリックしてWindow typeをUV/Image Editorと指定します。
・[Alt+oキー]を押し保存したpngファイルを指定して開きます。

〔3Dオブジェクトの作成}

・3DモデリングソフトのBlenderを起動します。
・ボタンウインドウのヘッダの一番左端をクリックしてWindow typeを初期状態の3Dビューに戻し、[Tabキー]でエディットモードに。
・展開図を作成するときに思い描いた立体モデルに、なるべく近そうな基本形オブジェクトを選び、これをもとに変形することにします。
 [Spaceキー]を押し、開いたメニューから[Add]、[Mesh]の順に開き、目的の基本形オブジェクトを選んで表示させます。
 なおオブジェクトは[xキー]にて削除できます。
・ある程度オブジェクトを変形するには、エディットモードでワイヤーフレーム表示にして格子構造を[wキー]でより細かくしておくのがよさそうです。
・オブジェクトのエッジあるいは頂点とよばれる格子の交点をクリックし黄色に光った箇所が変形可能。複数のエッジを変えるには、[bキー]を使って円形カーソルにすると便利(左を押すことで黄色に、右は解除)。また[aキー]を押すことによってすべてのエッジを選択あるいは非選択にすることもできます。変形は[gキー]で移動、[rキー]で回転、[sキー]で拡大縮小ができます。マウスの左クリックで変更が確定、右クリックはキャンセル。ホイールボタンを動かすことで拡大・縮小表示も。
・なお、マウスのホイールボタンを押しながら画面をドラッグすると、オブジェクトが回転しいろいろな角度からオブジェクトの形を確認することができます。ただし、うっかりそのまま変形を実行しようものなら思わぬおかしな形になってしまいますので注意が必要です。変形の際は、よく方向を考えてテンキーの[1]や[3]、[7]でX、Y、Zの座標軸に沿う視点にした上で実行する必要があります(テンキーがなければ下部のボタンウインドウのヘッダから)。

〔3Dオブジェクトに切れ目〕

 3Dオブジェクトが完成したら、平面に展開できるよう切れ目を入れなければなりません。切れ目となるエッジをすべて選択(黄色に)した状態で[Ctrl+eキー]を押し、表示されたメニューから[Mark Seam]を選びます。

〔オブジェクトの展開〕

 [aキー]を押してオブジェクトのすべてのエッジを選択したら、[uキー]を押して表示されたメニューから[Unwrap]を選びます。

〔テクスチュアの貼り付け」

 ボタンウインドウのヘッダの一番左端をクリックしてWindow typeをUV/Image Editorにします。テクスチュアの上にオブジェクトが格子状に展開されているはず。UV/Image Editor上でもエッジは[gキー]などで移動、変形できますので、テクスチュアとのずれを調整します。
 作成した3Dモデルをacファイルとして保存します(補足参照)。

〔3Dオブジェクトの配置〕

 完成した3Dオブジェクトを目的の場所に配置する方法は、別項を参照のこと。

blender

↑画像は、Blenderで新規に作成した3Dオブジェクトにテクスチュアの貼り付けをおこなえるようになろうと、Mark Seamをはじめて実行しUVマッピングを試みたもの テストケースなので雑なものですが、ようやく、ようやくたどり着いた感があります


補足)3Dモデルの保存とオープン

 作成した3Dモデルはいろいろな形式で保存できますが、FlightGearで扱うのは拡張子がacのファイル形式となっており、最終的にはacファイルとして保存しなければなりません。

〔保存〕

 acファイルとして保存するには、作成した3Dモデルの全体をまず[aキー]を押してあらかじめ選択状態にしておくこと。選択状態になっているパーツしか保存されないことに注意しないと痛い目に会います。確認できたら、上部のメニューバーの左端にある[File]をクリックして開いたドロップダウンメニューから[Export]を選び、ついで[AC3D(ac)]をクリック、開いた画面上で保存したいディレクトリ、ファイル名を指定し[Export AC3D]を実行します。

〔オープン〕

 他方acファイルを開く場合は、上部のメニューバーの左端にある[File]をクリックして開いたドロップダウンメニューから[Import]を選び、ついで[AC3D(ac)]をクリック、開いた画面上からディレクトリをたどり目的のファイルを探し、見つけたらこれをクリックして指定し[Import AC3D]を実行します。なお、すでに3Dモデルが開いている状態で、さらに別な3Dモデルを開くと、元の3Dモデルに新しい3Dモデルが追加されることになります。その際注意が必要なのは、すでに同じ名前のパーツが存在していれば、後から追加の3Dモデルの同名パーツには名称の後尾に数字がふられ、別なものになってしまうことです。これはパーツのコピー(Duplicate)にもいえること。

[2010/05/03][2010/05/15補足追加][2012/12/01更新][2018/04/21刷新]


   

●大阪城をつくる

【コメント】

 自分のスキルで実際にどの程度まで3Dオブジェクトを作成することができるものか、試してみることにしました。さて、何をつくるかですが、立方体に毛の生えた程度のビルでは面白みに欠けます。そこで空に突き出たタワーがよかろうと五重塔を考えたのですが、思うほど簡単でないことがわかり放棄。比較的単純ですがメリハリあるお城を題材にすることにしました。正確に3Dモデリングするには、三面図と立体図が欲しいところですが、塔や城に限らずインターネットでもなかなか探すのが大変そうです。

 うまい具合に大阪城の正面図と側面図を見つけることができましたので、これをなぞって3Dモデルを作成しました。問題はテクスチュアの貼り付けです。単純といっても大屋根と壁が交互に重なる城は、凹凸があって展開図が作りづらい構造です。とりあえず対をなす側面の片側の面のすべてのエッジを選択してMark Seamを実行、そして片側の面のエッジだけでUnwrapしてみたところ、うまいことにテクスチュアの上にすべてがパーツとなって表示されるではありませんか。個々のパーツを本来の位置に移動させサイズ調整を繰り返すことで、画像のような大阪城が完成しました。

 

osakajo
↑大阪城!何もない西日本に、ようやく一からつくれた3Dオブジェクト


 心配した出来ですが、遠目にはそれらしく見えることに安堵。しかし、高速道路や鉄道の高架から見る現実の大阪城は、かなり大きく立派にみえたものですが、どうやらそれは心理的効果が反映したもののようです。仮想世界の大阪城は、空からは小さくてなかなか見つけられず、縮尺を間違ったかと思うほど。少々悲しいですが、へこたれずに3Dオブジェクトをつくり続けたいものです。

 私のような無器用者でも1日がかりでしたが、一応の出来栄えで3Dオブジェクトを作成することができましたので、ぜひ皆さんも3Dオブジェクトづくりに挑戦していただきたいと思います。なお、他人の作成した写真などの画像を使用した場合は、著作権の問題が生じますので、公開や配布は慎んで個人で楽しむ範囲にとどめておかれるべきでしょう。

【実際】

【Blenderを用いた大阪城作成】

〔使用ソフト〕

・3Dモデリングソフト Blender version2.49a

〔テクスチュア画像兼用の正面図と側面図の用意〕

・建築物の3Dモデルを作成する際には、建物の輪郭をトレースできる下絵となる三面図がほしいものです 大阪城では正面図と側面図を準備し、立体図で細部の確認を補いました
・ここでは彩色された正面図ならびに側面図をテクスチュアとして利用することにしました
・ちなみに画像はpngファイルとして保存

〔下絵の読み込み〕

 Blenderを起動して、ボタンウインドウのヘッダにあるViewメニューからBackground Imageを選択しウィジェットを表示させます [Use Background Image]とついたボタンをクリックすると[Load]というボタンがあらたに現われるのでこれをクリック 表示されたファイルブラウザウインドウから当該の正面図や側面図を指定し、下絵として読み込みます

osakajo

↑画像は、Blenderで正面図や側面図を下絵として表示させ、これをもとにトレースして3Dオブジェクトを作成しているところ


〔3Dオブジェクトの作成〕

 Cubeなどの基本形オブジェクト一つだけ使って全体の輪郭を作っていくことも考えられますが、ここでは基本形オブジェクトの中のCubeを複数用い、それぞれを石垣、壁、屋根などとして積み重ねて城を作成していきました。

〔テクスチュアの貼り付け―Mark SeamとUnwrap〕

・作成した城の3Dオブジェクトは凹凸があって展開図が作りづらい構造ですし、貼り付けるテクスチュアにしようと考えている彩色された正面図や側面図は展開図の体をなしていません。そこで3Dオブジェクトの対をなす側面の片側の面のすべてのエッジを選択してMark Seamを実行、そして片側の面のエッジだけでUnwrapをおこないました
・テクスチュアの上には、石垣や壁、屋根などの一方向の面がすべてパーツとなって表示されるので、個々のパーツをテクスチュア上の本来の位置に移動させサイズ調整を繰り返すことでテクスチュアの貼り付けを個々に行ないました

注)3Dオブジェクトの作成やテクスチュアの貼り付けの詳細は省略しました。とても参考になるほどのものではないのですが、前項の記述がまだ少しは詳しいでしょう


[2010/05/10][2012/12/01更新][2018/04/21刷新]

「仮想飛行」(virtual flight) by virt_fly