etc / レポート

WWDC23:Platforms State of the Union

※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。

Platforms State of the Union

Platforms State of the Union

WWDC23において「Platforms State of the Union」が公開され、Appleのインターネットテクノロジー&ユーザープライバシー担当ヴァイスプレジデントDarin Adler氏は、優れたプラットフォームと優れたアプリケーションとは何かについて話した。

優れたプラットフォームとは、フレームワークやテクノロジーの集合体ではなく、本当に特別なものを作るための重要な材料で、言語、フレームワーク、ツール、サービスがシームレスに連携し、コードを書くのに最も自然な方法で、最高のものができるように作られています。

豊富なAPIのセットにより、アプリがオープンであるかどうかにかかわらず、システムと深く統合した素晴らしい体験を作ることができます。さまざまな製品で最先端のハードウェア技術を安全に活用できるよう、配慮されています。そして最後に、優れたプラットフォームは、新しい課題に合わせて進化していくので、ユーザーのニーズが生まれたときにすぐに対応することができます。

300を超えるフレームワークが搭載されたプラットフォームは、アプリの革新性、創造性、差別化を実現するためのビルディングブロックです。フレームワークは、単に時間を節約したり、特定の機能を追加するのに役立つだけではありません。目的を持ってプラットフォームの土台を使うことで、あなたのアプリは美しくフィットし、システムそのものを拡張することができます。これこそが、優れたアプリへの道なのです。

優れたアプリは、適切な情報を適切なタイミングで適切な場所にユーザーに届けることができます。その場所とは、シェアシート、ロック画面、Spotlight、Siriなど、さまざまな場所で、優れたアプリケーションは、新しいセンサーやパワフルなチップなどのハードウェアを活用し、その機能を指先で操作できるようにするフレームワークの助けを借りています。

また、優れたアプリは、ユーザーのプライバシーを尊重した安全でアクセスしやすい製品を作るなど、正しく機能させることが非常に重要な役割を担っていて、私たちのプラットフォームとあなたのアプリは、人々が価値を認め、期待する一貫性と信頼性をもって、これらすべてを提供するために一体となっています。

そして、これは大きな問題です。私たちは、優れたプラットフォームと優れたアプリに強い情熱を持っています。ユーザーの皆さんは、これらの違いがわかるはずです。iOS、iPadOS、macOS、tvOS、watchOS、そして現在のvisionOSの共有基盤は、Appleのあらゆるプラットフォームと製品にあなたのアプリケーションを提供できる、まとまりのあるエコシステムを形成しています。

あなたのアプリケーションは、このエコシステムの鍵を握っています。アプリケーションは、デバイス間でシームレスに移動する使いやすいエクスペリエンスによって、人々の日常を豊かにします。Appleでは、自分たちが使いたいものを自分たちで作るということをよく口にしますが、プラットフォームに対する私たちのアプローチも、これ以上ないほど真実です。なぜなら、私たちもデベロッパーだからです!Appleでは、同じ言語、ツール、フレームワークを使っていますと話した。


Swift Macros

Swift Macros

Swift Languageエンジニアリング担当マネジャーHolly Borla氏は、Swiftは高速でモダン、そして安全で、効率的で表現力豊かな正しいコードへと導いてくれます。APIによって、あなたはライブラリやプラットフォームの機能を活用し、あなたのアプリに固有の経験を作成することができます。しかし、一部のAPIは使いにくく、始めるだけで多くの定型的なコードを書かなければならないことがあります。だからこそ、Swiftは「Swift Macros」の導入により、より使いやすく、より簡単に正しく使える新しい種類のAPIを解き放つことができると説明した。


SwiftUI

SwiftUI

Swift Frameworks担当シニアディレクターJosh Shaffer氏は、SwiftUIで構築できるものは、拡大し続けています。いつものように、今年のリリースにおけるその新しい機能は、Swift Chartsにおける円グラフと選択の新しいサポート、全く新しいインスペクターAPI、オーバーレイ、ルックアラウンドなどを含む拡張MapKitサポートのように、高い影響とトップ開発者のリクエストの領域に焦点を当てています。

これらの改善は、幅広い機能をカバーしていますが、その多くはアニメーションの改善に重点を置いています。なぜなら、優れたデザインのアニメーションは、インターフェイスを使いやすくしてくれるからです。

アニメーションは、ユーザーに何かが起こっていることを知らせるためのフィードバックになります。あるいは、タスクが正常に完了したことを確認することができます。

