Sketchupからの、動くJETWAYの作成

以前お話した動くJETWAYの作成方法について書きます。

ただ、非常に長い話になるので、数回に分けてお話したいと思います。

今回はSketchupからgmaxへの変換です。

sketchupは感覚的に使えるツールですが、アニメーションを付けることができないため、あくまでモデリングツールとしてでしか使ってきませんでした。

しかし、岡山でも動くJETWAYがほしい!ということであれこれ試行錯誤した結果、作成に成功しました。

ざっくり言えばモデリング→3ds形式でエクスポートでできますが、それをgmaxでインポートした際に問題が生じます。

sketchupでモデリングしたものがこれで、

Part1-1.jpg

これを3ds形式でエクスポートし、gmaxでインポートしたものがこれになります。
Part1-2.jpg


テクスチャは再設定しなければならないので、良いのですが、白い線で描かれている部分が問題なんです。
これはgmax上でグループではなく、「1つのオブジェクト」として認識されているようで、これ以上切り離すことができません。

そのため、アニメーションがつけられないのでは・・・と最初は諦めていました。

ですが、「あること」に注意して作成したら解決の糸口が見えました。

それはsketchupでのモデリング時に


「頂点をマージしない」こと

?って思われた方もいると思うので、スクショで説明します。

Part1-3.jpg

この画像の右のオブジェクトはうまくインポートできますが、左のオブジェクトは切り離せないモデルとしてインポートされます。

何が違うのか・・・というと、例えば上に乗っかっている筒を見ると、ダメなものは面を共有してしまっています(下図左)。
一方で、OKなものは、面は共有せず、上のオブジェクトと下のオブジェクトが独立して設置されています(下図右)。
Part1-4.jpg


このように、面や点を共有してしまうと、1つのオブジェクトとして認識されるようです。

ですから、私の場合、作成時に1つ1つのオブジェクトを一旦グループ化し、各パーツを個別に作った上で、面や頂点を共有しないように注意しながら作成しました。

以下に作成例を示します。

Part1-6.jpg

例えばこの図の○で囲った部分はこのように頂点も面も共有していません。

また、手すりなどはペラペラの一枚板にすることが有りますが、インポート時にその部分だけ表示されないことがあるようですので、少し厚みをもたせるといいと思います。私は目測で図った3 cmの厚みをもたせました。
Part1-7.jpg


この様な注意を行った上でエクスポートすると、しっかり個別のオブジェクトとして認識されるので、その後の作業が楽になります。


テクスチャはgmaxで貼り直しなので、適当に貼ってもいいですし、確認のために貼り付けておくのもいいと思います。

エクスポートで形式を3dsにしてエクスポートし、後はgmaxで呼び出すだけです。


なお、使用するgmaxはFSX_SDKのgmax.exeから開いたものでないと、テクスチャの貼り付けやアニメーションの設定ができませんので、ご注意ください。


次回はtextureの貼り付けです。お楽しみに。
スポンサーサイト

我流シーナリー作成テクニック

こんばんは

台風シーズンになりましたね。
被害が最小限に済めばいいのですが、今年はへんてこ台風が来そうで不安です

さて、高松空港ですが、現在資料漁りをしています。以外とネット上に建物の資料がころがっていないので、とりかかるならまずはグラウンドポリゴンからですかねぇ・・・まぁ岡山とあまりかわらないレイアウトなのでいいんですが。。。

今回、シーナリーを公開して色々な方からメールをいただき、シーナリーを作られている方が結構いらっしゃることをしりました。今回は私がシーナリー作成で使った変わった使いたかを紹介したいと思います。

使うモデリングソフトはsketch upです。GMAXによる動くJETWAYの作り方もいずれ紹介しようと思います

(1) テクスチャの作成と貼り付け
モデリングを行うと誰もが行う作業がテクスチャの貼り付けです。
いきなりですが、問題です。
建物に壁、窓、窓枠をつけたいとします。どちらの方がFPSに影響が少ないでしょうか?
i) すべて1枚の画像として作成し貼り付け
ii) すべて別々の面とし、壁、窓枠、窓の3つのテクスチャを貼り付け

