Mar. 7, 2024

Apple Vision Pro向けアプリ「SunnyTune」 開発の裏側。visionOSの開発制限をどう乗り越えた?

#Apple Vision Pro

■モックを作成しながらvisionOSの知見を蓄積

――「SunnyTune」開発の契機を教えていただけますか。

佐藤:MESONがApple Vision Pro向けのアプリケーションを開発することが決まり、どんなアプリケーションを作るか検討するために、まず「PKLauchPad」というプロジェクトが立ち上がりました。そのエンジニアがこの3人です。社内からPKLauchPadにアイデアを集めて、よさそうなものは一つひとつモックを作成し、実際に触ってみるという取り組みです。VRコンテンツは、アイデアの段階ではイメージのつかないことも多く、実際に作ってみると想像と触り心地や感覚が違う、という場合も多い。なので、コンパクトに作って試してみることが重要でした。
焚き火を眺めるリラクゼーションアプリやボードゲーム、空間オーディオの良さを生かしたオーケストラアプリ、ペットアプリなど、1か月で計5~6個のモックを作成しました。その中から、天気アプリに決めたという流れです。

――最終的に天気アプリに決まった理由は何でしょうか。

佐藤:モックを作って試していく中で「ながら使い」のコンセプトが良いのではないかと考えました。vision OSは、複数のアプリを起動しておき、マルチタスクができることが、これまでのVRデバイスと異なる大きな特徴です。何か作業をしている時に、横に置いておけるアプリケーションがいいのではという発想から、天気アプリのモックを作ってみたところ、感触がよかったのでそれをブラッシュアップしていくことになりました。


――Apple Vision Proの新OS「visionOS」での開発は、手探りの部分も多かったと想像します。モックアップ作成では、どんな気づきがありましたか。

佐藤:Apple Vision Proでできること、できないこと、得意なことを把握できたことは大きかったです。技術としては、Swift UIベース+RealityKitで開発していたのですが、本当に凝ったことをやろうとすると基本的な機能では足りない部分が出てきてしまう。例えば、Apple Vision Proには2Dのウィンドウが空間上に開く「ウィンドウモード」とユーザーが空間に没入できる「イマーシブスペースモード」があります。ハンドトラッキングはイマーシブモードでしか採ることができません。今回、SunnyTuneはウィンドウモードで起動できるようにしたかったので、ハンドトラッキングは使わない判断になりました。

進士:RealityKitがまだ整っていない部分や、残っている細かいバグの問題で、ボリュームレンダリングに制限がありました。UIついてはSwift UIが整っているので、3Dの表現に比べるとスムーズに構築できる印象を持ちました。
また、エンジニア全員でApple Vision ProのTipsデータベースを作っていました。1か月間毎日リレー形式で、機能を試してみて、その知見を記事として溜めていきました。その後も、SunnyTuneの開発を通して気づいたことはデータベースにログを残しています。今、45記事たまっています。

大田:このデータベースはかなり助けになりました。私はインターンで技術力に自信がない中で、自分の技術力不足でできないのか、仕様としてできないのか判断がつかないことが度々あったんですね。他の人が調べた情報を参照することでそれがクリアになったので、とても助かりました。

■前例がない中での技術選定・開発

――SunnyTuneの技術の構成について教えてください。

佐藤:Swiftを採用する前には、2つの選択肢があったんです。UnityのPolySpatialというvisionOS向けのライブラリを使うか、XcodeのSwiftを使うか、技術検証しました。ただ、PolySpatialは機能的に足りない部分が多かった。Apple Vision Proの特徴であるSpatial Audioが使えることや、イマーシブモードへの切り替えができることを考慮して、Swiftに決定しました。
また、天気アプリなので気象情報のデータを取得しているのですが、これは安定性の観点からAppleの提供する WeatherKitを使用しています。他にも、L-Systemを使って木の成長を表現しています。天気を感じるために何かしら変化するオブジェクトがほしかったので、木が成長する演出を入れようと思い、採用しました。


――先ほど、ハンドトラッキングなど身体情報の取得ができないという話がありましたが、SunnyTuneの開発にあたってぶつかった技術的な制約はありましたか?

進士:例えば、ボリュメトリッククラウドのような表現をしたかったのですが、技術的制約上難しく、他の方法でボリューム感がある雲の表現をどう実現するのか試行錯誤しました。
試したこととしては大きく二つです。一つは、RealityKitのパーティクルシステムでパーティクルを1000個出して、1個の点に対してランダムに広がることで、雲のテクスチャーを見せようとしました。もう一つは、メッシュを使ってもくもくした雲のような形状に影付けをすることで透明感のある雲を表現しようとしました。
ただ、ウィンドウモードではバーチャルライティングが使えないという問題があったため、光の表現を色の濃淡で表現する必要がありました。
前者のパーティクルシステムでは、1つのパーティクルは雲の全体像に対して自分がどの位置にいるのかわからないため、明るくなればよいのか暗くなればよいのかわかりません。パーティクルを雲の上部・中間・下部に分けて、上を明るく、下を暗くする方法も試しましたが、パーティクル同士が相互に位置関係を把握できないので上手くいきませんでした。
また後者の、影をつける方法においても、シェーダーの制約にぶつかりました。

