WWDC2022 What’s new in Nearby Interactionを翻訳した

Takuya Ichise
TAKUYA ICHISE
Published in
30 min readJun 11, 2022

WWDC2022のセッションWhat’s new in Nearby Interactionが面白かったので、自分用に翻訳してみました。

概要

Nearby Interaction フレームワークを使用して、Ultra Wideband (UWB) をアプリやハードウェア アクセサリに簡単に統合する方法をご覧ください。

ARKitの視覚・空間パワーとU1チップの電波感度を組み合わせて、近くにある静止物体の位置を正確に特定する方法について説明します。また、BluetoothでペアリングされたUWBアクセサリを使用して、背景のインタラクションを作成する方法も紹介します。

内容

AppleのLocation TechnologiesチームでエンジニアをしているJon Schoenbergです。このセッションでは、Nearby Interactionに搭載された、空間を意識したよりリッチで多様な体験を可能にする新機能を紹介します。

Nearby Interaction フレームワークの解説

Nearby Interaction フレームワークは、Ultra Wideband 技術用の Apple のチップである U1 の機能を簡単に利用できるようにし、近くにある Apple デバイスや Ultra Wideband 用 Apple U1 チップに対応したアクセサリーの間で、正確で空間を意識したインタラクションを作成できるようにするものです。

それでは、過去2年間に利用可能だったものを簡単に振り返ってみましょう。
WWDC 2020でNearby Interactionが紹介されたとき、その機能はU1を搭載した2台のiPhoneの間でセッションを作成し、実行することに重点を置いていました。
WWDC 2021では、Apple WatchやサードパーティーのUltra Wideband対応アクセサリーを使ったセッションの実行に対応するよう機能が拡張されました。
Nearby InteractionフレームワークのAPIを深く知りたい方は、2020年のWWDC講演「Meet Nearby Interaction」、2021年の「Explore Nearby Interaction with third-party accessories」をご覧ください。

このセッションの内容

私たちは、Nearby Interactionに対するコミュニティの反応に圧倒され、このセッションでは、新しい機能と改善点を皆さんにお披露目することに興奮しています。ARKitによるNearby Interactionの強化とバックグラウンドセッションの2つのトピックに焦点を当てます。
途中、Nearby Interactionフレームワークをより使いやすくするための改善点も紹介し、最後に昨年発表したサードパーティ製ハードウェアのサポートに関する最新情報をお伝えします。

新しい機能を使ってどんなことができるのか、私たちはとても楽しみにしていますので、早速その詳細を見ていきましょう。

ARKitで強化されたNearby Interaction

まず、ARKitとNearby Interactionを緊密に統合したエキサイティングな新機能から説明します。

この新機能は、ARKitから計算されたデバイスの軌跡を活用することで、Nearby Interactionを強化します。

ARKitで強化されたNearby Interactionは、AirTagのPrecision Findingと同じ基礎技術を活用しており、Nearby Interactionを通じて利用できるようになります。
最適なユースケースは、置き忘れたアイテム、興味のあるオブジェクト、またはユーザが対話したいオブジェクトなど、特定の近くのオブジェクトにユーザを誘導するエクスペリエンスです。
ARKitとNearby Interactionを統合することで、Nearby Interactionだけを使用するよりも距離と方向の情報を一貫して利用でき、Ultra Widebandの視野を効果的に広げることができます。
最後に、この新しい機能は、静止しているデバイスとのインタラクションに最適に使用されます。

デモ

さっそく、ARKitとNearby Interactionの新しい統合が可能にするアプリケーションの可能性について、デモをご覧ください。

ここには、ウルトラワイドバンドアクセサリーでユーザーを展示物まで案内する、私のジェットパックミュージアムのアプリケーションがあります。
次のジェットパックを見つけに行きましょう。
ユーザーが次の展示物に行くことを選択すると、アプリケーションはUltra Widebandアクセサリーを検出し、Nearby Interactionの使用を開始するために必要な交換を実行します。

次に、アプリケーションはユーザーに携帯電話を左右に動かすよう指示し、ARKitで強化されたNearby Interactionモードを使って、次の展示物の物理的な位置の特定を始めます。
そして、次の展示物の方向を把握すると、その展示物を見に行く方向を示すシンプルな矢印のアイコンが表示されます。

ARKitとNearby Interactionを組み合わせたリッチな空間認識情報により、展示物がユーザーの背後にあり、ユーザーが展示物から離れる方向に向かっている場合にも、その方向を示すことができます。