SwiftUIは、ジェスチャーの速度を自動的にアニメーションに転送し、スムーズな移行を提供することができます。そして、アニメーションは、持続時間とバウンスという2つの簡単なパラメータで設定できるスプリングベースのモーションがデフォルトになりました。

SwiftUIは、SFシンボルの新しいアニメーション効果を利用することもでき、アプリ内のアイコンに命を吹き込むことができます。最後に、マルチパートアニメーションを構築する必要がある場合、SwiftUIにはAnimationPhaseという新しいAPIがあり、わずか数行のコードで洗練されたアニメーションを構築するのに役立ちます。


SwiftUIベースのMapKit API

SwiftUIベースのMapKit API

さらに高度なアニメーションのために、今年のSwiftUIはキーフレーミングの完全サポートを追加しました。

この強力なAPIは、新しいSwiftUIベースのMapKit APIのプロパティを含む、あらゆるものをアニメーション化することができます。

キーフレームは、アニメーション内の特定の時間に複数のプロパティの値を定義し、そしてSwiftUIに中間値を補間させることができます。


WidgetKit/App Intents/TipKit/AirDrop

WidgetKit/App Intents/TipKit/AirDrop

システムエクスペリエンス担当シニアマネージャーJonathan Thomassian氏は、WidgetKitを使えば、システム内のさまざまな場所でコンテンツを表示することができます。App Intentsを使えば、アプリの機能がよりシームレスにシステムに統合されます。TipKitを使えば、美しいヒントを直接アプリに表示することができます。また、AirDropを使えば、ユーザーが近くにいる人とコンテンツを共有するのがさらに便利になると説明した。


WidgetKit

WidgetKit

iOS 17にリビルドしたら、ほんの少しの簡単な変更で、既存のウィジェットがiPhoneのStandByで豪華に見えるようになります。

ウィジェットは拡大され、端まで描かれ、背景が取り除かれるので、並べて見ても美しいです。また、iPadのロック画面でも、背景が取り除かれ、エッジが立った状態で表示されます。こちらも背景を消して端に寄せ、ロック画面と完全に調和するような統一感のあるビジュアルになります。

macOS Sonomaでは、デスクトップ上でフルカラーで表示され、ウィンドウにフォーカスが当たると背景に隠れます。さらに、インタラクティブ機能を新たにサポートすることで、ウィジェットをより便利に使えるようになりました。


App Intents

App Intents

App Intentsは、単にウィジェットのインタラクティブ性を高めるだけではなく、Spotlight、ショートカット、Siriなど、システム全体であなたのアプリケーションの機能を向上させます。

インテントをApp Shortcutにまとめると、Spotlightの結果でアプリアイコンのすぐ隣に表示され、よりリッチでインタラクティブなプレゼンテーションができるようになります。

アプリのショートカットは、アップデートされたショートカットアプリケーションに表示され、ユーザーは自動的に実行するように設定したり、ホーム画面に追加したり、独自のショートカットを作るために使用したりすることができます。

Siriもさらに進化しています。ショートカットを呼び出すための自然な言語表現がより柔軟になりました。


TipKit

TipKit

毎年、私たち開発者は、ユーザーが喜ぶと思われる機能の構築に時間を費やしますが、最も恩恵を受けるはずのユーザーが、その機能の存在を知らないことがあります!

TipKitと呼ばれる新しいフレームワークは、適切な機能を適切なタイミングでユーザーに知らせることで、この問題に対処するのに役立ちます。

TipKitには、ユーザーがシステムアプリで見慣れたものに合わせたテンプレートが用意されており、アプリのルック&フィールに合わせて簡単にカスタマイズできます。TipKitのパワーは、そのターンキー性にあります。

テンプレートをカスタマイズし、ターゲティングを追加するだけで、現在のコンテキストに関連した機能をユーザーに教育することができます。また、全体の頻度を管理することで、ユーザーが別のデバイスで見たとしても、すでに見たことのあるTipを表示しないようにすることができます。


AirDrop

AirDrop

最後に、AirDropを使ってユーザーがアプリのコンテンツを共有できるようにする、楽しい新しい方法を紹介します。

iOS 17では、あなたのユーザーは共有シートをスキップして、近くにある別のデバイスに素早くコンテンツを送ることができます。