佐藤:影を表現するためには、提供されているシェーダーグラフの、ノードベースでの表現しかできなかったんですね。細かい雲の表現をシェーダーグラフだけで実装するのは難しいため、断念しました。

進士:最終的には、平面上に雲を描画する形になりました。SunnyTuneの球体上の空が少し白くなることで雲を表現しています。雲の割合が増えると、真っ青だったバックグラウンドに白い範囲が増えていくイメージです。



――今後は、visionOSやRealityKitの進化によって三次元的な表現に再挑戦することも考えられますか?

佐藤:そうですね。パーティクルシステムが整備されたら実現できると思いますし、実際にAppleに改善要望も出しました。

進士:visionOSの強みは「UIや現実に対するなじませを勝手にやってくれる」という部分だと思います。ただそうすると開発者からはいじれないようにブロックされてしまっている。簡単なものを作る際には便利でリアルになりますが、少しアレンジを加えたい場合は難しさが増してしまいます。今visionOSの中でやってることを適度に公開してほしいという期待があります。

■Apple Vision Proのアプリケーション開発で重視すべきこと

――制限の多い状況の中でも、試行錯誤を重ねてコンセプトを実現するのがMESONの開発の特徴だと感じました。

大田:アイデアや議論が活発に飛び交う環境なので、そういった試行錯誤がしやすいのだと感じます。間違った方向に進みそうなときも誰かが「これはちょっと変えた方がいいんじゃない」という意見を出すことができる。

進士:技術的な制約があったときに別のアイデアが出てきて、しかもその代替案がちゃんと「イケてる」のがMESONらしいと思います。その前段階では技術的にどこまで実現できて、何を諦めるのか判断する必要がありますが、ここに難しさを感じました。私は諦めすぎてしまった場面もあったのですが、佐藤さんが「こうやったらできるよ」と気づいてくれたんです。その上で本当に技術的にできない部分を優れたアイデアで補うので、筋の通ったアプリケーションになったと思います。

佐藤:エンジニアだけでなくデザイナーやプランナーを含めて、「いいものにしよう」という文化がMESONにはあります。自分の仕事だけするのではなく、いい作品にするためにみんなが意見を出す文化が根付いていると思いますね。

――最後に、Apple Vision Proのアプリケーションを開発される方が今後増えていくと思います。その際に重要になる考え方や意識するべき点について教えてください。

佐藤:Apple Vision Proにおいて何が正解かは、まだわからないと思うんです。その中でわれわれは「ながら使い」のアプリケーションが使われやすいのではないかという予測を立てました。周辺視野を使えることが、これまでの2Dのアプリケーションと大きく違う部分です。SunnyTuneは視界の端に置いておいて、注視せずとも天気を感じることができるというコンセプト。その辺りを活かしたコンテンツを意識するのがよいと思いますね。

進士:Apple Vison Proでは現実もリアルに見えるので、同時に見えるオブジェクトも「本当にそこにあるような現実とのなじみ」が感じられます。これはSunnyTuneの成果物を体験して感じたことです。今までのVRはローポリのイメージがありましたが、それらとは全く違う。アプリのトンマナも、現実により近い表現を深めることが大事かなと思います。

大田:現実とのなじみを大事にしたいと思いつつ、現実世界で取れる情報やデータのうち、開発に活用できるものがまだ少ない印象です。プライバシーの問題もあるので難しい部分はあると思いますが、自然に馴染ませるために活用できるといいなと思っています。今後の流れに期待したいです。


■SunnyTune-----------------------------------
Apple社の空間コンピュータ「Apple Vision Pro」向けの自社プロダクト、天気体感アプリ「SunnyTune」をリリースしました。アプリはアメリカ合衆国のApp Storeよりダウンロード可能です。
「SunnyTune」を利用すると、目の前に小さな空間が現れます。この空間の天気は現実世界の天気と連動しており、ユーザーの現在地の天気と同じように変化します。雨が降り始めると雨粒の光景を楽しんだり、風に揺れる植物の音をこの空間を通じて聞く。というように、天気を質量のある情報として表現し、目と耳で天候の変化を感じることができます。
また、「SunnyTune」は他のアプリとの併用できるように設計しており、ブラウザアプリで調べ物をしながら雨音を楽しんだり、作業の合間にふと気になったタイミングで天気を体験するといった使い方ができます。

App Store URL
https://apps.apple.com/app/sunnytune-sensory-weather-app/id6473759577

イメージ動画 URL
https://www.youtube.com/watch?v=p7cZMnzrDNI

MESONは人類の体験と可能性を拡張する、XR Creative Companyです。AR/VRを軸にメタバースやWeb3が掛け合わさる領域に注力し、R&D活動やサービス開発に取り組む会社です。

Get in Touch

150-6090 東京都渋谷区恵比寿4-20-4 恵比寿ガーデンプレイス グラススクエアB1 PORTAL POINT -Ebisu- G1

Google Maps

© MESON, inc. 2022 All rights reserved.

Privacy Policy

|

MESON