Unity 向け拡張現実デベロッパー デベロッパー ガイド

独自のアプリで拡張顔を使用する方法をご覧ください。

Prerequisites

先に進む前に、基本的な AR のコンセプトARCore セッションの設定方法をご確認ください。

Prerequisites

  • このガイドでは、すでに Unity をインストールして構成していることを前提としています。そうでない場合は、Unity の Android クイックスタートでインストールと設定の手順を確認してください。

  • 顔にオーバーレイするためのアセットがあることを確認します。

サンプルアプリをビルドして実行する

  1. クイックスタートに基づいて、Unity で新しいプロジェクトを作成します。

  2. [Build Settings > Scenes in Build] で、Assets/GoogleARCore/Examples/AugmentedFaces/Scenes/AugmentedFaces シーンを指定します。

  3. デバイスがマシンに接続していることを確認し、[Build and Run] をクリックします。Unity は、プロジェクトを Android APK にビルドし、デバイスにインストールして起動します。

    アプリが前面カメラを開き、すぐにカメラフィードで顔のトラッキングを開始する。キツネの耳の画像を前頭の両側に置き、キツネの鼻を自分の鼻の上に置きます。

Unity にアセットをインポートする

テクスチャや 3D モデルなどの独自のアセットをアプリ内で検出された顔に追加するには、まずアセットを Unity にインポートします。

拡張顔をアプリに実装する方法の概要

拡張顔をサポートするようにアプリを構成する

拡張された顔を ARCore セッションに追加し、シーンを設定して、前面カメラを有効にすることで、アプリを構成します。

拡張顔をサポートするようにアプリを構成すると、各シーンで最初に検出された顔から拡張顔メッシュが自動的に作成されます。

  1. Unity で、ARCore アプリの新しいセッション構成を作成します(Assets > Create > Google ARCore > SessionConfig)。
  2. ARCore セッション構成アセットの Inspector で、[Augmented Face Mode] を [Mesh] に設定します。

  3. 拡張された顔をサポートするために ARCore セッションを作成して構成する方法は次のとおりです。

    1. [Assets] フォルダで、[Prefab] に移動し、[ARCore Device] をシーンにドラッグします。
    2. 既存のセッション構成を、以前にインポートした新しい構成に置き換えます。
    3. インスペクターで、[Device Camera Direction(デバイスのカメラの向き)] を [Front] に設定します。

顔のメッシュの向き

Unity の顔メッシュの向きに注意してください。

フェイス メッシュにテクスチャを追加する

テクスチャを顔のメッシュにアタッチすると、アプリはテクスチャを顔の識別された頂点とサーフェスにオーバーレイしてバインドします。

  1. Unity にテクスチャをインポートする。
  2. 新しい空の GameObject を作成する。
  3. GameObject で、SDK の ARFaces サンプルから新しい ARCoreAugmentedFaceMeshFilter コンポーネントを追加します。上級者向けのヒント: Unity のプロジェクト ウィンドウで ARCoreAugmentedFaceMeshFilter を検索します。
  4. GameObject の拡張アセット メッシュにアセットが自動的にバインドされるようにするには、[自動バインド] を選択します。
  5. メッシュ レンダラを追加する。
  6. 面に添付するテクスチャを使用したマテリアルを作成します。
  7. レンダラにマテリアルを追加します。

顔の領域にモデルを適用する

顔の中央のポーズの根元に、骨格の根を置きます。また、顔メッシュに合わせるために 3 つの領域を自動的に更新します。

  1. 3D モデルを Unity にインポートします。
  2. シーンに追加します。
  3. リグを追加します。 この場合、リージョン(FOREHEAD_LEFT など)が表示されます。
  4. [Add Component] をクリックし、SDK の ARFaces サンプルから AR Core Augmented Face Rig のコンポーネントを選択します。
  5. [Auto Bind] オプションを選択します。 これにより、モデルが顔の領域に自動的にバインドされます。