Kudan AR SDK で AR iOS アプリを作ってみよう〜マーカーを変更する

こんにちは。エクセルソフトの田淵です。

弊社取り扱いの Kudan AR SDK のエントリーです。

SDK のダウンロードは こちら からお申込みください。SDK を使った開発と、個人開発者のリリースは無料でご利用いただけます。企業の方は有料になりますので、@ytabuchi までご連絡ください。

前回までで、マーカー上に表示したオブジェクトを回転できるようにしました。その他の記事については Kudan AR SDK チュートリアル記事まとめ で纏めていますのでご覧ください。

今回はマーカーを選択できるようにしたいと思います。

現時点でのサンプルは ytabuchi の GitHub に置いてあります。開発を継続しているので現時点でのスナップショットです。

撮った/ライブラリから選択した写真を UIImageView に指定する

まずはマーカーとして指定する写真の処理を書きます

こんな感じで今までボタンが二つしかなかったメインの View に UIImage とカメラで写真を撮ったりライブラリから写真を選択するボタンを配置します。

(なぜか ViewController が紐づいていなかったので作成して紐付けし、)配置した各ボタンに Outlet を付けます。

カメラを起動して写真を撮る、ライブラリから写真を選択する action は次のように記述しました。

【Swift5】iPhoneの画像を読み込み、UIImageViewに表示する - Qiita のコードを参考にさせていただきました!

終了時のコールバック didFinishPickingMediaWithInfo を処理する extension も必要のようです。配置した UIImageViewimage プロパティに取得した UIImage を指定します。

後は viewDidLoadresetButton_TouchUpInside で、最初から持っている Lego のアセットを UIImageView に指定する以下のメソッドを呼び出してあげれば OK です。

これで画像周りは終了です。

MarkerView に UIImage を渡す

次に UIImageView に指定した UIImage を遷移先の MarkerViewController に渡しましょう。

まずは遷移先の MarkerViewController.swift を開き、プロパティを追加します。

次に Storyboard で MarkerViewController への Segue を貼り、Identifier に「toMarkerView」を指定します。

これで該当の Segue を識別できるようになったので、Segue 実行時に呼ばれる prepare を override します。

最後に遷移先の MarkerViewControllersetupImageTrackable メソッドで、受け取った UIImage をマーカーとして使用するように、以下のように書き換えます。

完成!

ビルドして実行してみましょう。

無事マーカーを変更できるようになりました!

https://platform.twitter.com/widgets.js

次は

マーカーを認識してマーカーに枠を付けるとかをやりたいですね。

ただ、ピンチとローテートの Android 版がまだ出来ていないので、まずはそっちを頑張りたいと思います。

Kudan AR SDK エントリー一覧

Kudan AR SDK チュートリアル記事まとめ | エクセルソフト ブログ

をご覧ください。

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする