このチュートリアルでは、SketchUPモデルをUnityへインポートする方法、Unityでウォークスルーの設定方法をお伝えします。今回、SketchUPモデルは、3D Warehouseから入手します。
3D Warehouseへアクセスして、光の教会 (Church of the Light)を「SketchUP2018モデル」でダウンロードします(Unityのバージョンによっては、SketchUP2017モデルでないとインポートできない)。
※以降の画像は光の教会モデルではないため、適宜、読み替えてください。
プロジェクト名(Project Name): SketchUP_1
テンプレート(Template): 3D
[Assets]-[Import New Asset...]
ダウンロードした"Tadao_Ando-Church_of_the_Light.skp"を選択する。
※SketchUPで設定したマテリアルを、Unity上で継承するための設定を行います。(このパートのみ、光の教会モデルで説明しています。)<- モデルの見た目に影響します
今、ヒエラルキーにインポートしたskpモデルを選択して、Inspectorを表示させます。
[Inspector]-[Model]の"Select"ボタンをクリック
[Materials]を表示させて、[Location]で"Use External Materials (Legacy)"を選択
[Window]-[Rendering]-[Lighting Settings]
[Environment Lighting]-[Source] Skybox->Gradient に変更
※(好みにもよりますが)デフォルトのSkyboxでは画面全体が青っぽくなり、それを解消するための設定です。
[GameObject]-[3D Object]-[Cube]
Select the Cube, Set Scale as "X=50, Y=1, Z=50", and Position as "Y=-0.5".
※ウォークスルーをする際に、重力を検知して、階段を上り下りなどが可能になります。一方、地面がないと、奈落の底に落ちてしまうので、これを防ぐために地面を作成します。今回の光の教会の3Dモデルには地面が付いているので必ずしも必要ではないですが、Unityで3Dモデルを作る練習を兼ねましょう。
[Window]-[Asset Store]
"Asset Store" タブで、"Standard Assets"と入力して検索。
"Import"ボタンをクリック、さらに"import"ボタンをクリック。
※ウォークスルーを設定するために、アバタ(仮想人間)を設定する必要があり、それをインポートする作業です。
※Asset Storeには、3Dモデル、テクスチャ、スクリプト、BGMなどの素材が一部無料で公開されているので、必要に応じて、インポートして使うことができます。
"Project"フォルダーで、[Assets]-[Standard Assets]-[Characters]-[FirstPersonCharacter]-[Prefabs]-[FPSController]を選択
"FPSController"をヒエラルキー(Hierarchy)へドラッグ
ヒエラルキー(Hierarchy)にデフォルトである"Main Camera"を削除
ヒエラルキー(Hierarchy)で建物モデルの選択、インスペクター(Inspector)の"Scale"で、"X=2.54, Y=2.54, Z=2.54"と設定。
※今回は、必要なし、と思います。
ヒエラルキー(Hierarchy)で"Cube"(地面)を選択、[Component]-[Physics]-[Mesh Collider]をクリック
衝突検出が必要な建物の要素(床や壁)を選択、[Component]-[Physics]-[Mesh Collider]をクリック。
※今回の光の教会 SketchUPモデルの場合、"Tadao_Ando-Church_of_the_Light"という親オブジェクトを選択して、上記のMesh Colliderの設定をすれば、必要な床・壁が全て設定できます。
※衝突検出の設定を行います。この設定を行うことで、アバタが階段の上り下りしたり、壁を突き抜けない、という動作が可能となります。
"Play"ボタンのクリック
マウスを使って視点を回転、矢印キーを使って視点の移動ができる。
※PCでUnityを操作するのであれば、これでひとまず完成。
※Play中に、"ESC”キーを押すと、マウスのアイコンが表示されるので、Playを中止できます。
Post-Processing Profile(見た目アップ:デザイン系のプレゼンでは重要かも)
https://docs.unity3d.com/ja/