一般男性が趣味を晒していくだけ

社会人をしながら趣味で人生を謳歌している。。。はず

UnityとBlenderでAR家具配置検討アプリを作ってみる#5~Unityを触ってみる、Blenderで作った3Dモデルを追加する~

今までBlenderで椅子と机を作りましたね。

ちなみに前回↓

hinunun.hatenablog.com

作ってきた3Dモデルを適当な背景においてレンダリングするとこんな感じになります。

f:id:hinunun:20210622170339p:plain

椅子と机を置いてレンダリングしたら何だかいい雰囲気になる

 

さぁ、次は作った3Dモデルを利用してUnityで家具配置アプリを作っていきましょう。

今回は軽くUnityに触るくらいにしておくつもりです。

次回からはがっつりやりますので!

 

 

Unityを触ってみる

Unityのプロジェクトを作ってみて、触ってみなけりゃ始まらないですね。Unityを立ち上げて適当に触ってみましょう。

UnityHubでプロジェクトを新規作成する

みなさま、UnityHubはインストールされていますよね。

UnityHubを起動しましょう。

するとこんな画面が出てくるので、右上の「新規作成」からプロジェクトを作っていきます。

f:id:hinunun:20210622173942p:plain

バージョンは2019.4.24で私はやります。

f:id:hinunun:20210622174059p:plain

バージョンが出てくるので複数ある場合はここで選べる

今回は3Dのプロジェクトを作ってみましょうか。

f:id:hinunun:20210622174329p:plain

ちなみに私のPC上の名前はyodaiです。以後お見知りおきを。

「作成」ボタンをポチすると、UnityHubの画面が消えて、Unity本体が立ち上がります。

Unityの画面構成を見てみる

立ち上がったらこんな画面構成になっているはずです。

f:id:hinunun:20210622175915p:plain

① シーンビュー、ゲームビュー

シーンビューでは素材を配置してシーンを作成します。上のタブでゲームビューに切り替えると、ゲームを実行したときの見え方を確認できます。

 

② 操作ツール

シーンビューに配置したオブジェクトを回転させたり操作するためのツール。

 

ヒエラルキービュー

シーンビューに配置したオブジェクトが一覧で表示されます。オブジェクトの階層構造の表示やら編集もできます。

 

④ プロジェクトビュー

プロジェクトで使用するオブジェクトやスクリプトなどといった素材を管理します。このウィンドウに素材をドラッグ&ドロップすることでプロジェクトに素材を追加できます。

 

⑤ インスペクタ

選択されているオブジェクトの詳細情報が表示されます。このインスペクタでオブジェクトの詳細情報や動きを設定します。

 

⑥ 実行ツール

プロジェクトの実行や停止を行うツール。

 

・・・つらつらと書きましたが、こんなの使っているうちに覚えるので、覚えようとしなくても大丈夫です(笑)

試しに立方体でもシーン上に置いてみましょうか。

 

シーンにオブジェクトを追加してみる

作った3Dモデルをプロジェクトビューにドラッグ&ドロップでオブジェクトを追加できますが、Unityで用意されているオブジェクトも追加して使うことができます。

ヒエラルキービューの左上の「+」ボタンをクリックするか、ヒエラルキービューの上で右クリックをするとオブジェクトをCreateできます。

f:id:hinunun:20210622182025p:plain

ヒエラルキービューで右クリックの方が速いと私は思ってる

このメニューからオブジェクトを追加できます。3DオブジェクトのCubeでも追加してみますか。

f:id:hinunun:20210622182250p:plain

f:id:hinunun:20210622182343p:plain

これでシーンにオブジェクトを追加できました。簡単ですね。

オブジェクトはドラッグで位置を動かすことが可能です。また、操作ツールを使って回転させたり拡縮させたりもできます。

オブジェクトの詳細設定をしたい場合は、オブジェクトを選択するとインスペクタが表示されるのでそこから設定できます。

