この記事はアドベントカレンダー「【VCI】テーマパークを作ろう 」の3日目の記事です。
今回の内容
今回はテーマパークの観覧車を作成しながら以下のことを学びます
- Blender(モデリングソフト)でのモデリング
- BlenderからUnityへのファイルの持っていき方
今回は結構自己流の方法が入ってしまうかもしれません。(より良い方法があればコメント・Twitterで教えて頂けると助かります。)
モデリングソフトを導入する
前回お伝えしたように、Unityでは使えるオブジェクトが少ないため、基本的にモデルは外部で作成するか購入して持ってくることが多いです。
今回はBlenderというソフトを使用してモデリングを行います。
Blender:https://www.blender.org/
(steam版):https://store.steampowered.com/app/365670/Blender/
(私はsteam版を使っています)
モデリングソフトは他にもいろいろな種類があります(例:Metasequoia)
それぞれ長所・短所がありますので気に入ったものをお使い下さい
Blenderでモデルを作成する
では早速モデリングをしていきましょう。今回は観覧車のゴンドラを作って行こうと思います。
初期設定や画面の味方、モデリングの仕方等はほかサイトで説明されているため、今回はかなり説明を省略します。
まずははじめに画面中央にあるCubeを削除し、上の方にある追加>メッシュから円柱を追加します。
この円柱をベースに、なんやかんやした結果が下の画像です。
(回転・拡縮・切込み・オブジェクトの追加などを使用しました。気になる方は調べてみて下さい。)
マテリアルを作成する
モデリングが完了したため、次にこのモデルに色をつけていこうと思います。
画面右のアイコンが縦に並んでいる部分の中にマテリアルプロパティという項目があり、ここでマテリアルの設定が可能です。
1つのオブジェクトで複数のマテリアルを使うこともできます。その際は、マテリアルを当てたいメッシュを選んで「割り当て」ボタンをオスことで割り当てることができます。
今回は以下のようにゴンドラのベースカラーとガラスの部分の2つに分けました。
今回は使用しませんがベースカラーの左側の点をクリックするとテクスチャを使用でき、画像を適用することも可能です。
モデルをUnityに持っていく
BlenderからUnityにモデルを持っていくためには、一度fbxというファイルにして出力し、それをunityで読み込む必要があります。
(もしかしたら他にも方法があるかも?)
Blenderからfbxでエクスポートする
まずはじめに出力したいオブジェクトを選択します。作成したオブジェクトを全部出力したい場合は未選択でも大丈夫です。
次にMenuからファイル>エクスポート>Fbxを選択します。すると保存のウィンドウが出ますが、その際に右の方に以下のような設定項目が出てきます。
私は出力時は以下のように設定しています。
- 必要なファイルのみ選択した場合は「選択したオブジェクト」にチェックを入れる。
- 未選択の場合は最初から作成されていたカメラとライトが含まれてしまうため、カメラ・ランプを対象外にする。
- -Zが前方を+Zが前方に変更(出したい向きと逆になることが多いためやってます。やらないときもあります)
- トランスフォームを適用にチェックを入れる。
最後のトランスフォームですが、こちらにチェックを入れないとUnityに持っていったときにsizeが100の状態になってしまいます。(100%の意味合い?)
VCIでは使用できるサイズが決まっておりsizeが100では取り扱いが不便なのでチェックを入れています。
Unityでfbxを読み込む
出力が完了したら作成したfbxをプロジェクトに追加します。D&Dでそのまま追加できます
今回はModelというフォルダを作成し、その中に置きました。
追加したモデルを選択するとInspecterに以下のような内容が表示されます。
fbxは入れたままの状態ではBlenderで作成したマテリアルがいじれないので、この中央ぐらいにある「Extract Materials」を選択し、任意のフォルダにマテリアルを展開します。
作成したマテリアルに修正を加えることで見た目を変更する事ができます。
以下の例ではガラス部分を半透明にし、基本色の部分をそれぞれ以前作成した赤・緑・青のマテリアルに変更しました
以上で今回の作業は完了です。
終わりに
いかがでしたでしょうか?
今回は簡単なモデルの作成でしたが、Blenderは様々な機能があるためもっと凝ったモデリングをすることも可能です。
(その分なれるまでのハードルは高いですが。。。)
次回は作成したモデルにコライダーを追加していきます。