最後に、アプリケーションは、ARの世界で、次の展示物の位置をオーバーレイ表示することができ、アプリケーションは、ユーザーがiPhoneをわずかに上下に動かして、ARの世界で展示物がどこにあるかを解決するように促します。

ARコンテンツがシーンに配置されると、ウルトラワイドバンド計測が可能なNearby InteractionとARKitの強力な組み合わせにより、ユーザーは簡単に次のジェットパックを確認するために向かうことができるようになるのです。

ジェットパックは見つからなかったかもしれませんが、チェスのクイーンは見つかりました。

強化されたNearby Interactionモードを有効にする方法

では次に、この強化されたNearby Interactionモードを有効にする方法について説明します。
iOS 15 では、Nearby Peer から NIDiscoveryToken を受け取り、セッション構成を作成し、NISession を実行するメソッドがアプリケーションに用意されていると思われます。
ARKitで拡張モードを有効にするには、NIConfigurationのサブクラスで新しいisCameraAssistanceEnabledプロパティを使用して、Nearby Interactionの新規および既存の使用で簡単に行うことができます。
isCameraAssistanceEnabledプロパティを設定するだけで、ARKitの拡張モードを利用することができます。

カメラアシスタント

カメラアシスタンスは、2台のAppleデバイス間、およびAppleデバイスとサードパーティ製のUltra Widebandアクセサリとの間でやり取りする際に利用できます。
カメラアシストを有効にしてNISessionを実行するとどうなるのか、詳しく見ていきましょう。
カメラアシストが有効な場合、Nearby Interactionフレームワーク内にARSessionが自動的に作成されます。

この ARSession の作成は、お客様側で行う必要はありません。
カメラアシストを有効にしてNISessionを実行すると、Nearby Interactionフレームワーク内に自動的に作成されたARSessionも実行されます。
ARSessionは、アプリケーションのプロセス内で実行されます。
そのため、アプリケーションは、アプリケーションのInfo.plist内にカメラの使用方法の説明キーを提供する必要があります。

この文字列は、良い体験を提供するためにカメラが必要な理由をユーザーに知らせるために、必ず有用な文字列にしてください。
1つのアプリケーションで実行できるARSessionは1つだけです。
つまり、すでにアプリでARKitを体験している場合は、作成したARSessionをNISessionと共有する必要があります。

作成したARSessionをNISessionと共有する方法

ARSessionをNISessionと共有するために、NISessionクラスには新たにsetARSessionメソッドが用意されています。
NISessionの実行前にsetARSessionを呼び出すと、セッション実行時にNearby Interactionフレームワーク内にARSessionが自動生成されなくなります。

これは、アプリケーションの ARKit 体験が Nearby Interaction のカメラ補助と同時に起こることを保証します。

この SwiftUI の例では、makeUIView 関数の一部として、ARView 内の基礎となる ARSession は、新しい setARSession メソッドを介して NISession と共有されます。

ARSession を直接使用する場合、ARWorldTrackingConfiguration を使用して ARSession 上で run を呼び出す必要があります。
さらに、カメラアシストによる高品質なパフォーマンスを確保するために、この ARConfiguration 内でいくつかのプロパティを特定の方法で設定する必要があります。
worldAlignment は重力に設定し、コラボレーションと userFaceTracking は無効にし、initialWorldMap を nil にし、sessionShouldAttempt Relocalization メソッドが false を返すデリゲートを設定する必要があります。

ARSession を共有する際のベストプラクティス

それでは、作成した ARSession を共有する際のベストプラクティスを紹介します。
NISessionDelegate didInvalidateWith error メソッドでは、常にエラーコードを調べてください。
共有された ARSession を実行するために使用される ARConfiguration が、概要のプロパティに準拠していない場合、NISession は無効化されます。
新しいNIErrorコードinvalidARConfigurationが返されます。

アプリで近くのオブジェクトの更新を受け取る方法

アプリで近くのオブジェクトの更新を受け取るには、NISessionDelegateのdidUpdateNearbyObjectsメソッドを引き続き使用します。
didUpdateNearbyObjects メソッドでは、おそらく目的のピアに対して近くのオブジェクトをチェックし、利用可能な場合は NINearbyObject の距離と方向プロパティに基づいて UI を更新します。

カメラアシストが有効な場合に利用可能な2つの新しいプロパティ

カメラアシストが有効な場合、2つの新しいプロパティがNINearbyObject内で利用可能になります。