SwiftUIでShareLinkを使用するか、アプリのUIKitビューコントローラーでactivityItemsConfigurationを採用することができます。そして、ShareSheetやQuickLookのようなシステムが提供するViewControllerは、すでにデフォルトで動作しています。


Game Porting Toolkit

Game Porting Toolkit

カメラソフトウェア担当ディレクターBrandon Corey氏は、macOS Sonomaのゲームモードは、Macでのゲームをより良いものにするとし、Macがかつてないほど普及している今、あなたのゲームを何百万人もの新しいプレイヤーに届けるのに、これ以上ない好機です。

Windowsやゲーム機向けにゲームを開発している開発者であれば、3つの簡単なステップで開発を大幅に加速する新しいGame Porting Toolkitを使用すれば、Macにゲームを持ち込むのがこれまで以上に簡単になることがわかります。

まず、提供されるエミュレーション環境を使って、既存のWindowsゲームがMacでどの程度動作するかを評価することができます。これにより、ゲームの潜在的なパフォーマンスを即座に分析することができ、数ヶ月に及ぶ先行作業を省くことができます。


Metal Shader Converter

Metal Shader Converter

第2ステップでは、シェーダーの変換とコンパイルを行います。Game Porting Toolkitには、新しいMetal Shader Converterが含まれており、これを使用すると、ジオメトリ、テッセレーション、メッシュ、レイトレーシング段階などのゲームの高度なシェーディングパイプラインを含め、既存のHLSL GPUシェーダをすべてMetalに自動的に変換できます。

このツールは、Xcodeでゲームを構築しているときにも、シェーダーコンパイルのためのWindowsベースのカスタムツールチェーンでも使用できます。


Metal

Metal

ステップ3では、グラフィックスコードの変換とゲームの最適化を行います。

Metalは、現代のハイエンドゲームで使用される高度なグラフィックスと計算機能をすべて提供するため、グラフィックスコードの変換は驚くほど簡単です。また、Xcodeに統合された強力なグラフィックスパフォーマンスとデバッグツールは、ゲームを完全に最適化するために必要なすべてのガイダンスを提供します。

これらのツールを使って、Appleシリコンの驚異的な性能と、強力なグラフィックス、ディスプレイ、オーディオ、入力、ゲーム技術を活用し、あなたのゲームをこれまでよりも劇的に速くMacに提供することを、私たちは待ち望んでいます。


AVCapture

AVCapture

AVCaptureは、クリエイティビティから生産性、ソーシャルメディア、そして健康まで、あらゆるカテゴリーのiOSアプリケーションの3分の1以上で使われており、今年、強力なパフォーマンスの向上が図られました。

ゼロシャッターラグでは、シャッターが押された瞬間を正確にキャプチャします。

オーバーラップキャプチャでは、シャッターが急激に押されたときにカメラが画質を動的に調整します。

また、ディファード・プロセッシングでは、Deep Fusionを含む高品質な画像をバックグラウンドで処理することが可能です。

これらの改善により、高画質な画像を撮影しながらも、iOSまたはiPadOSアプリでシャッターを押す間のショット・トゥ・ショット時間が最大で3倍速くなります。さらに今年の後半には、ボリュームボタンと上下ボタンでカメラのシャッターを切ることもできるようになります。


HDR写真

HDR写真

アプリでの写真の表示についても大きなニュースがあります。近年、iPhone、iPad、Macをはじめ、HDR対応のディスプレイが広く普及しています。

HDR撮影では、ダイナミックレンジをさらに拡大して撮影することで、明るいハイライトや暗いシャドウを、これまで以上に忠実に、まるで実際に体験したかのようにリアルに表示することができるメリットがあります。

Appleは、iPhone 12以降で撮影された何兆枚ものHDR写真で、HDR写真を主流にしたリーダーです。そのために、カメラアプリはシーンをインテリジェントに分析し、キャプチャ時にハイライトとシャドウのデータを追加で保存します。

しかし、HDRビデオには業界標準がありますが、HDR写真の保存と表示には標準がなく、そのため、HDR写真の扱いは困難でした。しかし、今年、その状況は一変します。


ISO HDR Specification

ISO HDR Specification

Appleは業界全体の取り組みを推進し、HDR写真のエンコードと表示に関する仕様を策定し、先ごろ国際標準化機構で承認(ISO/TS 22028-5)されました。

