2019年5月2日TweetPocketARを学ぶ10連休。折り返し地点までの記録。Day4スマホ上でのデバッグが目と首に辛すぎるのでPlayground使うことにした。この回答のコードを少しいじったら最新のXcodeでも動くようになった。最近バックエンドの開発ばかりやっていたので忘れていたが、スマホのアプリ開発は目と首が疲れる。Playgroundを導入した。ARKit部分のデバッグはできないが、SceneKit関連の開発・デバッグが可能。複数マーカーの識別と、ノードのアニメーションあたりまで出来てきた。SceneKitの使い方と数学力的な壁にあたって進みが悪い...。複数のマーカーを識別し、その上にSCNNodeを重ねて動かすというところまで実装ができた。3D数学の理解力不足のため、ここまで到達するのにやたら時間がかかってしまった。SceneKitはなかなか良いチュートリアルを見つけることができず苦戦。オイラー角についてDay5壁のマーカーからシーリングライトのオン/オフができるようになった。2019年5月1日マーカーをタップしてインタラクトできるようになった。RemoのAPIとつなげて、家電を制御したりしてみた。remoで、Wi-Fi対応の家電はIFTTTで操作できそうだ。アイリスオーヤマのWi-Fi対応LED電球に関しては、APIが公開されておらず、IFTTTにも対応していないため、残念ながら操作する方法がなさそうだ。RemoのAPIを試すにあたって、Postmanというリクエスト生成ツールを使ってみたらとても便利だった。APIのSwagger定義ARでマーカーを認識して、AR上に表現したUIを操作して、現実世界のオブジェクトを制御する、という一連の流れができたので、今後は各部位のブラッシュアップをやっていく。6大分SceneKitの扱いに慣れて、厨二病感を加えていくことが可能になってきた。照明の真横にマーカー設置すると陰になって認識エラーがおきやすい。2019年5月2日UIの実装を進めて、シーリングライトの設定を色々変更できるようにした。現実世界のオブジェクトを制御できる幅が広がるとやはり楽しい。並行でひたすらSceneKitの勉強を進める。PlaygroundではAssetsが使えないのが不便で、あまり使わなくなってしまった。SCNPlaneが透過テクスチャに対応していることがわかり、楽に細かい表現を実現できるようになった。コードもすっきりしてきた。透過テクスチャを重ねた場合にチラツキが発生していたのだが、座標を少しずらしてあげて完全に重ならないようにすればOKだった。SceneKitアプリのUIはピクセルという単位ではなくメートル単位で設計していく。ピクセル単位でのUI実装に比べると、直感的でとても良い。マーカーをベースに現実世界のオブジェクトに表現をオーバーレイしたいような場合に、実寸で設計/実装ができるのは実に便利。PC/スマホのUIもメートル単位で設計/実装するような日が来るのだろうか。アニメーションに関して、使い慣れているCoreAnimationが使えるというのが嬉しい。transform、opacityなどをCoreAnimationでアニメーションさせるようにしたところ、大分ハリボテ感がなくなってきた。3Dの数学については引き続き苦戦している。MatrixのCombinationが増えてくると、頭の整理が追いつかない。Combinationをなるべく書かなくて良いようにするという苦肉の策を講じているが、パフォーマンス的に大丈夫なのかという不安がある。残り4日間で、シーリングライト以外の家電についても操作できるように実装しつつ、UI表現をブラッシュアップさせていく。あと部屋の掃除をやる。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイトご意見、ご感想をお願いします。その3いよいよ仕上げ。その110連休に改めてARを勉強することにした。1日目から3日目まで。