【Unity】ARオブジェクトに影を付ける

Unity development

▼完成イメージ▼

プロジェクトは前回の続きから始めていきますので、手順に不安のある方は以下の記事内容を実施してから、戻ってきてください。

ARオブジェクトに影を付けるには、現実世界と同様に光と地面が必要になります。その二つの設定の仕方について説明していきます。

影の設定

地面の追加

まず、ARオブジェクトをSceneビューに表示します。
[Project]ウインドウ内のPrefab化した[Cube]を[Hierarchy]ウインドウにドラッグ&ドロップします。

01_Cube_add

地面を追加します。
[GameObject]>[3D Object]>[Plane]をクリックします。Sceneビューに白い地面が設定されます。

02_Plane_add

光の設定

[Hierarchy]ウインドウ内の[Directional Light]をクリックして、[Inspector]ウインドウ内の[Light]>[Shadow Type]から影の付け方を選択します。ここでは、[Soft Shadows]を選択します。

03_Light_mode

Sceneビューを確認すると、[Cube]の影が[Plane]に投影されていることが確認できます。ただ、このままでは、プレイ[▷]時に[Cube]と[Plane]がそのまま表示されてしまうので、透明化をしていきます。

地面の透明化

Sceneビューに追加した白い地面を透明にするために、透明色を追加して、それを地面と関連付ける作業をします。
まずは、透明色を追加するためのマテリアルを作成します。
[Assets]>[Create]>[Material]をクリックします。[Project]ウインドウ内に、Materialが追加されますので、任意の名前を設定します。ここでは[TransMat]に変更します。

04_material_add

マテリアルを透明化します。
[Project]ウインドウ内の[TransMat]を選択し、[Inspector]ウインドウ内の[Shader]のプリダウンメニューから、検索で、[Transparent Shadow Receiver]を探して、クリックします。

05_transmat_shadow_receiver

[Project]ウインドウ内の[TransMat]を[Scene]ビュー内の[Plane]にドラッグ&ドロップします。>[Import New Asset…]をクリックして、フォルダから任意のアセットを選択します。

06_Transmat_plane_add

[Plane]が透明化されて見えなくなります。

09_Trans_OK

Prefab化

最後に、[Hierarchy]ウインドウ内を整理します。
[Hierarchy]ウインドウ内の[ImageTracker]>[Trackable]を選択した状態で、[GameObject>[Create Empty Child]をクリックします。

10_CreateEmpty

[Hierarchy]ウインドウ内の[ImageTracker]>[Trackable]の配下に空のオブジェクトが作成されますので、任意の名前に変更します。ここでは、[Object]とします。

11_CreateObject

[Hierarchy]ウインドウ内の[Object]に[Cube]と[Plane]>おドラッグ&ドロップして親子関係を作ります。

12_Parent_object

[Hierarchy]ウインドウ内の[Object]を[Project]ウインドウ内にドラッグ&ドロップして、Prefab化します。Prefab化した後は、[Hierarchy]ウインドウ内の[Object]を削除します。

13_Parent_prefab

[Hierarchy]ウインドウ内の[ImageTracker]>[Trackable]を選択した状態で、[Project]ウインドウ内の先ほどPrefab化した[Object]を[Inspector]ウインドウ内の[Image Trackable(Script)]>[Drawable]にドラッグ&ドロップします。

14_Drawable_add

ここまでで作業は完了です。

プレイ[▷]をクリックして、影が付いていることを確認します。

▼ポチッと応援お願いします▼
にほんブログ村 IT技術ブログ Unityへ
にほんブログ村
タイトルとURLをコピーしました