iOS、iPadOS、macOSの「ISO HDR API」として提供され、数行のコードで対応する写真をアプリケーションで表示できるようになりました。これは、写真に限らず、画像を表示するすべてのアプリにとって大きなニュースです。

ジェネレーティブ・コンテンツのアプリは、これを利用して、余分なダイナミックレンジを持つ画像をポップにすることができます。つまり、キャプチャから編集、共有まで、完全なHDRワークフローが可能になり、撮影者が体験したように、誰もがHDRの輝きを楽しむことができるようになるわけです。


ScreenCaptureKit

ScreenCaptureKit

ビデオ会議やクリエイティブなアプリなど、最近はカメラを装着している時間が長くなっています。

私たちは、この新しいリアクション、ジェスチャー、プレゼンターのオーバーレイ効果のように、ビデオ照明と効果に投資し続けてきました。これらのエフェクトは、あなたが受け取るカメラフィードに組み込まれているので、あなたのアプリの中でだけ機能します。

アプリは、これらのエフェクトが呼び出されたときに観察することができ、そのユーザーのタイルを宣伝して、リアクションしたことをみんなに見てもらうなど、追加のアクションを実行することができます。

ビデオ会議アプリをお持ちの方は、ScreenCaptureKitの画面共有とカメラ機能に多くの改良が加えられています。


iPadで外付けカメラをサポート

iPadで外付けカメラをサポート

ScreenCaptureKitのもう一つの利点は、単一のウィンドウを共有する際に、より見栄えの良い画面共有のための高解像度コンテンツです。

また、iPadで外付けカメラをサポートするようになりました。あらゆるUSBカメラを接続し、iPadアプリ内で使用することができるようになりました。


tvOSのContinuity Camera

tvOSのContinuity Camera

そして、全く新しいプラットフォームであるtvOSにカメラとマイクの機能を追加することができます。

tvOSのContinuity Cameraを使えば、iPhoneやiPadを活用して、tvOSアプリにビデオとオーディオを初めて統合することができます。また、リビングルームを舞台に、アプリで素晴らしいことができる可能性が大いにあります。

例えば、会議アプリケーションはCenter Stageを使うことで、家庭で一番大きなスクリーンでグループビデオ通話をよりダイナミックにすることができます。

ゲームでは、カメラやオーディオフィードを直接アクションに組み入れることができます。クリエイティブなアプリケーションでは、ポートレートモードやその他の楽しいエフェクトを適用しながら、ビデオのストリーミングや録画ができます。


watchOS 10

watchOS 10

watchOSシステムエクスペリエンス担当シニアマネージャーLori Hylan-Cho氏は、watchOS 10ではページネーションに再び焦点が当てられていると話します。

Vertical TabViewではページサイズを変更することができ、貴重なコンテンツのためのスペースを犠牲にすることなく、アプリ内でスクロールするためのクラウンを有効に活用することができます。

新しいcontainerBackgroundモディファイアを使えば、ユーザーがアプリ内のどこにいるのかを理解しやすくしたり、データをより見やすくするために、読みやすいグラデーションフィルで色を使うことができます。


CoreMotion API

CoreMotion API

アプリからフィットネスプランを共有できる新しいCustom Workout APIや、ゴルフやテニスなどのスポーツのスイング解析の向上に役立つ、より忠実なモーションと加速度計データの取得を可能にする新しいCoreMotion APIを使って、Apple Watchのフィットネストラッキング機能をユーザーに活用していただくことができます。

また、CoreMotion APIは、ゴルフやテニスなどのスポーツのスイング解析を向上させるために、より忠実な動きと加速度センサーのデータを取得できるようにします。


アニメーション画像の一時停止

アニメーション画像の一時停止

アクセシビリティ担当シニアマネージャーChris Fleizach氏は、今年は、アニメーションやフラッシュライトに敏感なユーザーへのサポートを拡充していると説明し、このようなユーザーにとって、アプリ内のコンテンツをより利用しやすくするための2つの機能のAPIを備えています。最初の機能は「アニメーション画像の一時停止」で、SafariやメッセージなどのアニメーションGIFの動きを停止させます。

しかも、アプリに追加するのは簡単です。SwiftUIでTimelineViewを使って一連の画像をアニメートしているとします。新しい環境プロパティを使用して、ユーザーがアニメーション画像の一時停止を好むかどうかを理解し、もしそうなら、アニメーション画像を静止画像に置き換えて、その選択を尊重することができます。


Dim Flashing Lights

