スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Over the sky] Blenderでの制作過程(2) スカイボックス

第2回は予定通りOver the skyのスカイボックスについてです。

Unityではマテリアルとしてスカイボックスというものがあらかじめ用意されていて、
前後、左右、上下のテクスチャを指定してあげるだけで簡単にスカイボックスを
作ることができます。

ちなみに、Unity上でスカイボックスを設定するには、
Editメニュー/Render Settingsを選択して、InspectorのSkyboxMaterialに
スカイボックスのマテリアルを指定すればオッケーです。

OverTheSky_Skybox_material


さて、今回は、Unityのスカイボックスのマテリアルで使用するための6枚の
テクスチャ(前後、左右、上下)をBlenderで作成した過程についての紹介です。

今回は空の上という設定なので、雲の上を飛んでいるような感じになるように
シーンを作りました。

さて、手順としては 以下のような感じで作業をしました。
(1) シーンに雲オブジェクトを配置。
(2) カメラを6個(前後、左右、上下用)配置。
(3) アクティブなカメラを切り替えながらレンダリング。


では順番に。

(1) シーンに雲オブジェクトを配置
  1. 雲のベースになるオブジェクトとしてCubeを配置して以下のように変形させました。
    [上から見ると]
OverTheSky_Skybox_TopView

    [前から見ると]
OverTheSky_Skybox_FrontView

    [横から見ると]
OverTheSky_Skybox_SideView

  2. 雲のオブジェクトを選択し、パーティクルシステムを追加します。
   パーティクルの設定はこんな感じです。(クリックで拡大できます)
OverTheSky_Skybox_Particle

  3. マテリアルを設定します。
   雲のオブジェクトのマテリアルを次のように設定しました。
OverTheSky_Skybox_Material

  4. 上記の手順3までで出来上がっている雲用のオブジェクトを複製しながら好みに応じて
   シーンに配置します。こんな感じ。(クリックで拡大できます)
   ちなみに、オレンジ色で表示されているのはカメラです。
OverTheSky_Skybox_Clouds


(2) カメラを6個(前後、左右、上下用)配置
  1. 前方用カメラを1つ作成します。既にシーンにカメラがあれば、それを使用します。

  2. 前方用カメラを自分のイメージに合うように移動させます。
   私の場合には、(1)の4の図のような位置に配置しました。

  3. 以降の手順では、このカメラを複製しながら作業をするので、基本的なカメラの設定をすませておきます。
   カメラの設定で気をつける点としては、カメラの視野角を90.1度に設定することです。
   そうしないとレンダリングした結果をスカイボックスとして使用した場合に、それぞれの
   つなぎ目がきれいにつながりませんでした。
OverTheSky_Skybox_Camera

  4. 前方用カメラを複製し、その場で時計まわりに90度回転させ、右方向用カメラとします。

  5. 右方向用カメラをさらに複製し、その場で時計まわりに90度回転させ、後方用カメラとします。

  6. 後方用カメラをさらに複製し、その場で時計まわりに90度回転させ、左方向用カメラとします。

  7. 前方用、後方用のカメラを選択して複製し、複製した2つのカメラが上下方向(Z軸方向)を
   向くように90度回転させます。

  これで6方向を向いたカメラの準備ができました。
  カメラはこんな感じになっていると思います。(もう訳がわかりませんね。。笑)
  OverTheSky_Skybox_AllCameras


(3) アクティブなカメラを切り替えながらレンダリング
  どの順番でもかまいませんが、前後、左右、上下のカメラを切り替えながらレンダリングし、
  レンダリング結果をPNG形式で保存します。私の場合、画像のサイズは512 x 512にしました。


以上でBlender側の作業はおしまい。レンダリングした画像をUnity側で読み込んで
スカイボックスのマテリアルのテクスチャとして使用するだけです。

その際のコツなんですけど、スカイボックのテクスチャの継ぎ目を目立たなくするには、
Unityで読み込んだ画像を選択し、InspectorのWrap ModeをClampにするといいです。
デフォルトではRepeatになっていると思いますが、そのままだと継ぎ目に細いラインが
出ることがありますので。
OverTheSky_Skybox_Unity_MaterialSetting

いやはや、説明が下手ですみません。。orz
スポンサーサイト

[Over the sky] Blenderでの制作過程(1) メインメニュー画面

制作過程紹介その(1)です。
第1回目としては、メインメニューの画面の画像についてです。
OverTheSky_Image