1つ目は、horizontalAngleです。これは、近くのオブジェクトへの方位角を示すラジアン単位の 1 次元角度です。利用できない場合、この値はnilになります。

2つ目のverticalDirectionEstimateは、垂直方向における近傍オブジェクトとの位置関係を示すものです。

これは新しいVerticalDirectionEstimateタイプです。距離と方向は、ユーザーのデバイスと近くのオブジェクトの間の重要な空間的関係を表します。距離はメートル単位で測定され、方向はユーザーのデバイスから近くのオブジェクトへの3Dベクトルです。
水平角は、ローカル水平面内での NISession を実行しているデバイスと近くのオブジェクトの間の角度と定義されます。

これは、2つのデバイス間の垂直方向の変位オフセットと、デバイス自体の水平方向の回転を考慮したものです。
方向が3Dであるのに対し、水平角は2つのデバイス間の方位を1Dで表現したものです。この水平角プロパティは、方向プロパティを補完するもので、方向が解決できない場合、水平角を利用することで、ユーザーを近くのオブジェクトに誘導することができます。

垂直方向推定は、垂直位置情報の定性的評価です。階数間の誘導に利用するとよいでしょう。

ここで、新しいVerticalDirectionEstimateタイプを見てみましょう。
VerticalDirectionEstimate は、NINearbyObject 内にネストされた enum で、近くのオブジェクトとの垂直関係の定性的な評価を表します。
プロパティを使用する前に、必ず VerticalDirectionEstimate が不明であるかどうかを確認してください。
垂直関係は、same、above、below、または特別なaboveOrBelow値で、近くのオブジェクトが同じレベルではないが、デバイスの上や下に明確にないことを表すことができます。

UWBの測定

ウルトラワイドバンドの測定は、視野と障害物の影響を受けます。
方向情報の視野は、デバイスの背面から投影される円錐に対応します。

カメラアシストが有効な場合にARKitから計算されるデバイスの軌跡は、距離、方向、水平角、および垂直方向の推定をより多くのシナリオで利用できるようにし、Ultra Widebandセンサーの視野を効果的に拡大します。

ARKitとNearby Interactionの統合を活用して、シーンにARオブジェクトを配置する方法

次に、このARKitとNearby Interactionの統合を活用して、シーンにARオブジェクトを配置する方法を説明します。

カメラフィードのビジュアライゼーションに、近くのオブジェクトを表す3Dバーチャルコンテンツを簡単にオーバーレイできるように、NISessionにworldTransformというヘルパーメソッドを追加しました。
このメソッドは、ARKit の座標空間における worldTransform を返すもので、物理環境における与えられた近くのオブジェクトの位置を表します。
利用できない場合、このメソッドはnilを返します。
デモでは、このメソッドを使用して、次の展示物の上に浮遊球体を配置しました。
Nearby Interactionの位置情報出力を活用して、あなたのアプリでAR世界のコンテンツを操作することが、できるだけ簡単にできるようにしたいと考えています。

iOSの2つの強力なシステムの組み合わせ

ユーザーは、カメラアシストがワールド変換を適切に計算できるように、デバイスを垂直方向と水平方向に十分に掃引する必要があります。

このメソッドは、カメラ アシスタントが ARKit ワールド変換に完全に収束するために、ユーザーの動きが不十分な場合に nil を返すことがあります。
この変換がアプリのエクスペリエンスにとって重要である場合、この変換を生成するためのアクションをユーザーにコーチすることが重要です。

ここで、デモで見たようなユーザーを誘導することを可能にするために、NISessionDelegateに行ったいくつかの追加について見てみましょう。
NISessionDelegateコールバックは、Nearby Interactionのアルゴリズム収束に関する情報を新しいdidUpdateAlgorithmConvergenceデリゲートメソッドで提供し、ユーザをあなたのオブジェクトへ誘導する手助けをします。
アルゴリズムの収束は、水平角、垂直方向の推定値、および worldTransform が利用できない理由と、それらのプロパティを解決するためにユーザがどのようなアクションを取ることができるかを理解するのに役立ちます。
デリゲートは新しい NIAlgorithmConvergence オブジェクトとオプションで NINearbyObject を提供します。
このデリゲートメソッドは、NIConfiguration でカメラアシストを有効にしている場合にのみ呼び出されます。

新しい NIAlgorithmConvergence の型を見てみましょう。

