465 Views
January 25, 19
スライド概要
Yahoo! JAPAN Tech Conference 2019 A-1の資料です
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
19 Yahoo! JAPAN Tech Conference 2019 もう道に迷わない! Yahoo! MAPにおけるAR体験 メディアカンパニー 検索統括本部 ローカル検索本部 | 徳元 健太 テクノロジーグループ データ&サイエンスソリューション統括本部 スマートデバイス本部 | 廣橋 孝紀 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved.
徳元 健太 ・新卒入社 6年目、名古屋で働いています ・iOS Yahoo! MAPアプリ開発 ・Yahoo! MAPのWeb API開発 ・最近は、機械学習もやっています Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
アジェンダ 1 Yahoo! MAPの概要 2 ARモードの概要 3 ARKit + CoreLocation 4 AR × MAPのデザインについて Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
Yahoo! MAP Yahoo! MAP 1タップで 素敵なお店に 出会える! 無料 ダウンロードはこちらから App Store Google Play 新しくなった Yahoo! MAPの3つの特長 かんたんスポット検索 おでかけ情報 わかりやすい道案内 近所で何が起こってる? 防犯マップ 防犯マップで近所の安全を確認! くわしくはこちら 見えてる景色で道案内 あと534m ARモード 実際の風景に、矢印や看板などを 重ねたルート案内! ※2 くわしくはこちら Tポイントが貯まる! チェックイン 対象のお店でチェックインするだけで、 Tポイントが貯まる! ※1 ※3 くわしくはこちら 何時間後に雨が降る? 雨雲レーダー 6時間先までの雨雲の動きが 地図で見られて便利! ※1 今どこが混んでる? 混雑レーダー 日本全国の混雑状況が ヒートマップで確認できる! 駅の中も、地下街も 屋内マップ 大きな駅や地下街の中もわかる! Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARモード ・Yahoo! MAPアプリのARを使った ナビゲーションをサポートする機能 ・iOS11から利用できるARKitを 使って開発 案内終了 白川公園 地図モード あと81.2m Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARモードの開発チーム Product Manager Developer Designer Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
スケジュール 2017年 12月 2018年 1月 2月 3月 ルートや足跡の実装 看板とけんさくの実装 空間補正 QA、ストア申請 リリース Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARKit ・iOS 11以降で利用できるARに関する機能の実装をサポートしている フレームワーク ・ARモードは6DoF(Six degrees of freedom)を必要とするためA9チップ以降 のものが搭載された端末のみサポート 3DoF 6DoF Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARKit + CoreLocation Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARKit+CoreLocation ・ARConfiguration.worldAlignment. gravityAndHeadingを指定 ・原点の位置情報とARKitにより構築さ れた世界空間の原点は 相互に変換可能 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARKit+CoreLocation (x1, z1) d [m] (0, 0) θ (lat1, lon1) d [m] (lat0, lon0) γ (x1, z1) = [cos(θ) -sin(θ) sin(θ) cos(θ)] [x z] Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
オブジェクトの配置 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
オブジェクトの配置 ・ARモードは3Dでオブジェクトを表現するためSceneKitを利用 ・SCNNodeに対し適切なGeometry、Textureを設定することでオブジェクト を表現 ・けんさく、看板についてはオリジナルの3Dデータを使用 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
オブジェクトの種類 オブジェクト Geometry Texture Animation ルートライン 足跡 SCNPlane ゴールピン 看板 オリジナル オリジナル けんさく オリジナル オリジナル あり なし Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルートライン Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルートライン eulerAngles.y position Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
看板 あと300.1km Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
看板 あと300.1km position Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
看板 あと300.1km position θ ・ルートラインと看板の間に マージンを設定し回転させることで ユーザーに見やすい位置に配置 ・進行方向と次の方向から左右 どちらに置くか判定しユーザーに 見えやすいように Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
足跡 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
足跡 position Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
足跡 position θ ・ARSCNViewより参照した pointOfViewのpositionを取得 ・現在位置の座標から 移動距離と角度を計算 ・足跡はランダムで出すように materialに設定している Textureを動的に設定 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
けんさく + ゴールピン G SCNBillboardConstraint position Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
実装
protocol LocationInfoProvidable {
// 現在の位置情報(GPS)を取得
func location(completion: @escaping (CLLocation?)->())
// 指定したWorld座標に最も近いルートラインの座標を返す
func nearbyRoutePoint(from origin: SCNVector3) -> SCNVector3?
// 位置情報に関するイベントを受け取るためのdelegate
var delegate: LocationInfoProviderDelegate? { get set }
}
protocol LocationInfoProviderDelegate: class {
// 電子コンパスによる更新情報を通知
func arLocationInfoProvider(_ provider: ARLocationInfoProvidable,
requestUpdateHeading heading: CLHeading)
// 位置(GPS)の更新情報を通知
func arLocationInfoProvider(_ provider: ARLocationInfoProvidable,
requestUpdateLocation location: CLLocation,
oldLocation: CLLocation?)
}
Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19
Yahoo! JAPAN
Tech Conference 2019
実装 locationInfoProvider.location { [weak self] location in guard let origin = location else { self?.displayError() return } self?.addNodes(origin: origin) } Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
実装 func addNodes(origin: CLLocation) { self.navigationView.origin = origin let routeLineNodes = self.routeLineNodes(coordinates: self.coordinates) // originを起点に作成したルートラインのSCNNodeを全てスケジューリングする self.navigationView.scheduleNodes(routeLineNodes, priority: .high) } func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) { // 5つずつSCNNodeを追加 self.navigationView.worldNode.addScheduledNodes(quantity: 5) } Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正 RootNode 補正Node 固定Node Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正 ・固定Node ・足跡 ・補正Node ・ルートライン ・けんさく ・看板 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正の仕組み protocol LocationInfoProviderDelegate: class { // 電子コンパスによる更新情報を通知 func arLocationInfoProvider(_ provider: ARLocationInfoProvidable, requestUpdateHeading heading: CLHeading) // 位置(GPS)の更新情報を通知 func arLocationInfoProvider(_ provider: ARLocationInfoProvidable, requestUpdateLocation location: CLLocation, oldLocation: CLLocation?) } Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正の仕組み GPSによる現在位置 (Core Location) AR空間上の現在位置 (ARKit) re GPSによる誤差の半径 re Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正の仕組み 誤差の円からはみ出している GPSによる現在位置 (Core Location) AR空間上の現在位置 (ARKit) re GPSによる誤差の半径 re Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
空間補正の仕組み
func arLocationInfoProvider(_ provider: ARLocationInfoProvidable,
requestUpdateLocation location: CLLocation,
oldLocation: CLLocation?) {
// ARの空間上での現在位置を取得
guard let arPosition = self.navigationView.pointOfView?.worldPosition else {
return
}
// GPSによる位置情報をARの世界座標に変換した結果
let gpsPosition = location.coordinate.relativeVector3(to: origin.coordinate)
// 位置の差が誤差の円の範囲内であれば何もしない
guard gpsPosition.distance(to: arPosition) > location.horizontalAccuracy else {
return
}
// 対象となるSCNNodeに対して補正 (※ SCNVector3に独自でoperatorを実装してあります)
let difference = gpsPosition - arPosition
self.navigationView.worldNode.correctableNode.worldPosition -= SCNVector3(difference.x, 0, difference.z)
}
Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19
Yahoo! JAPAN
Tech Conference 2019
まとめ ・ARKit + CoreLocationで現実世界上でのナビゲーションができる ・ARの世界座標と現実での緯度経度は相互に変換できる ・GeometryとTexture(Material)を適切に設定することで 様々なオブジェクトをARの世界に配置することができる ・GPSや電子コンパスの情報と、AR空間上での現在地を比較することで位 置や方向の補正が可能 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
廣橋 孝紀 ・1年間Yahoo! MAPアプリのUI/UX デザインを担当 ・現在は新規領域を携わる部署に所属 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
今回デザインした画面 案内終了 白川公園 地図モード 歩きスマホ 危険 必ず立ち止まってご利用ください スマートフォンを注視しながらの歩行は 大変危険です。周囲の状況をよく見て、 安全なご利用に十分ご留意ください。 アプリの設定メニューから免責事項をご確認の上、 ご利用ください。 確認してARモードを開始する 案内終了 白川公園 地図モード 案内終了 紀尾井町ビル 地図表示 空間の認識に失敗しました 夜間や暗闇では、光量不足でAR表示の精度が低く なります。地図表示でのナビをご利用ください。 地図表示に戻る Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
今回話すこと 1. AR特有のユースケース 2. ユーザーへのフィードバック 3. AR上に配置するパーツについて 4. デザインの進め方 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
AR特有のユースケースについて Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARモードをデザインしてわかったこと ”ルート案内のユースケースは2Dマップの案内と異なる” Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルート案内時のそれぞれのユースケースの説明 通常の2Dマップ ARモード G Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルート案内時のそれぞれのユースケースの説明 通常の2Dマップ ARモード G ・ルート案内画面:地図 ・目的地位置までのルート把握 ・地図全体を俯瞰できる Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルート案内時のそれぞれのユースケースの説明 通常の2Dマップ ARモード G ・ルート案内画面:地図 ・目的地位置までのルート把握 ・地図全体を俯瞰できる ・ルート案内画面:現実 ・今この瞬間に向かうべき方向の把握 ・周辺にフォーカスできる Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルート案内時のそれぞれのユースケースの説明 通常の2Dマップ ARモード G ・ルート案内画面:地図 ・目的地位置までのルート把握 ・地図全体を俯瞰できる ・ルート案内画面:現実 ・今この瞬間に向かうべき方向の把握 ・周辺にフォーカスできる Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ユーザーへのフィードバック Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
AR体験に対する現状 ”AR体験に慣れている人はまだ少ない” Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARにおけるユーザーへのフィードバックで大事なこと あらゆる失敗時の体験に対して 適切なフィードバックを行うことが最も重要 写真: アフロ Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ルートから外れた場合のフィードバック 案内終了 紀尾井町ビル 地図表示 ルートから外れています ルートから外れた場合に、アニメーション付きの 吹き出しでフィードバック Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
暗闇時の使用に対するフィードバック 案内終了 紀尾井町ビル 地図表示 空間の認識に失敗しました 夜間や暗闇では、光量不足でAR表示の精度が低く なります。地図表示でのナビをご利用ください。 地図表示に戻る 暗闇などユーザーにとって危ないシーンに は使用できないようにする Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
歩きスマホに対するフィードバック 案内終了 白川公園 地図モード 歩きスマホ 危険 必ず立ち止まってご利用ください スマートフォンを注視しながらの歩行は 大変危険です。周囲の状況をよく見て、 安全なご利用に十分ご留意ください。 アプリの設定メニューから免責事項をご確認の上、 ご利用ください。 確認してARモードを開始する ユーザーファーストを考慮し、表示タイミング・ グラフィック・文言で訴えかける Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
あらゆる状況の想定が必要 新しいテクノロジーを取り入れる時、あらゆる状況が起こりうる Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
あらゆる状況の想定が必要 新しいテクノロジーを取り入れる時、あらゆる状況が起こりうる 最適な伝え方や文言が最も重要 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
AR上に配置するパーツについて Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
アプリの”一機能”としてユーザー体験を統一 案内終了 白川公園 地図モード Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
3D看板について あと200m ※イメージ Texture あと200m あと200m あと200m あと200m Primary Blue Primary Red Tertiary Orange Tertiary Purple あと200m あと200m あと200m あと200m Tertiary Pink Tertiary Green Tertiary Yellow Tertiary Yellowgreen あと200m 合計 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
3D看板について ・360度どこからみても残りの距離がわかる ・Yahoo! MAPの世界感を保ちつつ現実世界に馴染ます Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARで最適なパーツに置き換えることが大事 2Dマップ AR Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARで最適なパーツに置き換えることが大事 2Dマップ AR ・吹き出し ・看板 東京ガーデン 紀尾井町 そのまま 道なりに進む Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARで最適なパーツに置き換えることが大事 2Dマップ AR ・吹き出し ・看板 ・ゴールピン ・キャラクター G 紀尾井 レジデンス Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
ARで最適なパーツに置き換えることが大事 2Dマップ AR ・吹き出し ・看板 ・ゴールピン ・キャラクター ・軌跡 ・足跡 + 3Dルート Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
遊び心を取り入れることでユーザー体験を向上 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
遊び心を取り入れることでユーザー体験を向上 「足跡機能」で歩く楽しみ 案内終了 白川公園 地図モード Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
遊び心を取り入れることでユーザー体験を向上 「足跡機能」で歩く楽しみ ゴール時の体験向上 案内終了 白川公園 地図モード 案内終了 白川公園 地図モード G Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
デザインの進め方 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
今回のプロジェクトはスピード重視 12月 1月 2月 ワイヤー作成 UIの作り込み 必要要素の決定 プロトタイプ作成/テスト 3Dモデリング作成 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
慣れ親しんでるツール + 開発側との連携を選択 Prott ・画面共有 ・大まかな画面遷移 Flinto ・よりリッチな画面遷移の共有 Adobe® After Effect® ・マイクロインタラクションの作成 GitHub ・進捗やタスクなどを管理 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
プロトタイプのフロー ・必要な画面の洗い出し ・UIのワイヤー化 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
プロトタイプのフロー ・必要な画面の洗い出し ・UIのワイヤー化 画面遷移 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
プロトタイプのフロー ・必要な画面の洗い出し ・UIのワイヤー化 画面遷移 実装側に共有 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
プロトタイプのフロー ・必要な画面の洗い出し ・UIのワイヤー化 画面遷移 実装側に共有 ・検証 ・デザイン修正 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
プロトタイプのフロー ・必要な画面の洗い出し ・UIのワイヤー化 画面遷移 実装側に共有 ・検証 ・デザイン修正 n回 ここの繰り返しでブラッシュアップ Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
実証時間の確保ができた 12月 1月 2月 ワイヤー作成 UIの作り込み 必要要素の決定 プロトタイプ作成/テスト 3Dモデリング作成 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
開発側とのコミュニケーションによる信頼構築が大事 名古屋 東京 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
まとめ Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
同じ機能でもAR体験ではユースケースが変わる 通常の2Dマップ ARモード G ・目的地位置までの把握 ・今この瞬間に向かうべき方向 ・地図全体を俯瞰できる ・周辺にフォーカスできる ・ルート案内画面:地図 ・ルート案内画面:現実 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
”最適なパーツに置き換えと遊び心が重要” 「足跡機能」で歩く楽しみ 2Dマップ AR 案内終了 白川公園 地図モード Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
あらゆる状況を想定しておかなければいけない 新しいテクノロジーを使用する時は、あらゆる状況が起こりうる 最適な伝え方や文言が最も重要 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
デザインの進め方において重要なこと ・ARデザインだからと言って新しくプロトタイプを学習しなくても大丈夫 →慣れ親しんでいるツールの組み合わせでスピード重視の開発体制を実現 ・開発側に共有する物を細かく、実装確認を多くする →このサイクルを増やすことによってより精度の高いデザインに仕上げることが可能 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved. 19 Yahoo! JAPAN Tech Conference 2019
19 Yahoo! JAPAN Tech Conference 2019 Copyright 2019 Yahoo Japan Corporation. All Rights Reserved.