一覧に戻る

XamarinではじめるARアプリ開発

2017.05.15Xamarinコンポーネント

Xamarin SDKの使い方を紹介します

XamarinはC#/F#を使ってiOS/Android開発ができるIDEになります。昨年マイクロソフト社に買収され、一部はVisual Studioなどに反映されています。C#を使ってスマートフォンアプリ開発をはじめたいという方にとっては有力な選択肢になっています。何より無料というのが魅力です。

WikitudeはXamarin向けにもSDKを提供しています。今回はこのXamarin SDKを使ったARアプリ開発の始め方を紹介します。

なお必要なものとしては以下になります。

  • Xamarin Studio
  • Xamarinのアカウント
  • Wikitudeのアカウント

Xamarin Studioでコンポーネントを追加する

今回はiOS向けのプロジェクトを作成してみます。

プロジェクトを作成したら、コンポーネントを右クリックして コンポーネントをさらに取得する を選択します。

そうするとXamarinのコンポーネントが一覧表示されますので、検索でWikitudeと入力して下さい。

出てきたWikitudeのコンポーネントを選択します。

最後に Add to App をクリックします。これで準備完了です。

設定を変更する

iOSではカメラや位置情報の利用について制限がありますので、info.plistを編集します。カメラを使いますので Privacy - Camera Usage Description を追加し、値にメッセージを入力します。さらに位置情報を利用する場合には Location When In Use Usage Description のキーを追加して、値にユーザに出すメッセージを入力します。

サンプルコード

画像ターゲットを使ったARアプリを作る方法を紹介します。なおXamarinでも他のSDKと同様に実際のAR処理はHTML5/JavaScriptで作成します。それらのリソースはwikitude-cordova-plugin-samples/SampleAppResources/world/1_ClientRecognition_1_ImageOnTargetより取得しています。ade.jsのパスが違うので修正してください。1_ClientRecognition_1_ImageOnTargetのディレクトリ名をARchitectWorldと変更して、XamarinのResourcesフォルダに追加します。

そしてViewController.csにWikitudeを使うように設定します。

using Wikitude.Architect;

さらに ViewDidLoad メソッド内でWikitudeのローディングを行います。今回は画像認識だけなので、WTFeatures.WTFeature_2DTrackingが使えるかどうかチェックしています。

public override void ViewDidLoad() {
    base.ViewDidLoad();
    // Perform any additional setup after loading the view, typically from a nib.
    NSError error;
    if (WTArchitectView.IsDeviceSupportedForRequiredFeatures(WTFeatures.WTFeature_2DTracking, out error)) {
        arView = new WTArchitectView();
        arView.Frame = UIScreen.MainScreen.Bounds;
        arView.SetLicenseKey("YOUR_LICENSE_KEY");
        var url = NSBundle.MainBundle.BundleUrl.AbsoluteString + "ARchitectWorld/index.html";
        wtNav = arView.LoadArchitectWorldFromURL(new NSUrl(url), WTFeatures.WTFeature_2DTracking);
        View.AddSubview(arView);
    }
}

ライセンスキーを忘れずにセットしてください。後は先ほど配置した ARchitectWorld のパスを渡して LoadArchitectWorldFromURL を実行します。これでWikitudeが使えるようになります。


WikitudeはHTML5/JavaScriptでARコンテンツを作成しますので、他のプラットフォームからの移行も簡単です。XamarinでARアプリ開発、ぜひはじめてみてください!