NIAlgorithmConvergence は、NIAlgorithm ConvergenceStatus 型の単一状態プロパティを持っています。NIAlgorithmConvergenceStatus 型は、アルゴリズムが収束しているかどうかを表す列挙型です。アルゴリズムが収束していない場合、関連する値 NIAlgorithmConvergenceStatus .Reasons の配列が提供されます。
新しいデリゲートメソッドに戻り、カメラアシストの状態をユーザーに更新したいとします。輻輳の状態をオンにし、不明または輻輳した場合、その情報をユーザーに表示することができます。

必ずNINearbyObjectを検査してください

オブジェクトが nil の場合、NIAlgorithmConvergence 状態は、特定の NINearbyObject ではなく、セッション自体に適用されます。
状態が notConverged である場合、アルゴリズムが収束しない理由を記述した関連する値も含まれる。
この理由については、ローカライズされた説明が用意されており、ユーザーとのコミュニケーションを円滑にすることができます。

値の使い方

次にこれらの値をどのように使うか見てみよう。
notConvergedケースと関連する理由値をより詳細に調べると、近くのオブジェクトについて必要な情報を生成するのに役立つアクションを取るようにユーザーを導くことができます。

関連する値は、NIAlgorithmConvergence StatusReasons の配列です。
理由は、全体の動きが不十分であること、水平または垂直方向の掃引の動きが不十分であること、および照明が不十分であることを示すことができる。

複数の理由が同時に存在する可能性があることに留意し、アプリケーションにとって最も重要なものに基づいて、ユーザーを各アクションに順次誘導してください。
デモで私が携帯電話を動かしたとき、ワールドトランスポートを解決するために水平方向と垂直方向の両方を掃引する必要があったことを思い出してください。これが、カメラアシストによって強化されたNearby Interactionモードの最も重要な部分です。

このモードをよりよく活用できるように、さらにいくつかの変更を加えました。
以前は、NISessionのisSupportedクラス変数1つだけで、Nearby Interactionが特定のデバイスでサポートされているかどうかをチェックする必要がありました。これは現在では非推奨です。

カメラアシストの追加に伴い、Nearby Interactionがサポートするデバイスの機能をより分かりやすくするため、NISessionに新しいdeviceCapabilitiesクラスメンバーを設け、新しいNIDeviceCapabilityオブジェクトを返せるようにしました。

最低限、supportsPreciseDistance Measurementプロパティをチェックすることは、現在では非推奨のisSupportedクラス変数と同等です。
デバイスが正確な距離測定をサポートしていることを確認したら、NIDeviceCapability を使用して、アプリケーションを実行しているデバイスの Nearby Interaction から利用できる機能を完全に理解する必要があります。

NIDeviceCapability オブジェクトの supportsDirectionMeasurement と supportsCameraAssistance プロパティを確認し、デバイスの能力に合わせたアプリ体験をすることをお勧めします。すべてのデバイスが方向測定やカメラ補助をサポートするわけではないので、このデバイスの能力に合わせたエクスペリエンスを含めるようにしてください。

特に、Apple Watchに最適に対応するために、距離限定のエクスペリエンスを含めることを意識してください。
ARKitでNearby Interactionを強化する方法としてのカメラアシストは以上です。では、次にアクセサリのバックグラウンドセッションに注目しましょう。

アクセサリ

現在、アプリでNearby Interactionを使用すると、ユーザーがアクセサリーまでの距離や方向に応じて、他のデバイスを指したり、友達を探したり、操作やその他のUIを表示させることができます。

しかし、アプリがバックグラウンドに遷移したとき、またはiOSとwatchOSでユーザーが画面をロックしたとき、アプリケーションがフォアグラウンドに戻るまで、実行中のNISessionsは中断されます。
つまり、アクセサリーとインタラクションする際には、ハンズオンのユーザーエクスペリエンスにフォーカスする必要がありました。

iOS 16から、Nearby Interactionはハンズフリー化されました。スマートスピーカーで部屋に入ると音楽再生を開始したり、eBikeに乗ると電源を入れたり、アクセサリーのその他のハンズフリーアクションのトリガーとしてNearby Interactionを利用できるようになったのです。

これは、ユーザーがアクティブにアプリを使用していないときでも、アクセサリーのバックグラウンドセッションを介して行うことができます。

エキサイティングな新機能を実現する方法

このエキサイティングな新機能を実現する方法について見ていきましょう。アクセサリで NISession を構成して実行する方法を少し復習してみましょう。この手順は、昨年のWWDCのプレゼンテーションで見たことがあるかもしれません。