オブジェクトを選択するときはヒエラルキービューの一覧から選択すると選択ミスが発生しないのでおススメです。

 

さて、次はBlenderで作った自分の3Dモデルを取り込んでみましょう。

 

Blenderで作った3DモデルをUnityに取り込む

よっしゃー取り込むぞー。プロジェクトビューにBlenderで作ったファイルをドラッグ&ドロップじゃー。

・・・とやりたいところですが、Blenderで作った時のファイルはそのまま取り込むことはできません。

Blenderのエクスポート機能を使って、3DモデルをUnityで読み込める形にしてあげる必要があります。

ではやっていきましょう。

Unityで取り込める3Dモデルのファイル形式について

3Dモデルにはたくさんのファイル形式があります。画像の拡張子のJPEGやらPNGとかそんなのりですね。

Unityでサポートされているファイル形式は

.fbx

.obj

.daeCollada

.3ds

.dxf

この5種類です。

この中で、Blenderからエクスポート可能なものは

.fbx

.obj

.daeCollada

の3種類です。

この3種類のどれを使ったらいいのかという話になると思いますが、それぞれ特徴があります。

.fbxの特徴

fbxはAutoDeskが公開したファイル形式です。

3Dモデルデータのリグ(骨/関節等の骨格のことで、3Dモデルの動く仕組み)のデータも含められます。

なので、動く3Dモデルの出力に適しています。

.objの特徴

objはWavefront Technologyが公開したファイル形式です。

3Dモデルデータの面やテクスチャといったモデル自体のデータのみ記録されます。

なので、動かない3Dモデルの出力に適しています。

.daeCollada)の特徴

daeSonyPS3PSP向けの開発用に策定したファイル形式です。

3Dモデルデータの陰影の設定や物理演算の設定などの多くの情報を保持できます。

ARやらVRで使用する3Dモデルによく使われています。

 

さて、どれを使うか。。。fbxでやってみましょうか。

 

Blenderで3Dモデルデータをエクスポートする

ファイル形式も決まったことですし、エクスポートしましょう。

椅子のBlenderプロジェクトを開きましょう。

そして、左上のファイルからエクスポートを選択します。

その中からCollada(.dae)をポチします。

f:id:hinunun:20210622191506p:plain

ファイル形式がたくさん。それぞれの特徴は興味があれば調べてみて。

適当に名前を付けて保存します。保存するときに左側にあるグローバル方向やテクスチャオプションやら色々設定できます。

※形状タブの「モディファイヤーを適用」を選択していないとモディファイヤーを使って作ったモデルはきちんと書き出されないので注意。

設定できたら「COLLADAのエクスポート」をポチしてエクスポートします。

f:id:hinunun:20210622193545p:plain

エクスポートのオプション設定は大切

これでエクスポート完了です。

あとはUnityのプロジェクトビューにドラッグ&ドロップすれば読み込んでくれます。

 

Unityにエクスポートした3Dモデルを読み込ませる

あとはプロジェクトビューにドラッグ&ドロップして、そのあとにシーンにドラッグ&ドロップすれば読み込み完了です。

f:id:hinunun:20210622192326p:plain

ヒエラルキービューじゃなくてプロジェクトビューにD&D

f:id:hinunun:20210622194041p:plain

f:id:hinunun:20210622194117p:plain

何だかカメラとライトもついちゃってるけどとりあえずヨシ

さて、これでUnityに読み込めました。

今後は、Blenderで作った3DモデルをUnityプロジェクトに取り込むことが多いので、この作業は忘れないようにしてください。

 

最後に

これでUnityプロジェクトの作成と、Blenderで作った3Dモデルの取り込みはできるようになりましたね。

次はUnityのスクリプトを使ってモノに機能を実装していきましょう。

ついにプログラミングですよ。ちなみに言語はC#です。

ちょっとずつ内容がヘビーになっていきますが、頑張りましょう!!!

 

ではではー!