Dim Flashing Lights

2つ目の機能は「Dim Flashing Lights」で、明るく点滅する光のシーケンスの間、ビデオの表示を自動的に暗くするものです。

AVFoundationのビデオレンダリングパイプラインに、点滅する要素を識別して暗くする新しいフェーズが追加されました。AVFoundationを使用してアプリでメディアを再生する場合、この機能をサポートするための余分な作業は必要ありません。しかし、アプリがカスタムメディアプレーヤーを使用している場合、新しいAPIを使用して、点滅するビデオコンテンツを識別し、自動的に暗くすることができます。

この機能の背後にあるサイエンスを理解できるように、アルゴリズムをオープンソース化しています。


プライバシー

プライバシー

ユーザープライバシーソフトウェア担当シニアマネージャーKatie Skinner氏は、カレンダーのアクセス許可について説明します。

多くの場合、あなたのアプリはカレンダーへの読み取りアクセスは必要なく、新しいイベントを書き込むだけでよいことが分かっています。このような場合のために、私たちは新しい追加専用パーミッションを作成しました。これにより、必要なアクセス権を得ることができ、ユーザーは納得のいくプロンプトを得ることができます。

また、写真では、ユーザーがアプリに写真を提供する際に、共有する写真を選択するか、自分のライブラリ全体へのアクセスを提供するか、2つの選択肢を用意しました。私たちは、ユーザーがアプリで共有する写真をより簡単に選択できるようにしたいと考えました。そうすれば、あなたは必要なものを正確に入手でき、ユーザーは意図したものだけを共有できます。


StoreKit

StoreKit

App Store担当シニアプログラムマネージャーChris Markiewicz氏は、StoreKitをさらに進化させ、Human Interface Guidelinesのベストプラクティスを用いて、すべてのプラットフォームでアプリの商品化UIを強化する新しいビューのコレクションを提供します。

SwiftUIの宣言的な構文を使って、あなたは商品化体験を作ることができ、StoreKitが残りの部分を処理します。ProductViewでは、App Store Connectで定義したデータを使って商品を表示することができます。アプリのルック&フィールに合うように簡単にカスタマイズできます。

SubscriptionStoreViewは、サブスクリプションのために作られたビューです。わずか1行のコードで、各レベルのサービスの説明、価格、期間がユーザーに明確に表示されます。


SKAdNetwork 5

SKAdNetwork 5

広告がどのようにユーザーをアプリに呼び戻すかを理解することが重要です。
SKAdNetwork 5では、リエンゲージメントを測定することができます。ユーザーがアプリをダウンロードした後のコンバージョン計測に加え、広告をタップしてアプリを開いた後のコンバージョン計測も可能になります。

バージョン5は、今年後半にリリースされるiOS向けリリースで利用可能になる予定です。

アプリ内課金とSKAdNetworkの新機能は、ユーザーのプライバシーを尊重しながら責任を持ってビジネスを成長させ、ユーザーに透明性と安心感を与えることができます。


Xcode 15

Xcode 15

Xcode&Swift Playgrounds担当シニアマネージャーKen Orr氏は、Xcode 15では、優先順位付けのために周囲のコードを使用するエディタで、最も関連性の高い補完から始めることができます。また、Xcodeは、アセットカタログリソースのシンボルを自動的に生成するので、コード補完で表示され、コードで使用しやすくなります。つまり、コード補完で表示され、あなたのコードで簡単に使用できるのです。

Xcode 15では、プレビューは、より使いやすく、さらに多くの場所で利用できるようになりました。これは、Swift Macrosを使用して構築された、書くのが簡単で覚えやすい新しい構文から始まります。

異なるプラットフォームやデバイスでの作業がより簡単になりました。キャンバス上でそれらを選択できるので、あなたのビューがどこでも美しく見えることを確認できます。


visionOS

visionOS

テクノロジーデベロップメントグループ担当ヴァイスプレジデントMike Rockwell氏は、Apple Vision Proの発売は、空間コンピューティングにおける共に歩む旅の始まりを意味します。

これまで可能だと理解していたことを超えて、つながること、生産的であること、楽しむことの意味を再想像することができるようになりました。

Vision Proには、画期的なテクノロジーが数多く搭載されています。あなたのアプリは、ユーザーの空間と相互作用し、部屋にシームレスに溶け込む新しい要素を利用することができます。