アクセサリはUltra Widebandアクセサリの設定データをデータチャネル経由でアプリケーションに送信し、このデータからNINearbyAccessoryConfigurationを作成します。
NISessionを作成し、NISessionDelegateを設定して、アクセサリからウルトラワイドバンドの測定値を取得します。
NISessionを設定した状態で実行すると、セッションから共有可能な設定データが返され、アプリケーションと相互運用できるようにアクセサリを設定できます。
この共有可能な設定データをアクセサリに送り返すと、アプリケーションとアクセサリでウルトラワイドバンド測定値を受信できるようになります。
サードパーティ製アクセサリとのNearby Interactionの設定と実行に関する詳細は、昨年のWWDCセッションをご覧ください。

新しいバックグラウンドセッションをどのように設定するか

それでは、新しいバックグラウンドセッションをどのように設定するか見てみましょう。先ほどのシーケンス図では、アプリケーションとアクセサリーの間でデータが流れていました。

アクセサリーとアプリケーションの間の通信経路は、Bluetooth LEを使用するのが一般的です。Bluetooth LEを使用してアクセサリとペアリングすると、Nearby Interactionを有効にしてバックグラウンドでセッションを開始したり継続したりすることができます。

どのようにしてこれが可能になるのか、詳しく見ていきましょう。
現在、Core Bluetooth を使用して、アプリがバックグラウンドで Bluetooth LE アクセサリを検出、接続、およびデータ交換するように設定することができます。詳しくは、既存の「Core Bluetoothプログラミングガイド」または2017年のWWDCセッションをご確認ください。

Core Bluetoothによる強力なバックグラウンド操作を利用して、効率的にアクセサリを検出し、バックグラウンドでアプリケーションを実行することで、アプリケーションはバックグラウンドでUltra Widebandにも対応するBluetooth LEアクセサリとNISessionを開始することができます。

新しいモードを反映するためにシーケンス図

それでは、この新しいモードを反映するためにシーケンス図がどのように更新されるかを見てみましょう。

このアクセサリーと対話するには、まず、Bluetooth LEがペアリングされていることを確認します。そして、アクセサリーに接続します。

アクセサリがUltra Widebandアクセサリ構成データを生成すると、それをアプリケーションに送信し、Nearby Interaction GATTサービスに入力する必要があります(これについては、次に詳しく説明します)。

最後に、アプリケーションがアクセサリの設定データを受信したら、アクセサリのUWB設定データとBluetoothピア識別子の両方を提供する新しいイニシャライザを使用して、NINearbyAccessoryConfigurationオブジェクトを構築します。

この構成でNISessionを実行し、NISessionDelegateで共有可能な構成を受信してセットアップを完了し、共有可能な構成をアクセサリーに送信することを確認します。アクセサリーがBluetooth識別子とUltra Wideband設定間の関係を作成するためには、新しいNearby Interaction GATTサービスを実装する必要があります。

Nearby Interactionサービスは、Accessory Configuration Dataと呼ばれる単一の暗号化された特性を含んでいます。

これには、NINearbyAccessoryConfiguration オブジェクトの初期化に使用されたものと同じ UWB コンフィギュレーションデータが含まれています。
iOS はこの特性を使用して、Bluetooth ピア識別子と NISession の間の関連付けを確認します。
アプリがこの特性から直接読み取ることはできません。

この新しい Nearby Interaction GATT サービスの詳細については、developer.apple.com/ nearby-interaction で確認できます。

アクセサリーが複数のNISessionを並行してサポートする場合

アクセサリーが複数のNISessionを並行してサポートする場合、Accessory Configuration Dataのインスタンスを複数作成し、それぞれに異なるNISessionのUWBコンフィギュレーションを設定してください。
以上が、アクセサリ側で必要なことです。

実際にアプリケーションに実装するために必要なコード

では、実際にアプリケーションに実装するために必要なコードを紹介します。アクセサリーのバックグラウンドセッションは、アクセサリーがユーザーのiPhoneとLEペアリングされていることが必要です。
あなたのアプリケーションは、このプロセスをトリガーする責任があります。
これを行うには、アクセサリをスキャンし、接続し、そのサービスと特性を検出するメソッドを実装します。
次に、アクセサリの暗号化された特性の1つを読み取るメソッドを実装します。
これを一度だけ行う必要があります。
ユーザーにペアリングを受け入れるよう促すプロンプトを表示します。
アクセサリーのバックグラウンドセッションには、あなたのアクセサリーとのBluetooth接続も必要です。
アプリは、バックグラウンドでもこの接続を形成できる必要があります。
これを行うには、アクセサリへの接続を開始するメソッドを実装します。
アクセサリがBluetoothの範囲内にない場合でも、これを実行する必要があります。
そして、Core Bluetoothによってアプリが再起動された後に状態を復元するCBManagerDelegateメソッドを実装し、接続が確立されたときに処理します。