メイン画面は、雲の上に敵らしきものと、ジェット機のようなもの、メニューらしきもので
構成されていますが、これらの画像を作成する際のBlenderでの設定について紹介しようと思います。
なお、「ゲームスタート」などの文字は、Unity側で表示しているのでBlenderのシーンには含まれていません。


まず、Blenderでのシーン構成ですが、カメラから見た場合にはこんな感じになっています。
(画像クリックで拡大できます)
OverTheSky_Menu_CameraView

別のアングルから見ると、こんな感じです。
(画像クリックで拡大できます)
OverTheSky_Menu_Angle1

グレーのいたポリゴンは、実際には爆発用のテクスチャが貼付けられています。
オレンジ色で表示されている部分は、爆発の発光を表現するためのものです。
オカリナのような形をしたものがたくさんありますが、それらは雲のためのオブジェクトです。
雲については、また別の機会に。

さて、このシーンはレンダーレイヤーとコンポジットを使って作成しました。
まずは、ノードエディタのキャプチャです。(画像クリックで拡大できます。)
OverTheSky_Menu_CompositNode

図中のノードは以下のような構成になっています。
(1) 爆発用のノード
  爆発テクスチャの色を調整する為に使っています。
OverTheSky_Menu_Composit1

(2) 敵、ジェット機用のノード
  敵、ジェット機にアンビエント・オクルージョンをかけるために使っています。
OverTheSky_Menu_Composit2

(3) 雲用のノード
(4) 爆発の発光用のノード
  雲と爆発の発光を合成するために使っています。
OverTheSky_Menu_Composit_3_4

(5) メニュー項目表示部分と、縁取り用のノード
  これはとくに何もしてないんですが、ぼかしたタイトルテキストをいったん合成する
  ために使いました。
OverTheSky_Menu_Composit5

(6) タイトルテキスト用のノード
  タイトルの文字列を少しボカすために使っています。
OverTheSky_Menu_Composit6


レンダーレイヤーとコンポジットを使わなくても、Gimpとかの画像編集ソフトで
レイヤー分けていろいろやれば同じことができたのだと思いますが、なるべくBlenderで
やりたいなぁ。。と思ってしまって(笑
実はGimpの使い方がよくわからん。。っていう話もあったりします。

紹介になってないかもしれませんが、今回はこんな感じで。
次回はスカイボックス用のテクスチャについて紹介しようと思います。

いやはや。

Blenderで作成したモデルをUnityで使用する際の注意点

Blenderで作ったモデルをUnity 3Dで使用する場合、オブジェクトの向きが思ったように
ならなくていらいらした経験はありませんか?

私もどんな時にオブジェクトの向きが変になるのかずっと悩んでいましたが、
今日、ようやく自分なりに理解することができましたのでメモしておきます。

なお、私の環境は下記の通りです。
・Blender : 2.59
・Unity : 3.4.0f5


さて、BlenderでFBXをエクスポートしてUnityで使用する際に気をつける点としては
以下のようになります。
(FBXをエクスポートする際のUP/FORWARX軸はデフォルトのままを前提としています)

Point1 : Global軸とLocal軸が一致しているかどうか確認する。
    Global軸とLocal軸が一致しているかどうかは、3D Viewヘッダ部にある
    Transform Orientationを切り替えて確認するとよいと思います。
    軸が一致しなくなるケースとしては、Objectモードでの回転、拡大縮小が
    原因だと思いますので、オブジェクトを選択した状態からCtrl + Aで
    Applyプルダウンを表示させ、Scale & Rotationを選択するとよいと思います。

Point2 : Blender上でのObjectの向きを確認する。
    BlenderとUnityではZ軸とY軸が入れ替わっていますので、
    Unityで奥に向けたいほうをBlender上では上側に向けます。
    同様に、Unityで上にしたい方をBlender上では奥側に向けます。

Blenderでの配置例は以下のような感じです。
(左側がUnityで期待してる向き、右側がBlender上で配置する際の向きです。)

スクリーンショット1

今のところ、上記の点を気をつけていれば、Unityで読み込んだオブジェクトが
意図しない方向に向いたりしないので、おそらく正解ではないかと思います。

私の場合だと、モデリングする時には自分のやりやすい向きで作業をして、
FBXをExportする時に複製したモデルの向きを調整しています。

いやはや。
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。