これはすべて、あなたがすでに知っている強力なテクノロジーを使って可能です: SwiftUI、RealityKit、ARKitは、現在visionOS用に拡張されています。


visionOS:共有スペース

visionOS:共有スペース

visionOS担当シニアディレクターGeoff Stahl氏は、Vision Proは、アプリ体験の可能性を再考することを可能にします。どのようなアプリを作るにせよ、それが3Dで、ユーザーの空間にどのように存在するかを理解する必要があります。それが、開発者としての判断材料になります。

この理解によって、Vision Proの機能を活用することができ、これまで不可能だった方法で、アプリに焦点と没入感を与えることができます。

デフォルトでは、アプリは共有スペースに起動します。共有スペースは、Macのデスクトップ上の複数のアプリケーションと同じように、アプリケーションが並んで存在する場所です。

ユーザーは、アプリを好きな場所に配置し直すことができます。スペース内で使用できる要素について、まずはおなじみのウィンドウから説明しましょう。

visionOSでは、アプリは1つ以上のウィンドウを開くことができ、それはSwiftUIのシーンであり、あなたが期待するように、空間内の飛行機として動作します。それらは、従来のビューとコントロールを含むことができ、さらに、3DオブジェクトとRealityViewsをサポートし、3Dコンテンツが2Dコンテンツと一緒に座ることができます。

Vision Proは、いくつかの異なる種類のアプリをサポートしています。既存のiPadやiPhoneのアプリがサポートされ、それぞれオリジナルのルック&フィールでスケーラブルな2Dウィンドウとして使用できます。しかし、それは可能性の始まりに過ぎません。

visionOSはiPadOSやiOSに似ており、同じ基礎的なフレームワークが多数含まれています。ユーザーインターフェイスを構築するためにSwiftUIとUIKitを、3Dコンテンツ、アニメーション、視覚効果を提示するためにRealityKitを、ユーザーの周りの空間を理解するためにARKitを使用します。

これらはすべて、visionOS SDKの一部です。では、あなたのアプリをVision Proにするためには、何が必要なのでしょうか?まず、Xcodeで、プロジェクトにvisionOSのデスティネーションを追加します。これで、再構築するときに、あなたのアプリは自動的にいくつかのとてもクールな改良を受けることができます。


visionOS

visionOS

visionOS App担当ディレクターEnrica Casucci氏は、visionOSでは、多くのフレームワークが空間体験をサポートするために拡張されました。SwiftUIでは、深度を追加したり、ウィンドウの中に3Dオブジェクトを追加したりできるようになりました。

iOSやMacOSでは、ビューを重ねるためにZStackを使うのが一般的ですが、visionOSではさらに進んで、奥行きで分離することができます。これにより、2次元のアプリに3次元の感覚を与えることができます。

新しいz-offset view modifierを使えば、UI要素に微妙な奥行きの変化を加えることができます。

オフセット値を高くすると、低い値を持つビューの前にビューが表示されます。また、選択項目の詳細を表示する場合など、強調表示やモダリティの変更を示すために使用することができます。

さらにビューモディファイアを追加することで、幅、高さ、奥行きをより自由にコントロールすることができます。Vision Proでは、ジェスチャーでさえも、追加されたスペースを意識しています。私たちは皆、画面上でオブジェクトをドラッグすることに慣れています。

今、人々は物理的な空間のどこでもオブジェクトを動かしたり回転させたりできるようになるでしょう。また、SwiftUIでボリュームを作成することもできます。

あなたのアプリは、SwiftUIシーンでもある3次元ボリュームを作成し、ゲームボードや地球儀のような3Dオブジェクトを表示することができます。

ボリュームは、この空間の中を移動し、あらゆる角度から見ることができます。場合によっては、ユーザーがビデオを見たり、ゲームをしたり、プレゼンテーションのリハーサルをしたりするために、アプリの没入のレベルをよりコントロールしたいかもしれません。この場合は、専用のフルスペースを開き、アプリ、ウィンドウ、ボリューム、3Dオブジェクトだけをユーザーの視界に表示させることができます。

これが、空間コンピューティングの基本的な要素であるウィンドウ、ボリューム、スペースです。

ウィンドウ、ボリューム、スペースという空間コンピューティングの基本要素によって、没入感の連続に対応するアプリケーションを構築するための柔軟なツールセットが提供されます。


Dynamic foveation

Dynamic foveation

