Kudan AR SDK で AR iOS アプリを作ってみよう〜オブジェクトをピンチで拡大縮小する

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

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

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

前回までで、iOS/Android のマーカー、マーカーレスでオブジェクトを表示するところまでをやりました。Kudan AR SDK チュートリアル記事まとめ で、まとめていますのでご覧ください。

だいぶ時間が空いてしまいましたが、今回はマーカー上に表示したオブジェクトをピンチで拡大縮小してみます。

現時点でのサンプルコードは ytabuchi の Github にアップしてあります。この後もコミット追加していくのでスナップショットです。

作業の流れ

Kudan の世界を表現する ARCameraViewController に含まれる cameraViewUIPinchGestureRecognizer を関連付けて、その値を各種ノードの scale に渡しています。

ViewController の編集

MarkerViewController.swift を編集していきます。

PinchGestureRecognizer を追加するには、以下のコードを用います。

まずは setupContent 内でジェスチャーを生成し、cameraView に関連付けます。

色々なサイトでやり方を探しましたが、action#selector でメソッドを渡すのが今の書き方のようでした。

これで、pinchNode のメソッドに UIPinchGestureRecognizer のイベントが飛んできますので、senderscale を各ノードの scale メソッドに渡せば、各ノードがスケールします。

表示されている Node で処理を分ける

まずは表示されている Node を判別したいので enum で管理します。

各ノードを表示するボタンに shownNode = node.XXX を入れます。以下は ImageNode の例です。

クリアボタンにも shownNode = nil を追加しておきます。

pinchNode メソッドの編集

次に UIPinchGestureRecognizer を拾って各ノードをスケールさせましょう。以下のようになりました。

最終的には こんな感じ(Github) になっています。

この後やる Rotate も実装してありますが、動作イメージは以下です。

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

この後は

Pinch ができたので Rotate をやります。

Kudan AR SDK エントリー一覧

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

をご覧ください。

以上です。

参考サイト

大変参考になりました。ありがとうございました!

シェアする

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

フォローする