/flutter_uaal

Primary LanguageShaderLabMIT LicenseMIT

Flutter Unity as a Library サンプルプロジェクト

このリポジトリには、Flutterアプリケーション内でUnityを実行する方法を示すサンプルプロジェクトが含まれています。本プロジェクトは、ARFoundation、ARKit、ARCoreを使用したアバタートラッキング機能と、iOS専用のフェイストラッキング機能を含みます。FlutterとUnityの連携にはflutter-unity-view-widgetを利用しています。

sample

特徴

  • Unity統合: Flutterプロジェクト内でUnityをライブラリとして実行。FlutterとUnity間でのメッセージングを実現。
  • アバタートラッキング: ARFoundation、ARKit、ARCoreを使用したアバタートラッキング。
  • フェイストラッキング(iOSのみ): iOSデバイスでのARKitを利用したフェイストラッキング。

前提条件

開始する前に、以下の要件を満たしていることを確認してください

  • Flutter: Flutter公式サイトからFlutter SDKをインストール。
  • Unity: Unity公式サイトからUnity Hubおよび最新バージョンのUnity Editorをインストール(使用バージョン: 2022.3.35f1)。
  • ARKit/ARCore: デバイスがARKit(iOS)またはARCore(Android)をサポートしていることを確認。

始め方

ステップ1: リポジトリをクローン

git clone https://github.com/tetsujp84/flutter_uaal.git
cd flutter_uaal

ステップ2: Flutterプロジェクトの設定

Flutterの依存関係をインストールします。

flutter pub get

ステップ3: Unityプロジェクトの設定

  1. Unity Hubでunity/Unity-UaaLディレクトリを開きます。
  2. Unityプロジェクトのメニューから Flutter > Export iOS/Android を実行し、ビルドを行います。これにより、UnityLibrary(iOS)/unityLibrary(Android)フォルダが生成されます。

ステップ4: アプリケーションの実行

コマンドラインを使用してiOS/Androidデバイスでアプリを実行します。

flutter run

トラブルシューティング

iOSビルドに失敗する

flutter-unity-view-widgetのSetupを参考に設定を行ってください。特にPlatform specific setupの項目内のUnity-Iphone.xcodeprojが正しく参照されているかやUnityFramework.frameworkが追加されているかに注意してください。