visionOS担当シニアエンジニアリングマネージャーEdwin Iskandar氏は、ダイナミックな3Dモデル、アニメーション、視覚効果のフルシーンでアプリを拡張する準備ができたら、RealityKit-空間体験をレンダリングするためにゼロから作られたAppleの3Dレンダリングエンジンを使いたいと思うでしょう。

私たちは2019年にRealityKitとSwiftUIを独立したフレームワークとして一緒に導入しました。

Apple Vision Proでは、これらが深く統合されているため、シャープで応答性の高い、ボリューメトリックなインターフェースを構築することができます。

3DコンテンツはSwiftUIのビューとステートにバインドでき、2Dと3Dのビジュアル要素をシームレスに結合することができます。

RealityKitは、物理的な照明条件に自動的に調整し、床やテーブルに影を落とすことで、体験を現実に基づかせることができます。これにより、あなたのアプリはまるで部屋の中にあるかのように見えます。

Apple Vision Proでは、Dynamic foveationと呼ばれる技術を使うことで、レンダリングがさらに効率化されています。

RealityKitはアイトラッキングを活用して、ユーザーが注目している領域を選択的に非常に高い忠実度でレンダリングするため、周辺部のコンテンツのレンダリングコストを削減し、アプリケーションがデバイスの処理能力を最大限に発揮できるようにします。

RealityKitは、反射率や金属性などの物理特性を指定することで、3Dモデルを驚くほどフォトリアリスティックにレンダリングします。デフォルトでは、RealityKitは、その照明が物理的な部屋の照明条件に接続されるように仮想コンテンツをレンダリングします。

創造的な意図に基づいてリアルさをカスタマイズしたり、さらに拡張したい場合は、画像ベースの照明アセット(IBL)を提供して、見た目を個性的にすることができます。


MaterialX

MaterialX

RealityKitは、マテリアルのオーサリングに、映画、視覚効果、エンターテインメント、ゲームの大手企業が使用するサーフェスおよびジオメトリシェーダーを指定するためのオープンスタンダードである「MaterialX」を採用しました。業界をリードするさまざまな制作ツールでMaterialXが幅広くサポートされているため、シェーダーを書くのが非常に簡単になりました。

MaterialXでは、シェーディングプロパティを定義することで、個々のマテリアルの外観をデザインし、迅速に反復することができます。マテリアルのリポジトリがあり、そこから選ぶことができます。また、HoudiniやMayaのように、独自のカスタムシェーダーを作成するために使用できる便利なツールもあります。


Xcode 15

Xcode 15

visionOS担当シニアエンジニアリングプログラムマネージャーThessa Buscar-Alegria氏は、Vision Proのアプリを作り始めると、フレームワークだけではないことがわかると思います。

開発者ツールもvisionOSをサポートするためにアップデートされました。他のプラットフォームと同様に、XcodeはVision Proの開発体験の中心にあります。既存のプロジェクトにvisionOSのデスティネーションを追加したり、このプラットフォームのユニークな機能に特化した全く新しいアプリを構築したりすることができます。

アプリを構築する最初のステップは、2Dと3Dの両方のコンテンツで正しい外観を得ることです。Xcode Previewsを使えば、エディタを離れることなく、外観を素早く反復することができます。

アプリ全体のテストを開始する段階になったら、シミュレータに移動して、アプリを実行し、デバッグするための強力な環境を提供します。シミュレーターでは、キーボード、トラックパッド、互換性のあるゲームコントローラーを使って、シーンを移動したり、見回したりすることができます。

また、システムのジェスチャーをシミュレートすることで、アプリと対話することができます。また、シミュレーターには、昼と夜の照明条件を備えた3種類のシミュレーションシーンが用意されており、アプリを視覚化するのに役立ちます。

Vision Proを使った開発では、デバイス上でアプリをビルドして実行し、動作を確認することになります。


Reality Composer Pro

Reality Composer Pro

visionOS Tools担当シニアエンジニアリングマネージャーJason Cahill氏は、太陽系を巡るサンプルプロジェクトの1つに取り組んでいます。3DコンテンツがVision Proで美しく見えるようにしたいので、これからReality Composer Proを使って更新していきます。

まず、3Dモデリングアプリケーションで作成した衛星モデルと画像をインポートすることから始めます。このモデルは、細部まで作りこまれていますが、マテリアルはありません。

