UnityとBlenderでAR家具配置検討アプリを作ってみる#5~Unityを触ってみる、Blenderで作った3Dモデルを追加する~
今までBlenderで椅子と机を作りましたね。
ちなみに前回↓
作ってきた3Dモデルを適当な背景においてレンダリングするとこんな感じになります。
さぁ、次は作った3Dモデルを利用してUnityで家具配置アプリを作っていきましょう。
今回は軽くUnityに触るくらいにしておくつもりです。
次回からはがっつりやりますので!
Unityを触ってみる
Unityのプロジェクトを作ってみて、触ってみなけりゃ始まらないですね。Unityを立ち上げて適当に触ってみましょう。
UnityHubでプロジェクトを新規作成する
みなさま、UnityHubはインストールされていますよね。
UnityHubを起動しましょう。
するとこんな画面が出てくるので、右上の「新規作成」からプロジェクトを作っていきます。
バージョンは2019.4.24で私はやります。
今回は3Dのプロジェクトを作ってみましょうか。
「作成」ボタンをポチすると、UnityHubの画面が消えて、Unity本体が立ち上がります。
Unityの画面構成を見てみる
立ち上がったらこんな画面構成になっているはずです。
① シーンビュー、ゲームビュー
シーンビューでは素材を配置してシーンを作成します。上のタブでゲームビューに切り替えると、ゲームを実行したときの見え方を確認できます。
② 操作ツール
シーンビューに配置したオブジェクトを回転させたり操作するためのツール。
③ ヒエラルキービュー
シーンビューに配置したオブジェクトが一覧で表示されます。オブジェクトの階層構造の表示やら編集もできます。
④ プロジェクトビュー
プロジェクトで使用するオブジェクトやスクリプトなどといった素材を管理します。このウィンドウに素材をドラッグ&ドロップすることでプロジェクトに素材を追加できます。
⑤ インスペクタ
選択されているオブジェクトの詳細情報が表示されます。このインスペクタでオブジェクトの詳細情報や動きを設定します。
⑥ 実行ツール
プロジェクトの実行や停止を行うツール。
・・・つらつらと書きましたが、こんなの使っているうちに覚えるので、覚えようとしなくても大丈夫です(笑)
試しに立方体でもシーン上に置いてみましょうか。
シーンにオブジェクトを追加してみる
作った3Dモデルをプロジェクトビューにドラッグ&ドロップでオブジェクトを追加できますが、Unityで用意されているオブジェクトも追加して使うことができます。
ヒエラルキービューの左上の「+」ボタンをクリックするか、ヒエラルキービューの上で右クリックをするとオブジェクトをCreateできます。
このメニューからオブジェクトを追加できます。3DオブジェクトのCubeでも追加してみますか。
これでシーンにオブジェクトを追加できました。簡単ですね。
オブジェクトはドラッグで位置を動かすことが可能です。また、操作ツールを使って回転させたり拡縮させたりもできます。
オブジェクトの詳細設定をしたい場合は、オブジェクトを選択するとインスペクタが表示されるのでそこから設定できます。
オブジェクトを選択するときはヒエラルキービューの一覧から選択すると選択ミスが発生しないのでおススメです。
さて、次はBlenderで作った自分の3Dモデルを取り込んでみましょう。
Blenderで作った3DモデルをUnityに取り込む
よっしゃー取り込むぞー。プロジェクトビューにBlenderで作ったファイルをドラッグ&ドロップじゃー。
・・・とやりたいところですが、Blenderで作った時のファイルはそのまま取り込むことはできません。
Blenderのエクスポート機能を使って、3DモデルをUnityで読み込める形にしてあげる必要があります。
ではやっていきましょう。
Unityで取り込める3Dモデルのファイル形式について
3Dモデルにはたくさんのファイル形式があります。画像の拡張子のJPEGやらPNGとかそんなのりですね。
Unityでサポートされているファイル形式は
.fbx
.obj
.3ds
.dxf
この5種類です。
この中で、Blenderからエクスポート可能なものは
.fbx
.obj
の3種類です。
この3種類のどれを使ったらいいのかという話になると思いますが、それぞれ特徴があります。
.fbxの特徴
fbxはAutoDeskが公開したファイル形式です。
3Dモデルデータのリグ(骨/関節等の骨格のことで、3Dモデルの動く仕組み)のデータも含められます。
なので、動く3Dモデルの出力に適しています。
.objの特徴
objはWavefront Technologyが公開したファイル形式です。
3Dモデルデータの面やテクスチャといったモデル自体のデータのみ記録されます。
なので、動かない3Dモデルの出力に適しています。
.dae(Collada)の特徴
daeはSonyがPS3とPSP向けの開発用に策定したファイル形式です。
3Dモデルデータの陰影の設定や物理演算の設定などの多くの情報を保持できます。
ARやらVRで使用する3Dモデルによく使われています。
さて、どれを使うか。。。fbxでやってみましょうか。
Blenderで3Dモデルデータをエクスポートする
ファイル形式も決まったことですし、エクスポートしましょう。
椅子のBlenderプロジェクトを開きましょう。
そして、左上のファイルからエクスポートを選択します。
適当に名前を付けて保存します。保存するときに左側にあるグローバル方向やテクスチャオプションやら色々設定できます。
※形状タブの「モディファイヤーを適用」を選択していないとモディファイヤーを使って作ったモデルはきちんと書き出されないので注意。
設定できたら「COLLADAのエクスポート」をポチしてエクスポートします。
これでエクスポート完了です。
あとはUnityのプロジェクトビューにドラッグ&ドロップすれば読み込んでくれます。
Unityにエクスポートした3Dモデルを読み込ませる
あとはプロジェクトビューにドラッグ&ドロップして、そのあとにシーンにドラッグ&ドロップすれば読み込み完了です。
さて、これでUnityに読み込めました。
今後は、Blenderで作った3DモデルをUnityプロジェクトに取り込むことが多いので、この作業は忘れないようにしてください。
最後に
これでUnityプロジェクトの作成と、Blenderで作った3Dモデルの取り込みはできるようになりましたね。
次はUnityのスクリプトを使ってモノに機能を実装していきましょう。
ついにプログラミングですよ。ちなみに言語はC#です。
ちょっとずつ内容がヘビーになっていきますが、頑張りましょう!!!
ではではー!