私が検証した限りでは(ii)です。
実際に検証してみました。
すべてテクスチャでやった場合、問題となるのが解像度で、2048などにしないと境界部がぼやけてしまいます。しかし、解像度を2048や4096にしたらFPSがさがります。

なので、それぞれのオブジェクトは違う面として作成し、それぞれにテクスチャを割り振った方が効果的であることがわかりました。しかし、この方法だと、夜間や汚れの位置を統一しなければなりません。そこで考えたのが、汚れや影、夜間のライトの部分を共通のレイヤーを使って表現する方法です。

岡山空港ではグラウンドポリゴン、ターミナル、管制塔にこのテクニックを使用しています。
岡山のエプロンを例にすると、エプロンには解像度1024四方のテクスチャ数枚を使用しています。
具体的にはコンクリートパネル、黄色のライン、赤と白のラインの3つです。
160901.jpg

上の3枚を見ていただくと気づくかもしれませんが、汚れや夜の照明の位置が同じであることがわかると思います。
そしてこれがsketchup上のモデル図です。
160901A.jpg

さて、ここからどうやってグラウンドポリゴンを作ったかというと、作成したテクスチャ画像を同じメートル幅で、基準位置も統一してそれぞれの場所に貼り付けることで、「異なる画像を使っていても、あたかも同じテクスチャを使った」かのように見せかけることができるというわけです。名付けるならレイヤー共有法とでもいいましょうか?(笑)

この方法を考えついたのは、当初グラウンドポリゴンにはタクシーセンターラインがぼやけないように2048~4096の解像度画像をいくつか使っていたのですが、解像度を1024にしたらFPSが2~3程度改善することがわかったからです。

この方法のメリットは、何よりテクスチャ解像度を下げることができること、境界部をシャープにできることです。
管制塔も当初は壁1面を1枚のテクスチャ内に収めていたのですが、変更。
照明が当たっている場所などを共有してやってみると、ビンゴでした!

おそらくこの方法で最低でもFPSを3-5くらいは稼いでいると思います。

また、この方法は昼と夜で別のテクスチャを用意するので、GPウィザードで夜間のテクスチャを昼のテクスチャに上書きすることがありません。それで岡山の夜間の雰囲気を作りました。

(2) vertex数が多いスタティックポリゴンの設置
多数の鉄骨でできた誘導路灯などで陥りやすいのが、コンパイル時のvertex limitオーバーですね。
細かく作れば作るほど、これに引っかかりやすくなります。
そこで考えたのが、次の方法です。
やり方は簡単。

1) まずポリゴンモデルを作ります。この時はあまりvertex数は考えなくていいですし、テクスチャも貼り付けて構いません。
2) モデルの基準点(3軸の中心)を決める。(図ではあえて離した場所に置いています)

3) コンパイルする前にモデルを複数のグループに分割する。今回は赤、青の2グループとしてみます。

4) 片方のグループを非表示にし、もう一方のグループをエクスポートします。
終わったらさっき非表示にしたグループを表示し、もう一方のグループを非表示にしてエクスポート
合計2つのdaeファイルを作ります。(A, Bとします)

5) MCXでそれぞれのdaeファイルを開き、従来通りテクスチャの設定などを行い、基準座標などをいじることなくMDLに出力を行います。

6) 最後にMCXのConvert and place object wizardで「設置ポイントの座標、標高、方位をすべて同じ場所」にしてコンパイルします。2)で設定した基準点の設置座標がここで設定した3つのパラメーターの場所になります。

7) するとA, Bのモデルがファイル上では別でも、あたかも1つのファイルでコンパイルしたかのように、モデルソフトで作った形と同じ位置関係で出現します。

いろいろ試しましたところ、この方法は「基準点さえ揃っていれば」どんな場所でも綺麗に設置できることがわかっています。ただ、離れすぎると地球の球面効果が発生してしまうので、私はエプロンと滑走路両端の3箇所にこの基準点を設け、それぞれに対応したFSX上の座標も決めています。

まとめるとこんな感じです。
160901C.jpg

この方法に関してご質問がありましたらflyingchemist787[あっと]gmail.comまでメールしてくださいね。

次回はSketch upから始めるGmaxによる動くJETWAYの作成法について紹介いたします。
GO TOP