Reality Composer Proでカスタムマテリアルを作成し、それをカスタマイズできるShader Graphにジャンプしてみます。簡単な画像や関数ノードを追加して、オブジェクトの見た目を変えるのは、コードに触れる必要がなく、簡単で楽しい。また、シェーダーを手打ちすることによるコンパイラーエラーも発生しないので、いろいろ試してすぐに結果を見ることができます。

他のノードについても、これを繰り返していきます。Vision Proでは、いつでも自分の作品をプレビューすることができます。スケールを変えたり、動かしたり、回転させたりして、思い通りに見えるか、感じられるかを確認することができるのです。


UnityのシニアヴァイスプレジデントRalph Hauwert氏

UnityのシニアヴァイスプレジデントRalph Hauwert氏

UnityのシニアヴァイスプレジデントRalph Hauwert氏は、visionOSのための深い統合でAppleと協力できたことは、本当にエキサイティングでした。現在では、Unityの堅牢で使い慣れたオーサリングツールを使って、新しいvisionOSのゲームやアプリを作成することができます。

また、Unityで作成した既存のプロジェクトをVision Proに持ち込んで、この新しいプラットフォーム向けに体験を再構築することができます。

アプリは、AR FoundationのようなおなじみのUnity機能に加えて、高解像度パススルーやDynamic Foveated Renderingなど、visionOSのすべての利点にアクセスすることができます。

また、UnityとvisionOSの間のこの深い統合により、あなたのアプリはShared Spaceで他のアプリと一緒に表示することもできます。Unityのオーサリングおよびシミュレーション機能とRealityKitのマネージド・アプリ・レンダリングを組み合わせることで、Unityで作成されたコンテンツはvisionOS上で違和感なく表示されます。

Unityを使えば、私たちのコミュニティ、チュートリアル、テンプレートを使って、すぐに始めることができるようになります。

visionOS App担当シニアディレクターJeff Norris氏は、共有とコラボレーションは、Vision Proの体験の中心的な部分です。macOSと同じように、Vision ProのユーザーはFaceTime通話でどんなアプリのウィンドウも他のユーザーと共有できます。

そして、SharePlayを使えば、次世代の共有体験が可能になります。あなたのアプリケーションがGroupActivities APIでSharePlayを採用すると、各ウィンドウの共有コントロールに、通話中の全員に対してあなたのアプリケーションを起動するオプションが追加されます。

これにより、真の意味での共有体験に、リアルタイムで一緒に参加することができます。他のプラットフォームのSharePlayと同様に、アプリの共同利用方法を決めるのはあなたです。

FaceTime通話中のVision Proユーザーは、高度な機械学習技術によって作成された自然な表現であるPersonaとして他の参加者に表示され、顔や手の動きとダイナミックにマッチします。

Personaは、他のVision Proユーザーには、3次元のボリュームと奥行きを持って表示されます。しかし、私たちはVision ProでFaceTimeを次のレベルに引き上げ、どこにいるユーザーでも、実際に部屋にいるような対話ができるようにしたいと考えています。この体験はまだ初期段階ですが、ここで初めて皆さんにお見せできることをうれしく思います。


Apple Vision Pro Developer Labs

Apple Vision Pro Developer Labs

ワールドワイドデベロパーリレーションズ担当エバンジェリストLinda Dong氏は、visionOS SDK、アップデートされたXcodeとSimulator、Reality Composer Proは、今月末に利用可能になる予定ですので、あなたのアイデアに着手することができます。

また、豊富な技術資料、新しいデザインキットやツール、visionOSのための最新のヒューマンインターフェースガイドラインにもアクセスすることができます。Vision Pro Simulatorに加えて、Vision Pro上であなたのアプリがどのように動作するかを確認するためのオプションも用意しています。

この夏、Apple Vision Pro Developer Labsを開設し、Vision Proのハードウェアでアプリをテストできるようにします。


Apple Vision Pro Developer Labs:解説都市

Apple Vision Pro Developer Labs:解説都市

Vision Proがお客様にリリースされる前に、ハンズオンのサポートと体験のプレビューを行うことができます。

このラボは、ここクパチーノにあるデベロッパーセンターを含む、世界中のいくつかの場所に設置される予定(ロンドン、ミュンヘン、上海、シンガポール、東京)です。

そして、どこにいても、あなたのアプリとVision Proの互換性を評価するリクエストを提出することができます。あなたのアプリをインストールし、発見された問題を共有します。


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

新着記事