これで、アクセサリのバックグラウンドセッションを実行する準備が整いました。
アクセサリの UWB 設定データと CBPeripheral 識別子からの Bluetooth ピア識別子の両方を提供して、NINearbyAccessoryConfiguration オブジェクトを作成します。
その構成でNISessionを実行すると、アプリがバックグラウンドで実行されます。

Xcodeでアプリのために更新する必要がある設定

以上です。さて、もう1つXcodeでアプリのために更新する必要がある設定があります。
このバックグラウンドモードは、アプリのInfo.plistのUIBackgroundModes配列にあるNearby Interactionの文字列が必要です。
また、Xcodeの機能エディタを使用して、この背景モードを追加することができます。

また、アプリがバックグラウンドでアクセサリと接続できるように、「Uses Bluetooth LE accessories」が有効になっていることを確認する必要があります。

この新しいアクセサリバックグラウンドセッションに関する重要な注意事項が1つあります。アプリケーションがバックグラウンドにあるとき、NISessionは実行され続け、中断されないので、Ultra Wideband測定はアクセサリで利用可能です。
アクセサリ上でUltra Wideband測定値を消費し、動作させる必要があります。
アプリケーションはランタイムを受け取らず、アプリケーションがフォアグラウンドに戻るまでdidUpdateNearbyObjectデリゲートコールバックを受け取ることはありません。
この新しいバックグラウンドモードを使用する場合、以下のベストプラクティスを確認しましょう。

アクセサリとのLEペアリングをトリガーすると、ペアリングを受け入れるかどうかのプロンプトがユーザーに表示されます。
これは、ユーザーがアクセサリをペアリングしたい理由を直感的に理解できるタイミングで行います。

これは、アクセサリとの関係を作成するセットアップフロー中、またはユーザがアクセサリと対話することを明確に示したときでもかまいません。
アプリがバックグラウンド化されている間、NISessionは中断されませんが、didUpdateNearbyObjectデリゲートコールバックを受信しません。

しかし、アクセサリはUltra Wideband測定値を受信します。
これらの測定値をアクセサリで直接処理し、ユーザーに対してどのようなアクションを起こすべきかを決定します。

最後に、ユーザーへの通知を表示するなど、重要なユーザーインタラクションの間のみ、アクセサリからアプリにデータを送信することで、バッテリーの使用量を管理します。

バックグラウンド・セッションについて知っておくべきことは以上ですが、最後のトピックとして、サードパーティのハードウェア・サポートについてお話します。

サードパーティのハードウェア・サポートについて

本日、これまでベータ版として提供していた U1 互換の開発キットがベータを終了し、より広く利用できるようになったことをお知らせします。
対応するUltra Wideband開発キットの詳細については、developer.apple.com /nearby-interactionにアクセスしてください。

また、Nearby Interaction GATTサービスを含む新しいアクセサリーバックグラウンドセッションに対応するため、アクセサリーメーカー向けの仕様も更新し、同ウェブサイトで公開しています。

このセッションで話したことまとめ

それでは、このセッションでお話したことをまとめてみましょう。

Nearby Interaction には、ARKit と Nearby Interaction を緊密に統合し、ユーザーを近くのオブジェクトに誘導する空間認識体験をシームレスに作成できる、新しいカメラアシストモードが追加されました。

アクセサリのバックグラウンドセッションを使用すると、セッションをバックグラウンドに開始および拡張できるため、ユーザーに対してよりハンズオフな体験を構築することができます。

サードパーティと互換性のあるUltra Widebandハードウェアのサポートに関するエキサイティングなアップデートを発表しました。

今年のNearby Interactionのアップデートは以上です。デモをダウンロードし、更新された機能についてのフィードバックを提供し、更新されたサードパーティーの仕様を確認し、空間体験のある素晴らしいアプリを構築してください。

ありがとうございました。

--

--

Takuya Ichise
TAKUYA ICHISE

🗻Engineer, Maker 🎥http://youtube.com/@tichise