以下の説明では、例示的な方法、パラメータなどが記載される。しかし、そのような説明の目的は、本開示の範囲を制限することではなく、例示的な実施形態の説明を提供することであることを理解されたい。
アバターを作成及び編集する効率的な方法及びインターフェースを提供する電子デバイスが必要とされている。例えば、アバターを作成及び編集するプログラムがすでに存在しているが、これらのプログラムは、以下の技術に比べて非効率で使いにくいものであり、以下の技術では、ユーザは必要に応じて現実的又は非現実的なアバターを作成して編集することができる。このような技術によって、アバターを作成して編集するユーザの認識的負担が軽減され、それによって生産性が向上され得る。更に、そのような技術は、通常であれば冗長なユーザ入力に対して浪費される、プロセッサ及びバッテリの電力を低減することができる。
以下の図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Bでは、アバターを作成及び編集するための技術を実行する例示的なデバイスについて説明する。
図6A~図6ANは、いくつかの実施形態に従って、アプリケーション内のアバター間をナビゲートする例示的なユーザインターフェースを示している。図7は、いくつかの実施形態に従って、アプリケーション内のアバター間をナビゲートする方法を示すフロー図である。図6A~図6ANのユーザインターフェースは、図7の処理を含む、以下で説明される処理を示すために使用される。
図8A~図8CFは、アバター編集ユーザインターフェースを表示する例示的なユーザインターフェースを示している。図9A、図9B、図10A、図10B、図11A、図11B、図12A、及び図12Bは、いくつかの実施形態に従って、アバター編集ユーザインターフェースを表示する方法を示すフロー図である。図8A~図8CFのユーザインターフェースは、図9A、図9B、図10A、図10B、図11A、図11B、図12A、及び図12Bの処理を含む、以下で説明される処理を示すために使用される。
図13A~図13Oは、アバターナビゲーションユーザインターフェース内のアバターを変更する例示的なユーザインターフェースを示している。図14A及び図14Bは、いくつかの実施形態に従って、アバターナビゲーションユーザインターフェース内のアバターを変更する方法を示すフロー図である。図13A~13Oのユーザインターフェースは、図14A及び図14Bの処理を含む、以下で説明される処理を示すために使用される。
以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、1つの要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1のタッチは第2のタッチと称することができ、同様に、第2のタッチは第1のタッチと称し得る。第1のタッチ及び第2のタッチは共にタッチであるが、同じタッチではない。
本明細書で説明される様々な実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるように、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用されるように、用語「and/or(及び/又は)」は、関連する列挙された項目のうちの1つ以上の任意のすべての可能な組み合わせを指し、かつこれを含むことをもまた理解されたい。用語「includes(含んでいる)、「including(含んでいる)」、「comprises(含んでいる)」、及び/又は「comprising(含んでいる)」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
任意選択的に、用語「if(~場合に)」は、文脈に応じて「when(~のときに)」、「upon(~すると)」、「in response to determining(~という判定に応じて)」、又は「in response to detecting(~を検出したことに応じて)」を意味すると解釈される。同様に、語句「if it is determined(~と判定される場合)」又は「if(a stated condition or event)is detected((述べられる条件又はイベント)が検出される場合)」は、任意選択で、文脈に依存して「upon determining(~と判定すると)」、「in response to determining(~と判定したことに応じて)」、「upon detecting(the stated condition or event)((述べられる条件又はイベント)を検出すると)」、又は「in response to detecting(the stated condition or event)((述べられる条件又はイベント)を検出したことに応じて)」を意味するものと解釈される。
電子デバイス、そのようなデバイス用のユーザインターフェース及びそのようなデバイスを使用するための関連するプロセスの実施形態が説明される。一部の実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態には、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)及びiPad(登録商標)デバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも、任意選択的に、使用される。いくつかの実施形態では、デバイスがポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることもまた理解されたい。
以下の議論では、ディスプレイ及びタッチ感知面を含む電子デバイスが説明される。しかし、電子デバイスが物理キーボード、マウス及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインターフェースデバイスを任意選択的に含むことを理解されたい。
このデバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインターフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調節及び/又は変更される。このように、デバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインターフェースを備える様々なアプリケーションを、任意選択的にサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、一部の実施形態による、タッチ感知ディスプレイシステム112を備えるポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」として既知であるか又は呼ばれる場合もある。デバイス100は、(1つ以上のコンピュータ可読記憶媒体を任意選択的に含む)メモリ102、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インターフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(input/output、I/O)サブシステム106、他の入力制御デバイス116及び外部ポート124を含む。デバイス100は、1つ以上の光センサ164を任意選択的に含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の接触強度センサ165を任意選択的に含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器167を、任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して任意選択的に通信する。
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力若しくは圧力(単位面積当りの力)、又はタッチ感知面上の接触の力若しくは圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる値を含み、より典型的には、何百もの(例えば、少なくとも256個の)異なる値を含む値範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して判定(又は、測定)される。例えば、タッチ感知面の下に又はこれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々な点における力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値は、接触の力の推定値を判定するために組み合わされる(例えば、加重平均)。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。あるいは、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代替物として、任意選択的に使用される。いくつかの実装形態では、接触の力又は圧力に対する代替的測定値は、強度閾値を超えているかを判定するために直接使用される(例えば、強度閾値は、代替的測定値に対応する単位で説明される)。いくつかの実装形態では、接触の力又は圧力に対する代替的測定値は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超えているかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することによって、アフォーダンスを表示するための(例えば、タッチ感知ディスプレイ上で)、及び/又は、ユーザ入力を受信するための(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御部を介して)、面積が制限されている、低減されたサイズのデバイス上で別途ユーザによってアクセスすることができないことがある追加的なデバイス機能へのユーザのアクセスが可能となる。
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)のデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素がタッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性における認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、任意選択的に、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の実施例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。よって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものとして説明されるとき、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの説明された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、2つ以上の構成要素を任意選択的に組み合わせて、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア又はハードウェア及びソフトウェアの双方の組み合わせで実装される。
メモリ102は、高速ランダムアクセスメモリを任意選択的に含み、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリもまた任意選択的に含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
周辺機器インターフェース118を使用して、本デバイスの入力及び出力周辺機器を、CPU120及びメモリ102に接続することができる。1つ以上のプロセッサ120は、デバイス100のための様々な機能を実行するため並びにデータを処理するために、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる、又は実行する。いくつかの実施形態では、周辺機器インターフェース118、CPU120及びメモリコントローラ122は、チップ104などの単一チップ上に任意選択的に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、これらの機能を実行するための周知の回路を任意選択的に含み、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどが挙げられるが、これらに限定されない。RF回路108は任意選択で、ワールドワイドウェブ(World Wide Web、WWW)とも称されるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、他のデバイスと無線通信によって通信する。RF回路108は、近距離通信無線などによる近距離通信(NFC)(near field communication)フィールドを検出するための周知の回路を任意選択的に含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(Global System for Mobile Communications、GSM(登録商標))、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケット接続(high-speed downlink packet access、HSDPA)、高速アップリンクパケット接続(high-speed uplink packet access、HSUPA)、Evolution,Data-Only(EV-DO)、HSPA、HSPA+、2重セルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離無線通信(near field communication、NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth(登録商標)、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi-Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/又はIEEE 802.11ac)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/又はポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、及び/又はショートメッセージサービス(Short Message Service、SMS)、あるいは本文書の出願日現在までにまだ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインターフェースを提供する。オーディオ回路110は、周辺機器インターフェース118からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110はまた、マイクロフォン113により音波から変換された電気信号を受信する。オーディオ回路110は、電気信号を音声データに変換し、音声データを処理のために周辺機器インターフェース118に送信する。音声データは任意選択で、周辺機器インターフェース118によって、メモリ102及び/若しくはRF回路108から取得され、並びに/又はメモリ102及び/若しくはRF回路108へ送信される。一部の実施形態では、オーディオ回路110はヘッドセットジャック(例えば、図2の212)を更に備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の双方を有するヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器と、の間のインターフェースを提供する。
I/Oサブシステム106は、周辺機器インターフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、電気信号を、他の入力制御デバイス116から受信/他の入力制御デバイス116に送信する。他の入力制御デバイス116は、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイアル、スライダースイッチ、ジョイスティック、クリックホイールなどを任意選択的に含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに連結される(又は、いずれにも連結されない)。1つ以上のボタン(例えば、図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを任意選択的に含む。1つ以上のボタンは、プッシュボタン(例えば、図2の206)を任意選択的に含む。
2005年12月23日に出願された、米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」(この特許は、その全体が本明細書において参照により組み込まれる)に記載されているように、任意選択的に、プッシュボタンの素早い押圧により、タッチスクリーン112のロックを解除するか、又はデバイスのロック解除にタッチスクリーン上のジェスチャを用いる処理を任意選択的に開始する。プッシュボタン(例えば、206)をより長く押圧することにより、任意選択的にデバイス100の電源をオンオフする。ボタンのうちの1つ以上の機能は、任意選択的に、ユーザカスタマイズ可能である。タッチスクリーン112は、仮想ボタン又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ156は、電気信号を、タッチスクリーン112から受信かつ/又はタッチスクリーン112に送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ及びこれらの任意の組み合わせ(総称して「グラフィック」と称する)を任意選択的に含む。一部の実施形態では、任意選択的に、視覚出力の一部又はすべてはユーザインターフェースオブジェクトに対応する。
タッチスクリーン112は、触覚及び/又は触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、若しくはセンサのセットを有している。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、その検出された接触をタッチスクリーン112上に表示されたユーザインターフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びに、タッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在公知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び任意の移動又はその中断を、任意選択的に検出する。例示的な実施形態では、California州CupertinoのApple Inc.によるiPhone(登録商標)及びiPod Touch(登録商標)において見られるような、投影型相互静電容量感知技術が使用されている。
タッチスクリーン112の一部の実施形態におけるタッチ感知ディスプレイは、任意選択的に、以下の米国特許、第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/又は第6,677,932号(Westerman)、及び/又は米国特許出願公開第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似する。これらの文献は、それぞれその全体が本明細書において参照により組み込まれている。しかし、タッチスクリーン112は、デバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは、視覚出力を提供しない。
タッチスクリーン112の一部の実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されている。(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の同第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の同第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の同第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の同第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の同第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の同第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の同第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の同第11/367,749号、「Multi-Functional Hand-Held Device」。これらの出願のすべては、全体が参照により本明細書に組み込まれる。
タッチスクリーン112は、任意選択的に、100dpiを超える映像解像度を有する。一部の実施形態では、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの任意の好適な物体又は付属器を使用して、タッチスクリーン112と任意選択的に接触する。一部の実施形態では、ユーザインターフェースは、主として指に基づく接触及びジェスチャによって機能するように設計され、タッチスクリーン上の指の接触面積がより広いことにより、スタイラスに基づく入力よりも精度が低いことがある。一部の実施形態では、デバイスは、指に基づく粗い入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを任意選択的に含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面又はタッチスクリーンによって形成されたタッチ感知面の拡張部である。
デバイス100はまた、様々な構成要素に電力を供給するための電力システム162を含む。電力システム162は任意選択で、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配と関連付けられた任意の他の構成要素を含む。
デバイス100はまた任意選択で、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に接続された光センサを示す。光センサ164は、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを、任意選択的に含む。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表現するデータに変換する。撮像モジュール143(カメラモジュールとも称する)と併用して、光センサ164は、静止画像又はビデオを任意選択的にキャプチャする。一部の実施形態では、タッチスクリーンディスプレイを静止画像及び/又は映像取得のためのビューファインダとして有効化するように、光センサは、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。一部の実施形態では、任意選択的に、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ながら、そのユーザの画像をテレビ会議のために得るように、デバイスの前面に光センサが配置されている。一部の実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、テレビ会議並びに静止画像及び/又はビデオ画像の取得の双方のために、単一の光センサ164を、タッチスクリーンディスプレイと共に使用する。
デバイス100はまた、1つ以上の深度カメラセンサ175を任意選択的に含む。図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された、深度カメラセンサを示す。深度カメラセンサ175は、データを環境から受信して、視点(例えば、深度カメラセンサ)からのシーン内のオブジェクト(例えば、顔)の三次元モデルを作成する。いくつかの実施形態では、撮像モジュール143(カメラモジュールとも呼ばれる)と共に、深度カメラセンサ175が任意選択的に使用されて、撮像モジュール143によってキャプチャされた画像の様々な部分の深度マップを決定する。いくつかの実施形態では、深度カメラセンサがデバイス100の前面に配置されており、それによって、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ながら、深度マップデータを含む自撮り画像をキャプチャするために、深度情報を含むユーザの画像がテレビ会議のために任意選択的に取得されるようにする。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面、又はデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置を、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それによって、テレビ会議並びに静止画像及び/又はビデオ画像の取得の両方のために、深度カメラセンサ175が、タッチスクリーンディスプレイと共に使用されるようにする。
いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ、光センサ、深度カメラセンサ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、対応する二次元ピクセルが配置されている視点のZ軸での位置を定義する。いくつかの実施形態では、深度マップは、各ピクセルが値(例えば、0~255)によって定義されているピクセルから成る。例えば、「0」の値は、「三次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「三次元」シーン内の視点(例えば、カメラ、光センサ、深度カメラセンサ)の最も近くに配置されているピクセルを表す。他の実施形態では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラの視野内の対象のオブジェクトの様々な特徴の相対的な深さ(例えば、ユーザの顔の目、鼻、口、耳の相対的な深さ)に関する情報を含む。いくつかの実施形態では、深度マップは、デバイスがZ方向での対象のオブジェクトの輪郭を決定できるようにする情報を含む。
デバイス100はまた、1つ以上の接触強度センサ165を任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された、接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ165は、周辺環境から接触強度情報(例えば、圧力情報又は圧力情報の代用物)を受信する。一部の実施形態において、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又は、それに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、1つ以上の近接センサ166を任意選択的に含む。図1Aは、周辺機器インターフェース118と結合された近接センサ166を示す。あるいは、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に接続される。近接センサ166は、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されているように、任意選択的に実行し、これらは、その全体が参照によって本明細書に組み込まれている。一部の実施形態において、多機能デバイスがユーザの耳の近くに配置されている場合(例えば、ユーザが電話通話を行っている場合)、近接センサは、タッチスクリーン112をオフにし無効にする。
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に連結された触知出力生成器を示す。触知出力生成器167は、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを直線運動に変換する電気機械デバイスを、任意選択的に含む。接触強度センサ165は、触覚フィードバックモジュール133から触覚フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。一部の実施形態において、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。一部の実施形態において、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、1つ以上の加速度計168を任意選択的に含む。図1Aは、周辺機器インターフェース118に結合された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106内の入力コントローラ160に任意選択的に結合される。加速度計168は、任意選択的に、米国特許出願公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び同第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」で説明されるように機能するものであり、これらの文献の双方は、全体が参照により本明細書に組み込まれる。一部の実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイ上に表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計並びにデバイス100の位置及び向き(例えば、縦方向又は横方向)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機を任意選択的に含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System)(GPS)モジュール(又は命令セット)135及びアプリケーション(又は命令セット)136を含む。更に、一部の実施形態において、図1A及び図3に示すように、メモリ102(図1A)又はメモリ370(図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下の1つ以上を含む:現在アクティブ状態のアプリケーションがある場合、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占領しているかを示す、表示状態、デバイスの様々なセンサ及び入力制御デバイス116から取得される情報を含む、センサ状態、並びに、デバイスの位置及び/又は姿勢に関する位置情報。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェアコンポーネント及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus)(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を通して間接的に、他のデバイスに連結するように適応している。一部の実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じか、若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、(ディスプレイコントローラ156と連携して)タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を任意選択的に検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、並びに/又は加速度(大きさ及び/又は方向における変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するために(例えば、ユーザがアイコン上で「クリック」したか否かを判定するために)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整され得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の予め定義された閾値のうちのいずれかに設定され得る。加えて、一部の実装形態では、デバイスのユーザは、強度閾値の集合のうちの1つ以上を調整するためのソフトウェア設定が提供される(例えば、個々の強度閾値を調整することによって、及び/又はシステムレベルのクリック「強度」パラメータで一度に複数の強度閾値を調整することによって)。
接触/動きモジュール130は、ユーザによるジェスチャ入力を任意選択的に検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、検出される接触の異なる動き、タイミング、及び/又は強度)を有する。したがって、ジェスチャは、特定の接触パターンの検出によって任意選択的に検出される。例えば、指のタップジェスチャを検出することは、(例えば、アイコンの位置での)指を下ろすイベントを検出し、続いてその指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、1つ以上の、指をドラッグするイベントを検出し、その後、続いて指を上げる(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用されるとき、用語「グラフィック」は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインターフェースオブジェクトなど)、デジタル画像、ビデオ、及びアニメーションなどを含むがこれらに限定されない、ユーザに対して表示することができるいずれかのオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることとなるグラフィックを表すデータを記憶する。各グラフィックは任意選択で、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次いで、ディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の位置で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を、様々なアプリケーションでの使用のために提供する(例えば、位置に基づく電話での使用のために電話138へ、写真/ビデオメタデータとしてカメラ143へ、並びに、天気ウィジェット、ローカルイエローページウィジェット及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)。
アプリケーション136は、以下のモジュール(若しくは命令セット)、又はそれらのサブセット若しくはスーパーセットを任意選択的に含む。
●連絡先モジュール137(場合により、アドレス帳又は連絡先リストとも呼ぶ)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダモジュール148、
●天気ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを統合した、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154及び/又は
●オンラインビデオモジュール155。
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶される)アドレスブック又は連絡先リストを管理するために任意選択的に用いられ、それには、アドレスブックに名前(単数又は複数)を加えること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類及び並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始する及び/又は容易にすること、などが含まれる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電話モジュール138は、任意選択的に、電話番号に対応する一連の文字を入力し、連絡先モジュール137内の1つ以上の電話番号にアクセスし、入力された電話番号を変更し、対応する電話番号をダイアルし、会話を行い、そして、会話が完了した際に接続を切るか又は電話を切るために、使用する。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを任意選択的に使用する。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、遂行し、終了するための、実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能な命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する文字列を入力したり、入力済みの文字を修正したり、(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)対応するインスタントメッセージを送信したり、インスタントメッセージを受信したり、及び受信したインスタントメッセージを閲覧したりする、実行可能な命令を含む。一部の実施形態では、送信及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書において使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の双方を指す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154及び音楽プレーヤモジュールと連携して、トレーニングサポートモジュール142は、(例えば、時間、距離及び/又はカロリー消費目標を有する)トレーニングを作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択して再生し、トレーニングデータを表示、記憶、及び送信する、実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、カメラモジュール143は、静止画像若しくは(ビデオストリームを含む)ビデオをキャプチャしてメモリ102にそれらを記憶する、静止画像若しくはビデオの特性を変更する、又はメモリ102から静止画像若しくはビデオを削除する、実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134及びカメラモジュール143と連携して、画像管理モジュール144は、静止画像及び/又はビデオ画像を配置し、変更し(例えば、編集し)又は別の方法で操作し、ラベルを付け、削除し、(例えば、デジタルスライドショー又はアルバムにおいて)提示し、記憶するための、実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及び、テキスト入力モジュール134と連携して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付けし、受信し、表示することを含むユーザの指示に従い、インターネットを閲覧する実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、カレンダモジュール148は、ユーザの指示に従い、カレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ項目、to doリストなど)を作成し、表示し、変更し、記憶する実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、ウィジェットモジュール149は、ユーザによって任意選択的にダウンロードされて使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language)(ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets)(カスケーディングスタイルシート)ファイル及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、ウィジェット作成モジュール150は、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって使用する。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための、実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108及びブラウザモジュール147と連携して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びにビデオを(タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を任意選択的に含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132及びテキスト入力モジュール134と連携して、メモモジュール153は、ユーザの指示に従って、メモ、to doリストなどを作成し、管理するための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、地図モジュール154は、任意選択的に、ユーザの指示に従い、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の位置又はその近くの店舗及びその他の見所のデータ、並びに他の位置ベースのデータ)を受信し、表示し、変更し、及び記憶するために、使用する。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140及びブラウザモジュール147と連携して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、閲覧し、(例えば、ストリーミング及び/又はダウンロードにより)受信し、(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)再生し、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理することが可能となる命令を含む。一部の実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションの追加の説明は、2007年6月20日に出願された米国特許仮出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見出すことができ、これらの出願の内容はその全体が本明細書において参照により組み込まれている。
上記で特定されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行する実行可能な命令セット及び本出願に記載の方法(例えば、コンピュータにより実装される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、任意選択的に、これらのモジュールの様々な部分集合を組み合わせるか、又は他の方式で再編成する。例えば、ビデオ再生モジュールは、任意選択的に、音楽プレーヤモジュールと組み合わせて、単一のモジュール(例えば、図1Aのビデオ及び音楽プレーヤモジュール152)とする。いくつかの実施形態では、メモリ102は、上記で特定されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
一部の実施形態では、デバイス100は、デバイス上で予め定義された機能の集合の動作がタッチスクリーン及び/又はタッチパッドを通じて排他的に実行されるデバイスである。デバイス100の動作のための主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の物理的な入力制御デバイス(プッシュボタン、ダイアルなど)の数が任意選択で削減される。
タッチスクリーン及び/又はタッチパッドを通じて排他的に実行される予め定義された機能の集合は任意選択で、ユーザインターフェース間のナビゲーションを含む。一部の実施形態では、タッチパッドは、ユーザによってタッチされるとき、デバイス100上で表示される任意のユーザインターフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。そのような実施形態では、「メニューボタン」はタッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
図1Bは、いくつかの実施形態に従った、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又はメモリ370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136-1(例えば、上述のアプリケーション137~151、155、380~390のうちのいずれか)を含む。
イベントソート部170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソート部170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1には、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192が含まれる。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用される再開情報、アプリケーション136-1によって表示されているか又は表示の準備がされている情報を示すユーザインターフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが行った前のアクションのリドゥ/アンドゥ待ち行列、のうちの1つ以上などの追加の情報を含む。
イベントモニタ171は、周辺機器インターフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上のユーザタッチ)に関する情報を含む。周辺機器インターフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を通じて)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インターフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インターフェース118に要求を送信する。それに応じて、周辺機器インターフェース118はイベント情報を送信する。他の実施形態では、周辺機器インターフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回るかつ/又は所定の期間よりも長い入力を受信すること)が存在するときのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベントレコグナイザ判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成される。
アプリケーションに関連付けられたユーザインターフェースの別の態様は、本明細書においてアプリケーションビュー又はユーザインターフェースウィンドウと呼ばれる場合があるビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに任意選択的に対応する。例えば、タッチが検出される最下位レベルのビューは任意選択で、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントの集合は任意選択で、タッチに基づくジェスチャを開始する初期のタッチのヒットビューに少なくとも部分的に基づいて判定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層において編成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとしてヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント(例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最下位レベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連するすべてのサブイベントを一般的に受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含むすべてのビューはアクティブに関わっているビューであると判定し、したがって、すべてのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベントレコグナイザ(例えば、イベントレコグナイザ180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、対応するイベント受信部182により取得されるイベント情報をイベント待ち行列に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136-1が、イベントソータ170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインターフェースの対応するビュー内で発生するタッチイベントを処理する命令を含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1のそれぞれのアプリケーションビュー191は、1つ以上のイベントレコグナイザ180を含む。一般的には、対応するアプリケーションビュー191は、複数のイベントレコグナイザ180を含む。他の実施形態では、イベントレコグナイザ180のうちの1つ以上は、ユーザインターフェースキット又はアプリケーション136-1がメソッド及び他の性質をそれから継承する上位レベルのオブジェクトなどの、別々のモジュールの一部である。いくつかの実施形態では、対応するイベントハンドラ190は、データ更新部176、オブジェクト更新部177、GUI更新部178及び/又はイベントソータ170から受信されたイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176、オブジェクト更新部177、又はGUI更新部178を任意選択的に、利用若しくは呼び出す。あるいは、アプリケーションビュー191のうちの1つ以上は、1つ以上の対応するイベントハンドラ190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177及びGUI更新部178のうちの1つ以上は、対応するアプリケーションビュー191に含まれる。
対応するイベントレコグナイザ180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベントレコグナイザ180は、イベント受信部182及びイベント比較部184を含む。一部の実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択でサブイベント配信命令を含む)の少なくともサブセットも含む。
イベント受信部182は、イベントソート部170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの動きに関する情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択で、サブイベントの速さ及び方向を含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を予め定義されたイベント又はサブイベント定義と比較し、比較に基づいて、イベント又はサブイベントを判定し、又はイベント若しくはサブイベントの状態を判定若しくは更新する。一部の実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187-1)、イベント2(187-2)などのイベントの定義(例えば、予め定義された一連のサブイベント)を含む。いくつかの実施形態では、イベント187におけるサブイベントは、例えば、タッチの始め、タッチの終わり、タッチの移動、タッチの停止及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階の間の表示されたオブジェクト上の第1のタッチ(タッチの開始)、所定の段階の間の第1のリフトオフ(タッチの終了)、所定の段階の間の表示オブジェクト上の第2のタッチ(タッチの開始)、及び所定の段階の間の第2のリフトオフ(タッチの終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグ操作である。このドラッグ操作は、例えば、予め定められた段階の間の表示オブジェクト上のタッチ(又は、接触)、タッチ感知ディスプレイ112を横断するタッチの移動、及びタッチのリフトオフ(タッチの終了)を含む。一部の実施形態において、イベントはまた、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
一部の実施形態において、イベント定義187は、それぞれのユーザインターフェースオブジェクトに関するイベントの定義を含む。一部の実施形態において、イベント比較部184は、サブイベントに関連付けられたユーザインターフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインターフェースオブジェクトがタッチ感知ディスプレイ112上に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインターフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、対応するイベントハンドラ190と関連付けられている場合、イベント比較部は、ヒットテストの結果を使用して、どのイベントハンドラ190がアクティブ化されるべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトと関連付けられたイベントハンドラを選択する。
いくつかの実施形態では、対応するイベント(187)についての定義はまた、一連のサブイベントがイベントレコグナイザのイベントタイプに対応するか否かが判定される後まで、イベント情報の配信を遅延させる遅延アクションを含む。
対応するイベントレコグナイザ180が、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断したとき、対応するイベントレコグナイザ180は、イベント不可能、イベント失敗又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベントレコグナイザがもしあれば、そのイベントレコグナイザが進行中のタッチに基づくジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、対応するイベントレコグナイザ180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベントレコグナイザに示す構成可能なプロパティ、フラグ及び/又はリストを有するメタデータ183を含む。一部の実施形態では、メタデータ183は、イベント認識部が相互にどのように対話するか又は対話することが可能とされているかについて示す構成可能なプロパティ、フラグ、及び/又はリストを含む。一部の実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
一部の実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントと関連付けられたイベントハンドラ190をアクティブ化する。一部の実施形態では、それぞれのイベント認識部180は、イベントと関連付けられたイベント情報をイベントハンドラ190に配信する。イベントハンドラ190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。一部の実施形態では、イベント認識部180は、認識されたイベントと関連付けられたフラグを投入し、フラグと関連付けられたイベントハンドラ190は、フラグを捕らえ、予め定義された処理を実行する。
一部の実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベントハンドラに、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベントに又はアクティブに関与しているビューと関連付けられたイベントハンドラは、イベント情報を受信し、予め定義された処理を実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。一部の実施形態において、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインターフェースオブジェクトを作成する、又はユーザインターフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベントハンドラ(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の議論はまた、入力デバイスで多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、そのすべてがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、単一若しくは複数のキーボードの押圧若しくは保持に任意選択的に適合されたマウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示検出された眼球運動、バイオメトリック入力、並びに/又はそれらのいずれかの組み合わせは、任意選択的に、認識されることになるイベントを定義するサブイベントに対応する入力として利用される。
図2は、いくつかの実施形態に従った、タッチスクリーン112を有するポータブル多機能デバイス100を示している。タッチスクリーンは、ユーザインターフェース(user interface)(UI)200内に1つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに後述する実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することができる。一部の実施形態では、ユーザが1つ以上のグラフィックとの接触を断った際に、その1つ以上のグラフィックの選択が生じる。一部の実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ及び/又は下方向へ)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上方向へ及び/若しくは下方向へ)を、任意選択的に含む。いくつかの実現形態又は状況では、グラフィックとの不測の接触は、グラフィックを選択しない。例えば、選択に対応するジェスチャがタップであるとき、アプリケーションアイコンの上をスイープするスワイプジェスチャは任意選択で、対応するアプリケーションを選択しない。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、デバイス100上で任意選択的に、実行するアプリケーションのセット内の任意のアプリケーション136へのナビゲーションに任意選択的に、使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
一部の実施形態において、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスへの電源をオン/オフしてデバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(subscriber identity module、SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン/オフし、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックし、及び/又は、デバイスのロックを解除する、若しくは、ロック解除処理を開始するように、任意選択的に用いられる。代替実施形態では、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力を受ける。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器167も、任意選択的に含む。
図3は、いくつかの実施形態に従った、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク若しくは他の通信インターフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を一般的に含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることがある)を、任意選択的に含む。デバイス300は、一般的にはタッチスクリーンディスプレイであるディスプレイ340を含む、入出力(I/O)インターフェース330を含む。I/Oインターフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器(単数又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ及び/又は図1Aを参照して上述された接触強度センサ(単数又は複数)165と同様の接触強度センサ)を任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、また、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを任意選択的に含む。メモリ370は、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール及びデータ構造、又はそれらのサブセットに類似する、プログラム、モジュール及びデータ構造を記憶する。更に、メモリ370は任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、一方でポータブル多機能デバイス100(図1A)のメモリ102は、これらのモジュールを任意選択的に記憶しない。
上記で特定された図3の要素のそれぞれは任意選択的に、前述のメモリデバイスのうち1つ以上に記憶される。上記で特定されたモジュールのうちのそれぞれは、上述した機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム(例えば、命令セット)は、任意選択的に、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成する。いくつかの実施形態では、メモリ370は、上記で特定されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
次に、例えば、任意選択的に、ポータブル多機能デバイス100上に実装するユーザインターフェースの実施形態に注意を向ける。
図4Aは、一部の実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューに関する例示的なユーザインターフェースを示す。同様のユーザインターフェースは、デバイス300上に任意選択的に実装される。一部の実施形態では、ユーザインターフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー及びWi-Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー408、
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされる、電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされる、ブラウザモジュール147用のアイコン420、及び
○「iPod」とラベル付けされる、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152用のアイコン422、及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされるIMモジュール141のためのアイコン424、
○「カレンダ」とラベル付けされる、カレンダモジュール148用のアイコン426、
○「写真」とラベル付けされる、画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされる、カメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール155用のアイコン432、
○「株価」とラベル付けされる、株価ウィジェット149-2用のアイコン434、
○「地図」とラベル付けされる、地図モジュール154用のアイコン436、
○「天気」とラベル付けされる、天気ウィジェット149-1用のアイコン438、
○「時計」とラベル付けされる、アラーム時計ウィジェット149-4用のアイコン440、
○「トレーニングサポート」とラベル付けされる、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされる、メモモジュール153用のアイコン444、及び
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、「設定」とラベル付けされる、設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインターフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)及び/又はデバイス300のユーザに対して触知出力を生成するための1つ以上の触知出力生成器357を任意選択的に含む。
以下の実施例のうちのいくつかはタッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、一部の実施形態では、デバイスは、図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。一部の実施形態では、このタッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、タッチ感知面451との接触(例えば、図4Bの460及び462)を、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)にて検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図4Bでの450)上のユーザインターフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインターフェースに任意選択的に使用されることを理解されたい。
更に加えて、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、マウスクリックと任意選択的に置き換えられ(例えば、接触の代わりに)、その後、スワイプの経路に沿って(例えば、接触の移動の代わりに)カーソルの移動が行われる。別の例として、タップジェスチャは任意選択で、カーソルがタップジェスチャの位置の上に位置する間のマウスクリックと置き換えられる(例えば、接触の検出、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスは任意選択で同時に使用され、又はマウス及び指の接触が任意選択で同時に使用されることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A~図4B)に関して記載した特徴のうちの一部又はすべてを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以後、タッチスクリーン504とする、を有する。タッチスクリーン504の代わりに、又はそれに追加して、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及びデバイス300と同様に、一部の実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有する。タッチスクリーン504(又は、タッチ感知面)の1つ以上の強度センサは、タッチの強度を表現する出力データを提供することができる。デバイス500のユーザインターフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチは、デバイス500上で異なるユーザインターフェース動作を呼び出すことができることを意味する。
タッチ強度を検出して処理するための例示的な技術は、例えば、関連出願である、2013年5月8日出願の「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題された国際特許出願第PCT/US2013/040061号(国際公開第2013/169849号として公開)、及び2013年11月11日出願の「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題された同第PCT/US2013/069483号(国際公開第2014/105276号として公開)に見られ、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
一部の実施形態では、デバイス500は、1つ以上の入力機構506及び入力機構508を有する。入力機構506及び508は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。かかるアタッチメント機構は、含まれる場合には、例えば、デバイス500を、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに、取り付けることを可能に得る。これらのアタッチメント機構は、ユーザによってデバイス500が着用されることを可能にする。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B及び図3に関して記載した構成要素の一部又はすべてを含むことができる。デバイス500は、I/O部514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/O部514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に、強度センサ524(例えば、接触強度センサ)と、を有し得る。更に、I/O部514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー及び/又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムのデータを受信するための通信ユニット530に接続し得る。デバイス500は、入力機構506及び/又は入力機構508を含むことができる。入力機構506は、任意選択的に、例えば、回転可能入力デバイス、又は押下可能かつ回転可能な入力デバイスである。入力機構508は、任意選択的に、一部の実施例では、ボタンである。
入力機構508は、任意選択的に、一部の実施例では、マイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538及び/又はこれらの組み合わせなどの、様々なセンサを含むものであり、それらのすべては、I/O部514に動作可能に接続できる。
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス700、900、1000、1100、1200、及び1400(図7、図9A、図9B、図10A、図10B、図11A、図11B、図12A、図12B、図14A、及び図14B)を含む、以下に説明する技術を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置若しくはデバイスによって、又はこれらと関連して使用するためのコンピュータ実行可能命令を有形的に収容又は記憶することができる、任意の媒体とすることができる。いくつかの例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体には、磁気的記憶装置、光学的記憶装置及び/又は半導体記憶装置を挙げることができるが、これらに限定されない。そのような記憶装置の例には、磁気ディスク、CD、DVD又はBlu-ray(登録商標)技術に基づく光ディスク、及び、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の構成要素又は追加的構成要素を、複数の構成で含み得る。
本明細書において使用するとき、用語「アフォーダンス」は、デバイス100、300及び/又は500(図1A、図3及び図5A~図5B)のディスプレイ画面上に任意選択的に表示されるユーザ対話式のグラフィカルユーザインターフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン及びテキスト(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
本明細書において使用するとき、用語「フォーカスセレクタ」は、ユーザが対話しているユーザインターフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含む一部の実現例において、タッチ感知面(例えば、図3のタッチパッド355、又は図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出されたときに、カーソルが特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダー、又は他のユーザインターフェース要素)の上にある間に、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインターフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインターフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aでのタッチ感知ディスプレイシステム112、又は図4Aでのタッチスクリーン112)を含む一部の実現例では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」としての役割を果たすことにより、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダー、又は他のユーザインターフェース要素)の場所で検出されると、その特定のユーザインターフェース要素が、検出された入力に従って調節される。いくつかの実現形態では、タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、(例えば、タブキー又は矢印キーを使用してフォーカスを1つのボタンから別のボタンに移動させることによって)ユーザインターフェースの1つの領域からユーザインターフェースの別の領域にフォーカスが移動され、これらの実現形態では、フォーカスセレクタは、ユーザインターフェースの異なる領域の間のフォーカスの移動に従って移動する。フォーカスセレクタによってとられる具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザの意図したユーザインターフェースとの対話を通信するために(例えば、ユーザが対話することを意図しているユーザインターフェースの要素をデバイスに示すことによって)、ユーザによって制御されるユーザインターフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出された間に、対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインターフェース要素ではなく)対応するボタンをユーザがアクティブ化しようとしていることを示すものである。
本明細書及び特許請求の範囲において使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく接触の特性を指す。一部の実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、予め定義された数の強度サンプル、あるいは予め定義されたイベントに対する(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度における増大を検出する前若しくは後、及び/又は接触の強度における減少を検出する前若しくは後)予め定められた時間期間の間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)に収集された強度サンプルのセットに任意選択的に基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10%値、接触の強度の最大値の半分の値、接触の強度の最大値の90%の値など、のうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、(例えば、特性強度が経時的な接触の強度の平均であるとき)接触の持続期間が使用される。一部の実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度を1つ以上の強度閾値のセットと比較する。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この実施例では、第1の閾値を越えない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を越え、第2の強度閾値を越えない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を越える特性強度を有する接触の結果として第3の動作が実行される。一部の実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するか否か(例えば、各動作を実行するのか、又は各動作の実行を見合わせるのか)を判定するために使用される。
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部が特定される。例えば、タッチ感知面は、任意選択的に、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受け取る。この実施例では、終了位置における接触の特性強度は、任意選択的に、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づく。一部の実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用する。例えば、平滑化アルゴリズムは任意選択で、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。一部の状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度における小幅な上昇又は低下を除去する。
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けする。いくつかの実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることと一般的に関連付けられた操作をデバイスが実行する強度に対応する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることと典型的に関連付けられた操作とは異なる操作をデバイスが実行する強度に対応する。一部の実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させる。全般的には、特に明記しない限り、これらの強度閾値は、ユーザインターフェース図の異なるセット間でも一貫している。
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への接触の特性強度の増大は、「軽い押圧」入力と呼ばれる場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への接触の特性強度の増大は、「深い押圧」入力と呼ばれる場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれる場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれる場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
本明細書で説明される一部の実施形態では、1つ以上の操作は、それぞれの押圧入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力を検出したことに応じて実行され、それぞれの押圧入力は、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度における増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)の検出に応じて実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、後続の押圧入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて実行される。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある不測の入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との予め定義された関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。よって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及び後続の押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、そのヒステリシス強度閾値を下回る後続のそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への後続の接触の強度の減少を検出するときのみ検出され、それぞれの動作は、その押圧入力の検出(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)に応じて実行される。
説明を容易にするために、押圧入力強度閾値と関連付けられた押圧入力に応じて、又は押圧入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。加えて、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて動作が実行されるとして説明される実施例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
ここで、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインターフェース(「UI」)及び関連処理の実施形態に着目する。
図6A~図6ANは、いくつかの実施形態に従って、アプリケーション(例えば、メッセージングアプリケーション)内のアバター間をナビゲートする例示的なユーザインターフェースを示している。これらの図のユーザインターフェースは、図7の処理を含む、以下で説明される処理を示すために使用される。
図6Aは、ディスプレイ601を有するデバイス600を示しており、ディスプレイ601は、一部の場合にはタッチ感知ディスプレイである。いくつかの実施形態では、デバイス600は、光スペクトル(例えば、可視光、赤外光、又は紫外光)の一部を表すデータをキャプチャできる画像センサを少なくとも含んでいる、カメラ602も含む。いくつかの実施形態では、カメラ602は、複数の画像センサ及び/又はその他の種類のセンサを含む。いくつかの実施形態では、感知された光を表すデータをキャプチャすることに加えて、カメラ602は、深度データなどの他の種類のデータをキャプチャすることができる。例えば、いくつかの実施形態では、カメラ602は、スペックル、飛行時間、視差、又はフォーカスに基づく技術も使用して、深度データをキャプチャする。カメラ602を使用してデバイス600がキャプチャする画像データは、カメラの視野内のシーンについての光スペクトルの一部に対応するデータを含む。また、いくつかの実施形態では、キャプチャされた画像データは、光データに関する深度データも含む。いくつかの他の実施形態では、キャプチャされた画像データは、光スペクトルの一部のデータに関する深度データを決定又は生成するのに十分なデータを含む。いくつかの実施形態では、デバイス600は、デバイス100、デバイス300、又はデバイス500の1つ以上の特徴を含む。
いくつかの例では、電子デバイス600は、赤外線カメラ、サーモグラフィカメラ、又はこれらの組み合わせなどの深度カメラを含む。いくつかの実施例では、デバイスは、IRフラッド光、構造化光プロジェクタ、又はそれらの組み合わせなどの発光デバイス(例えば、光プロジェクタ)を更に含む。発光デバイスは、可視光カメラ及び深度カメラ(例えば、IRカメラ)によって画像をキャプチャするときに被写体を照らすために、任意選択的に使用され、深度カメラ及び可視光カメラからの情報は、可視光カメラによってキャプチャされた被写体の様々な部分の深度マップを決定するために使用される。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、対応する二次元ピクセルが配置されている視点のZ軸での位置を定義する。いくつかの例では、深度マップは、各ピクセルが値(例えば、0~255)によって定義されているピクセルから成る。例えば、「0」の値は、「三次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「三次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラの視野内の対象のオブジェクトの様々な特徴の相対的な深さ(例えば、ユーザの顔の目、鼻、口、耳の相対的な深さ)に関する情報を含む。いくつかの実施形態では、深度マップは、デバイスがZ方向での対象のオブジェクトの輪郭を決定できるようにする情報を含む。いくつかの実施形態では、本明細書に記載された照明効果は、背面画像用の2つのカメラ(例えば、2つの可視光カメラ)からの視差情報を使用し、前面画像(例えば、自撮り画像)用の可視光カメラからの画像データと組み合わせて深度カメラからの深度情報を使用して、表示される。いくつかの実施形態では、深度情報を決定するために2つの可視光カメラが使用されるとき、及び深度情報を決定するために深度カメラが使用されるときに、同じユーザインターフェースが使用され、照明効果を生成するときに使用される情報を著しく異なる技術を使用して決定する場合でも、一貫性のあるユーザエクスペリエンスをユーザに提供する。いくつかの実施形態では、デバイスは、照明効果のうちの1つが適用されたカメラユーザインターフェースを表示している間に、カメラ切り替えアフォーダンスの選択を検出し、照明効果を適用するためのユーザインターフェース制御の表示を維持しながら、前面カメラの視野の表示を背面カメラの視野に(又はその逆に)置き換えて、前面カメラ(例えば、深度カメラ及び可視光カメラ)から背面カメラ(例えば、互いに離れて間隔が空けられた2つの可視光カメラ)に(又はその逆に)切り替える。
図6Aでは、デバイス600は、メッセージングアプリケーションのメッセージングユーザインターフェース603を表示している。メッセージングユーザインターフェース603は、メッセージ会話の参加者(受信者識別子606によって表される)に送信されたメッセージ605を含んでいるメッセージ表示領域604を含む。メッセージングユーザインターフェース603は、メッセージ会話の参加者に送信するための入力(例えば、テキスト入力、マルチメディア入力など)を表示するメッセージ作成フィールド608も含む。メッセージングユーザインターフェース603は、アプリケーションドックアフォーダンス610、キーボード表示領域612、及びテキスト候補領域614も含む。
図6Bで、デバイス600は、アプリケーションドックアフォーダンス610に対応する位置で入力616(例えば、ディスプレイ601上のタッチ入力)を検出する。
図6Cで、デバイス600は、入力616を検出することに応じて、テキスト候補領域614を、様々なアプリケーションに対応するアプリケーションアフォーダンス620を有するアプリケーションドック618に置き換える。また、デバイス600は、キーボード表示領域612を、アプリケーションアフォーダンスのうちの選択された1つに対応するアプリケーションユーザインターフェースを表示するアプリケーション表示領域622に置き換える。
図6Dで、デバイス600は、アプリケーションアフォーダンス620aを選択する入力624(例えば、アプリケーションアフォーダンス620aに対応する位置でのディスプレイ601上のタッチ入力)を検出する。
図6Eで、デバイス600は、入力624を検出することに応じて、アプリケーションドック618及びアプリケーション表示領域622を、例示的なアバター628を有するアバタースプラッシュスクリーン626に置き換える。例示的なアバターは、例示的なカスタマイズ可能なアバター628a及び例示的なカスタマイズ不可のアバター628bを含む。図6Eに示された実施形態では、カスタマイズ可能なアバター628aがカスタマイズ不可のアバター628bの上に配置されている。いくつかの実施形態では、アバタースプラッシュスクリーン626は、顔面表情を動かして変更し、互いに対話する(例えば、互いに話す、ウィンクする、笑う、ほほ笑むなどを行っているように見える)例示的なアバターの外観を与える、例示的なアバター628のアニメーション表示を含む。いくつかの実施形態では、デバイス600は、アプリケーションアフォーダンス620aが最初に選択されたとき、又はカスタマイズ可能なアバターが作成されていないときにのみ、アバタースプラッシュスクリーン626を表示する。いくつかの実施形態では、アバタースプラッシュスクリーン626が表示されていないときに、デバイス600は、例えば縮小されたアバター選択インターフェース668(図6L及び下の対応する説明を参照)などの、アバター選択インターフェースを任意選択的に表示する。
いくつかの実施形態では、仮想アバターは、グラフィカルに描画され得るユーザの表現(例えば、ユーザのグラフィック表現)である。いくつかの実施形態では、仮想アバターは非写実的(例えば、漫画的)である。いくつかの実施形態では、仮想アバターは、1つ以上のアバター特徴部(例えば、アバター顔の特徴)を有するアバターの顔を含む。いくつかの実施形態では、アバター特徴部は、ユーザの物理的特徴の検出された(例えば、深度感知カメラなどのカメラに基づいて決定された)動きが、アバター特徴部に影響を与える(例えば、特徴のグラフィック表現に影響を与える)ように、ユーザの顔の1つ以上の物理的特徴に対応する(例えば、マッピングされる)。
いくつかの例では、ユーザは、カメラセンサ(例えば、カメラモジュール143、光センサ164)、及び任意選択的に深度センサ(例えば、深度カメラセンサ175)を使用して、仮想アバターの特性又は特徴を操作することができる。ユーザの物理的特徴(顔の特徴など)及び位置(頭部の位置、頭部の回転、又は頭部の傾きなど)が変化したときに、電子デバイスはその変化を検出し、ユーザの物理的特徴及び位置の変化を反映するように仮想アバターの表示された画像を変更する。いくつかの実施形態では、ユーザの物理的特徴及び位置の変化は、様々な表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを示す。いくつかの実施形態では、電子デバイスは、これらの表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを表すように、仮想アバターの表示された画像を変更する。
いくつかの実施形態では、カスタマイズ可能なアバターは、例えば望ましい外観を実現するために(例えば、ユーザに似るように)、ユーザによって選択してカスタマイズすることができる仮想アバターである。カスタマイズ可能なアバターは、動物又はその他の人間以外のオブジェクトの擬人化された構成などの人間以外のキャラクターではなく、人間のキャラクターの外観を通常は有する。更に、アバター特徴部は、所望であれば、アバター編集ユーザインターフェース(例えば、図8A~図8CFに関して下で説明されるアバター編集ユーザインターフェースなど)を使用して、作成又は変更され得る。いくつかの実施形態では、カスタマイズ可能なアバターは、カスタマイズされた外観、物理的構造、又はモデル化された挙動を実現するために、作成及び構成され得る。
いくつかの実施形態では、カスタマイズ不可のアバターは、ユーザによって選択することができるが、通常は基本的に構成可能ではなく、ただし、下で詳細に説明されているように、顔追跡によってそれらの外観を変更することができる。代わりに、カスタマイズ不可のアバターは、予め構成されており、ユーザによって変更可能な特徴構成要素を通常は有していない。いくつかの実施形態では、カスタマイズ不可のアバターは、動物又はその他の人間以外のオブジェクトの擬人化された構成などの、人間以外のキャラクターの外観を有する。カスタマイズ不可のアバターは、ユーザによって作成することができず、カスタマイズ不可のアバターの外観、物理的構造、又はモデル化された挙動の大幅な変更を実現するために、変更することもできない。
図6Fで、デバイス600は、続行アフォーダンス632上の入力630(例えば、ディスプレイ601上のタッチジェスチャ)を検出する。
図6Gで、デバイス600は、入力630を検出することに応じて、展開されたアバター選択インターフェース634を表示し、アバター選択インターフェース634は、メッセージングユーザインターフェース608のために(例えば、メッセージ会話の参加者に送信するために)選択できるアバターオプションの初期の集合を提供する。本明細書で説明される実施形態では、アバターは、(例えば、デバイスがユーザの顔の変化を検出することに応じて)変化を表示するようにアニメーション化され得る、仮想キャラクターの表現である。アバターは、そのアバターと同じ外観及び特性を有するアバターの静的表現である、アバターオプションに対応することができるが、通常はアニメーション化されない。アバターオプションは、通常はアバターの選択可能な表現である。アバターオプションが選択されたときに、多くの場合、対応するアバターが表示される。
展開されたアバター選択インターフェース634は、アバター表示領域636及びアバターオプション領域638を含む。アバターオプション領域638は、選択可能なアバターオプション640の集合を含む。選択されたアバターオプションは境界642によって示され、境界642は、図6Gでは、最初に選択されたサルアバターオプション640aの周囲に表示されている。選択されたアバターオプションは、アバター645としてアバター表示領域636内に表される(例えば、アバター645は、サルアバターオプション640aに対応するサルである)。各アバターオプション640は、個別のアバターオプションをタップすることによって選択され得る。これにより、デバイス600は、アバターオプション640のうちの異なる1つの選択を受信することに応じて、新しく選択されたアバターオプションを表すように、表示されたアバター645を変更し、境界642を選択されたアバターオプションに移動する。このようにして、デバイス600が一角獣アバターオプション640bの選択を検出した場合、デバイス600は、一角獣アバターオプション640bの周囲に境界642を表示し、一角獣アバターオプション640bに対応する一角獣として現れるように、アバター645を変更する。
アバター表示領域636はキャプチャアフォーダンス644も含んでおり、キャプチャアフォーダンス644は、メッセージ会話(メッセージングユーザインターフェース603を参照)の参加者に送信するためのアバター645の画像をキャプチャするために、選択され得る。いくつかの実施形態では、キャプチャされる画像は、キャプチャアフォーダンス644で検出されたジェスチャの種類に応じて、静止画像又はビデオ記録である。例えば、デバイス600がキャプチャアフォーダンス644でタップジェスチャを検出した場合、デバイス600は、タップジェスチャが発生したときに、アバター645の静止画像をキャプチャする。デバイス600がキャプチャアフォーダンス644でタップアンドホールドジェスチャを検出した場合、デバイス600は、タップアンドホールドジェスチャが持続する期間の間に、アバター645のビデオ記録をキャプチャする。いくつかの実施形態では、指がアフォーダンスから離れたときに、ビデオ記録が停止する。いくつかの実施形態では、アフォーダンスに対応する位置でその後の入力(例えば、タップ入力)が検出されるまで、ビデオ記録が継続する。いくつかの実施形態では、アバター645のキャプチャされた画像(例えば、静止画像又はビデオ記録)は、その後、メッセージ作成フィールド608に挿入された後、メッセージ会話の参加者に送信される。いくつかの実施形態では、アバター645のキャプチャされた画像は、キャプチャされた画像をメッセージ作成フィールド608に挿入することなく、メッセージ会話の参加者に直接送信される。
いくつかの実施形態では、デバイス600は、カメラ(例えば、カメラ602)の視野内に配置されたユーザの顔の移動及び位置(例えば、回転移動及び/又は並進移動)を追跡し、それに応じて、検出されたユーザの顔における変化に基づいてアバター645の外観を更新する(多くの場合、本明細書では「顔追跡」機能と呼ばれる)。例えば、図6Hに示されているように、デバイス600は、ユーザの顔における変化を(例えば、カメラ602を使用して)検出することに応じて、アバター645の外観を更新する。図6Hの例では、アバター645は、口を開き、目を広げて、傾いて表示されており、カメラ602の視野内に配置されたユーザの顔に類似する表情及び位置を反映している。アバター645に対するそのような変更は、キャプチャアフォーダンス644を使用してキャプチャされ、図6Aに示されているメッセージ会話の参加者に任意選択的に送信され得る。図6Hに示されているアバター645はカスタマイズ不可のアバターであるが、デバイス600は、同様の方法でカスタマイズ可能なアバターを変更することができる。
図6G~図6Iに示されている展開されたアバター選択インターフェースでは、アバターオプション領域638に表示されているすべてのアバターオプション640は、ユーザの即時選択のために予め構成されているカスタマイズ不可のアバターである。これは、カスタマイズ可能なアバターが作成されていないからである。しかし、図6Iに示されているように、デバイス600は、アバター作成アイコン648を選択するようユーザに促すために、アバター作成アイコン648から広がるアバター作成プロンプト646を表示し、ユーザがアバター作成アイコン648を選択すると、デバイス600は新しいカスタマイズ可能なアバターを作成する処理を開始し、その後、作成されたカスタマイズ可能なアバターは、アバターオプション領域638に追加することができ、任意選択的に、メッセージングユーザインターフェース603で使用することができる。アバター作成プロンプト646及びアバター作成アイコン648(図6Iでは「+」形状を有している)の表示された組み合わせは、ユーザが、アバター作成アイコン648を選択することによって、展開されたアバター選択インターフェース634及び図6Uのライブラリインターフェース686に追加され得るカスタマイズされたアバターを作成できるということを、ユーザに知らせる。
いくつかの実施形態では、アバター作成プロンプト646はわずかな遅延の後に現れ、出現する様々なカスタマイズ可能なアバターの例のアニメーションを表示し、例えば顔面表情を変化させる。例えば、図6Iでは、アバター作成プロンプト646は、帽子及び眼鏡を着用している男性の外観を有し、微笑している顔面表情を有する例示的なカスタマイズ可能なアバター646aを表示している。図6Jでは、アバター作成プロンプト646は、黒い毛髪を中央で分けた女性の外観を有し、完全に笑っている顔面表情を有する例示的なカスタマイズ可能なアバター646bを表示することに移行している。
いくつかの実施形態では、デバイス600は、アバター作成アイコン648を選択した後に作成されたアバターなどの、新しいカスタマイズ可能なアバターを表示し、それらのアバターは、アバターオプション領域638内の、どの2つのカスタマイズ不可のアバターの間でもない、アバターオプション640の集合の端に現れる。例えば、新しく作成されたすべてのカスタマイズ可能なアバターは、アバターの集合の後端(例えば、一角獣アバターオプション640bの後、ただし、一角獣アバターオプション640bと鶏アバターオプション640cの間ではない)又はアバターの集合の先端(例えば、アバター作成アイコン648の次、又はアバター作成アイコン648とサルアバターオプション640aの間)に表示され得る。このようにして、カスタマイズ可能なすべてのアバターが一緒にグループ化されて表示され、カスタマイズ不可のアバターから離される(例えば、分離又は区別される)。カスタマイズ可能なすべてのアバターとカスタマイズ不可のアバターのこの分離は、図6A~図6ANに関して説明されている様々なユーザインターフェースにおいて維持される。
図6Jで、デバイス600は、アバター作成アイコン648に対応する位置で入力650(例えば、ディスプレイ601上のタップジェスチャ)を検出する。
図6Kで、デバイス600は、入力650を検出することに応じて、キャンセルアフォーダンス654及び完了アフォーダンス666を有するアバター編集ユーザインターフェース652を表示する。アバター編集ユーザインターフェース652は、図8Aに示されているアバター編集ユーザインターフェース801に類似している。アバター編集ユーザインターフェース652を使用して、図8A~図8CFに関して下で提供されている開示に従って、カスタマイズ可能なアバターを作成することができる。簡潔にするために、アバターの作成及び編集に関する詳細は、ここでは繰り返されないが、本開示(例えば、図8A~図8CE及び関連する開示)において後述される。
ユーザがアバター編集ユーザインターフェース652においてアバターをカスタマイズした後に、ユーザは、完了アフォーダンス652を選択して、そのアバターを新しいカスタマイズされたアバター(カスタマイズ可能な女性アバター670として図6Lに示されている)として保存することができる。デバイス600は、完了アフォーダンス652の選択を検出することに応じて、新しいカスタマイズされたアバターを保存し、図6Lに示されているように、縮小されたアバター選択インターフェース668を有するメッセージングユーザインターフェース603を表示する。代替的に、ユーザは、キャンセルアフォーダンス654を選択して、新しいカスタマイズされたアバターを破棄し、図6Hに示されている展開されたアバター選択インターフェース634に戻ることができる。デバイス600が新しいカスタマイズされたアバターを保存した後に、下で説明されているように、展開されたアバター選択インターフェース634に戻ることによって、そのアバターを展開されたアバター選択インターフェース634に表示することができる。新しいカスタマイズされたアバターは、カスタマイズ不可のアバターではなくカスタマイズ可能なアバターであるため、新しいカスタマイズされたアバターを展開されたアバター選択インターフェース634に表示したときに、そのアバターは、カスタマイズ不可のアバターから分離されて配置され(例えば、アバターオプション640の集合の端の、ただしどの2つのカスタマイズ不可のアバターの間でもない位置に配置され)、他のカスタマイズ可能なアバターと共にグループ化される。
図6Lで、デバイス600は、展開されたアバター選択インターフェース634に表示されているアバターオプション(例えば、アバターオプション640)のクローズアップ表示を提供する、縮小されたアバター選択インターフェース668を表示している。縮小されたアバター選択インターフェース668は、ユーザ選択に使用可能なアバターのスクロール可能なリスト675(アバターオプション640に対応する)を含む。デバイス600は、現在選択されているアバター(例えば、図6Lの女性アバター670)を、縮小されたアバター選択インターフェース668内の中心位置に表示する。現在選択されテイルアバターがカスタマイズ可能なアバター(例えば、女性アバター670)である場合、デバイス600は、オプションメニュー(図6Wに関して下で説明される)を表示するために選択できるオプションアフォーダンス674も表示する。縮小されたアバター選択インターフェース668では、下で更に詳細に説明されているように、アバターを中心位置に配置することによって、異なるアバターを選択することができる。
図6Lで、縮小されたアバター選択インターフェース668は、メッセージングユーザインターフェース603内の、以前はテキスト候補領域614及びキーボード表示領域612によって占められていた位置に表示される。アプリケーションドック618は、縮小されたアバター選択インターフェース668の下部に任意選択的に表示され、境界672によって示された選択済みのアプリケーションアフォーダンス620aを表示している。縮小されたアバター選択インターフェース668をメッセージングユーザインターフェース603に表示することによって、デバイス600は、メッセージ会話の参加者に(例えば、ステッカー、アバターの画像、又はアバターの記録として)送信するためのアバターを選択するのに便利なアクセスを、ユーザに提供する。
デバイス600は、表示されたカスタマイズされたアバター及びカスタマイズされていないアバターを種類別にグループ化し、一方向のスクロールが一種類のアバター(例えば、カスタマイズされていないアバター)へのアクセスを提供し、反対方向のスクロールが異なる種類のアバター(例えば、カスタマイズされたアバター)へのアクセスを提供するように、それらのグループを連続して配置する。
デバイス600は、カスタマイズ可能な女性アバター670を、縮小されたアバター選択領域668の中央の、カスタマイズ可能なアバターとカスタマイズ不可のアバターの間の境界領域に表示する(例えば、カスタマイズ可能なアバターが女性アバター670の片側に存在し、カスタマイズ不可のアバターが女性アバター670の反対側に存在する(図6AE~図6AGも参照))。したがって、アバター675の表示されたリストを一方向にスクロールすることによって、カスタマイズ不可のアバターを表示し、反対方向にスクロールすることによって、カスタマイズ可能なアバターを表示する。いくつかの実施形態では、アバター675のリストをスクロールして、カスタマイズ不可のアバターの反対側のカスタマイズ可能なアバターの端に配置されたアバター作成アフォーダンス669(機能においてアバター作成アイコン648に類似している)を表示することができ、アバター作成アフォーダンス669がカスタマイズ可能なアバターのグループの一方の端に配置され、カスタマイズ不可のアバターのグループが、カスタマイズ可能なアバターのグループの反対の端に配置されるようにする。そのような実施形態では、アバター作成アフォーダンス669を選択して、図6I~図6Kに関して前述した方法と同様の方法で、新しいカスタマイズ可能なアバターを作成することができる。
図6M~図6Rに示されているように、デバイス600は、顔において検出された変化に応じて、縮小されたアバター選択インターフェース668に表示されたアバター(例えば、カスタマイズ可能な女性アバター670)を変更する。参考のために、図6M~図6Rは、カメラ(例えば、602)の視野内で検出された顔673の表現を含んでいる。図6M~図6Rは、顔673において検出された変化に応じて、表示されたアバター(例えば、カスタマイズ可能なアバター670及びカスタマイズ不可のアバター671)に対する変更を示している。いくつかの実施形態では、図6M~図6Rでの顔673の表示は、顔673を向いて配置されたデバイスの視点から表示されている。したがって、表示されたアバターに対する対応する変化が、顔673の動きに関して反映されて、図6M~図6Rに示されている。
図6Mで、デバイス600は、唇673-1を下に曲げ、眉673-2にしわを寄せ、目673-3をわずかに細めて、不機嫌そうな表情を作っている傾いた顔673を検出する。それに応じて、デバイス600は、同じ顔面表情(例えば、不機嫌そうな表情を伴って傾いた頭部)を有するように、表示されたアバター(カスタマイズ可能なアバター670)を変更する。
図6M~図6Oで、デバイス600は、アバター675のリストの右側から開始して、アバター675のリストの左側に向かって左に移動する、横方向のジェスチャ676(例えば、ディスプレイ601上のスワイプ又はタッチアンドドラッグ入力)を検出する。横方向のジェスチャ676を検出することに応じて、デバイス600は、横方向のジェスチャ676の大きさ(及び方向)に基づいて、左にスクロールするアバター675のリストを表示し、それによって、カスタマイズ可能な女性アバター670が左にスクロールされ、カスタマイズ不可のサルアバター671が縮小されたアバター選択インターフェース668の中央にスクロールされるようにする。
女性アバター670が図6Mの中心位置から図6Oの左にずれた位置にスクロールされるときに、デバイス600は、図6Mでの3Dの顔追跡状態(アバター670が、顔673のポーズに一致するポーズを有する)から図6Oでの静的状態(アバター670が、顔673のポーズに基づいて決定されないデフォルトのポーズを有する)に移行する女性アバター670のアニメーションを表示する。デバイス600は、アニメーション化された移行を表示するときに、顔673に基づいて女性アバター670を変更するのを止める(ただし、顔673は、デバイス600によって引き続き任意選択的に追跡され得る)。例えば、顔673は、図6N及び図6Oではまだ不機嫌そうなポーズを有しているが、現在は頭部が傾いておらず、一方、女性アバター670は、図6N及び図6Oの両方で、顔673とは異なるポーズを有している。
図6Nは、図6Mの顔追跡状態から図6Oの静的状態に移行しているアバター670のアニメーションの中間状態を示している。図6Nで、デバイス600は、検出された顔673に基づいて女性アバター670を変更しておらず、代わりに、図6Mでの不機嫌なポーズから図6Oでの静的な笑っているポーズに移行している女性アバター670を表示している。具体的には、図6Nは、女性アバターの頭部が直立位置に移動されており、その口が不機嫌な顔と笑顔の間(例えば、検出された顔の口の位置と、静的なアバターの口の位置の間)の位置にあり、その眉にしわが寄っていないことを示している。
また、図6Nは、サルアバター671が図6Mでの右にずれた位置から図6Oでの中心位置に向かって移動しているため、サルアバター671をわずかに中心からずれた位置に表示している。サルアバター671は、図6M~図6Oにおいて静的な笑顔のポーズを有している。
図6Oでは、女性アバター670は、静的な笑顔のポーズを伴って左の位置に完全に移動されており、サルアバター671は中心位置にある。デバイス600は、検出された顔673に基づいてサルアバター671をまだ変更していない。いくつかの実施形態では、デバイス600は、触覚フィードバック(例えば、触知出力)を生成し、任意選択的に、スクロールされているアバター675が縮小されたアバター選択インターフェース668の中央に位置することを示すオーディオ出力を生成する。この触覚フィードバックは、横方向のジェスチャ676を解除することによってデバイス600がそのアバターを選択するというように、アバターが配置されたということを、ユーザに知らせる。
サルが図6Oのスクリーンの中央に現れた後に、デバイス600は、入力676の終了を検出し、図6Pの検出された顔673に基づいて、中央に配置されたアバター(例えば、サルアバター671)の変更を再開する。したがって、図6Pで、サルアバター671は、顔673の不機嫌そうなポーズをとる(例えば、デバイス600は、静的なポーズから顔673のポーズに移行するように、サルアバター671を変更する)。
いくつかの実施形態では、ユーザがアバター675のリストをスクロールするときに、各アバターが縮小されたアバター選択インターフェース668の中心位置で停止すると、デバイス600は、顔673のポーズ(例えば、位置及び顔面表情)をとるように、そのアバターを変更する。これにより、ユーザは特定の顔面表情を保持することができ、デバイス600は、その顔面表情に一致するように中央のアバターを変更する。ユーザが顔面表情を保持して、別のアバターにスワイプするときに、デバイス600は、ユーザの顔の保持された顔面表情から静的なデフォルトのポーズに移行している現在選択されているアバターのアニメーションを表示し、一方、次のアバターが中心位置にスクロールされる。その後、デバイス600は、静的なポーズからユーザの保持された顔面表情に移行している次のアバターを表示する。いくつかの実施形態では、デバイス600は、アバターが中心位置で止まるまで、(検出された顔に応じて、又は追跡された顔から静的なポーズへのアニメーション化された移行として)縮小されたアバター選択インターフェース668の中央に配置されたアバターの変更を開始しない。したがって、ユーザがアバター675のリストを素早くスクロールする(例えば、アバターで止まらずに、アバターをスクロールする)ときに、デバイス600は、それらのスクロール中に、検出された顔に基づいてアバターをアニメーション化することも、変更することもない。
図6Pで選択されたサルアバター671はカスタマイズ不可のアバターであるため、デバイス600は、オプションアフォーダンス674を表示しない。カスタマイズ可能なアバター及びカスタマイズ不可のアバターは、前述したようにグループ化されているため、左方向にスクロールし続けると、デバイス600はその他のカスタマイズ不可のアバター(例えば、ロボットアバター678など)を表示するが、カスタマイズ可能なアバターを表示しない。カスタマイズ可能なアバターは、図6Q及び図6Rに関して下で説明されているように、右方向にスクロールすることによって表示され得る。
図6Q及び図6Rで、デバイス600は、アバター675のリストの右側に向かって右に移動する、横方向のジェスチャ680(例えば、ディスプレイ601上のスワイプ又はタッチアンドドラッグ入力)を検出する。横方向のジェスチャ680を検出することに応じて、デバイス600は、横方向のジェスチャ680の大きさ(及び方向)に基づいて、右にスクロールするアバター675のリストを表示し、それによって、カスタマイズ不可のロボットアバター678がスクロールされてディスプレイ601から消え、サルアバター671が右にずれた位置にスクロールされ、カスタマイズ可能な女性アバター670がディスプレイの中央にスクロールされるようにする。カスタマイズ可能なアバター及びカスタマイズ不可のアバターは、前述したようにグループ化されているため、右方向にスクロールし続けると、デバイス600はその他のカスタマイズ可能なアバター(又は、任意選択的にアバター作成アフォーダンス669)を表示するが、カスタマイズ不可のアバターを表示しない。カスタマイズ不可のアバターは、前述したように、左方向にスクロールすることによって表示され得る。
図6Q及び図6Rは、図6M~図6Pに関して前述したのと同様に、アニメーション化された移行を伴ってアバターをスクロールするが、逆方向には移動しないということも示している。図6Q及び図6Rで、アバターが右に移動するときに、デバイス600は、図6Pでの顔追跡状態から図6Rに示された静的状態へのサルアバター671の移行を、図6Qに示された過渡的な外観を伴ってアニメーション化する。例えば、図6Pで、デバイス600は、顔673に基づいてサルアバター671を変更している(例えば、サルアバター671は、顔673のポーズに一致するポーズを有する)。図6Q及び図6Rに示されているように、デバイス600は、顔673に基づいてサルアバター671を変更することを止め(例えば、顔673は不機嫌そうな表情を維持するが、サルアバター671は異なるポーズを有する)、図6Pのポーズから図6Rの静的な外観へ移行する、サルアバター671のアニメーション化された移行を表示する。図6Qは、アニメーション化された移行の中間状態を示しており、サルアバター671が不機嫌な顔と笑顔の間の位置にある口を有し、その眉がしわを寄せていない位置にある。女性アバター670は、わずかに右にずれており、静的なデフォルトの笑顔のポーズを維持しながら、中心位置に向かって移動している。
図6Rで、女性アバター670は、静的な笑顔のポーズを伴って、縮小されたアバター選択インターフェース668の中央に配置されている。サルアバター671は、静的なポーズを伴って右にずれた位置にある(サルアバター671の静的なポーズも、女性アバター670の静的なポーズと同様に笑顔のポーズであるが、これらの静的なポーズはアバターごとに異なることが可能である)。顔673は、中立的なポーズに移行している(例えば、眉にしわが寄っていない微笑)。図6Rで、デバイス600は、検出された顔673に基づいて女性アバター670を変更していない。
図6Sで、デバイス600は、縮小されたアバター選択インターフェース668の中央に配置されることによって選択された、カスタマイズ可能な女性アバター670を表示している。この場合も、女性アバター670がカスタマイズ可能なアバターであるため、デバイス600はオプションアフォーダンス674を表示する。デバイス600は、アバターのライブラリにアクセスするために選択できる編集アフォーダンス682も表示する。いくつかの実施形態では、デバイス600は、表示されたアバターがカスタマイズ可能であるか、又はカスタマイズ不可であるかに関わらず、編集アフォーダンス682を表示する。
図6Tで、デバイス600は、編集アフォーダンス682上の入力684(例えば、デバイス601上のタップジェスチャ)を検出する。入力684を検出することに応じて、デバイス600は、図6Uに示されているライブラリインターフェース686を表示する。
図6Uで、デバイス600は、編集アフォーダンス(例えば、編集アフォーダンス682)上のユーザ入力を検出することに応じて、ライブラリインターフェース686を表示する。図6Uに示された実施形態では、デバイス600は、女性アバターオプション670a及び新しいカスタマイズされた男性アバターオプション688aを有するライブラリインターフェース686を表示している。女性アバターオプション670aは女性アバター670に対応し、男性アバターオプション688aは男性アバター688(図6AEに示されている)に対応する。図6Uに示された実施形態では、カスタマイズされた男性アバターオプション688aは、図6I~図6Kに関して前述したステップに従って作成されたカスタマイズ可能な男性アバター(例えば、688)に対応する、カスタマイズ可能なアバターオプションである。簡潔にするために、これらのステップはここでは繰り返さない。デバイス600は、一緒にグループ化されて、カスタマイズ不可のアバターオプションとは区別された、男性アバターオプション668a及び女性アバターオプション670a(カスタマイズ可能なアバターオプション)を表示する。
図6Vで、デバイス600は、女性アバターオプション670aを選択する入力690(例えば、ディスプレイ601上のタッチ入力)を検出する。
図6Wで、デバイス600は、女性アバターオプション670aを選択するための入力690を検出することに応じて、オプションメニュー692を表示する。デバイス600は、ライブラリインターフェース686から選択されたアバターオプション(例えば、女性アバターオプション670a)に対応するアバター(例えば、女性アバター670)、並びに編集オプション692a、複製オプション692b、及び削除オプション692cを有するオプションメニュー692を表示する。編集オプション、複製オプション、及び削除オプションはそれぞれ、ライブラリインターフェース686で選択されたアバターオプション(及び対応するアバター)を編集、複製、又は削除する各処理を開始するために、選択可能である。いくつかの実施形態では、デバイス600は、本明細書において説明された顔追跡機能に従って、オプションメニュー692に表示されたアバターを変更する。
図6Xで、デバイス600は、編集オプション692a上の入力693a(例えば、ディスプレイ601上のタッチ入力)を検出する。デバイス600は、入力693aを検出することに応じて、アバター編集ユーザインターフェース694(図6Zに示されている)を表示し、アバター編集ユーザインターフェース694はアバター編集ユーザインターフェース652に類似している(ただし、デフォルトの新しいアバターの代わりに、選択されたアバター670又は選択されたアバター670の複製を表示する)。
図6Yで、デバイス600は、複製オプション692b上の入力693b(例えば、ディスプレイ601上のタッチ入力)を検出する。デバイス600は、入力693bを検出することに応じて、ライブラリインターフェース686で選択されたアバターオプションの複製バージョン(例えば、女性アバター670aの複製)及び対応するアバター(例えば、女性アバター670)の複製バージョンを作成する。デバイス600は、複製されたアバターを有するアバター編集ユーザインターフェース694(図6Zに示されている)を表示する。
図6Zで、デバイス600は、入力693a又は693bを検出することに応じて、アバター編集ユーザインターフェース694を表示する。デバイス600が編集オプション692aで入力693aを検出した場合、デバイス600は、ライブラリインターフェース686で選択されたアバターオプションに対応するアバター(例えば、アバター670)を表示するアバター編集ユーザインターフェース694を表示する。しかし、デバイス600が複製オプション692bで入力693bを検出した場合、デバイス600は、選択されたアバターの複製(例えば、女性アバター670の複製)を作成し、その複製アバターをアバター編集ユーザインターフェース694に表示する。図6Zに示された実施形態では、デバイス600は複製アバター695を表示している。いくつかの実施形態では、デバイスは、入力693aを検出することに応じて、アバター編集ユーザインターフェースを表示するのではなく、複製アバターオプションを含むライブラリインターフェース686を表示する。
アバター編集ユーザインターフェース694は、図8A~図8CFを参照して下で説明されているアバター編集ユーザインターフェースに類似している。簡潔にするために、アバター編集ユーザインターフェース694を使用したアバターの編集の詳細は繰り返されない。
図6AAで、デバイス600は、複製アバター695に対応する複製アバターオプション695a(アバター編集ユーザインターフェース694を使用して異なるアバター特徴部を選択することに基づいて、変更されて表示される)を有するライブラリインターフェース686を表示している。変更された複製アバター695を保存した(例えば、アバター編集ユーザインターフェース694で「完了」の選択を検出した)後に、デバイス600は、複製アバターオプション695aを、複製の作成元になった選択されたアバターオプションの隣の位置(例えば、アバターオプション670aの隣)に表示する。
図6ABは、アバターオプション670aが図6Vで選択された後の、オプションメニュー692を示している。デバイスは、削除オプション692cで入力693cを検出することに応じて、選択されたアバターオプション670aをライブラリインターフェース686から削除する。そのような場合、デバイス600は、例えば図6ACに示されているように、アバターオプション670aをライブラリインターフェースから除去する。しかし、デバイス600が入力693a~入力693cをいずれも検出せず、代わりにキャンセルアフォーダンス696の選択を検出した場合、オプションメニュー692が閉じられ、デバイス600は、図6ADに示されているように、男性アバターオプション688a及び女性アバターオプション670aを有するライブラリインターフェース686を表示する(図6Uに示されたライブラリインターフェース686の状態に類似している)。
図6ADで、デバイス600は、完了アフォーダンス698上の入力697(例えば、ディスプレイ601上のタッチジェスチャ)を検出し、それに応じてライブラリインターフェース686を終了し、図6AEに示されているように、縮小されたアバター選択インターフェース668を表示する。縮小されたアバター選択インターフェース668は、男性アバター688、女性アバター670、及びカスタマイズ不可のアバター645を含んでいる。
図6AEでは、3つの別個のジェスチャが、縮小されたアバター選択インターフェース668上で表されている。下で説明されているように、デバイス600が特定の方向(例えば、左又は右)でジェスチャを検出した場合、デバイス600は、表示されたアバター(例えば、カスタマイズ可能な女性アバター670)を、ジェスチャの方向によって決定された特定の種類のアバターに置き換える。例えば、ジェスチャが左方向である場合、表示されたアバターは、第1の種類のアバター(例えば、カスタマイズ不可のアバター又は人間以外のキャラクターを表すようにモデル化されたアバター)に置き換えられる。反対に、ジェスチャが右方向である場合、表示されたアバターは、第2の種類のアバター(例えば、カスタマイズ可能なアバター又は人間を表すようにモデル化されたアバター)に置き換えられる。
例えば、図6AEで、デバイス600が左横方向のジェスチャ699a(例えば、ディスプレイ601上の左方向のスワイプ又はタッチアンドドラッグジェスチャ)を検出した場合、デバイス600は図6AFに示された実施形態を表示し、図6AFは、左に(縮小されたアバター選択インターフェース668の中央から離れた、例えば女性アバター670が選択されていないことを示す位置に)移動されたカスタマイズ可能な女性アバター670、及び縮小されたアバター選択インターフェース668の中央(例えば、サルアバター645が選択されていることを示す位置)に配置されたカスタマイズ不可のサルアバター645を示している。したがって、デバイス600は、左横方向のジェスチャ699aを検出することに応じて、カスタマイズ不可のアバターの選択を表示する。いくつかの実施形態では、左横方向のジェスチャ699aは、デバイス600に、縮小されたアバター選択インターフェース668をスクロールさせ、それによって、カスタマイズ可能な女性アバター670が完全にスクリーンの外に移動され、(例えば、図6Oに示されている実施形態と同様に)1つ以上のカスタマイズ不可のアバターのみが表示されるようにする。
デバイス600が右横方向のジェスチャ699b(例えば、ディスプレイ601上の右方向のスワイプ又はタッチアンドドラッグジェスチャ)を検出した場合、デバイス600は図6AGに示された実施形態を表示し、図6AGは、右に(縮小されたアバター選択インターフェース668の中央から離れた(例えば女性アバター670が選択されていないことを示す位置))に移動されたカスタマイズ可能な女性アバター670、及び縮小されたアバター選択インターフェース668の中央(例えば、男性アバター688が選択されていることを示す位置)に配置されたカスタマイズ可能な男性アバター688を示しており、任意選択的に、アバター作成アフォーダンス669を示している。したがって、デバイス600は、右横方向のジェスチャ699bを検出することに応じて、カスタマイズ不可のアバターを表示せずに、カスタマイズ可能なアバターの選択を表示する。
いくつかの実施形態では、デバイス600は、最初に選択されている(縮小されたアバター選択インターフェース668の中心位置にある)アバターがカスタマイズ不可のアバターであるシナリオを表示し、横方向のジェスチャを検出することに応じて、カスタマイズ不可のアバターが完全にスクリーンの外に移動されるようにスクロールする縮小されたアバター選択インターフェース668を表示することができ、それによって、1つ以上のカスタマイズ可能なアバターのみを縮小されたアバター選択インターフェース668に表示する。
デバイス600が上向きの縦方向のジェスチャ699c(例えば、ディスプレイ601上の縦方向のスワイプ又は縦方向のタッチアンドドラッグジェスチャ)を検出した場合、デバイス600は、縮小されたアバター選択インターフェース668を展開して、図6AHの展開されたアバター選択インターフェース634を表示する。
図6AHで、デバイス600は、カスタム男性アバターオプション688a及びカスタム女性アバターオプション670aをアバターオプション領域638内に有する展開されたアバター選択インターフェース634を表示している。女性アバターオプション670aが選択されており、女性アバターオプション670がアバター表示領域636に表示されている。デバイス600は、オプションアフォーダンス674もアバター表示領域638に表示している。デバイス600は、アバター670を(例えば、ユーザの顔において検出された変化に基づいて変更されている間に)記録するために選択できるキャプチャアフォーダンス644も表示している。
図6AI~図6AJで、デバイス600は、アバターオプション領域638上のスクロールジェスチャ6100(例えば、ディスプレイ601上の縦方向のスワイプ又はタッチアンドドラッグジェスチャ)を検出する。デバイス600は、スクロールジェスチャ6100を検出することに応じて、アバターオプション領域638に表示されているアバターオプションの表示をスクロールする。
図6AKで、デバイス600は、オプションアフォーダンス674上の入力6102(例えば、ディスプレイ601上のタップジェスチャ)を検出する。図6ALで、デバイス600は、入力6102を検出することに応じて、表示されたアバターオプション領域638を、前述の編集オプション、複製オプション、及び削除オプション(例えば、692a、962b、962c)にそれぞれ類似する編集オプション、複製オプション、及び削除オプションを含んでいるオプションメニュー領域6104に置き換える。デバイス600は、キャンセルアフォーダンス6106も表示している。デバイス600は、キャンセルアフォーダンス6106上の入力6108(例えば、ディスプレイ601上のタップジェスチャ)を検出することに応じて、オプションメニュー領域6104を除去し、図6AMに示されているように、アバターオプション領域638を再び表示する。
いくつかの実施形態では、デバイス600は、異なるアバターオプションの選択に応じて、アバター表示領域636に表示されているアバターを変更する。例えば、図6AMで、デバイス600は、うんちアバターオプション6112a上の入力6110(例えば、ディスプレイ601上のタップジェスチャ)を検出する。それに応じて、デバイス600は、アバター670を除去し、図6ANに示されているように、うんちアバター6112を表示する。加えて、デバイス600は、選択されたアバターオプション(例えば、6112a)がカスタマイズ不可のアバター(例えば、うんちアバター6112)に対応しているため、編集アフォーダンス674を除去している。
図7は、いくつかの実施形態に従って、電子デバイス(例えば、600)を使用してアプリケーション内のアバター間をナビゲートする方法を示すフロー図である。方法700は、表示装置及び1つ以上の入力デバイスを備えているデバイス(例えば、100、300、500、600)で実行される。方法700のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法700は、アプリケーション内のアバター間をナビゲートする直感的な方法を提供する。この方法は、アバターを管理する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがアプリケーション内のアバター間をより高速かつより効率的にナビゲートすることを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
電子デバイスは、表示装置を介してアバターナビゲーションユーザインターフェース(例えば、668)を表示する(702)。アバターナビゲーションユーザインターフェースは、アバター(例えば、670)を含む。
アバターナビゲーションユーザインターフェース(例えば、668)が表示されている間に、電子デバイスは、1つ以上の入力デバイス(例えば、タッチスクリーンディスプレイ上のアバターナビゲーションユーザインターフェースに対応する位置でのスワイプジェスチャ)を介して、アバターナビゲーションユーザインターフェース(例えば、668)に向けられたジェスチャ(例えば、699a、699b)を検出する(704)。
電子デバイスは、ジェスチャ(例えば、699a、699b)を検出することに応じて(706)、ジェスチャが第1の方向(例えば、右向きの横方向のスワイプジェスチャ)であるという判定に従って(708)、第1の種類のアバター(例えば、人間以外のキャラクターではなく、人間を表すようにモデル化されたアバター670、688、あるいは構成可能であるか、又はアバターのプロトタイプ若しくはテンプレートから作成できるアバター)をアバターナビゲーションユーザインターフェース(例えば、668)に表示する(710)。第1の種類のアバターを表示することによって、入力が受信されたこと、及びデバイスが現在、第1の種類のアバターを選択できる状態にあるということを確認する視覚フィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
電子デバイスは、ジェスチャ(例えば、699a)を検出することに応じて(706)、ジェスチャ(例えば、699a)が第1の方向と反対の第2の方向(例えば、左向きの横方向のスワイプジェスチャ)であるという判定に従って(714)、第1の種類(例えば、670、688)と異なる第2の種類(例えば、645)のアバター(例えば、人間以外のキャラクターを表すようにモデル化されたアバター、又は選択可能であるが構成可能ではないアバター)をアバターナビゲーションユーザインターフェースに表示する(716)。第2の種類のアバターを表示することによって、入力が受信されたこと、及びデバイスが現在、第2の種類のアバターを選択できる状態にあるということを確認する視覚フィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイスは、ジェスチャが第1の方向であるという判定に更に従い(708)、第2の種類(例えば、645)のアバターをアバターナビゲーションユーザインターフェース(例えば、668)に表示することを止める(712)。電子デバイスは、ジェスチャが第1の方向と反対の第2の方向であるという判定に更に従い(714)、第1の種類(例えば、670、688)のアバターをアバターナビゲーションユーザインターフェース(例えば、668)に表示することを止める(718)。特定の種類のアバターを表示しないことによって、電子デバイスは、入力が受信されたこと、及びデバイスがこの特定の種類のアバターを選択できる状態にないということを確認する視覚フィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1の種類(例えば、670)のアバターを表示した後に、電子デバイスは第1の方向の第2のジェスチャ(例えば、699b)を検出する。電子デバイスは、第2のジェスチャを検出することに応じて、第1の種類(例えば、688)の第2のアバターを表示する。
いくつかの実施形態に従って、第2の種類(例えば、645)のアバターを表示した後に、電子デバイスは第2の方向の第3のジェスチャを検出する。電子デバイスは、第3のジェスチャを検出することに応じて、第2の種類(例えば、678)の第2のアバターを表示する。
いくつかの実施形態に従って、第1の種類のアバター(例えば、アバター670)は、人間のキャラクター(例えば、人間以外のキャラクターではなく、人間を表すようにモデル化されたアバター)の外観を有する。いくつかの実施形態では、そのようなアバターは、人間の身体的特徴に概して対応するカスタマイズ可能(例えば、選択可能又は構成可能)なアバター特徴部(例えば、図8A~図8BBに見られるような頭部、毛髪、目、及び唇)を含む。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾拡張物、帽子、眼鏡など)(例えば、図8BB~8CFに示されている)を有する個人の表現も含む。いくつかの実施形態では、そのようなアバターは、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化などの、擬人化された構成を含まない。アバターの外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第2の種類のアバター(例えば、図6Gに示されたアバターオプションに対応するアバターであるアバター645)は、人間以外のキャラクターの外観を有する(例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化)である人間以外のキャラクターなどを含む、人間以外のキャラクターを表すようにモデル化されたアバター)。アバターの外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1の種類(例えば、670)のアバターは、ユーザによって構成可能(例えば、作成可能、選択可能、カスタマイズ可能)な複数のアバター特徴部(例えば、851、828)を含む。いくつかの実施形態では、そのようなアバターは、ユーザによって作成可能であり、又はユーザによって構成可能な複数の特徴を使用して予め構成され得る。いくつかの実施形態では、アバター特徴部の構成は、仮想アバターの外観又は物理的構造における大幅な変更をもたらす。
いくつかの実施形態に従って、第2の種類(例えば、645)のアバターは、ユーザによって構成可能(例えば、作成可能、選択可能、カスタマイズ可能)なアバター特徴部を含まない。いくつかの実施形態では、そのようなアバターは、予め構成されており、ユーザによって構成可能な特徴を有していない。場合によっては、そのようなアバターは、わずかに変更されてよいが(例えば、アバターの色を変更するか、又はアバターのサイズを変更する)、そのような変更は、仮想アバターの外観又は物理的構造を大幅に変更しない。
いくつかの実施形態に従って、アバターナビゲーションユーザインターフェースは、複数のアバターを有する部分領域(例えば、686)を含む。複数のアバターは、第1の種類(例えば、670a、688a、670a)のアバターの第1の集合及び第2の種類(例えば、640a)のアバターの第2の集合を含む。第1の種類のアバターの第1の集合は、第2の種類のアバターの第2の集合から分離される(例えば、区別される)。いくつかの実施形態では、第1の種類のアバターが第2の種類のアバターから分離されており、それによって、アバターナビゲーションユーザインターフェースが表示されていて、電子デバイスがユーザのジェスチャ(例えば、スワイプジェスチャ)を検出したときに、デバイスが、アバターナビゲーションユーザインターフェースにおいて、ジェスチャが第1の方向である場合は第1の種類のアバターを表示又は選択し、あるいはジェスチャが第1の方向と反対の第2の方向である場合は第2の種類のアバターを表示するようにする。いくつかの実施形態では、これによってユーザは、異なる種類のアバターに到達するために同じ種類の複数のアバターをスクロールする必要なしに、第1又は第2の種類のアバターを直ちに選択することができる。様々な種類のアバターを視覚的に分離することによって、複数の種類のアバターが表示されている(かつ、カスタマイズに利用できる)ことを示すフィードバックをユーザに提供し、カスタマイズ可能なアバターの特性の種類に関してユーザに知らせる。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、アバター(例えば、670)は、第1の種類のアバターの第1の集合のうちの1つ以上と、第2の種類のアバターの第2の集合のうちの1つ以上との間の位置(例えば、境界領域(例えば、675))に表示された複数のアバターのうちの選択された1つである(例えば、アバターナビゲーションユーザインターフェースに最初に表示されるアバターは、第1の種類のアバターのグループと第2の種類のアバターのグループの間に配置される)。
いくつかの実施形態に従って、第1の種類のアバターの第1の集合は、複数のアバターのうちの選択された1つを含む。電子デバイスは、ジェスチャが第1の方向であるという判定に従って、複数のアバターのうちの選択された1つを、第1の種類の異なるアバターに置き換える(例えば、選択されたアバター(例えば、670)が、第1の種類のアバターの第1の集合からの第1の種類(例えば、688)のアバターのうちの異なる1つに置き換えられる)。電子デバイスは、ジェスチャが第2の方向であるという判定に従って、複数のアバターのうちの選択された1つを、第2の種類のアバターに置き換える(例えば、選択されたアバター(例えば、670)が、第2の種類のアバターの第2の集合からの第2の種類(例えば、645)のアバターのうちの1つに置き換えられる)。
いくつかの実施形態に従って、第2の種類のアバターの第2の集合は、複数のアバターのうちの選択された1つを含む。電子デバイスは、ジェスチャが第1の方向であるという判定に従って、複数のアバターのうちの選択された1つを、第1の種類のアバターに置き換える(例えば、選択されたアバター(例えば、645)が、第1の種類のアバターの第1の集合からの第1の種類(例えば、670)のアバターのうちの1つに置き換えられる)。電子デバイスは、ジェスチャが第2の方向であるという判定に従って、複数のアバターのうちの選択された1つを、第2の種類の異なるアバターに置き換える(例えば、選択されたアバター(例えば、645)が、第2の種類のアバターの第2の集合からの第2の種類のアバターのうちの異なる1つ(例えば、678)に置き換えられる)。
特定の種類のアバターを表示することによって、入力が受信されたこと、及びデバイスが現在、特定の種類のアバターを選択できる状態にあるということを確認する視覚フィードバックを、ユーザに提供する。電子デバイスは、アバターを置き換えることによって、デバイスが、置き換えられたアバターをユーザによって選択できなくなった状態にあるということの視覚フィードバックを提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、アバターナビゲーションユーザインターフェースは、第1のアフォーダンス(例えば、682)(例えば、選択可能な表示されたアバター、又は「編集」アフォーダンス(アバターではない))を含む。アバターナビゲーションユーザインターフェースが表示されている間に、電子デバイスは、1つ以上の入力デバイスを介して、第1のアフォーダンスに向けられたジェスチャを検出する(例えば、タッチスクリーンディスプレイ上の、「編集」アフォーダンス又は表示されたアバターに対応する位置でのタッチジェスチャ、あるいはスワイプアップジェスチャなどの、第1の方向と異なる第3の方向でのスワイプジェスチャ)。電子デバイスは、第1のアフォーダンスに向けられたジェスチャを検出することに応じて、アバターライブラリユーザインターフェース(例えば、686)を表示する。アバターライブラリユーザインターフェースは、第2のアフォーダンス(例えば、648)(例えば、「新しいアバター」又は「+」アフォーダンス)及び第1の種類の1つ以上のアバターを含む。
いくつかの実施形態に従って、アバターライブラリユーザインターフェースが表示されている間に、電子デバイスは、1つ以上の入力デバイスを介して、第2のアフォーダンス(例えば、648)に向けられたジェスチャ(例えば、タッチスクリーンディスプレイ上の「新しいアバター」アフォーダンスに対応する位置でのタッチジェスチャ)を検出する。電子デバイスは、第2のアフォーダンスに向けられたジェスチャを検出することに応じて、アバター編集ユーザインターフェース(例えば、652)を表示する。アバター編集ユーザインターフェースは、第1の種類の新しいアバターを生成する(例えば、アバターライブラリユーザインターフェースに追加される新しいアバターを編集する)ユーザインターフェースである。一部の実施形態では、電子デバイスは、アバター編集ユーザインターフェースを表示し、第1の種類の新しいアバターを作成するためのユーザ入力を受信する。第1の種類の新しいアバターが作成された後に、デバイスは、第1の種類の新しいアバターをアバターライブラリユーザインターフェースに表示する。例えば、第1の種類の新しいアバターは、アバターライブラリ内の第1の種類の表示されたアバターの端に追加される。
いくつかの実施形態に従って、電子デバイスは、第1の種類の新しいアバターを生成し、新しいアバターをアバターライブラリユーザインターフェース(例えば、686)に表示する。新しいアバターは、第1の種類の1つ以上のアバターのうちの最後の1つの次の位置(例えば、第1の種類の1つ以上のアバターの順序における最後の位置)に表示される。
いくつかの実施形態に従って、アバターナビゲーションユーザインターフェースは、アバターを表示されたアバターナビゲーションユーザインターフェースから除去する(例えば、削除する、又は非表示にする)機能に関連付けられたアフォーダンス(例えば、「削除」アフォーダンス)(例えば、692c)を更に含む。電子デバイスは、1つ以上の入力デバイスを介して、この機能に関連付けられたアフォーダンスに向けられたジェスチャ(例えば、タッチスクリーンディスプレイ上の「削除」アフォーダンスに対応する位置でのタッチジェスチャ)を検出する。電子デバイスは、この機能に関連付けられたアフォーダンスに向けられたジェスチャを検出することに応じて、アバターを表示されたアバターナビゲーションユーザインターフェースから除去する(例えば、削除する、又は非表示にする)。
いくつかの実施形態に従って、アバターナビゲーションユーザインターフェースは、メッセージングユーザインターフェース(例えば、603)(例えば、通信プラットフォームによってホストされた会話の参加者間でメッセージを送信するインターフェース)に表示される。いくつかの実施形態では、アバターは、メッセージングユーザインターフェースの一部として表示されたアバターナビゲーションユーザインターフェースからアクセスされることが可能であり、それによって、アバターナビゲーションユーザインターフェースから選択されたアバターが、会話の参加者に送信するメッセージングユーザインターフェースに表示されるようにする。
アバターナビゲーションユーザインターフェースをメッセージングユーザインターフェースに表示することで、ユーザは、メッセージングユーザインターフェースを離れることなくアバター間でナビゲートすることが可能になり、したがって、電子デバイスのアプリケーション間で切り替えるためのユーザ入力を提供する必要がなくなる。必要なユーザ入力の数を低減することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイスは、アバターナビゲーションユーザインターフェースが第1の種類のアバターを含んでいないという判定に従い、第1の種類の新しいアバターの生成に関連付けられたアフォーダンス(例えば、632)(例えば、「続行」アフォーダンス)を有するアバター開始ユーザインターフェース(例えば、626)(例えば、アバタースプラッシュスクリーン)を表示する。アバター開始ユーザインターフェースが表示されている間に、電子デバイスは、第1の種類の新しいアバターの生成に関連付けられたアフォーダンスに向けられたジェスチャ(例えば、630)(例えば、タッチスクリーンディスプレイ上の「続行」アフォーダンスに対応する位置でのタッチジェスチャ)を検出する。電子デバイスは、第1の種類の新しいアバターの生成に関連付けられたアフォーダンスに向けられたジェスチャを検出することに応じて、アバター編集ユーザインターフェース(例えば、652、801)を表示する。アバター編集ユーザインターフェースは、第1の種類の新しいアバターを生成する(例えば、アバターライブラリユーザインターフェースに追加される新しいアバターを編集する)ユーザインターフェースである。
いくつかの実施形態に従って、電子デバイスは、アバターナビゲーションユーザインターフェースが第1の種類のアバターを含んでいるという判定に従い、第1の種類のアバター、及び第1の種類(例えば、670)の表示されたアバターの1つ以上の特徴の管理に関連付けられたアフォーダンス(例えば、682)(例えば、「編集」アフォーダンス)を表示する。いくつかの実施形態では、第1の種類の1つ以上のアバターが作成されている場合、アバターナビゲーションユーザインターフェースは、第1の種類のアバターのうちの1つ及びアフォーダンス(例えば、「編集」アフォーダンス)を表示する。いくつかの実施形態では、電子デバイスは、アフォーダンスの選択を検出することに応じて、第1の種類(例えば、670)のアバター及び第1の種類(例えば、688)のその他のアバターの表現を含んでいるアバターライブラリユーザインターフェース(例えば、686)を表示する。いくつかの実施形態では、電子デバイスは、第1の種類の表示されたアバターの選択を検出することに応じて、アバターライブラリユーザインターフェースを表示する。いくつかの実施形態では、電子デバイスは、アフォーダンス又は第1の種類の表示されたアバターの選択を検出することに応じて、第1の種類のアバターを編集するユーザインターフェースを提供するアバター編集ユーザインターフェース(例えば、652、801)を表示する。
いくつかの実施形態に従って、第1の種類のアバターを表示することは、非対話状態(例えば、図6Lの670)(例えば、第1の種類のアバターが、ユーザの顔における変化に反応しない静的な既定の外観を有する)から対話状態(例えば、図6Mの670)(例えば、第1の種類のアバターが、ユーザの顔における変化に反応する動的な外観を有する)へ移行する第1の種類のアバターを表示することを含む。いくつかの実施形態に従って、第2の種類のアバターを表示することは、非対話状態(例えば、図6Oの678)(例えば、第2の種類のアバターが、ユーザの顔における変化に反応しない静的な既定の外観を有する)から対話状態(例えば、図6Pの678)(例えば、第2の種類のアバターが、ユーザの顔における変化に反応する動的な外観を有する)へ移行する第2の種類(例えば、678)のアバターを表示することを含む。
いくつかの実施形態に従って、電子デバイスは、表示装置を介して、第1の種類(例えば、688、670)の1つ以上の保存された(例えば、以前に作成された)アバターを含んでいるアバターライブラリユーザインターフェース(例えば、686)を表示する。電子デバイスは、(例えば、向けられたジェスチャを検出して)第1の種類の保存されたアバターのうちの1つの選択を検出する(例えば、タッチスクリーンディスプレイ上の第1の種類の保存されたアバターに対応する位置でのタッチジェスチャ)。電子デバイスは、(例えば、向けられたジェスチャを検出して)第1の種類の保存されたアバターのうちの1つの選択を検出することに応じて、第1の種類の保存されたアバターのうちの1つに対する編集機能、複製機能、及び削除機能のうちの1つに関連付けられた1つ以上のメニューアフォーダンス(例えば、「編集」アフォーダンス692a、「複製」アフォーダンス692b、又は「削除」アフォーダンス692c)を有するメニュー(例えば、692)を表示する。
いくつかの実施形態に従って、電子デバイスは、(例えば、向けられたジェスチャを検出して)複製機能に関連付けられた第1のアフォーダンス(例えば、692b)の選択を検出する(例えば、タッチスクリーンディスプレイ上の「複製」アフォーダンスに対応する位置でのタッチジェスチャ)。電子デバイスは、第1のアフォーダンスの選択を検出することに応じて、保存されたアバターのうちの1つの複製バージョン(例えば、695)を生成し、その複製バージョンをアバター編集ユーザインターフェース(例えば、694)に表示する(例えば、「複製」アフォーダンスを選択した後に、選択されたアバターが複製され、その後、保存されたアバターのうちの選択された1つのアバター特徴部に一致するアバター特徴部を有するアバターの複製バージョンが、アバター編集ユーザインターフェースに表示される)。いくつかの実施形態では、複製されたアバターは、アバター編集ユーザインターフェース(例えば、652、694、801)で編集され、編集後に、ライブラリ(例えば、686)に保存され得る。いくつかの実施形態では、複製アバターが保存された後に、この複製アバターは、アバターライブラリユーザインターフェースにおいて、アバターライブラリ内の保存されたアバターのうちの選択された1つの隣の位置(例えば、複製されたアバターのすぐ隣、又は順序内の次の位置であり、順序内のこの次の位置は、順序内の複製されたアバターの位置に直ちに進む)に表示される。
いくつかの実施形態に従って、電子デバイスは、(例えば、向けられたジェスチャを検出して)編集機能に関連付けられた第2のアフォーダンス(例えば、692a)の選択を検出する(例えば、タッチスクリーンディスプレイ上の「編集」アフォーダンスに対応する位置でのタッチジェスチャ)。電子デバイスは、第2のアフォーダンスに向けられたジェスチャを検出することに応じて、保存されたアバター(例えば、編集機能が選択されたときに選択されたアバター)のうちの1つを含んでいるアバター編集ユーザインターフェース(例えば、652、694、801)を表示する。
いくつかの実施形態に従って、電子デバイスは、(例えば、向けられたジェスチャを検出して)削除機能に関連付けられた第3のアフォーダンス(例えば、692c)の選択を検出する(例えば、タッチスクリーンディスプレイ上の「削除」アフォーダンスに対応する位置でのタッチジェスチャ)。電子デバイスは、(例えば、向けられたジェスチャを検出して)第3のアフォーダンスの選択を検出することに応じて、保存されたアバターのうちの表示された1つをアバターライブラリユーザインターフェースから除去する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、検出されたジェスチャ(例えば、676)の大きさ及び方向に従ってアバターナビゲーションユーザインターフェースを横切る方向に移動する個別のアバター(例えば、図6M~図6Oのインターフェース668を横切って移動する671)を表示することを含めて、第1又は第2の種類(例えば、670、671)の個別のアバターを表示する。電子デバイスは、個別のアバターが第1の位置(例えば、検出されたジェスチャの大きさ及び方向に基づいて決定される第1の閾値位置(例えば、個別のアバターの選択に関連付けられた位置))に達するという判定に従って、既定の外観を有する非対話状態(例えば、個別のアバターが、ユーザの顔において検出された変化に応じて変化しない既定の外観を有する、静的状態)(例えば、図6Oの671)から、検出された顔(例えば、673)(例えば、電子デバイスの1つ以上のカメラの視野内で検出された顔)に基づいて決定される外観を有する対話状態(例えば、図6Pの671)(例えば、個別のアバターが、ユーザの顔において検出された変化に応じて変化する、動的状態)へ移行している個別のアバターのアニメーションを表示する。いくつかの実施形態では、非対話状態から対話状態へ移行している個別のアバターのアニメーションは、アバターの顔の表情、位置、向き、及び/又はサイズを、中立的な顔の表情、位置、向き、及び/又はサイズからユーザの顔/頭部追跡に基づくアバターの顔の表情、位置、向き、及び/又はサイズに、徐々に変更することを含む。アバターの外観は、ユーザのジェスチャの大きさ及び方向に従うアバターの動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、600)は、個別のアバター(例えば、671)が第2の位置(例えば、図6Qの671)(例えば、検出されたジェスチャの大きさ及び方向に基づいて決定される第2の閾値位置(例えば、(例えば異なるアバターを選択するために)個別のアバターをスワイプすることに関連付けられた位置))に達するという判定に従って、検出された顔(例えば、673)に基づいて決定される外観を有する対話状態(例えば、図6Pの671)から、既定の外観を有する非対話状態(例えば、図6Rの671)へ移行している個別のアバターのアニメーションを表示する。いくつかの実施形態では、対話状態から非対話状態へ移行している個別のアバターのアニメーションは、アバターの顔の表情、位置、向き、及び/又はサイズを、ユーザの顔/頭部追跡に基づく顔の表情、位置、向き、及び/又はサイズからアバターの中立的な顔の表情、位置、向き、及び/又はサイズに、徐々に変更することを含む。対話状態から非対話状態へ移行するアバターのアニメーションを表示することによって、アバターの非対話的外観の視覚フィードバックを提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
なお、方法700に関して前述した処理(例えば、図7)の詳細は、以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法900は、方法700に関連して前述した様々な方法の特性のうちの1つ以上を、任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図9に関して後述される方法900に従って実現されてよい。追加の例として、方法1000、1100、1200、及び1400は、方法700に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10~図12に関して後述される方法に従って実現されてよい。別の例として、いくつかの実施形態では、ナビゲーションユーザインターフェースが、仮想アバターを変更する処理を呼び出し、この処理は、図14A及び図14Bに関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は、以下では繰り返さない。
図8A~図8CFは、いくつかの実施形態に従って、アバター編集ユーザインターフェースを表示する例示的なユーザインターフェースを示している。これらの図のユーザインターフェースは、図9~図12の処理を含めた、以下で説明される処理を例示するために使用される。
図8Aで、デバイス600は、アバター表示領域803及びアバターの特性領域804を有するアバター編集ユーザインターフェース801を表示している。アバター表示領域803は、例えばライン806によってアバターの特性領域804から視覚的に区別され、アバター805及びアバター特徴部領域807を含む。アバター特徴部領域807は、アバター編集ユーザインターフェースで編集され得るアバター特徴部に対応するアバター特徴部アフォーダンス809を含む。アバターの特性領域804は、表示されたアバター特徴部の特性及び対応する特徴部オプションを含む。アバター特徴部の特性及び特徴部オプションは、アバター特徴部領域807で現在選択されているアバター特徴部に対応する。図8Aで、デバイスは、アバター805の直下に配置されて、アバターの頭部の特徴が現在編集用に選択されていることを示すために強調表示されている、アバターの頭部アフォーダンス809aを表示している。アバターの頭部の特徴が編集用に選択されているため、デバイス600は、アバターの頭部の特徴に対応するアバター特徴部の特性及び特徴部オプションをアバターの特性領域804に表示する。
デバイスは、アバター編集ユーザインターフェースでアバターを編集するときに行われたアバター特徴部に対する変更に基づいて、アバターの現在の状態を表すように、アバター805を表示する。図8Aに示された実施形態では、アバター特徴部が選択されておらず、変更されてもいないため、アバター805は、複数のデフォルトの(例えば、予め設定又は決定された)特徴を伴って表示されている。例えば、アバター805は、既定の顔の構造(例えば、既定の顔の形状、鼻、唇、目、耳、及び眉)を有する。アバター805は、肌の色、毛髪又は髪形、顔の毛(眉以外)、及びアクセサリも選択されていない。デバイスがアバター特徴部を更新する入力を受信したときに、デバイス600は、アバター特徴部に対する選択された更新を反映するように、アバター805を更新する。
いくつかの実施形態では、デバイス600は、アバター特徴部うちのいずれかの選択又は変更を検出する前に、2つ以上の色(例えば、黄色及び白色)の間で変動するアバター805を表示し、それによって、アバター805を変更するための入力をデバイス600が受信する準備ができていることを、ユーザに示すことができる。いくつかの実施形態では、デバイス600は、アバター特徴部うちのいずれかの選択又は変更を検出する前に、ユーザの顔を追跡しないでアバター805を表示する(例えば、アバター805は表示されるが、ユーザの顔における変化に応じて変更されない)。いくつかの実施形態では、デバイス600は、アバター編集ユーザインターフェース801での入力(例えば、色オプションの選択、表示された特徴部オプションのスクロール、アバター上のジェスチャ、アフォーダンス(例えば、「顔追跡の開始」アフォーダンス)上のジェスチャなど)を検出した後に、アバター805の表示の変動を停止し、かつ/又はユーザの顔の追跡(例えば、ユーザの顔において検出された変化に応じてアバター805を変更すること)を開始する。
アバターの特性領域804は、現在選択されているアバター特徴部(例えば、アバターの頭部)に対応するアバター特徴部の特性の表示されたリストを含む。個別のアバター特徴部の特性は、選択されたアバター特徴部の対応する特性を変更するために選択され得る、選択可能な特徴部オプションの集合を含む。更に具体的には、選択可能な特徴部オプションの集合に含まれる選択可能な特徴部オプションはそれぞれ、選択されたアバター特徴部の対応する特性を変更するための値に対応する。その後、変更された特性は、アバター805に対する表示された変更、及びこの特性の表示された表現を含んでいるその他のアバター特徴部オプションに反映される。
デバイス600は、現在選択されているアバター特徴部の特性を変更するために使用できるオプションを表すように、アバター特徴部オプションを表示する。表示されたアバター特徴部オプションは、他の選択されたアバター特徴部オプションに基づいて、動的に更新され得る。他の選択されたアバター特徴部オプションは、同じ現在選択されているアバター特徴部に対応する異なるアバター特徴部オプション、及び異なるアバター特徴部(例えば、以前に変更されたアバター特徴部などの、現在選択されていないアバター特徴部)に対応する選択されたアバター特徴部オプションを含む。例えば、アバターの頭部の特徴の特性に対する変更(例えば、肌の色の選択)を、アバターの頭部の特徴に対応するアバター特徴部オプション(例えば、顔の形状の特徴部オプション)に表示することができ、任意選択的に、例えば毛髪又は目などの、他のアバター特徴部に対応するアバター特徴部オプションに表示することができる。この例では、デバイスは、肌の色の選択を検出することに応じて、現在表示されているアバター特徴部オプション(例えば、顔の形状オプション)を、選択された肌の色を表示するように更新する。更に、異なるアバター特徴部(例えば、目)が選択された場合、目に関して表示されるアバター特徴部オプションも、選択された肌の色を含む。
図8Aに示されているように、アバターの頭部アフォーダンス809aが選択されているため、デバイス600は、アバターの頭部の特徴に対応するアバター特徴部の特性及び特徴部オプションを表示している。表示されたアバター特徴部の特性は、肌の色特性808及び顔の形状特性810を含んでいる(アバターの頭部の特徴は、その他のアバター特徴部の特性を含むことができる)。肌の色特性808は、アバターの頭部の特徴(例えば、アバター805の肌の色)の色を変更するために選択され得る色オプション812を含む。デバイスが特定の色オプション812の選択を検出した場合、デバイスは、現在選択されているアバター特徴部(例えば、図8Aのアバターの頭部)の肌の色を、選択された色に一致するように変更する。いくつかの実施形態では、肌の色オプション812の選択は、顔の毛の特徴(例えば、眉、顎ひげなど)、目の色、又は唇の色などの、別のアバター特徴部の色にも影響を与える。図8Aに示された実施形態では、肌の色特性808は、他のアバター特徴部の色オプションの最初に表示された集合(例えば、図8Pの毛髪の色特性838を参照)に対して拡張された色オプション808の集合を含む。いくつかの実施形態では、色オプション808の拡張された集合は、横方向にスクロールすることができず(ただし、縦方向にスクロールすることはできる)、色オプションの集合を拡張するために選択できるオプション(図8AXのカラーピッカーオプション886など)を含まない。顔の形状特性810は、アバター805の顔の形状を変更するために選択できる顔の形状オプション814を含む。
いくつかの実施形態では、選択された特徴部オプションは、選択された特徴部オプションの周囲に表示された境界によって示される。例えば、顔の形状オプション814aの周囲に表示された境界818は、顔の形状オプション814aが現在選択されているアバターの顔の形状であることを示している。それに応じて、選択された顔の形状オプション814aと同じ顔の形状(例えば、丸い顎)を有するアバター805が表示されている。反対に、色オプション812が選択されていないため、肌の色(例えば、デフォルトの肌の色又は予め選択された肌の色)がないアバター805及び顔の形状オプション814が表示されている。
いくつかの実施形態では、表示されたアバター特徴部の特性はそれぞれ、他の隣接するアバター特徴部の特性から視覚的に区別される。いくつかの実施形態では、アバター特徴部の特性は、アバター特徴部の特性の個別のヘッダーによって視覚的に区別される。例えば、図8Aでは、肌の色特性808は、顔の形状ヘッダー816によって、顔の形状特性810から視覚的に区別されている。いくつかの実施形態では、アバター特徴部の特性は、その他のインジケータ(例えば、ディスプレイ601の幅を完全に、又は部分的に横切って伸びる横線など)によって、視覚的に区別される。
図8Bで、デバイス600は、色オプション812aでの入力820(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、色オプション812aの選択を検出する。
図8Cで、デバイス600は、色オプション812aの周囲に境界824を表示することによって、色オプション812aが選択されていることを示す。また、デバイス600は、選択された色オプション812aに一致する肌の色を有するように、アバター805及び顔の形状オプション814を変更する。加えて、デバイス600は、毛髪の色スライダー856(図8W~図8ACを参照)に関して後述される方法と同様の方法で調整できる、肌の色スライダー822を表示する。スライダー822は、選択された色オプション812aのグラデーションを調整するために使用される。いくつかの実施形態では、グラデーションは、例えば陰影、彩度、淡色、中間調、ハイライト、暖かさ、又は色相などの、選択された色オプション(例えば、肌の色オプション812a)の様々な特性を表現することができる。いくつかの実施形態では、特定の特性は、選択された肌の色に基づいて決定される。例えば、いくつかの実施形態では、より明るい肌の色が選択された場合、スライダーを使用して調整される特性は陰影特性であり、一方、浅黒い肌の色が選択された場合、スライダーを使用して調整される特性は彩度である。デバイス600は、選択された色オプション(例えば、選択された色オプション812a)の陰影に対する調整を検出することに応じて、アバター(例えば、アバター805)、肌の色を表示するすべての特徴部オプション(例えば、顔の形状オプション814)、及び肌の色による影響を受けるすべてのアバター特徴部の肌の色を変更する。
いくつかの実施形態では、選択された肌の色は、他のアバター特徴部(例えば、毛髪、唇など)の色又は色特性(例えば、基色、色相、輝度、陰影、彩度、中間調、ハイライト、暖かさ、アンダートーンなど)に影響を与える。例えば、アバターの毛髪又は顔の毛(例えば、眉又は顎ひげ)は、選択された肌の色に基づいて決定される、淡色を有してよい。例えば、肌の色が暗くなるほど、より暗い淡色(例えば、茶色又は黒色の淡色)を有する毛髪が生成され、一方、肌の色が明るいほど、より明るい淡色(例えば、ブロンド又は赤色の淡色)の毛髪が生成される。これらの淡色は、下で更に詳細に説明されているように、特定のアバター特徴部に適用される色に影響を与えることができる。同様に、アバターの唇の色は、選択された肌の色に基づく淡色を有することができる。例えば、アバターの唇の色は、選択された肌の色に基づく色、及び任意選択的に、赤色又はピンク色などの異なる色を有することができる。いくつかの実施形態では、異なる色が、色スライダー822の調整の設定に基づいて決定された量だけ、肌の色に結合される。例えば、スライダー822を一方向に調整することで、アバターの唇の色を構成する異なる色の値(例えば、アバターの唇の色における赤色又はピンク色の量)が増加し、スライダー822を別の方向に調整することで、アバターの唇の色を構成する異なる色の値が減少する。
図8Cに示されているように、アバターの頭部の特徴の肌の色を更新することは、アバターの鼻、耳、顔、及び唇828の肌の色を変更することを含む。いくつかの実施形態では、アバターの唇828の肌の色を更新することは、唇の外側領域828aの肌の色を変更すること、及び唇の内部828bを変更しないことを含む。いくつかの実施形態では、デバイス600は、アバターの肌とは異なる他のアバター特徴部(眉827及びアバターの目829など)の色も更新する。いくつかの実施形態では、他の特徴(例えば、眉827及び目829)の更新される色は、選択された肌の色に基づく。例えば、眉827の更新される色は、選択された肌の色オプション812aよりも暗くなるように決定された色に更新される。これらの更新は、アバター805、及び顔の形状オプション814などの他のアバター特徴部オプションの両方に表示される。
図8Dで、デバイス600は、顔の形状オプション814bでの入力826(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、顔の形状オプション814bの選択を検出する。それに応じて、デバイス600は、肌の色スライダー822を図8Eのアバターの特性領域804から除去し、境界818を顔の形状オプション814aから顔の形状オプション814bに移動することによって、選択された顔の形状オプションを示し、814aの丸い顔の形状オプションから顔の形状オプション814bで表された異なる顔の形状(例えば、とがった顎、狭い頬)に移行するように、アバター805を変更する。したがって、アバター805は、図8Dに示されている丸い顎を有する状態から、図8Eに示されているとがった顎と狭い頬へ移行して、表示される。
いくつかの実施形態では、特徴部オプションが選択された後に、デバイス600は、アバター特徴部領域807内の次のアバター特徴部を選択するようにユーザを導くために、アニメーションを表示する。例えば、図8Fで、デバイス600は、アバターの毛髪アフォーダンス809bを強調表示し、アバターの毛髪アフォーダンス809bを選択して次のアバター特徴部の編集に進むように、ユーザに対して促す。いくつかの実施形態では、このアニメーションは、デバイスがアバター編集ユーザインターフェースを最初に表示したときにのみ表示される。
図8Gで、デバイス600は、アバターの毛髪アフォーダンス809bでの入力830(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、アバターの毛髪アフォーダンス809bの選択を検出する。デバイス600は、アバターの毛髪アフォーダンス809bの選択を検出することに応じて、アバターの毛髪の特徴が選択されたことを示すようにアバター表示領域803を更新し、アバターの毛髪の特徴に対応するアバター特徴部の特性及び特徴部オプションを表示するようにアバターの特性領域804を更新する。この移行が、図8H~図8Oに示されている。
いくつかの実施形態では、個別のアバター特徴部アフォーダンス809は、個別のアバター特徴部アフォーダンス809でのタップジェスチャによって、又はアバター特徴部領域807でのスワイプジェスチャ(又は、任意選択的に、アバター805以外のアバター表示領域803上の任意の位置でのスワイプジェスチャ)によって選択され得る。そのような実施形態では、スワイプジェスチャによって、アバター特徴部領域807を横方向にスクロールし、所望のアバター特徴部アフォーダンス809をアバター805の直下に配置することができる。デバイス600は、タッチのリフトオフを検出することに応じて、スクロールが終了した後にアバター805の直下に配置されたアバター特徴部アフォーダンスを(アフォーダンスを強調表示することを含めて)選択する。
図8Hに示されているように、デバイス600は、アバターの毛髪アフォーダンス809bを強調表示し、アバターの毛髪アフォーダンス809bがアバター805の直下に配置されるように、左にずれたアバター特徴部アフォーダンス809を表示することによって、アバター表示領域803を更新する。アバターの目アフォーダンス809cが(図8Gでのその位置に対して)左にずれ、現在、アバターの唇アフォーダンス809dがディスプレイ601の右端の縁部に表示されている。
デバイス600は、アバターの顔フィーチャに対応するアバター特徴部の特性(例えば、肌の色特性808及び顔の形状特性810)を表示することを止め、新しく選択されたアバター特徴部に対応する新しいアバター特徴部の特性及び特徴部オプションを表示することによって、アバターの特性領域804を更新する。図8H~図8Oに示されている実施形態などの、いくつかの実施形態では、デバイス600は、カスケード効果で新しいアバター特徴部の特性及び特徴部オプションを表示し、それによって、アバターの毛髪の特徴に対応するアバター特徴部の特性が、左右(例えば、左から右へ)の順序、及び上から下へ(例えば、アバターの特性領域804の上部にある最初のアバター特徴部の特性から、アバターの特性領域804の下部にある最後のアバター特徴部の特性へ)の順序で、アバターの特性領域804に表示される。
例えば、図8H及び図8Iは、ディスプレイ601を左から右へ横切ってスライドする毛髪の色オプションのアニメーションを伴ってディスプレイ601上に現れる毛髪の色オプション832を示している。すべての毛髪の色オプション832が配置される前に、デバイス600は、ディスプレイ601上の毛髪の色オプション832の下に、1つずつ、左から右への順序で現れる毛髪のテクスチャーオプション834のアニメーションの表示を開始する(図8Jで開始して、図8Lで終了する)。毛髪のテクスチャーオプション834が配置された後に、デバイス600は、ディスプレイ601上の毛髪のテクスチャーオプション834の下に、1つずつ、左から右への順序で現れる髪形オプション836を表示する(図8Mで開始して、図8Oで終了する)。特徴部オプションの個別の集合の連続的配置が、特徴部オプションの前の集合が配置される前(例えば、毛髪の色オプション832に対する毛髪のテクスチャーオプション834のタイミングと同様)、又は特徴部オプションの前の集合が配置された後(例えば、毛髪のテクスチャーオプション834に対する髪形オプション836のタイミングと同様)のいずれかで開始できるということが理解されるべきである。
前述したように、選択されたアバター特徴部の特徴部オプションの一部は、毛髪の色オプションの外観に関して上で説明したようにスライドするカスケード効果で表示され、一方、選択されたアバター特徴部の他の特徴部オプションは、毛髪のテクスチャーオプション834及び髪形オプション836に関して説明したように反復的に配置するカスケード効果で表示される。本明細書において説明された実施形態のいずれかに従って、これらのカスケード効果のいずれかを、特徴部オプションの配置の表示に使用することができる。
図8Pで、デバイス600は、毛髪の色オプション832を有する毛髪の色特性838、毛髪のテクスチャーオプション834及びテクスチャーヘッダー841を有する毛髪のテクスチャー特性840、並びに髪形オプション836及び髪形ヘッダー843を有する髪形特性842を表示している。図8Pでは、毛髪の色オプションが選択されていない。しかし、境界844及び846によってそれぞれ示されているように、ストレートヘアのテクスチャーオプション834a及びはげ頭の髪形オプション836aが選択されている。はげ頭の髪形を有するアバター805が表示されているが、ストレートヘアのテクスチャーは、はげ頭の髪形のため、アバター805上で識別できない。しかし、ストレートヘアのテクスチャーは、ピクシーカットの髪形オプション836b及びボブカットの髪形オプション836cには反映され、これらの髪形オプションは、ストレートヘアのテクスチャーを有する異なる髪形を表示する。
図8Pに示されているように、デバイス600は、短い髪形オプション836bでの入力848(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、ピクシーカットの髪形オプション836bの選択を検出する。図8Qで、デバイス600は、図8Pで選択されたピクシーカットの髪形オプション836bに対応するアバターの毛髪851を有し、選択されたストレートヘアのテクスチャー834aに対応するストレートヘアのテクスチャーを有するアバター805を表示している。デバイス600は、ピクシーカットの髪形オプション836bの検出された選択の視覚的な確認を提供するために、はげ頭の髪形オプション836aからピクシーカットの髪形オプション836bに移動した境界846も表示する。
いくつかの実施形態では、特徴部オプションは、特徴部オプションに対応する個別のアバター特徴部のズームイン(例えば、拡大)表示を含む。そのような特徴部オプションでは、通常、アバター特徴部のクローズアップ表示が、異なるアバター特徴部オプションを区別するのに十分な詳細を示すために有益である。例えば、図8Rで、デバイス600は、毛髪のテクスチャー特性840に対応する毛髪のテクスチャーオプション834を表示している。毛髪のテクスチャーオプション834はそれぞれ、毛髪のテクスチャーオプション834によって表される異なる毛髪のテクスチャーがより良く示されるように、アバターの毛髪の拡大表示を表示しているため、これらの毛髪のテクスチャーオプション834は、ユーザによって容易に区別され得る。ストレートヘアのテクスチャーオプション834aは、ストレートヘアのテクスチャーを有するアバターの毛髪の拡大表示を表示する。ウェーブヘアのテクスチャーオプション834bは、ウェーブヘアのテクスチャーを有するアバターの毛髪の拡大表示を表示する。縮毛のテクスチャーオプション834cは、縮毛のテクスチャーを有するアバターの毛髪の拡大表示を表示する。
図8Rに示されているように、デバイス600は、ウェーブヘアのテクスチャーオプション834bでの入力850(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、ウェーブヘアのテクスチャーオプション834bの選択を検出する。
図8S~図8Uは、図8Rで選択されたウェーブヘアのテクスチャーオプション834bを検出することに応じてアバター805及び個別の髪形特徴部オプション836を更新するデバイス600を示している。例えば、アバターの毛髪851は、図8Rでのストレートヘアのテクスチャーを有する外観から、図8Sでのウェーブヘアのテクスチャーを有する外観へ移行する。
更に、本明細書において説明された実施形態では、異なる特徴部オプションの選択による影響を受けるアバター特徴部を示す特徴部オプションが、その異なる特徴部オプションの選択を反映するように更新される。例えば、図8S~図8Uで、ピクシーカットの髪形オプション836b及びボブカットの髪形オプション836cがアバターの毛髪(具体的には、ウェーブヘアのテクスチャーオプション834bの選択による影響を受けるアバターの毛髪)を示しているため、髪形オプション836b及び836cに表示された個別の髪形が、図8Rでのストレートヘアのテクスチャーを有する外観から選択されたウェーブヘアのテクスチャーを有する異なる外観へ移行する個別の髪形オプションを表示するように、更新される。はげ頭の髪形オプション836aは、アバターの毛髪を表示しない。したがって、はげ頭の髪形オプション836aは、異なる外観に移行して表示されない。
いくつかの実施形態では、特定のアバター特徴部の特性に関する特徴部オプションが選択された場合、その選択に応じて、その特性に関して表示される特徴部オプションは変化しないが、他のアバター特徴部の特性に関する特徴部オプションは変化する。例えば、図8S~図8Uで、ウェーブヘアのテクスチャーオプション834bが選択されたときに、毛髪のテクスチャーオプション834は変化しないが、髪形オプション836は変化する。同様に、図8AN~図8AQ(後述される)に示されているように、異なる髪形オプションが選択されたときに、髪形オプションは変化しないが、他の特徴部オプション(例えば、毛髪のテクスチャーオプション)は変化する(例えば、図8AQで変更された毛髪のテクスチャーオプション834)。
ピクシーカットの髪形オプション836b及びボブカットの髪形オプション836cの移行が、図8S~図8Uに示されている。図8Rでのストレートヘアのテクスチャーを有する外観から、図8S及び図8Tで選択されたウェーブヘアのテクスチャーを有する異なる外観へ移行している、ピクシーカットの髪形オプション836bが表示されている。この移行は、ストレートヘアのテクスチャーからウェーブヘアのテクスチャーへの移行中に、表示されたピクシーカットの髪形オプション836b及び任意選択的に境界846を拡大すること(図8Sの拡大されたピクシーカットの髪形オプション836b’及び拡大された境界846’を参照)、並びにその後、ウェーブヘアのテクスチャーを有する外観への移行が完了した後に、図8Tでピクシーカットの髪形オプション836bを再び元のサイズに縮小することを含む。図8Sでのストレートヘアのテクスチャーを有する外観から、図8T及び図8Uで選択されたウェーブヘアのテクスチャーを有する異なる外観へ移行している、ボブカットの髪形オプション836cが表示されている。この移行は、ストレートヘアのテクスチャーからウェーブヘアのテクスチャーへの移行中に、表示されたボブカットの髪形オプション836cを拡大すること(図8Tの拡大されたボブカットの髪形オプション836c’を参照)、並びにその後、ウェーブヘアのテクスチャーを有する外観への移行が完了した後に、図8Uでボブカットの髪形オプション836cを再び元のサイズに縮小することを含む。
ピクシーカットの髪形オプション836bの移行が完了した後に(例えば、拡大されたピクシーカットの髪形オプション836b’が図8Tで元のサイズに戻るのを表示した後に)、ボブカットの髪形オプション836cが移行される。移行中の特徴部オプションを瞬間的に拡大する表示効果を、表示される順序における移行完了のタイミングと組み合わせることで、波及効果の外観を与え、それによって、異なる特徴部オプション(例えば、移行中の特徴部オプション以外の特徴部オプション)のユーザの選択に基づいて特定の特徴部オプションが移行していることの視覚的なインジケーションをユーザに提供する。また、この視覚効果は、個別の特徴部オプションが移行処理中であることを(例えば、特徴部オプションが拡大されているときに)正確にユーザに示し、移行がいつ完了したかのインジケーションも(例えば、特徴部オプションが元の小さいサイズに戻るときに)提供する。また、特定の特徴部オプションが(もしあれば)瞬間的に拡大されて表示されないことによって、そのような特徴部オプションが選択による影響を受けなかったということの視覚的な確認を、ユーザに提供する。
図8Vで、デバイス600は、毛髪の色オプション832aでの入力852(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、毛髪の色オプション832aの選択を検出する。
図8Wで、デバイス600は、毛髪の色オプション832aの周囲に境界854を表示することによって、毛髪の色オプション832aが選択されていることを示す。デバイス600は、選択された毛髪の色オプション832aに一致する毛髪の色を有するように、アバターの毛髪851、眉827、毛髪のテクスチャーオプション834、及び髪形オプション836(例えば、836b及び836c)も変更する。いくつかの実施形態では、肌の色及び毛髪の色の組み合わせに基づいて、眉827の色(又は色特性)が決定される。例えば、選択された毛髪の色に基づいて眉827の色相を決定することができ、選択された肌の色に基づいて眉827の輝度を決定することができる。前述した波及効果の外観に従って、毛髪のテクスチャーオプション834及び髪形オプション836の移行を表示できる。例えば、毛髪のテクスチャーオプション834a~834cが(例えば、瞬間的に拡大して)順番に移行した後に、髪形オプション836b及び836cが(例えば、瞬間的に拡大して)順番に移行する。
デバイス600は、選択された毛髪の色オプション832aのグラデーションを調整する毛髪の色スライダー856も表示する。毛髪の色スライダー856は、選択された色832aの高いグラデーション値857aと低いグラデーション値857bの間に広がるグラデーション領域857(本明細書では、トラックとも呼ばれる)内の初期(例えば、デフォルト)位置を有するセレクターアフォーダンス858(本明細書では、サムとも呼ばれる)を含む。セレクターアフォーダンス858を領域857内で(例えば、スライダーでの入力の大きさ及び方向に従って)動かして、グラデーション領域857内のセレクターアフォーダンス858の位置に基づいて、選択された色832aのグラデーションを調整することができる。選択された毛髪の色オプション832aのグラデーションを調整すると、デバイスは、選択された色832aを有するすべてのアバター特徴部を(そのようなアバター特徴部を表示する特徴部オプション及び選択された毛髪の色オプションの色を含めて)変更する(例えば、アフォーダンス858が領域857内で移動したときに、図8AY及び図8AZにおいて832aが変化する)。特に指定されない限り、本明細書において特定の色オプションを変更することへの参照が行われた場合、この変更は、この色オプションに関連付けられた個別の特徴、及び個別のアバター特徴部を表示する特徴部オプションにも適用される。
いくつかの実施形態では、グラデーションは、例えば陰影、彩度、淡色、中間調、ハイライト、暖かさ、輝度、又は色相などの、選択された毛髪の色の様々な特性を表現することができる。いくつかの実施形態では、グラデーションは、選択された色とは異なる、アバターの選択された肌の色に任意選択的に基づく、アバターの毛髪の淡色を表すことができる。グラデーション領域857内でセレクターアフォーダンス858を動かすことによって、淡色のグラデーションを調整することができ、それによって、選択された毛髪の色及びアバターの毛髪851の外観を最終的に変更する。いくつかの実施形態では、毛髪の淡色は、選択された肌の色に基づいて決定された自然な毛髪の色に対応する。例えば、肌の色が暗いほど、毛髪はより暗い淡色(例えば、茶色又は黒色の淡色)を有し、一方、肌の色が明るいほど、より明るい淡色(例えば、ブロンド又は赤色の淡色)の毛髪が生成される。淡色を調整することで、特定の色が適用されるだけでなく、淡色のグラデーションに基づいて、その色の明度も適用された外観を毛髪に与える。例えば、非自然的な選択された毛髪の色(例えば、紫色)を有するアバターの毛髪の場合、淡色を低いグラデーション値857bに調整すると、わずかに自然であるか、又は全く自然ではない淡色の毛髪の色(例えば、茶色)が得られる。これによって、紫色の毛髪の色を強調し、アバターが大量の紫色の毛髪染剤を塗布したような外観が得られる。反対に、淡色を高いグラデーション値857aに調整すると、毛髪(又は、アバターの眉若しくは唇などのその他のアバター特徴部)の自然な淡色を強調し、アバターが少量の紫色の毛髪染剤を塗布したような外観が得られる。スライダーに沿ってセレクターアフォーダンス858の位置を調整することによって、ユーザは、デバイス600が選択された色832aに適用する淡色のグラデーションを調整することができる。
いくつかの実施形態では、セレクターアフォーダンス858は、選択された色832aの現在選択されているグラデーションを表す色を含む。セレクターアフォーダンス858は、初期位置では、選択された色832aが最初に表示されるときの選択された色832aと同じ色を有する。言い換えると、選択された色832aは、最初に選択されるときに、初期(例えば、デフォルト又は予め選択された)色を有する(例えば、図8Vを参照)。毛髪の色スライダー856が最初に表示されるときに、セレクターアフォーダンス858は、領域857の中央での初期位置及びセレクターの色832aの初期色に対応する色を有する。セレクターアフォーダンス858の位置を初期位置から異なる位置に移動すると、デバイスは、セレクターアフォーダンス858の新しい位置に基づいて、選択された色832aのグラデーション、セレクターアフォーダンス858の対応する色、及び選択された色832aを有するすべてのアバター特徴部(そのようなアバター特徴部を表示する特徴部オプションを含む)を変更する。図8Xに示された実施形態では、セレクターアフォーダンス858を高いグラデーション値857aに向かって動かすと選択された色832aが暗くなり、一方、セレクターアフォーダンス858を低いいグラデーション値857bに向かって動かすと選択された色832aが明るくなる。
例えば、図8X~図8Zで、デバイス600は、セレクターアフォーダンス858でタッチアンドドラッグ入力860を検出し、それに応じて、入力860のドラッグ移動に基づいて領域857内でセレクターアフォーダンス858の移動を表示し、領域857内のセレクターアフォーダンス858の位置に基づいて、セレクターアフォーダンス858の色、選択された色832a、並びにアバターの毛髪851及び特徴部オプション(例えば、834a~834c、836b、及び836c)に表示されるすべてのアバターの毛髪の色を更新する。
図8Xで、入力860は、セレクターアフォーダンス858の初期位置(領域857の中央)に対応する初期位置860’を有する。セレクターアフォーダンス858が初期(例えば、デフォルト)位置にあるため、デバイス600は、選択された色832a、セレクターアフォーダンス858の色、選択された色832aを有するその他の表示された特徴をいずれも変更しない。いくつかの実施形態では、デバイス600は、セレクターアフォーダンス858で入力(例えば、入力860)を検出することに応じて、例えば触覚フィードバック(例えば、触知出力)などのフィードバックを生成し、この触覚フィードバックは、セレクターアフォーダンス858がデフォルト位置に配置されたときに(又は、セレクターアフォーダンス858が異なる位置からデフォルト位置(例えば、スライダー856の中央)に移動されたときに)、オーディオ出力を伴うか又は伴わずに、任意選択的に生成される。これによって、セレクターアフォーダンス858が選択された色832aの初期色(例えば、値)に対応する初期(例えば、デフォルト)位置に配置されたときに、ユーザに通知するためのフィードバックを提供する。
図8Yで、デバイス600は、第2の位置860’’に移動する入力860を検出し、それに応じて、第2の位置860’’に対応する第2の位置でセレクターアフォーダンス858を表示する。セレクターアフォーダンス858の第2の位置は、領域857に沿って選択される色832aの(図8Xに示されたグラデーションと比較して)より大きいグラデーション(例えば、より暗い陰影又はより大きい淡色)に対応する。したがって、デバイス600は、領域857内のセレクターアフォーダンス858の相対位置に基づいて、より大きいグラデーションを有するセレクターアフォーダンス858を表示する。また、デバイス600は、選択された色832a、及び選択された色832aを表示するすべてのフィーチャ(例えば、アバターの毛髪851、毛髪のテクスチャーオプション834a~834c、並びに髪形オプション836b及び836c)を、より大きいグラデーション(例えば、陰影又は淡色)を有するように更新する。
図8Zで、デバイス600は、第3の位置860’’’に移動する入力860を検出し、それに応じて、第3の位置860’’’に対応する第3の位置でセレクターアフォーダンス858を表示する。セレクターアフォーダンス858の第3の位置は、図8Yに示されているグラデーションよりも大きいグラデーション(例えば、より暗い陰影又はより大きい淡色)に対応する。したがって、デバイス600は、領域857内のセレクターアフォーダンス858の相対位置に基づいて、より大きいグラデーションを有するセレクターアフォーダンス858を表示する。また、デバイス600は、選択された色832a、及び選択された色832aを表示するすべてのフィーチャ(例えば、アバターの毛髪851、毛髪のテクスチャーオプション834a~834c、並びに髪形オプション836b及び836c)を、図8Zに示されているより大きいグラデーション(例えば、より暗い陰影又はより大きい淡色)を有するように更新する。
図8AAで、デバイス600は、セレクターアフォーダンス858が図8Z示されている位置860’’’に対応する位置(例えば、858’)にあるときに、入力860の終了(例えば、タッチアンドドラッグ入力のリフトオフ)を検出する。したがって、デバイス600は、入力860が終了したときに、選択された色832a(及び、選択された色832aを有するすべてのフィーチャ)の選択されたグラデーションを維持する。いくつかの実施形態(例えば、後述される図8AS及び図8ATを参照)では、デバイス600は、セレクターアフォーダンス858の位置及び選択された色832aの変更されたグラデーションを含めて、異なる色オプション832が選択された後でも、変更された毛髪の色スライダー856を維持する。
図8ABで、デバイス600は、毛髪の色オプション832bでの入力861(例えば、ディスプレイ601上のタッチ入力)を受信することに応じて、毛髪の色オプション832bの選択を検出する。
図8ACで、デバイス600は、毛髪の色オプション832bの周囲に境界862を表示することによって、毛髪の色オプション832bが選択されていることを示す。また、デバイス600は、セレクターアフォーダンス858を選択された毛髪の色オプション832bのデフォルト位置に動かし、セレクターアフォーダンス858の色を選択された毛髪の色オプション832bに対応する色に更新することによって、表示された毛髪の色スライダー856を変更する。デバイス600は、選択された毛髪の色オプション832bに一致する毛髪の色を有するように、アバターの毛髪851、毛髪のテクスチャーオプション834、及び髪形オプション836(例えば、836b及び836c)も変更する。前述した波及効果の外観に従って、毛髪のテクスチャーオプション834及び髪形オプション836の移行が表示される。例えば、毛髪のテクスチャーオプション834a~834cが(例えば、瞬間的に拡大して)順番に移行した後に、髪形オプション836b及び836cが(例えば、瞬間的に拡大して)順番に移行する。
図8AD~図ALで、デバイス600は、ディスプレイ601上のタッチアンドドラッグジェスチャである入力864を検出し、最初のタッチは、アバターの特性領域804内の位置に対応する。デバイス600は、縦方向の入力864の移動を検出することに応じて、入力864の移動方向に基づいて(例えば、ドラッグの方向に基づいて)、アバターの特性領域804に表示されたアバター特徴部の特性及び対応する特徴部オプションをスクロールする。更に、デバイス600は、ドラッグの方向、並びにアバター表示領域803及びアバターの特性領域804の現在の状態(例えば、サイズ)に基づいて、アバター表示領域803(表示されたアバター805及び任意選択的にアバター特徴部領域807を含む)及びアバターの特性領域804のサイズを調整する。
例えば、図8AD~図8AFは、上向きの方向(例えば、アバター表示領域803に向かう方向)で入力864の移動を検出することに応じて、図8ADでの初期の完全に展開された状態から、図8AFでの縮小された状態に移行している(例えば、縮小している)、アバター表示領域803及びアバター805を示している。アバター表示領域803の移行と同時に、デバイス600は、図8ADでの初期状態から図8AFでの完全に展開された状態に移行している(例えば、展開している)アバターの特性領域804を表示する。図8AEは、入力864の相対的位置が図8ADに示された位置と図8AFに示された位置の間にあるときの、個別の中間状態(例えば、サイズ)をそれぞれ有するアバター表示領域803(アバター805を含む)及びアバターの特性領域804を示している。このようにして、デバイス600は、上向きの方向のドラッグジェスチャに応じて、アバター表示領域803及びアバター805が縮小された状態に達し、かつアバターの特性領域804が完全に展開された状態に達するまで、アバター表示領域803及びアバター805を継続的に縮小し、一方で同時にアバターの特性領域804を展開する(かつ、ライン806を上にずらす)。アバター表示領域803及びアバター805が縮小された状態にあるとき、デバイス600は、上向きの方向のドラッグジェスチャの更なる移動に応じて(又は、その後の上向きのドラッグジェスチャに応じて)、アバター表示領域803及びアバター805を更に縮小することも、アバターの特性領域804を更に展開することも行わない。むしろ、デバイス600は、上向きの方向のドラッグジェスチャの更なる移動に応じて(又は、アバター表示領域803が縮小された状態にあるときのアバターの特性領域804でのその後の上向きのドラッグジェスチャに応じて)、アバター特徴部の特性及び特徴部オプションをスクロールし続ける(髪形特性842の追加の髪形オプション836d~836fを露わにしており、毛髪の色の特徴832及び毛髪の色スライダー856を含めて、毛髪の色特性838をアバターの特性領域804の表示された部分の外へ移動している、図8AG~図8AHを参照)。
反対に、ディスプレイ600は、図8AH~図8AJに示されているように、下向きの方向の入力864の移動を検出することに応じて、アバター表示領域803を縮小された(又は中間)状態から展開する。アバター表示領域803の展開と同時に、デバイス600は、図8AHでの展開された状態(又は、図8AIでの中間状態)から図8AJでの元の状態(例えば、サイズ)に移行している(例えば、縮小している)アバターの特性領域804を表示する。デバイス600が、入力864の下向きの移動を検出することに応じてアバター表示領域803を展開することによって、アバター805を拡大するため、ユーザは、アバターの特性領域804内でアバター特徴部の特性及び特徴部オプションの初期位置にスクロールして戻る必要なしに、更に容易にアバター805を確認することができる(例えば、図8ADを参照)。
デバイス600は、アバター表示領域803を縮小することによって、更に大きいアバターの特性領域804を表示して、追加のアバター特徴部の特性及び/又は特徴部オプションを表示する。アバターの特性領域804が展開又は縮小するときに、アバター特徴部の特性及び特徴部オプションのサイズは変化しない。したがって、デバイス600は、アバターの特性領域804が展開したときに、より多くのアバター特徴部の特性及び/又は特徴部オプションを表示し、アバターの特性領域804が縮小したときに、より少ないアバター特徴部の特性及び/又は特徴部オプションを表示する。
いくつかの実施形態では、デバイス600がアバター特徴部の特性(例えば、808、810、838、840、842)及びそれらの個別の特徴部オプション(例えば、812、814、832、834、836)のスクロールを表示するときに、アバター特徴部の特性の一部がスクロールされて、アバターの特性領域804の上端(例えば、ライン806の下)から外に部分的に出た場合、デバイス600は、アバターの特性領域804の上部に配置されたこのアバター特徴部の特性の個別のヘッダーの表示を維持する。例えば、図8AHに示されているように、毛髪のテクスチャー特性840がスクロールされて、アバターの特性領域804の表示部分の外に出たときに、デバイス600は、テクスチャーヘッダー841をアバターの特性領域804の上部(例えば、ライン806の直下)に「固定」する。「固定された」テクスチャーヘッダー841は、毛髪のテクスチャー特性840の全体が(例えば、上向きの方向に)スクロールされてアバターの特性領域804の外に出るまで、又は毛髪のテクスチャー特性840の全体がライン806の下に配置されるまで(例えば、スクロールされてアバターの特性領域804の表示部分の上端から外に出ている毛髪のテクスチャー特性840の部分がないときに)、アバターの特性領域804の上部に表示されたままになる。いくつかの実施形態では、「固定された」ヘッダーは、ライン806の下の位置から解放されたときに、隣接するアバター特徴部の特性のヘッダーに置き換えられる(例えば、図8ALの髪形ヘッダー843を参照)。いくつかの実施形態では、固定されたヘッダー(例えば、テクスチャーヘッダー841)は、アバターの特性領域804内の特徴部オプションから視覚的に区別される。例えば、図8AHに示されているように、テクスチャーヘッダー841は、ライン806及び867によって視覚的に区別される。
図8AK及び8ALで、デバイス600は、(図8AI及び図8AJに示されているように、下向きに移動した後に)上向きの方向に移動する入力864を検出し、アバター表示領域803及びアバター805を圧縮し、一方で同時にアバターの特性領域804を展開し、前述したように、髪形ヘッダー843をアバターの特性領域804の縁部に移動する(テクスチャーヘッダー841を置き換える)。入力864の移動によって、アバターの特性領域804に表示されたコンテンツもスクロールされ、追加の髪形オプション836g~836iを表示する。
図8AMで、デバイス600は、入力864の終了(例えば、リフトオフ)を検出する。デバイス600は、縮小された状態にあるアバター表示領域803及びアバター805、並びに完全に展開された状態にあるアバターの特性領域804を表示する。アバターの特性領域804は、髪形オプション836a~836iを有する髪形特性842(図8Rのウェーブヘアのテクスチャーオプション834bの以前の選択に基づくウェーブヘアのテクスチャー及び図8ABで選択された毛髪の色オプション832bに基づく毛髪の色をそれぞれ有する)、及びライン806の下に配置され、ライン867によって髪形オプション836a~836cから視覚的に区別された髪形ヘッダー843を表示する。ピクシーカットの髪形836bの周囲に配置された境界846によって示され、アバター805に表示されたピクシーカットの髪形を(及びウェーブヘアのテクスチャーも)有するアバターの毛髪851によって示されているように、ピクシーカットの髪形836bが選択されて表示されている。アバターの毛髪アフォーダンス809bが強調表示されて、アバターの毛髪の特徴が編集のために現在選択されていることを示している。
いくつかの実施形態では、特徴部オプションの選択を検出することに応じて、アバター表示領域803及びアバター805が、圧縮された状態から完全に展開された状態に直接移行する。例えば、図8ANで、デバイス600は、スパイクヘアの髪形オプション836fに対応する位置で入力869(例えば、ディスプレイ601上のタッチ入力)を検出する。図8AOで、デバイス600は、スパイクヘアの髪形オプション836fの選択を検出することに応じて、完全に展開された状態にあるアバター表示領域803及びアバター805を表示する。デバイス600は、選択されたスパイクヘアの髪形オプション836fに一致するように、アバターの毛髪851を変更する(図8Rでの以前の選択に基づくウェーブヘアのテクスチャー及び図8ABで選択された毛髪の色オプション832bに基づく毛髪の色を有する)。また、デバイス600は、境界846をピクシーカットの髪形オプション836bから除去し、スパイクヘアの髪形オプション836fの周囲に境界846を表示することによって、スパイクヘアの髪形オプション836fの選択を示す。
図8AP及び図8AQで、デバイス600は、ディスプレイ601上のタッチアンドドラッグジェスチャである入力870を検出し、最初のタッチは、アバターの特性領域804内の位置に対応する。デバイス600は、下向きの方向の入力870の移動を検出し、それに応じて、特徴部オプション(例えば、髪形オプション836a~836i)及び髪形ヘッダー843を下向きの方向にスクロールして、図8AQに示されているように、毛髪の色特性838、毛髪のテクスチャー特性840、及び髪形特性842の一部を表示する。
図8ARで、デバイス600は、入力870の終了(例えば、リフトオフ)を検出する。デバイス600は、毛髪の色スライダー856及び毛髪の色オプション832(境界862によって示された選択された毛髪の色オプション832bを含む)を有する毛髪の色特性838、テクスチャーヘッダー841及び毛髪のテクスチャーオプション834a~834c(境界844によって示された選択されたウェーブヘアのテクスチャーオプション834bを含む)を有する毛髪のテクスチャー特性840、並びに髪形ヘッダー843及び髪形オプション836a~836cを有する髪形特性842を表示する。
図8ASで、デバイス600は、毛髪の色オプション832a上の入力871(例えば、タッチ入力)を検出する。それに応じて、デバイス600は、図8ASで選択された色832bから図8ATで選択された色832a(図8X~図8AAに関して上で説明された変更から生じた色)に対応する色に移行しているアバターの毛髪851を表示する。選択された毛髪の色のみが入力871によって変化しため、アバターの毛髪851は、依然として、選択されたスパイクヘアの髪形オプション836fに対応するスパイクヘアの髪形、及び選択されたウェーブヘアのテクスチャーオプション834bに対応するウェーブヘアのテクスチャーで表示される。更に、デバイス600は、図8ASで表示された状態から図8ATで表示された状態にそれぞれ移行している毛髪の色を含んでいる特徴部オプションを表示する。したがって、デバイス600は、毛髪の色オプション832bに対応する毛髪の色から毛髪の色オプション832aに対応する毛髪の色に移行している毛髪のテクスチャーオプション834a~834c並びに髪形オプション836b及び836cを表示する。この移行は、前述した波及効果の外観(例えば、移行中の特徴部オプションの瞬間的な拡大を伴う連続的移行)を含むことができる。
図8ATに示されているように、デバイス600は、入力871を検出することに応じて、図8X~図8AAに関して上で説明された入力860に応じて以前に設定された色832aに対して維持されている変更済みの設定に移行している毛髪の色スライダー856も表示する。これは、色オプション832aと同じ変更された色、及びデバイス600が毛髪の色オプション832bで入力861を検出する直前の図8AAに示されている位置と同じである、色合い領域857内の変更された位置に移行している、セレクターアフォーダンス858を表示することを含む。
図8AUで、デバイス600は、アバターの特性領域804内で部分的にスクリーンの外に出て表示されているボブカットの髪形オプション836cで、入力872(例えば、タッチ入力)を検出する。それに応じて、デバイス600は、図8AVに示されているように、スパイクヘアの髪形から、選択されたボブカットの髪形オプション836cに対応するボブカットの髪形に移行しているアバターの毛髪851を表示する。また、デバイス600は、選択されたボブカットの髪形オプション836cの完全な表現を表示するために、アバターの特性領域804のわずかなスクロール(及び、毛髪の色オプション832の除去)を表示し、この特徴部オプションの選択を示すために、ボブカットの髪形オプション836cの周囲に境界846を表示する。入力872によって他の特徴部オプションが選択されていないため、アバターの毛髪851以外のアバター特徴部は変更されない。更に、他の表示された特徴部オプションが、選択された髪形を示すのに十分な量のアバターの毛髪を表示していないため、デバイス600は特徴部オプションの更新を何も表示しない。
図8AWで、デバイス600は、アバターの唇アフォーダンス809c上の入力873(例えば、タッチ入力)を検出する。デバイス600は、入力873を検出することに応じて、図8AXに示されているように、アバターの唇の特徴が選択されていることを示すように(例えば、アバターの唇アフォーダンス809cを太字にし、アバター805の直下に配置することによって)アバター表示領域803を更新し、アバターの唇の特徴に対応するアバター特徴部の特性及び特徴部オプションを表示するようにアバターの特性領域804を更新する。図8AX~図8BAに示されたアバター特徴部の特性及び特徴部オプションは、アバターの唇の特徴に対応する。したがって、デバイス600は、そのようないずれかの特徴部オプションの選択を検出することに応じて、アバター805に表示されているアバターの唇828を変更し、一部の場合には、選択された特徴部オプションがアバターの唇を表示するかどうかに応じて、特徴部オプションに表示されたアバターの唇の表現を更新する。
図8AXに示されているように、更新されたアバターの特性領域804は、様々な唇の色オプションを有する唇の色特性875及び唇の形状オプション880を有する唇の形状特性878を含む。唇の色オプションは、自然な唇の色オプション882、非自然的な唇の色オプション884、及びカラーピッカーオプション886を含む。自然な唇の色オプション882は、いくつかの実施形態では、アバター805に対して選択された肌の色に基づいて決定される、自然な人間の唇の色オプションを表す。非自然的な唇の色オプション884は、いくつかの実施形態では、選択された肌の色に基づいて決定されず、代わりに、口紅の色又は人間の唇にとって自然ではない(例えば、青色、緑色などの)その他の色に対応することがある色を表す。カラーピッカーオプション886は、アバターの唇の色を調整するために選択できるその他の色の選択肢を表示する選択可能なオプションである。いくつかの実施形態では、唇の色オプション(例えば、882、884、886)は、唇の色オプション上の入力(例えば、タップ、スワイプ、ドラッグなど)に応じて、横方向にスクロール可能である。唇の色オプションをスクロールすることで、追加の唇の色オプション(例えば、882、884、886)を表示する。いくつかの実施形態では、カラーピッカーオプション886は、唇の色オプションの端に配置され、唇の色オプションが唇の色オプションの端にスクロールされるまで、表示されない。
図8AXで、デバイス600は、カラーピッカーオプション886上の入力887(例えば、ディスプレイ601上のタッチジェスチャ)を検出する。図8AYで、デバイス600は、入力887を検出することに応じて、自然な唇の色オプション及び非自然的な唇の色オプションを含む様々な色オプションを表示する拡張されたカラーパレット888を表示する。いくつかの実施形態では、拡張されたカラーパレット888は、いずれかの表示されたアバター特徴部の特性及び特徴部オプションを含んでいるアバターの特性領域804の一部の上に現れるポップアップメニューとして表示され得る。
図8AYで、デバイス600は、選択された唇の色オプション890上の入力889(例えば、ディスプレイ601上のタッチジェスチャ)を検出する。
図8AZで、デバイス600は、選択された唇の色オプション890の選択を検出することに応じて、選択された唇の色オプション890の色に一致するように更新されたアバターの唇828を表示する。加えて、唇の形状オプション(例えば、唇の形状オプション880a)が、(例えば、本明細書において説明された波及効果の外観に従って)選択された唇の色オプション890を含むように更新される。また、デバイス600は、選択された唇の色オプション890に一致するように、(図8AXの唇の色オプション884aとして表された)唇の色オプションのうちの1つを更新し、更新された唇の色オプション884aの周囲に境界891を表示する。
デバイス600は、本明細書において説明された他の色のスライダーと同様の方法で制御され得る唇の色スライダー892も表示する。唇の色スライダー892は、892aでの高いグラデーション値から892bでの低いグラデーション値まで選択された唇の色884aのグラデーションを調整するために唇の色スライダーに沿って配置され得る、セレクターアフォーダンス893を含む。いくつかの実施形態では、グラデーションは、例えば陰影、彩度、淡色、中間調、ハイライト、暖かさ、又は色相などの、選択された唇の色の様々な特性を表現することができる。いくつかの実施形態では、グラデーションは、選択された色とは異なる、アバターの選択された肌の色に任意選択的に基づく、アバターの唇の淡色を表すことができる。唇の色スライダー892に沿ってセレクターアフォーダンス893を動かすことによって、淡色のグラデーションを調整することができ、それによって、選択された唇の色及びアバターの唇828の外観を最終的に変更する。例えば、選択された色の淡色は、赤色、又は自然な肌の色(例えば、茶色)に対応する何らかのその他の色であることができ、一方、選択された唇の色(例えば、選択された唇の色884a)は、任意の色(任意の非自然的な色を含む)であることができる。淡色を調整することで、特定の色が唇に適用されるだけでなく、淡色のグラデーションに基づいて、その色の明度も適用された外観をアバターの唇に与える。例えば、非自然的な選択された唇の色(例えば、緑色)を有するアバターの唇の場合、淡色を低いグラデーション値892bに調整すると、わずかに自然であるか、又は全く自然ではない淡色の唇の色(例えば、赤色)が得られる。これによって緑色の唇の色を強調し、アバターが大量の緑色の口紅を塗ったか、又は不自然な色の唇を有しているような外観が得られる。反対に、淡色を高いグラデーション値892aに調整すると、唇の淡色を強調し、アバターが少量の緑色の口紅を塗ったような外観が得られる。スライダーに沿ってセレクターアフォーダンス893の位置を調整することによって、ユーザは、デバイス600が選択された色884aに適用する淡色のグラデーションを調整することができる。
図8BAで、デバイス600は、アバターのアクセサリアフォーダンス809d上の入力8100(例えば、タッチ入力)を検出する。デバイス600は、入力8100を検出することに応じて、図8BBに示されているように、アバターのアクセサリの特徴が選択されていることを示すように(例えば、アバターのアクセサリアフォーダンス809dを太字にし、アバター805の直下に配置することによって)アバター表示領域803を更新し、アバターのアクセサリの特徴に対応するアバター特徴部の特性及び特徴部オプションを表示するようにアバターの特性領域804を更新する。図8BA~図8CFに示されたアバター特徴部の特性及び特徴部オプションは、アバターのアクセサリの特徴に対応する。したがって、デバイス600は、そのようないずれかの特徴部オプションの選択を検出することに応じて、選択された特徴部オプションに基づいてアバター805を変更し、一部の場合には、選択された特徴部オプションに基づいて、特徴部オプションに表示されたアバターのアクセサリの表現を更新する。
図8BBに示されているように、アバターの特性領域804は、イヤリングオプション8104を有するイヤリング特性8102、帽子オプション8108を有する帽子特性8106、及び眼鏡オプション8112を有する眼鏡特性8110(図8BMに示されている)を含む。デバイス600は、イヤリングオプション8104a(イヤリングなし)が現在選択されていることを示すように、イヤリングオプション8104aの周囲に境界8114を表示する。また、デバイス600は、帽子オプション8108a(帽子なし)が現在選択されていることを示すように、帽子オプション8108aの周囲に境界8116を表示する。デバイス600は、選択されたイヤリングオプション8104a及び帽子オプション8108aに基づいて、イヤリング及び帽子を有しないアバター805を表示する。
いくつかの実施形態では、特徴部オプションを横方向にスクロールして、追加の特徴部オプションを表示することができる。例えば、図8BBで、デバイス600は、スクリーンの外に部分的に出たイヤリングオプション8104d及び帽子オプション8108dを表示し、イヤリングオプション8104及び帽子オプション8108を(例えば、図8BV~図8BWに示されているような横方向のスワイプ又はタッチアンドドラッグジェスチャに応じて)横方向にスクロールできることを示している。
いくつかの実施形態では、デバイス600は、個別の特徴部オプションが選択された場合のアバター(例えば、アバター805)の可能性のある外観を表すように、特徴部オプションを表示する。しかし、いくつかの実施形態では、デバイス600は、個別の特徴部オプションが選択された場合のアバターの可能性のある外観を完全には表さないように、特徴部オプションを表示する。例えば、デバイス600は、個別のアバター特徴部の一部が省略されたアバター特徴部の表現を有する特徴部オプションを表示することができる。個別のアバター特徴部の一部を特徴部オプションから省略することで、省略された部分が表示された場合に遮られることが予想される特徴部オプション内の他のアバター特徴部を表示するが、特徴部オプションが選択された場合のアバターの可能性のある外観を、完全には表さない。例えば、図8BBで、デバイス600は、アバターの毛髪(例えば、アバターの毛髪851)の表現を有するが、アバターの耳及び一部の場合にはイヤリングの表現が表示されるようにアバターの毛髪の一部が省略された、イヤリングオプション8104を表示している。選択可能な様々なイヤリングオプションを遮られずに表示するために、アバターの毛髪の一部がイヤリングオプション8104から省略されている。しかし、現在選択されているアバターの髪形(例えば、アバターの毛髪851によって示されている)がアバターの耳(及び、もしあれば、選択されたアバターのイヤリング)を覆っているため、イヤリングオプション8104は、イヤリングオプションが選択された場合のアバター805の可能性のある外観を表していない。したがって、いくつかの実施形態では、特定のアバター特徴部オプションは、それらが選択された場合に、他のアバター特徴部の一部に影響を与えない。例えば、鼻のリングに対応するアバターのアクセサリオプションは、アバターの毛髪などの他のアバター特徴部に対する変更(例えば、アバター上のアバター特徴部の得られた配置に起因する、特徴部形状に対する調整)をもたらさない。同様に、特定のイヤリングに対応するアバターのアクセサリオプションは、アバターの毛髪に対する変更をもたらさない。
デバイス600は、帽子オプション8108を有する帽子特性8106も表示する。表示された帽子オプション8108は、個別の帽子オプションが選択された場合のアバター805に対する可能性のある変更を表している。選択された帽子を含むようにアバター805を変更することに加えて、そのような可能性のある変更は、アバターの毛髪851を再形成すること、及びアバター805の顔に上に影を落とすなどの照明の影響を含む。図8BBで、アバターの毛髪851の再形成は、帽子オプション8108b~8108cにおいて表されている(その他の帽子オプション8108d及び8108eは、図8BWで示され、下で更に詳細に説明されている)。例えば、ビーニー帽帽子オプション8108bは、帽子オプション8108bにおける毛髪の表示された幅よりも狭い帽子ライン8118を(例えば、(帽子の下部が開いている)帽子がアバターの頭部の毛髪に接触する位置で)有する帽子を表示する。したがって、デバイス600は、アバターの毛髪が帽子ライン8118で押し込まれている再形成された(例えば、変更された)外観を有する毛髪を表示し、帽子がアバターの毛髪を圧縮してアバターの頭部に適合しているような現実的な外観を提供する。この効果は、カウボーイハット帽子オプション8108c及びヘッドバンド帽子オプション8108dにも表示される。ヘッドバンド帽子オプション8108dで、デバイス600は、アバターの毛髪を圧縮しているヘッドバンドを表示しており、この場合も、ヘッドバンドの帽子ラインに適合するようにアバターの毛髪を再形成しているが、アバターの毛髪がヘッドバンドの帽子ラインで圧縮される(例えば、ヘッドバンドの下に押し込まれる)とともに、ヘッドバンドの上部から飛び出ているような外観も提供している。ヘッドバンド帽子オプション8108dが選択された場合のアバター805が、図8BY~図8CBに示されており、下で更に詳細に説明される。
帽子オプション8108cは、アバター805に対する照明効果を表示すると予想されるアバター805に対する可能性のある変更も示している。例えば、カウボーイハット帽子オプション8108cは、カウボーイハットのつばの下のアバターの額に影8120を落とす大きい帽子(例えば、カウボーイハット)を含んでいる。デバイス600は、カウボーイハット、再形成された生え際、及び影8120を有するオプション8108cを表示することによって、帽子オプション8108cの選択が、カウボーイハットをアバター805に表示すること、アバターの毛髪851の生え際を再形成すること、及びアバター805の額に影を落とすことを含む変更をアバター805にもたらす、ということを示す(例えば、野球帽、再形成された毛髪、及び額の上の影を有するアバター805を示している図8CCを参照)。
図8BC及び図8BDは、イヤリングオプション8104cを選択するための入力8122(例えば、タッチ入力)を検出し、境界8114をイヤリングオプション8104aからイヤリングオプション8104cに移動することによってイヤリングオプション8104cの選択を示している、デバイス600を示している。また、図8BDは、選択されたイヤリングオプション8104cに表示されたイヤリングに対応するアバターのイヤリング8125を有するアバター805を表示しているデバイス600を示している。イヤリング8125は、アバターの耳の上に配置されたアバターの毛髪851によって部分的に遮られている。しかし、イヤリング8125は、アバターの毛髪851を越えて広がるほど十分に大きいため、アバターの毛髪851の下から飛び出して部分的に表示されている。また、デバイス600は、図8BDに示されているように、表示された帽子オプション8108に適用されたイヤリングを表示するように、帽子オプション8108を更新する。
いくつかの実施形態では、デバイス600は、カメラ(例えば、カメラ602)の視野内に配置されたユーザの顔を検出し、ユーザの顔において検出された変化(例えば、ユーザの顔のポーズにおける変化、顔の特徴の相対位置における変化など)に基づいて、アバター805の外観を(例えば、継続的に)変更する。例えば、図8BEで、デバイス600は、ユーザの顔において検出された対応する変化に基づいて、アバター805の顔の特徴に対するリアルタイムの変更を表示する。図8BEで、デバイス600は(例えば、カメラ602を使用して)、ユーザが頭部を横に傾け、目をウィンクし、笑っていることを検出する。デバイス600は、検出されたユーザの動きを反映するように、アバター805をリアルタイムに変更する。
図8BFで、デバイス600は(例えば、カメラ602を使用して)、ユーザが、頭部を傾けることも、笑うことも、ウィンクすることもしていない、中立位置に戻っていることを検出する。デバイスは、ユーザが中立位置に戻っていることを反映するように、アバター805をリアルタイムに変更する。
いくつかの実施形態では、デバイス600は、選択された個別のアバター特徴部に適用された物理モデルに基づいて、アバター805において表されたアバター特徴部などの、選択されたアバター特徴部を変更する。例えば、図8BFで、デバイス600が、中立位置に戻っているアバター805を表示するときに、ユーザの頭部を傾ける動作の物理現象を反映するように、ユーザのイヤリング8125が揺れ動いて表示される。物理モデルがイヤリング8125に限定されないということが、理解されるべきである。物理モデルは、その他の選択されたアバター特徴部に適用され得る。
いくつかの実施形態では、デバイス600は、アバター表示領域803で、又は更に具体的には、いくつかの実施形態ではアバター805で検出された入力に応じて、アバター805の表示された向き及び/又は倍率を変更する。例えば、図8BGで、デバイス600は、アバター表示領域803上の入力8128(例えば、タッチアンドドラッグジェスチャ又はスワイプジェスチャ)を検出する。デバイス600は、図8BGの初期位置から図8BHの第2の位置への入力8128の移動を検出することに応じて、入力8128の移動に対応するアバター805の回転を表示する。図8BHで、デバイス600は、アバター805の得られた横顔表示を表示している。
いくつかの実施形態では、デバイス600は、アバター表示領域803(又は、アバター805)上で検出された入力に応じて、適応された物理モデルに基づいて、動いている選択されたアバター特徴部を表示する。例えば、図8BIで、デバイス600は、図8BG及び図8BHのアバター805の表示された回転に応じて、アバター805の顔の前方に向かって揺れ動くイヤリング8125を表示する。
図8BJで、デバイス600は、アバター805上で入力8130(例えば、ピンチアウトジェスチャ)を検出し、それに応じて、入力8130の移動(例えば、ピンチアウトジェスチャの長さ)に基づいて、図8BKに示されているように、アバター805を拡大する。
図8BL及び図8BMで、デバイス600は、アバターの特性領域804上の入力8132(例えば、タッチアンドドラッグジェスチャ又はスワイプジェスチャ)を検出し、入力8132の移動方向に基づいて、表示されたアバター特徴部の特性(例えば、8102、8106、8110)及び特徴部オプション(例えば、8104、8108、8112)をスクロールする。アバター805は、拡大された外観で表示されたままである。いくつかの実施形態では、拡大された外観により、ユーザはアバター805をよく見ることができ、いくつかの実施形態では、例えば化粧、入れ墨、傷跡、そばかす、あざ、及びアバターのその他のカスタムの特徴又はアクセサリなどの、様々なアクセサリをアバター805に適用することができる。
図8BNで、デバイス600は、入力8132の終了(例えば、タッチアンドドラッグジェスチャのリフトオフ)を検出し、帽子オプション8108a~8108dを含む帽子特性8106及び眼鏡オプション8112a~8112dを含む眼鏡特性8110を有するアバターの特性領域804を表示する。アバター805は、拡大された外観で表示されたままである。デバイス600は、眼鏡オプション8112a(眼鏡なし)が現在選択されていることを示すように、眼鏡オプション8112aの周囲に境界8134を表示する。デバイス600は、照明効果(例えば、眼鏡のレンズ上の光反射8136)を有する眼鏡オプション8112b~8112dを表示する。
図8BOで、デバイス600は、眼鏡オプション8112b上の入力8138(例えば、タッチジェスチャ)を検出する。図8BPに示されているように、デバイス600は、眼鏡オプション8112b上の入力8138を検出することに応じて、境界8134を、眼鏡オプション8112aから除去して眼鏡オプション8112bの周囲に表示する。加えて、デバイス600は、選択された眼鏡オプション8112bに表示された眼鏡スタイルに対応するアバターの眼鏡8140を含むように、アバター805及び帽子オプション8108(図8BVに示されている)を変更する。また、デバイス600は、選択されたアバター特徴部オプション(例えば、眼鏡8140)に基づいて、アバター805の外観を変更する。
例えば、図8BO及び図8BPに示されているように、デバイス600は、アバターの眼鏡オプション8112bの選択を検出することに応じて、アバターの毛髪851の一部8145の位置を調整(例えば、変更)し、アバター805の顔に配置されたアバターの眼鏡8140を表示する。アバターの毛髪851の変更された一部8145は、アバターの眼鏡8140のフレーム8140-1を収容するために横に押されて表示されている。更に、デバイス600は、アバターの毛髪851の変更された一部8145の隣に影8147を表示し、アバターの目の下に影8142を表示することによって、アバター805上に照明効果を生成する。デバイス600は、アバターの眼鏡8140をアバター805に追加することによって引き起こされた照明効果を示すために、影8142及び8147を表示する。照明効果は、(光の反射8136と同様の)反射8150をアバターの眼鏡8140のレンズ上に表示することによっても、示され得る(図8BTを参照)。いくつかの実施形態では、照明効果は、光源(例えば、カメラ602の視野内で検出された光源又は疑似的な光源)に対するアバター805、眼鏡8140、及び毛髪851の位置に基づいて決定される。
また、デバイス600は、入力8138を検出することに応じて、眼鏡特性8110を展開し、選択された眼鏡8140のフレーム8140-1及びレンズ8140-2(例えば、図8BTを参照)の両方の色オプションを表示する。フレームの色オプション894は、眼鏡フレーム8140-1の色を変更するために選択され得る(展開可能なカラーピッカーオプション894-2を含む)様々な色オプションを含む。レンズの色オプション896は、眼鏡8140のレンズ8140-2の態様を変更するために選択され得る様々な色オプションを含む。いくつかの実施形態では、フレームの色オプション894は、展開可能なカラーピッカーオプション(例えば、894-2)を含む。いくつかの実施形態では、レンズの色オプション896は、展開可能なカラーピッカーオプションを含まない。
図8BQで、デバイス600は、フレームの色オプション894-1上の入力895を検出し、図8BRのフレームの色スライダー897を表示する。フレームの色スライダー897は、本明細書において説明された他の色スライダーに類似しており、本明細書において説明された様々な色スライダーの実施形態に従って、眼鏡フレーム8140-1の色(又は、その他の態様)の調整に使用され得る。いくつかの実施形態では、フレームの色オプション894を選択すると、眼鏡8140のフレーム8140-1の色も変更される。しかし、図8BQで、色オプション894-1は、(例えば、フレームの色スライダー897を使用して)以前に選択されて変更されたフレーム8140-1の現在の色に対応している。したがって、デバイス600がフレームの色スライダー897を表示するときに、図8BQに示されているように、以前に変更された設定(例えば、セレクターアフォーダンス897-1がトラック897-2の左端に配置され、色オプション894-1がスライダー897の色設定に一致する)を有する色スライダーが表示される。
図8BSで、デバイス600は、レンズの色オプション896-1上の入力898を検出し、図8BTに表示されているように、(フレームの色スライダー897に加えて)レンズの色スライダー899を表示する。また、デバイス600は、眼鏡レンズ8140-2が表示されるように、アバター805の表示を縮小して回転させる。アバターの目が、レンズ8140-2を通してわずかに見えており、反射8150がレンズ8140-2上に表示されている。いくつかの実施形態では、第1のスライダー(例えば、スライダー897)が表示されて、デバイス600が第1のスライダーと異なる特徴に関連付けられた色オプション(例えば、896-1)の選択を検出した場合、デバイスは第1のスライダーを非表示にし、異なる特徴の選択された色オプションに関する第2のスライダー(例えば、スライダー899)を表示する。
レンズの色スライダー899は、本明細書において説明された他の色スライダーに類似しており、本明細書において説明された様々なスライダーの実施形態に従って、眼鏡レンズ8140-2の色(又は、その他の態様)の調整に使用され得る。図8BTに示された実施形態では、レンズの色スライダー899は、レンズ8140-2の不透明度を制御する(ただし、本明細書において説明された色又はその他の色特性の制御又は調整に使用され得る)。デバイス600は、トラック899-2に沿ったセレクターアフォーダンス899-1の移動を検出することに応じて、レンズ8140-2の不透明度を変更する。例えば、セレクターアフォーダンス899-1が端899-3に向かって動かされたときに、デバイス600はレンズ8140-2の不透明度を増やす。セレクターアフォーダンス899-1が端899-4に向かって動かされたときに、デバイス600はレンズ8140-2の不透明度を減らす。図8BTに示されているように、レンズ8140-2は、トラック899-2内のセレクターアフォーダンス899-1の中央の位置に対応する不透明度を有する。セレクターアフォーダンス899-1が端899-4に移動されたときに、図8BUに示されているように、レンズ8140-2はわずかな不透明度を有するか、又は全く不透明度を有しない。
いくつかの実施形態では、フレームの色スライダー897及びレンズの色スライダー899は、アバター特徴部をそれぞれ同じ方法で調整する。例えば、フレームの色スライダー897は、セレクターアフォーダンス897-1が左に移動するときに、色オプション894-1をより冷たい色調からより暖かい色調に変更し、レンズの色スライダー899は、セレクターアフォーダンス899-1が左に移動するときに、色オプション896-1をより冷たい色調からより暖かい色調に変更する。別の例として、フレームの色スライダー897は、セレクターアフォーダンス897-1が左に移動するときに第1の色値(例えば、赤色)を増やし、セレクターアフォーダンス897-1が右に移動するときに第2の色値(例えば、緑色)を増やすことによって色オプション894-1を変更し、レンズの色スライダー899は、セレクターアフォーダンス899-1が左に移動するときに第1の色値を増やし、セレクターアフォーダンス899-1が右に移動するときに第2の色値を増やすことによって色オプション896-1を変更する。
図8BUで、デバイス600は、縦方向のスクロールジェスチャ8157を検出し、アバターの特性領域804を縦方向にスクロールして、帽子オプション8108を含んでいる帽子特性8106を表示し、これらの帽子オプション8108は、前述した選択に従って眼鏡を使用して更新されている。
図8BVで、デバイス600は、横方向のスクロールジェスチャ8158を検出して、帽子オプション8108を横方向にスクロールし、図8BWで、ヘッドバンド帽子オプション8108d及び野球帽オプション8108eを露わにしている。
図8BXで、デバイス600は、ヘッドバンド帽子オプション8108d上の入力8159を検出し、図8BYで、選択されたヘッドバンド帽子オプション8108dに対応するヘッドバンド8160を含むように更新されたアバター805を表示する。ヘッドバンド8160は、アバターの毛髪851をアバターの頭部に圧縮し、ヘッドバンドの帽子ライン8118に適合するように毛髪を再形成する。これによって、アバターの毛髪851がヘッドバンドによって圧縮され(例えば、ヘッドバンドの下に押し込まれ)、かつヘッドバンド8160の上部(例えば、ヘッドバンドの上側の帽子ライン8118-1の上)及び下部(例えば、ヘッドバンドの下側の帽子ライン8118-2の下)から飛び出ている(例えば、膨らんでいる)ような外観が得られる。
また、アバター805は、ユーザの顔の検出された(例えば、カメラ602で検出された)ポーズに応じて、動いて表示される。ユーザが頭部を動かしたときに、デバイス600は、ユーザの動きを反映するようにアバター805をリアルタイムに変更する。アバター805が動くときに、アバターの頭部の動きに応じて、イヤリング8125及びアバターの毛髪851が揺れる。いくつかの実施形態では、デバイス600がユーザのリアルタイムの動きを反映するようにアバター805を変更するときに、デバイス600は、モデル化された光源及びアバター805(及び、アバターの眼鏡8140などの選択されたアバター特徴部)の相対位置に基づいて、表示された反射8150及び影8142の位置を移動することを含めて、アバター805上の照明効果も変更する。
例えば、図8BXで、デバイス600は、アバターの眼鏡8140を有し、アバターの眼鏡8140のレンズ上の反射8150及びアバターの眼鏡の下のアバターの顔に配置された影8142を有するアバター805を、(例えば、拡大も回転もされていない)デフォルト位置に表示する。図8BYで、デバイス600がユーザの顔の動きに応じてアバター805を変更するときに、反射8150がレンズ内の異なる位置に移動し、影(例えば、8142)が顔の上で移動するか、又は消える(いくつかの実施形態では、毛髪851の移動が、アバターの顔の上に動的に現れる新しい影をもたらす)。
いくつかの実施形態では、デバイス600は、アバターに適用される特徴に基づいて、アバター特徴部(例えば、アバターの毛髪851など)の物理的移動を変更する。例えば、図8BYに示されているように、ヘッドバンド8160は、毛髪851を下側の帽子ライン8118-2で圧縮して、アバター805上に配置される。アバター805が動くときに、ヘッドバンド8160が下側の帽子ラインで毛髪851を圧縮して、その動きを制限するため、下側の帽子ライン8118-2から毛髪851が揺れる。アバターがヘッドバンド8160を着用していない場合、ヘッドバンドがアバターの毛髪851をより低い位置で(例えば、下側の帽子ライン8118-2で)アバターの頭部に圧縮していないため、アバターの毛髪は、アバターの頭部のより高い位置で、アバターの頭部から揺れる。
いくつかの実施形態では、閾値時間の間、ユーザの顔がカメラ(例えば、602)の視界内で検出されなかった場合、デバイス600は、アバターを変更することを止め、顔追跡が停止されたことを示している、顔追跡を再開するようユーザに指示するプロンプトを表示する。例えば、図6BZは、アバターの周囲に表示された角括弧8162及び顔追跡を再開するようユーザに指示するテキスト8164と共に、アバター表示領域803の中央の中立位置に、アバター805を表示する。いくつかの実施形態では、デバイス600は、ユーザがデバイス600を持ち上げること(例えば、ジャイロスコープ536、モーションセンサ538、加速度計534などによって検出される)、又はディスプレイ601上の入力などの、様々な入力を検出することに応じて、ユーザの顔の追跡(及び、アバター805の変更)を再開する。図8BZで、デバイス600は、アバター表示領域803上のタッチ入力8166を検出し、図8CAに示されているように、顔追跡を再開する。
いくつかの実施形態では、デバイス600は、他のアバター特徴部を変更することに応じて、一部のアバター特徴部を変更する。例えば、図8CA及び図8CBは、アバター805の異なる髪形又は毛髪のテクスチャーが選択されたときに、デバイス600が帽子オプション8108をどのように変更するかを示している。図8CAは、アバター805が短いウェーブヘア851-1を有しているときのアバター805及び帽子オプション8108を示している(例えば、本明細書において説明された実施形態に従って、短い髪形及びウェーブヘアのテクスチャーが選択される)。図8CBは、アバター805が長い縮毛851-2を有しているときのアバター805及び帽子オプション8108を示している(例えば、本明細書において説明された実施形態に従って、長い髪形及び縮毛のテクスチャーが選択される)。アバターの毛髪851-2は、アバターの毛髪851-1よりも多いボリュームを有している。デバイス600がアバター805を短いウェーブヘア851-1から長い縮毛851-2に変更するときに、デバイス600は、変化する毛髪のボリュームに基づいてヘッドバンド8160及び帽子オプション8108のサイズを更新するが、すべての帽子オプション8108で共通の帽子ライン8118を維持する。
例えば、図8CAで、毛髪851-1がより小さく、ボリュームの少ない毛髪の特徴であるため、デバイス600は、このアバターの頭部に適合するより小さいサイズを有するヘッドバンド8160を表示する(例えば、ヘッドバンド8160及び帽子ライン8118は、より小さい外周を有する)。アバター805がアバターの毛髪851-2を使用して更新されると、デバイス600は、毛髪851-2の増やされたボリュームを収容するために、図8CBに示されているように、ヘッドバンド8160のサイズを増やす(例えば、ヘッドバンド8160及び帽子ライン8118は、より大きい外周を有する)。更に、アバターの毛髪851-2がより長い髪形であるため、デバイス600は、帽子がアバター805上で表示されるときに、(図8CAに示された毛髪851-1と比較して)帽子ライン8118から更に長く突き出るように毛髪を変更する。
加えて、デバイス600は、変更された毛髪に基づいて、表示された特徴部オプションを更新する。例えば、図8CAに示された帽子オプション8108は、図8CBに示された帽子オプション8108よりも小さいサイズを有している。したがって、デバイス600は、より大きい毛髪851-2がアバター805に適用されるときに、帽子オプションのサイズを増やす。同様に、アバターが毛髪851-2を有しているときにアバター805に適用される帽子は、アバター805が毛髪851-1を有しているときよりも大きい(例えば、図8CC及び8CDに示されている)。いくつかの実施形態では、帽子オプション8108のサイズは変化するが、すべての帽子オプション8108が共通の帽子ライン8118を有し、前述したように、アバターの頭部に配置されている個別の帽子に基づいて、すべての帽子オプション8108がアバターの毛髪851の形状に影響を与える。
いくつかの実施形態では、異なるアバターオプションが選択された場合、すでにアバター上に存在するアバター特徴部に基づいて、新しい選択されたアバターオプションが変更される。例えば、図8CAで、アバターの毛髪851-1が、図8BPに関して上で説明されたように、アバターの眼鏡8140を収容するように変更される。図8CBで、新しいアバターの毛髪851-2がアバター805に適用されるときに、新しいアバターの毛髪851-2は、アバターの毛髪851-1と同様に、アバターの眼鏡8140を収容するように変更される。別の例として、アバターの帽子オプション8108が選択された場合、選択された帽子オプションのサイズは、アバターの毛髪851の現在の状態に基づいて決定される(例えば、帽子オプション8108は、アバター805がアバターの毛髪851-1を有するときにより小さく、アバター805が毛髪851-2を有するときにより大きく表示される)。
図8CBで、デバイス600は、野球帽オプション8108e上の入力8168を検出する。図8CCで、デバイス600は、野球帽オプション8108eに対応する野球帽8170を含むように、アバター805を変更する。野球帽8170は、他の帽子オプション(例えば、ヘッドバンド8160の場合、一致する帽子ライン8118-2)と同じ帽子ライン8118を有しており、アバターの毛髪851-2が、野球帽8170の帽子ライン8118から突き出ている。また、デバイス600は、野球帽8170のひさしの下に大きい影8172を表示する。
図8CDで、デバイス600は、アバターの毛髪851-1に戻る。アバターの毛髪851-1のボリュームがアバターの毛髪851-2よりも少ないため、デバイス600は、野球帽8170及びその他の表示された帽子オプション8108のサイズを減らす。また、毛髪851-1がより短い髪形であるため、デバイス600は、図8CCの毛髪851-2よりも短く帽子ライン8118から突き出るように、アバターの毛髪851を変更する。
図8CEで、デバイス600は、ユーザの頭部の動きを検出し、それに応じてアバター805を変更する(例えば、被写体の頭部のポーズに一致するように、頭部及び野球帽8170を横に回す)。アバター805が横を向くときに、モデル化された光源に対する野球帽8170のひさしの移動に応じて、大きい影8172がアバターの顔を横切って移動し、反射8150がレンズ8140-2の反対側に移動する。
また、デバイス600は、完了アフォーダンス8154上の入力8152(例えば、タッチジェスチャ)を検出する。それに応じて、デバイス600は、アバター編集ユーザインターフェースを閉じ、図8CFに示されているように、アバター805をアプリケーション(例えば、図6A~図6ANに関して前述したようなメッセージングアプリケーション)のアバター選択領域8156に表示する。アバター805を、アプリケーションで使用するために(例えば、ジョンに送信するために)選択できる。
図9は、いくつかの実施形態に従ってアバター編集ユーザインターフェースを表示する方法を示すフロー図である。方法900は、表示装置を備えたデバイス(例えば、100、300、500、600)にて実行される。方法900のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法900は、アバター編集ユーザインターフェースを表示する直感的な方法を提供する。この方法は、アバターを管理する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作コンピューティングデバイスでは、ユーザがアバター編集ユーザインターフェースを使用してより素早く効率的にアバターの特性を変更できるようにするので、電力を節約し、バッテリの充電間の時間を延ばす。
電子デバイスは、表示装置を介して、複数のアバター特徴部(例えば、アバターの毛髪、顔の特徴(アバターの唇、目、鼻など)、アクセサリ(例えば、イヤリング、サングラス、帽子))を有するアバター(904)(例えば、805)、個別のアバター特徴部の第1のオプション選択領域(904)(例えば、808)、及び個別のアバター特徴部の第2のオプション選択領域(906)(例えば、810)を同時に表示することを含むアバター編集ユーザインターフェース(例えば、801)を表示する(902)。
個別のアバター特徴部の第1のオプション選択領域(例えば、808)(例えば、アバター特徴部を変更するために選択可能なオプションを含んでいる視覚的に区別された領域)は、(例えば、現在選択されている)個別のアバター特徴部の第1の特性(例えば、顔の形状、唇のサイズ、毛髪の色など)の候補値の集合に対応する特徴部オプションの第1の集合(例えば、対応するアバター特徴部の使用可能な変更の表示された表現)を含む(904)。いくつかの例では、オプション選択領域(例えば、808、810)は、縦方向にスクロールするように構成される。いくつかの例では、特徴部オプションは、特定のアバター特徴部の態様をカスタマイズするために選択されてよい異なる特徴部オプションのグラフィック描画を含む。いくつかの例では、特徴部オプション(例えば、809)は、横方向にスクロールするように構成される。いくつかの実施例では、オプション選択領域(例えば、808、810)は、特徴部オプション(例えば、809)がスクロールするように構成される軸とは異なる、互いに垂直である軸などの、軸に沿ってスクロールするように構成される。
個別のアバター特徴部の第2のオプション選択領域(例えば、810)は、(例えば、現在選択されている)個別のアバター特徴部の第2の特性の候補値の集合に対応する特徴部オプションの第2の集合を含む(906)。個別のアバター特徴部の第2の特性は、個別のアバター特徴部の第1の特性とは異なる。
電子デバイスは、特徴部オプションの第1の集合内の特徴部オプション(例えば、834b)のうちの1つの選択(例えば、850)(例えば、「毛髪」のアバター特徴部の「毛髪のテクスチャー」特性からの「ウェーブヘア」特徴部オプションのユーザ選択)を検出することに応じて(910)、特徴部オプション(例えば、810)の第2の集合のうちの少なくとも1つの外観を、第1の外観(例えば、836b)から(例えば、特徴部オプションの第2の集合の)第2の外観(例えば、836b’)に変更する(912)。いくつかの例では、アバターの髪形を示している表示された特徴部オプションが、アバターの毛髪の第1の外観(例えば、アバターの毛髪がストレートヘアのテクスチャーを有する状態)から、アバターの毛髪がウェーブヘアのテクスチャーを有する第2の外観へ移行する。
特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を検出することに応じて、特徴部オプションの第2の集合のうちの少なくとも1つの外観を、第1の外観から第2の外観に変更することによって、アバターの現在の状態及び使用可能なアバター特徴部オプションに関するフィードバックをユーザに提供し、特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプション(例えば、836)の第2の集合のうちの少なくとも1つの外観を第1の外観(例えば、836b)から第2の外観(例えば、836b’)に変更することは、特徴部オプションの第2の集合のうちの少なくとも2つの外観を(例えば、特徴部オプションの第1の集合の第1のオプションに対応する外観から、特徴部オプションの第2の集合の第2のオプションに対応する外観に)変更する(914)ことを含む。
いくつかの実施形態に従って、特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を検出することに応じて(910)、特徴部オプションの第1の集合の外観を第1の外観(例えば、834)から第2の外観(例えば、836b’)に変更することを止める(918)。いくつかの実施形態に従って、特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を検出することに応じて、特徴部オプションの第1の集合の外観を第1の外観(例えば、834)から第2の外観(例えば、836b’)に変更することを止めることによって、特徴部オプションの第1の集合のうちの1つの選択を検出することに応じて、特徴部オプションの第1の集合が影響を受けず、更新もされないということ示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプション(例えば、836b)の第2の集合のうちの少なくとも1つの第2の外観は、特徴部オプションの第1の集合内の特徴部オプション(例えば、834b)のうちの選択された1つに基づく(例えば、デバイスは、特徴部オプションの第1の集合内の特徴部オプションのうちの選択された1つに対応する第1の特性値を決定し、第1の特性値に基づいて、特徴部オプションの第2の集合のうちの少なくとも1つを更新する)。
いくつかの実施形態に従って、第1の外観から第2の外観に変化する特徴部オプション(例えば、836b)の第2の集合のうちの少なくとも1つを表示することは、特徴部オプションの第2の集合のうちの少なくとも1つが、特徴部オプションの第1の集合のうちの選択された1つに対応するアバター特徴部の少なくとも一部を含んでいるという判定を含む(例えば、毛髪のテクスチャーオプションが選択されたときに、髪形オプションが毛髪の表現を含んでいる場合、例えば図8R~図8Sに示されているように、それらの複数の髪形オプションが、選択された毛髪のテクスチャーを表示するように変化する)。いくつかの実施形態では、特徴部オプションが、選択された特徴部オプションによって変更される特徴の一部を含んでいない場合、それらの特徴部オプションは変化しない。例えば、毛髪のテクスチャーオプションが選択されたときに、「はげ頭」の髪形オプションは、アバターの毛髪の表現を含んでいないため、外観において変化しない。
いくつかの実施形態に従って、電子デバイスは、特徴部オプションの第1の集合内の特徴部オプション(例えば、834b)のうちの1つの選択を検出することに応じて、特徴部オプションの第2の集合のうちの第2の1つ(例えば、836a)が、特徴部オプションの第1の集合のうちの選択された1つに対応するアバター特徴部の少なくとも第2の一部を含んでいないという判定に従って、特徴部オプションの第2の集合のうちの第2の1つの外観を維持する(例えば、毛髪の色オプションが選択されたときに、髪形オプションが毛髪の表現を含んでいる場合、それらの複数の髪形オプションが変化するが、「はげ頭」の髪形が毛髪の表現を含んでいないため、図8V~図8ACに示されているように、「はげ頭」の髪形オプションは外観において変化しない)。
特徴部オプションの第2の集合のうちの第2の1つが、特徴部オプションの第1の集合のうちの選択された1つに対応するアバター特徴部の少なくとも第2の一部を含んでいないという判定に従って、特徴部オプションの第2の集合のうちの第2の1つの外観を維持することによって、特徴部オプションの第1の集合のうちの1つの選択を検出することに応じて、特徴部オプションの第2の集合のうちの第2の1つが影響を受けず、更新もされないということ示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプション(例えば、836b)の第2の集合のうちの少なくとも1つの外観を第1の外観から第2の外観に変更することは、(例えば、図8R~図8AUに示されているように)第1の外観から第2の外観に変化する特徴部オプションの第2の集合のうちの少なくとも1つのアニメーションを表示することを含む。いくつかの実施形態では、外観を変更する特徴部オプションのアニメーションは、変化している特徴部オプションを拡大することと、特徴部オプションの変化を表示する(例えば、特徴部オプションに表示される毛髪のテクスチャー又は色を変更する)ことと、その後、変更された特徴部オプションを元のサイズに縮小することと、を含む。いくつかの実施形態では、このアニメーション効果は、アニメーション化された波及効果を特徴部オプションの変化に与えるように、変更している特徴部オプションの順序で(例えば、上から下へ、かつ左から右へ)アバター特徴部を変更する(例えば、特徴部オプションの第2の集合内の第1の特徴部オプションが第2の特徴部オプションの前に変化する)ために、順番に実行される。
第1の外観から第2の外観へ変化する特徴部オプションの第2の集合のうちの少なくとも1つのアニメーションを表示することによって、特徴部オプションの第2の集合のうちの少なくとも1つの現在の状態に関するフィードバックをユーザに提供し、特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプションの第1の集合内の特徴部オプションのうちの選択された1つは、毛髪の色オプション(例えば、832)の第1の集合内の選択された毛髪の色(例えば、832a(赤色))であり、特徴部オプションの第2の集合のうちの少なくとも1つは、毛髪の長さオプション(例えば、長い、中位、短い)、髪質オプション(例えば、834、縮毛、ストレート、ウェーブなど)、及び髪形オプション(例えば、836)のうちの1つ以上を含む。いくつかの実施形態に従って、特徴部オプションの第2の集合のうちの少なくとも1つの外観を第1の外観から第2の外観に変更することは、(例えば、図8P~図8AVに示されているように)毛髪の長さオプション、髪質オプション、及び髪形オプションのうちの1つ以上を、第1の毛髪の色から選択された毛髪の色に変更することを含む。毛髪の長さオプション、髪質オプション、及び髪形オプションのうちの1つ以上を、第1の毛髪の色から選択された毛髪の色に変更することによって、アバター、並びに毛髪の長さオプション、髪質オプション、及び髪形オプションの現在の状態に関するフィードバックをユーザに提供し、毛髪の色オプションの選択を確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプション(例えば、834)の第1の集合内の特徴部オプション(例えば、834b)のうちの選択された1つは、髪質オプションの第1の集合内の選択された髪質(例えば、縮毛、ストレート、ウェーブ)であり、特徴部オプションの第2の集合のうちの少なくとも1つは、毛髪の長さオプション(例えば、長い、中位、短いなど)及び髪形オプション(例えば、836b)のうちの1つ以上を含む。いくつかの実施形態に従って、特徴部オプションの第2の集合のうちの少なくとも1つの外観を第1の外観から第2の外観に変更することは、毛髪の長さオプション及び髪形オプションのうちの1つ以上を、第1の髪質から選択された髪質に変更することを含む。毛髪の長さオプション及び髪形オプションのうちの1つ以上を、第1の髪質から選択された髪質に変更することによって、アバター、並びに毛髪の長さオプション及び髪形オプションの現在の状態に関するフィードバックをユーザに提供し、髪質オプションの選択を確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプションの第2の集合は、第1の特徴部オプション(例えば、836a)が順序において第2の特徴部オプション(例えば、836b)よりも前になり、第2の特徴部オプションが順序において第3の特徴部オプション(例えば、836c)よりも前になる順序で配置された、複数の特徴部オプションを含む。いくつかの実施形態に従って、特徴部オプションの第2の集合のうちの少なくとも1つの外観を第1の外観から第2の外観に変更することは、第1の外観から第2の外観への特徴部オプションの第2の集合の第1の特徴部オプションの第1のアニメーション化された移行を表示することと、第2の外観への第1の特徴部オプションの第1のアニメーション化された移行の少なくとも一部を表示した後に、第1の外観から第2の外観への特徴部オプションの第2の集合の第2の特徴部オプションの第2のアニメーション化された移行を開始することと、第2の外観への第2の特徴部オプションの第2のアニメーション化された移行の少なくとも一部を表示した後に、第1の外観から第2の外観への特徴部オプションの第2の集合の第3の特徴部オプションの第3のアニメーション化された移行を開始することと、を含む。いくつかの実施形態では、第1のアニメーション化された移行は第2のアニメーション化された移行と重複し、第2のアニメーション化された移行は第3のアニメーション化された移行と重複する。一部の実施形態では、第1の特徴部オプションは第2の特徴部オプションに隣接し、第2の特徴部オプションは、第1の特徴部オプションと第3の特徴部オプションの両方に隣接する。
第1のアニメーション化された移行を表示し、次に、第1のアニメーション化された移行の少なくとも一部を表示した後に第2のアニメーション化された移行を開始し、次に、第2のアニメーション化された移行の少なくとも一部を表示した後に第3のアニメーション化された移行を開始することによって、特徴部オプションの第2の集合内の第1、第2、及び第3の特徴部オプションの変更された外観の現在の状態に関するフィードバックをユーザに提供し、第1、第2、及び第3の特徴部オプションが移行される順序を示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、特徴部オプションの第2の集合のうちの少なくとも1つの外観を第1の外観から第2の外観に変更することは、特徴部オプションの第2の集合のうちの第1の1つのサイズを拡大し(例えば、836b’)、その後、特徴部オプションの第2の集合のうちの第1の1つのサイズを(例えば、元のサイズに)縮小することと(例えば、836b)、特徴部オプションの第2の集合のうちの第2の1つのサイズを拡大し(例えば、836c’)、その後、特徴部オプションの第2の集合のうちの第2の1つのサイズを(例えば、元のサイズに)縮小することと(例えば、836c)を含む。いくつかの実施形態では、特徴部オプションのうちの第2の1つは、特徴部オプションのうちの第1の1つが元のサイズに縮小される前に拡大される(例えば、第1及び第2の特徴部オプションの変更が重複する)。特徴部オプションの第2の集合のうちの第1及び第2の1つのサイズを拡大することによって、特徴部オプションの第2の集合のうちの第1及び第2の1つの変更された外観の現在の状態に関するフィードバックをユーザに提供し、特徴部オプションの第2の集合のうちの第1及び第2の1つが変化していることを示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
特徴部オプションの第2の集合のうちの第1及び第2の1つのサイズを縮小することによって、特徴部オプションの第2の集合のうちの第1及び第2の1つの変更された外観の現在の状態に関するフィードバックをユーザに提供し、変更がいつ完了したかを示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイスは、電子デバイスの1つ以上のカメラ(例えば、602)の視野内の顔における変化を検出する。電子デバイスは、顔において検出された変化に基づいて、(例えば、図8BD~図8BEに示されているように)アバター(例えば、805)の外観を(例えば、特徴部オプションの第2の集合の外観を変更することに加えて)変更する。顔において検出された変化に基づいてアバターの外観を変更することによって、表示されたユーザインターフェース制御(例えば、タッチ制御)要素を必要とせずに、仮想アバターの変更を制御するためのオプションをユーザに提供する。追加の制御によりユーザインターフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)が顔(例えば、673)における変化を検出した後に、電子デバイスは、所定の時間(例えば、10秒)の間、1つ以上のカメラ(例えば、602)の視野内で顔が検出されなかったと判定する。電子デバイスは、所定の時間の間、1つ以上のカメラの視野内で顔が検出されなかったという判定に応じて、顔において検出された変化に基づいてアバター(例えば、805)の外観を変更することを止める(例えば、追跡が停止した後に1つ以上のカメラの視野内に顔が戻った場合でも、アバターを、顔において変化を検出することに応じてアバターが変化しない非対話(静的)状態に移行させる)。アバターの外観を変更することを止めた後に、電子デバイスは入力(例えば、8166)(例えば、ユーザインターフェース上のジェスチャ(例えば、「タップして顔の追跡を再開する」アフォーダンス上のタップジェスチャ)などの、ユーザインターフェースに向けられた入力、デバイスの持ち上げの検出など)を検出する。ユーザの顔が視野内で検出されなかった場合、電子デバイスは、検出された変化に基づいてアバターの外観を更新しない。検出された変化がユーザには見えないため、変更しないことによって、電子デバイスのバッテリ電力及び処理リソースが保たれる。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
電子デバイス(例えば、600)は、入力(例えば、8166)を検出することに応じて、顔(例えば、673)において検出された変化に基づいて、アバター(例えば、805)の外観を変更することを再開する(例えば、アバターを、顔における変化を検出することに応じてアバターが変化する対話状態(例えば、図8CAの805)に移行させる)。いくつかの実施形態では、アバターを非対話状態(例えば、図8BZの805)に移行させることは、検出された顔に基づいて決定された外観(例えば、図8BYの805)から既定の外観(例えば、図8BZの805)に移行するアバターのアニメーションを表示することを含む。いくつかの実施形態では、アバターを対話状態に移行させることは、既定の外観から、検出された顔(例えば、673)に基づいて決定された外観に移行するアバターのアニメーションを表示することを含む。持ち上げられているデバイスの移動を検出することは、検出された顔における変化がアバターの外観に反映されるべきであるということを示す。アバターの外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、所定の時間の間、1つ以上のカメラ(例えば、602)の視野内で顔(例えば、673)が検出されなかったという判定に応じて、1つ以上のカメラの視野内で顔が検出されていないことのインジケーション(例えば、8164)(例えば、メッセージ)を表示する。いくつかの実施形態では、このインジケーションは、顔追跡を再開するために取られ得るアクションをユーザに知らせるメッセージ(例えば、「顔を見せる」、「タップして再開する」など)である。いくつかの実施形態では、このインジケーションは、ユーザの顔において検出された変化に応じてアバター(例えば、805)が変更されなくなっていることを示すアニメーション(例えば、静的状態に移行するアバターのアニメーション)である。顔が視野内で検出されない場合、ユーザは、顔が検出されていないことを、表示されたインジケーションによって通知される。これによって、顔追跡を再開するためのアクションをユーザが取ることができるように、ユーザにフィードバックを提供し、顔追跡を再開するため取られ得るアクションをユーザに知らせる(このようにしなければ、ユーザは、デバイスが顔追跡を停止したことに気付くことができず、追跡を再開する方法を理解することもできない)。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。また、ユーザが検出されないときに顔追跡を停止することによって、電力を節約し、(顔追跡センサを含む)デバイスの損耗を低減する。この通知は、電力を節約し、(顔追跡センサを含む)デバイスの損耗を低減するために停止された追跡を再開する方法をユーザに知らせる。
いくつかの実施形態では、この入力は、デバイス(例えば、600)が持ち上げられた(例えば、ユーザがデバイスを拾い上げており、任意選択的に、ユーザの顔(例えば、673)が1つ以上のカメラ(例えば、602)の視野内で検出された)ことを(例えば、電子デバイスの加速度計及び/又はジャイロスコープを介して)検出することである。いくつかの実施形態では、この入力は、アバター編集ユーザインターフェース(例えば、801)に向けられたジェスチャ(例えば、8166)(例えば、タップ又はスワイプジェスチャ)である。いくつかの実施形態では、このジェスチャは、例えばオプションの選択、ユーザインターフェースの新しいセクションへのナビゲーション、アフォーダンス(例えば、「顔の動きの追跡を開始する」アフォーダンス)の選択を含む、ユーザインターフェース上のいずれかの位置での入力である。
いくつかの実施形態に従って、電子デバイスは、入力(例えば、アバターを回転するか、又はアバターの倍率を調整するためのアバター上のジェスチャ、あるいはカメラの視野内の顔において検出された変化)に基づいて、(例えば、図8BG~図8BIに示されているように)アバターの外観を変更する。入力に基づいてアバターの外観を変更することは、1つ以上の物理モデル(例えば、慣性のモデル、重力のモデル、力伝達モデル、摩擦モデル)に従って複数のアバター特徴部(例えば、8125)のうちの1つ以上を動かすことを含む。いくつかの実施形態では、物理モデルは、入力(例えば、アバターを回転するか、又はアバターの倍率を調整するためのアバター上のジェスチャ、あるいは顔又は顔の一部の動き)の大きさ及び方向、並びに疑似的質量、疑似的弾性、疑似的摩擦係数、又はその他の疑似的な物理的特性などの、仮想アバター特徴部の1つ以上の予め定義された特性に基づいて、アバター特徴部の動きの大きさ及び方向を規定する。
仮想アバターの物理モデルに基づいてアバター特徴部のうちの1つ以上を動かすことによって、ユーザは、より広い範囲の非言語的情報を伝達できる現実的な対話型の仮想アバターを作成することができる。これによって、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、仮想アバターのより現実的な動きを使用して、意図されたメッセージを伝達するようにユーザを支援することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイスがアバター(例えば、805)上でジェスチャ(例えば、ピンチ/ピンチアウトジェスチャ、スワイプジェスチャ)を検出する。電子デバイスは、アバター上でジェスチャを検出することに応じて、ジェスチャが第1の種類のジェスチャ(例えば、ピンチ/ピンチアウトジェスチャ)に対応するという判定に従って、ジェスチャに基づいてアバターのズームレベルを調整し(例えば、ジェスチャがピンチアウトジェスチャである場合は表示されたアバターを拡大し、ジェスチャがピンチジェスチャである場合は表示されたアバターを縮小する)、電子デバイスは、ジェスチャが第2の種類のジェスチャ(例えば、スワイプジェスチャ)に対応するという判定に従って、ジェスチャに基づいて(例えば、図8BG~図8BKに示されているように)アバターの向きを調整する(例えば、スワイプジェスチャの方向に対応する方向にアバターを回転する)。電子デバイスは、特徴部オプションの第1の集合内の特徴部オプションのうちの1つの選択を検出することに応じて、選択された特徴部オプションに基づいてアバターを更新する。いくつかの実施形態では、アクセサリをアバターに追加するときに、フィーチャのズーム及び回転が使用可能である。例えば、アバター特徴部がそれぞれアバターのアクセサリの特徴に対応する場合、第1及び/又は第2のオプション選択領域は、装飾拡張物(例えば、傷跡、あざ、そばかす、入れ墨、及びペイントスキーム(例えば、スポーツチーム、化粧などに対応する))に対応する特徴部オプションを含む。ズーム及び回転操作は、ユーザが選択された特徴部オプション(例えば、装飾拡張物)を正確にアバター上に配置できるように、様々なズームレベル及び角度でアバターを表示する。
ジェスチャに基づいてアバターのズームレベルを調整することによって、表示されたユーザインターフェース制御(例えば、タッチ制御)要素を必要とせずに、アバターの表示に対する変更を制御するためのオプションをユーザに提供する。追加の制御によりユーザインターフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
ジェスチャに基づいてアバターの向きを調整することによって、表示されたユーザインターフェース制御(例えば、タッチ制御)要素を必要とせずに、アバターの表示に対する変更を制御するためのオプションをユーザに提供する。追加の制御によりユーザインターフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、個別の特徴部オプション(例えば、特徴部オプションの第1又は第2の集合の特徴部オプション)は、(例えば、現在選択されている)個別のアバター特徴部の表現を含む。個別のアバター特徴部の表現は、表示されたアバターの個別のアバター特徴部と比較して拡大された(例えば、ズームイン)表示を有して表示される。いくつかの実施形態では、特徴部オプションは、アバターの鼻に対応し、表示されたアバターの鼻及び周囲の顔の領域と比較した場合に、拡大されたアバターの鼻及び周囲の顔の領域の表示を含む。いくつかの実施形態では、特徴部オプションの第2の集合は、アバター特徴部のうちの1つ以上の拡大された表示を含む。
いくつかの実施形態に従って、第2の個別の特徴部オプション(例えば、8116)は、個別のアバター特徴部の表現を含み、(例えば、図8BBに示されているように)異なるアバター特徴部(例えば、表示された場合に、個別の特徴部オプションを使用して変更されている個別のアバター特徴部の少なくとも一部を不明瞭化するアバター特徴部)の少なくとも一部を除外する(例えば、表示しない)。いくつかの実施形態では、特徴部オプションは、アバターの耳に対応し、特徴部オプションに表示されたアバターの耳の表現は、アバターの耳を含むが、その他のアバター特徴部(表示された場合に、特徴部オプションに表示されたアバターの耳の少なくとも一部を不明瞭化するアバターの毛髪など)を省略する。
いくつかの実施形態に従って、アバター編集ユーザインターフェースを表示することは、アバター特徴部(例えば、顔、毛髪、目、アクセサリなど)に対応する複数のアフォーダンス(例えば、809)を含んでいるアバター特徴部部分領域(例えば、アバター特徴部オプションのスクロール可能なテキストのリスト)(例えば、807)を表示することを更に含む。複数のアフォーダンスは、(例えば、現在選択されている)個別のアバター特徴部に対応する第1の選択されたアフォーダンス(例えば、809a、809b、809c、809d)を含む(例えば、「毛髪」アフォーダンス809bは、毛髪のアバター特徴部が現在選択されていることを示すために、強調表示される)。
いくつかの実施形態に従って、電子デバイスは、特徴部オプション(例えば、814)の第1の集合内の特徴部オプション(例えば、814b)のうちの1つの選択を検出することに応じて、アバター特徴部に対応する複数のアフォーダンスのうちの第2の1つに関連付けられた視覚効果のアニメーションを表示する(例えば、図8Fで毛髪アフォーダンス809bを強調表示する)。いくつかの実施形態では、特徴部オプションの第1の選択の後に、現在選択されているアバター特徴部と異なるアバター特徴部に対応するアフォーダンス上でアニメーションが表示され、そのアフォーダンスを選択して異なるアバター特徴部に関するアバター編集ユーザインターフェースを表示するようにユーザに対して促す。
いくつかの実施形態に従って、電子デバイスは、第2のアバター特徴部(例えば、アバターのアクセサリ)に対応する第2のアフォーダンス(例えば、「アクセサリ」アフォーダンス809D)の選択を検出することに応じて、(例えば、図8BA~図8BBに示されているように)第2のアバター特徴部の第1の特性(例えば、イヤリング特性)の候補値(例えば、フープイヤリング、スタッドイヤリング、又はイヤリングなしなどの異なるイヤリングオプション)の集合に対応する特徴部オプション(例えば、表示されたイヤリングオプション)の更新された第1の集合を表示するように、第1のオプション選択領域を更新し、第2のアバター特徴部の第2の特性(例えば、帽子特性)の候補値(例えば、帽子なし、カウボーイハット、ヘッドバンドなど)の集合に対応する特徴部オプション(例えば、表示された帽子オプション)の更新された第2の集合を表示するように、第2のオプション選択領域を更新する。
第2のアバター特徴部に対応する第2のアフォーダンスの選択を検出することに応じて第1及び第2のオプション選択領域を更新することは、第2のアバター特徴部の選択を確認するフィードバックをユーザに提供し、第2のアバター特徴部に使用可能なアバター特徴部オプションを示す視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、アバター特徴部部分領域(例えば、807)が、アバター編集ユーザインターフェースの第1の領域(例えば、803)に表示される。第1のオプション選択領域(例えば、808)及び第2のオプション選択領域(例えば、810)が、アバター編集ユーザインターフェースの第2の領域(例えば、804)に表示され、この第2の領域は第1の領域の下に配置されて表示される。
いくつかの実施形態に従って、特徴部オプションの第1の集合は、(例えば、図8Wに示されているように)色に対応する複数の色アフォーダンスを含み、これらの複数の色アフォーダンスは、(例えば、現在選択されている)個別のアバター特徴部の色に対応する第1の選択された色アフォーダンスを含む。
いくつかの実施形態に従って、電子デバイスは、複数の色アフォーダンス(例えば、832)のうちの1つの選択を検出することに応じて、選択された色アフォーダンスに対応する選択された色、及び複数の色アフォーダンスに含まれていない複数のその他の色オプションを有するカラーピッカーユーザインターフェース(例えば、888、892、856、822)(例えば、選択された色アフォーダンスの色を変更するために選択され得る色を表示するユーザインターフェース)を表示する。いくつかの実施形態では、選択された色アフォーダンスに対応する選択された色を有するカラーピッカーUIが表示される。その後、ユーザは、カラーピッカーUIを調整して、選択された色を改良するか、又は全く異なる色を選択することができる。いくつかの実施形態では、カラーピッカーユーザインターフェースを表示することは、第1のオプション選択領域又は第2のオプション選択領域のうちの少なくとも1つをカラーピッカーユーザインターフェースに置き換えることを含む。いくつかの実施形態では、カラーピッカーUIは、第1及び第2のオプション選択領域を、特定の方向(例えば、スクリーンの下部、スクリーンの左側、スクリーンの右側など)からスクリーン上(及び、第1及び第2のオプション選択領域上)にスライドするカラーピッカーUIを表示するアニメーションに置き換える。いくつかの実施形態では、カラーピッカーUIは、第1及び第2のオプション選択領域上に表示されるポップアップスクリーンである。
いくつかの実施形態では、複数の色アフォーダンス(例えば、812)がアバターの肌の色特徴部の色に対応するという判定に従って、複数の色アフォーダンスは、アバターの肌の色特徴部の色に対応する色アフォーダンス(例えば、図8Aに示されている)の拡張された集合(例えば、選択されたアバターの肌の色の拡張されたカラーパレット)を含む。いくつかの実施形態では、拡張されたカラーパレットは、色がアバターの肌の色特徴部に対応する場合、カラーパレットのサイズを拡張又は縮小するためのオプション(例えば、832に類似する)を除外する。いくつかの実施形態では、複数の色アフォーダンスは、拡張された状態で表示された場合、横方向にスクロール不可能である。
いくつかの実施形態に従って、複数の色アフォーダンスは、第1の種類のアバター特徴部(例えば、828)(例えば、アバターの肌の色特徴部以外のアバター特徴部)の色に対応する。いくつかの実施形態では、電子デバイス(例えば、600)は、複数の色アフォーダンスの第1の部分(例えば、882)を表示する。いくつかの実施形態では、電子デバイスは、複数の色アフォーダンス上のジェスチャ(例えば、スワイプジェスチャ)を検出する(例えば、色アフォーダンス上のスワイプジェスチャ)。電子デバイスは、ジェスチャを検出することに応じて、色アフォーダンスの第1の部分を表示することを止め、(例えば、複数の色アフォーダンスをスクロールして追加の色アフォーダンスを露わにして)色アフォーダンスの第2の部分を表示する。いくつかの実施形態では、色アフォーダンスの第2の部分は、色アフォーダンスの第1の部分とは異なる色アフォーダンスの拡張された集合(例えば、888)に対応するアフォーダンス(例えば、886)、及び色アフォーダンスの第2の部分を含んでいる。対話状態から非対話状態へ移行するアバターのアニメーションを表示することによって、アバターの非対話的外観の視覚フィードバックを提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1の特性又は第2の特性のうちの少なくとも1つは、アバター特徴部(例えば、アバターの顔)それぞれの特徴部形状(例えば、顔の形状、鼻の形状、耳の形状など)に対応する。
いくつかの実施形態に従って、個別のアバター特徴部は、アバターの顔(例えば、図8B)である。第1の特性及び第2の特性は、頭部の形状、肌の色、鼻のサイズ、鼻の形状、唇の形状、唇の色、耳のサイズ、顔の毛のスタイル、及び年齢から成る群から選択される。
いくつかの実施形態に従って、個別のアバター特徴部は、アバターの毛髪(例えば、図8O)である。第1の特性及び第2の特性は、毛髪の色、髪形、長さ、髪質(例えば、縮毛、ストレート、ウェーブなど)、毛髪の部分(例えば、アバターの毛髪内の部分の位置)、上げた髪、下げた髪(例えば、アバターの頭部での毛髪の縦方向の位置)、及び生え際(例えば、後退している、はげている、富士額、成熟している、低いなど)から成る群から選択される。
いくつかの実施形態に従って、個別のアバター特徴部は、アバターの目である。第1の特性及び第2の特性は、目の形状、目の色、まつげ、及び眉の形状から成る群から選択される。
いくつかの実施形態に従って、個別のアバター特徴部は、アクセサリ(例えば、図8BB)である。第1の特性及び第2の特性は、帽子、眼鏡、イヤリング、及び装飾拡張物(例えば、ペイントスキーム(例えば、スポーツチーム、化粧などに対応する)、入れ墨、そばかす、あざ、傷跡)から成る群から選択される。
いくつかの実施形態に従って、電子デバイスは、アバター編集ユーザインターフェース上の縦方向のジェスチャ(例えば、タッチスクリーンディスプレイ上のアバター編集ユーザインターフェースに対応する位置での縦方向のスワイプジェスチャ)を検出することに応じて、アバター編集ユーザインターフェースを縦方向のジェスチャに対応する縦方向にスクロールする。アバター編集ユーザインターフェースをスクロールすることは、(例えば、図8AG~図8AHに示されているように)表示されたアバターを含んでいる領域の縦方向の位置を維持しながら、第1のオプション選択領域及び第2のオプション選択領域を縦方向のジェスチャの方向にスクロールすることを含む。
いくつかの実施形態に従って、電子デバイスは、アバター編集ユーザインターフェースのアバター特徴部部分領域(例えば、807)上のジェスチャ(例えば、830)(例えば、タッチスクリーンディスプレイ上のアバターに対応する位置での横方向のスワイプジェスチャ、又はアバター特徴部のうちの1つに対応するアフォーダンス上のタッチジェスチャ)を検出することに応じて、第1のアバター特徴部(例えば、809a)が選択されている第1の外観から第2のアバター特徴部(例えば、809b)が選択されている第2の外観に変化するアバター特徴部部分領域を表示し、第1及び第2のオプション選択領域(例えば、808、810)を表示することを止め、第1の特徴部オプションが順序において第2の特徴部オプションよりも前になり、第2の特徴部オプションが順序において第3の特徴部オプションよりも前になる順序で配置された複数の特徴部オプション(例えば、832)を有する第3のオプション選択領域(例えば、838)を表示し、第1の特徴部オプションが順序において第2の特徴部オプションよりも前になり、第2の特徴部オプションが順序において第3の特徴部オプションよりも前になる順序で配置された複数の特徴部オプション(例えば、834)を有する第4のオプション選択領域(例えば、840)を表示する。第3のオプション選択領域を表示することは、第3のオプション選択領域の複数の特徴部オプションを順番に表示することを含む、第1のアニメーションを表示することを含む。第4のオプション選択領域を表示することは、第1のアニメーションの少なくとも一部を表示した後に、第4のオプション選択領域の複数の特徴部オプションを順番に表示することを含む、第2のアニメーションを開始することを含む。
いくつかの実施形態に従って、アバターは、第1のサイズ(例えば、拡大されたサイズ)又は第2のサイズ(例えば、縮小されたサイズ)になる。電子デバイスは、アバター編集ユーザインターフェース上のジェスチャ(例えば、特徴部オプション上のタップジェスチャ又は縦方向のスワイプジェスチャ)を(例えば、第1のオプション選択領域又は第2のオプション選択領域に対応する位置で)検出する。電子デバイスは、ジェスチャが特徴部オプションの第1又は第2の集合内の特徴部オプション(例えば、836f)の選択(例えば、869)に対応し、かつアバターが第2のサイズ(例えば、図8AN)であるという判定に従って、第2のサイズから第1のサイズに移行するアバターを表示する(例えば、図8AO)(例えば、アバターが縮小されたサイズであり、特徴部オプションが選択された場合、アバターは、図8AN~図8AOに示されているように、縮小されたサイズから拡大されたサイズに拡大する)。電子デバイスは、ジェスチャがスクロールジェスチャ(例えば、第1及び第2のオプション選択領域上の縦方向のスワイプジェスチャ)であり、かつアバターが第1のサイズであるという判定に従って、スクロールジェスチャが第1のスクロール方向(例えば、下向きのスクロール方向)に対応する場合、第2のサイズに移行するアバターを表示する。いくつかの実施形態では、アバターが拡大されたサイズ又は中間のサイズである場合、下向きのスクロール方向においてスクロールジェスチャを検出することに応じて、アバターが縮小される。いくつかの実施形態では、アバターが縮小されたサイズである場合、デバイスは、下向きのスクロール方向におけるスクロールジェスチャに応じてアバターのサイズを更に縮小しない。いくつかの実施形態では、デバイスは、スクロールジェスチャに応じて、第1及び第2のオプション選択領域もスクロールする。電子デバイスは、ジェスチャがスクロールジェスチャであり、かつアバターが第2のサイズであるという判定に従って、スクロールジェスチャが第1の方向と反対の第2のスクロール方向(例えば、上向きのスクロール方向)に対応する場合、第1のサイズに移行するアバターを表示する。いくつかの実施形態では、アバターが縮小されたサイズ又は中間のサイズである場合、上向きのスクロール方向においてスクロールジェスチャを検出することに応じて、アバターが拡大される。いくつかの実施形態では、アバターが拡大されたサイズである場合、デバイスは、上向きのスクロール方向におけるスクロールジェスチャに応じてアバターのサイズを更に拡大しない。いくつかの実施形態では、デバイスは、スクロールジェスチャに応じて、第1及び第2のオプション選択領域もスクロールする。
いくつかの実施形態に従って、電子デバイスは、ジェスチャがスクロールジェスチャであり、かつアバターが第1のサイズであるという判定に従い、スクロールジェスチャが第2のスクロール方向に対応する場合、第2のサイズに移行するアバターを表示することを止める。いくつかの実施形態では、スクロールジェスチャが下向きのスクロール方向である場合にのみ、アバター(例えば、805)が縮小される。
いくつかの実施形態に従って、特徴部オプション(例えば、812)のうちの1つの選択(例えば、820)を検出する前に、複数の異なる色値を通って時間と共に変化する肌の色を有するアバター(例えば、805)が表示される(例えば、アバターは、時間と共に2つ以上の色の間を前後に変動して表示される)。いくつかの実施形態では、特徴部オプションのうちの1つの選択を検出する前に、アバターが非対話状態で表示される(例えば、図8Aの805)(例えば、アバターが、ユーザの顔(例えば、673)において検出された変化に応じて変化しない既定の外観を有する、静的状態)。いくつかの実施形態では、電子デバイス(例えば、600)は、アバター編集ユーザインターフェース(例えば、801)上の入力(例えば、820)(例えば、複数のユーザ選択可能な肌の色オプション(例えば、812)からのアバターの肌の色オプション(例えば、812a)の選択)を検出することに応じて、色の効果が変動しないアバターを表示し(例えば、静的配色/単一色を有するアバターを表示し)、非対話状態から対話状態(例えば、ユーザの顔において検出された(例えば、電子デバイスの1つ以上のカメラを介して検出された)変化に応じてアバターが変化する、動的状態)に移行するアバターを表示する。
なお、方法900に関して上述された処理(例えば、図9)の詳細はまた、以下及び上で説明されている方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、方法900に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。アバターを編集する方法700は、アバターユーザインターフェースをナビゲートする方法に組み込まれ得る。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図9に関して前述した方法900に従って実現されてよい。追加の例として、方法1000、1100、1200、及び1400は、方法900に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10~図12に関して後述される方法に従って実現されてよい。別の例として、いくつかの実施形態では、ナビゲーションユーザインターフェースが、仮想アバターを変更する処理を呼び出し、この処理は、図14A及び図14Bに関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は繰り返されていない。
図10A~10Bは、いくつかの実施形態に従って電子デバイスを使用して視覚効果をアバター編集アプリケーションに表示する方法を示すフロー図である。方法1000は、表示装置を備えたデバイス(例えば、100、300、500、600)にて実行される。方法1000のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法1000は、視覚効果をアバター編集アプリケーションに表示する直感的な方法を提供する。この方法は、視覚効果をアバター編集アプリケーションに表示される画像に適用するユーザの認識的負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザが視覚効果をより高速かつより効率的に画像に表示することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
いくつかの実施形態では、電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、1つ以上の色の第1の集合(例えば、いくつかの実施形態では、ハイライト、中間調、及び/又は影を含む、1つ以上の色のデフォルトの集合)を有する個別の特徴(例えば、851、8140)及び個別の特徴(例えば、第1のアバター特徴部(例えば、アバターの肌の色、アバターの目の色、アバターの毛髪の色など))の複数の色オプション(例えば、832、894)(例えば、それぞれ色に対応している複数のアフォーダンス)を含んでいるユーザインターフェースオブジェクト(例えば、仮想アバター805)を表示する(1002)。一部の実施形態では、個別の特徴はアバターの肌の色である。一部の実施形態では、個別の特徴はアバターの目の色(例えば、829)である。一部の実施形態では、個別の特徴はアバターの毛髪の色である。ユーザが色オプションを使用して変更できる個別の特徴を有するアバターを表示することによって、アバターの個別の特徴が色を変更できる状態にあるということを確認する視覚フィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、600)は、第2の色に対応する複数の色オプション(例えば、894、832)のうちの色オプション(例えば、894-1、832a)の選択(例えば、895、852)を検出する(1004)。電子デバイスは、選択(1006)を検出することに応じて、個別の特徴(例えば、フレーム8140-1、アバターの毛髪851)の色をその色オプションに変更し(1008)(例えば、個別のアバター特徴部を表示するアバター特徴部オプションの外観に変更し(例えば、個別のアバター特徴部を有する仮想アバター(例えば、805)の外観を変更し))、1つ以上の色の第2の集合(例えば、スライダー857、897に対する変更から生じる色の変化の集合)に対応する色オプションのための第1の色調整制御(例えば、857、897)(例えば、スライダーユーザインターフェース)を表示する(1010)。第1の色調整制御を有するアバターを表示することによって、アバターの個別の特徴が色を変更しており、更なる色の変更のために選択されているということを確認する視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。触覚フィードバックは、変更が受信されたことを確認する。触覚フィードバックを提供することによって、入力が受信されたこと、及び変更が行われたことをユーザに知らせる。
いくつかの実施形態では、1つ以上の色の第2の集合に対応する色オプションのための第1の色調整制御は、トラック(例えば、897-2)及びトラック内を移動するサム(例えば、897-1)を有するスライダー(例えば、897)を含む。いくつかの実施形態では、入力(例えば、860)はトラック内のサムの移動を引き起こす。いくつかの実施形態では、デバイスは、入力を検出することに応じて、サムが既定の位置(例えば、860’)(例えば、第2の色のデフォルト値に対応する位置である、トラックの中央)に移動されることに従って、触覚フィードバックを生成する。いくつかの実施形態では、既定の位置以外への位置へのサムの移動は、触知出力を含む触覚フィードバックを生成しない。
ユーザインターフェースオブジェクト(例えば、805)の個別の特徴(例えば、851)が1つ以上の色(例えば、832a)の第2の集合を有する間、電子デバイスは、第1の色調整制御に対応する入力(例えば、860)(例えば、ドラッグジェスチャ又はタップジェスチャ)を検出する(1012)。電子デバイスは、第1の色調整制御に対応する入力を検出することに応じて、第2の色に基づいて、個別の特徴の色を、1つ以上の色の第2の集合から、1つ以上の色の第2の集合の変更されたバージョン(例えば、個別のアバター特徴部の変更された色)に変更する(1014)。いくつかの実施形態では、スライダーユーザインターフェースは、基になる選択された色オプションの特性(例えば、色相、彩度、値/明度)を変更する。いくつかの実施形態では、選択された色オプションの表示された色も、スライダーユーザインターフェース上の入力に応じて変更される。いくつかの実施形態では、方法900及び図8AX~図8AYに関して説明されているように、複数の色オプションがカラーパレットを含む。アバターの変更された外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第1の色調整制御(例えば、857)に対応する入力(例えば、860)を検出することに応じて、色オプション(例えば、832a)の色を、第2の色から1つ以上の色の第2の集合の変更されたバージョンに変更する。いくつかの実施形態では、個別の特徴(例えば、851、8140)の色を1つ以上の色の第2の集合から1つ以上の色の第2の集合の変更されたバージョンに変更することは、1つ以上の色の第2の集合の複数の値(例えば、ハイライト、中間調、影)を変更することを含む。いくつかの実施形態では、個別の特徴の色を1つ以上の色の第2の集合から1つ以上の色の第2の集合の変更されたバージョンに変更することは、第1の色調整制御に対応する入力(例えば、860)の大きさ及び方向に更に基づく(例えば、入力が右に大きく移動するほど、色の赤色の値が増加し、入力が左に大きく移動するほど、色の緑色の値が増加する)。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第2の特徴(例えば、8140-2)(例えば、個別の(第1の)アバター特徴部の部分又は個別のアバター特徴部と異なる第2のアバター特徴部)の第2の複数の色オプション(例えば、896)を表示する(1016)。第2の特徴の第2の複数の色オプションと共にアバターを表示することによって、ユーザが第2の複数の色オプションを使用して第2の特徴の色を変更したときに、ユーザに視覚フィードバックを提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、600)は、第2の複数の色オプションのうちの第2の色オプション(例えば、896-1)の選択(例えば、898)を検出する(1018)。いくつかの実施形態では、電子デバイスは、第2の色オプションの選択を検出することに応じて(1020)、第2の特徴の色を第2の色オプションに変更し(1022)、1つ以上の色の第3の集合に対応する第2の色オプションのための第2の色調整制御(例えば、899)を表示する(1024)。第2の色調整制御を表示することによって、第2の特徴が色の異なる集合によって変更されてよいということの視覚フィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、個別の特徴及び第2の特徴はそれぞれ、アバターの眼鏡の特徴(例えば、8140)の部分に対応し、複数の色オプション(例えば、884)は、アバターの眼鏡のフレーム(例えば、8140-1)の色に対応し、第2の複数の色オプション(例えば、896)は、アバターの眼鏡のレンズ(例えば、8140-2)の色に対応する。いくつかの実施形態では、電子デバイス(例えば、600)は、第2の色調整制御に対応する入力を検出する。電子デバイスは、第2の色調整制御に対応する入力を検出することに応じて、アバターの眼鏡のレンズの不透明度を変更する(例えば、完全に反射する最大値から、わずかに反射するほとんど透明な最小値までの範囲内で、レンズの不透明度を変更する)。アバターの眼鏡の外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、デバイス(例えば、600)は、第2の色オプション(例えば、832b)の選択を検出することに応じて(例えば、第2の色オプションの選択を検出することに応じて)、1つ以上の色の第2の集合に対応する色オプション(例えば、832a)のための第1の色調整制御(例えば、857)を表示することを止める(例えば、第1の色スライダーを非表示にする)。いくつかの実施形態に従って、電子デバイス(例えば、600)は、(例えば、第2の色オプションの選択を検出することに応じて)1つ以上の色の第2の集合に対応する色オプション(例えば、832a)のための第1の色調整制御(例えば、857)を表示することを止めた後に、第2の色に対応する複数の色オプションのうちの色オプション(例えば、832a)のその後の選択(例えば、871)を検出する。電子デバイスは、その後の選択を検出することに応じて、色オプションのための第1の色調整制御の表示を再開する(例えば、図8ATを参照)。いくつかの実施形態では、第1の色調整制御は、1つ以上の色の第2の集合の変更されたバージョンに対応する(例えば、色スライダーの変更(スライダーに対する変更及び1つ以上の色の第2の集合の変更されたバージョンを含む)は、色スライダーを変更するその後入力によって変更されるまで、持続する)。いくつかの実施形態では、(例えば、異なるアバター特徴部を選択すること、異なる色アフォーダンスを選択すること、アバターオプションをスクロールすることなどによって)デバイスが表示された色スライダーから離れてナビゲートしたときに、その色スライダーの設定が持続する。いくつかの実施形態では、(例えば、図8ATに示されているように)デバイスがナビゲートして変更されたスライダーに戻ったときに、変更された設定(例えば、セレクターアフォーダンスの位置及び変更された色)が変化しない。第1の色調整制御を表示することを止めた後に、第1の色調整制御を再び表示することによって、ユーザインターフェースの状態が色が変更されてよいモードに戻っていることの視覚フィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイスは、1つ以上の色の第2の集合に対応する第1の色調整制御(例えば、857)を表示することを止めた後に、(例えば、図8ACに示されているように)1つ以上の色の第2の集合の変更されたバージョンを有する複数の色オプションのうちの色オプション(例えば、832a)の表示を維持する。
いくつかの実施形態では、第2の色に基づいて個別の特徴の色を1つ以上の色の第2の集合から1つ以上の色の第2の集合の変更されたバージョンに変更することは、次のステップのうちの1つ以上を含む。デバイス(例えば、600)は、第1の色調整制御(例えば、822)に対応する入力(例えば、860)が第2の方向の移動を含んでいるという判定に従って、1つ以上の色の第2の集合の赤色の値を増やす。第1の色調整制御に対応する入力が第3の方向の移動を含んでいるという判定に従って、1つ以上の色の第2の集合の緑色の値を増やす。
いくつかの実施形態では、ユーザインターフェースオブジェクトの個別の特徴が1つ以上の色の第3の集合を有する間、電子デバイス(例えば、600)は、第2の色調整制御(例えば、899)に対応する入力(例えば、ドラッグジェスチャ又はタップジェスチャ)を検出する。電子デバイスは、第2の色調整制御に対応する入力を検出することに応じて、第2の色に基づいて、個別の特徴の色を、1つ以上の色の第3の集合から、1つ以上の色の第3の集合の変更されたバージョン(例えば、個別のアバター特徴部の変更された色)に変更する。いくつかの実施形態では、これは、次のステップのうちの1つ以上を含む。第2の色調整制御に対応する第2の入力が第2の方向の移動を含んでいるという判定に従って、1つ以上の色の第3の集合の赤色の値を増やす。第2の色調整制御に対応する第2の入力が第3の方向の移動を含んでいるという判定に従って、1つ以上の色の第3の集合の緑色の値を増やす。色の集合の変更は、ユーザ入力の移動に結びつけられる。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第1の色調整制御(例えば、897)に対応する入力が第1の方向を含んでいるという判定に応じて、1つ以上の色の第2の集合を第1の方法で変更する(例えば、第1の色スライダー上の第1の方向の入力の移動に基づいて、第1の方向で(例えば、冷たい色調からより暖かい色調へ)、1つ以上の色の第2の集合の色のグラデーションを調整する)。いくつかの実施形態では、第2の色調整制御(例えば、899)に対応する第2の入力が第1の方向を含んでいるという判定に応じて、1つ以上の色の第3の集合を第1の方法で変更する(例えば、第2の色スライダー上の第1の方向(例えば、第1の色スライダーの移動と同じ第1の方向)の入力の移動に基づいて、1つ以上の色の第2の集合のグラデーションが調整されたのと同じ方法で(例えば、やはり冷たい色調からより暖かい色調へ)、1つ以上の色の第3の集合のグラデーションを調整する)。色の集合の変更は、ユーザ入力の移動に結びつけられる。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
なお、方法1000に関して上述された処理(例えば、図10)の詳細はまた、以下及び上で説明されている方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、方法1000に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。アバターを編集する方法700は、アバターユーザインターフェースをナビゲートする方法に組み込まれ得る。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10に関して前述した方法1000に従って実現されてよい。追加の例として、方法900、1100、1200、及び1400は、方法1000に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図11~図12に関して後述される方法に従って実現されてよい。別の例として、いくつかの実施形態では、ナビゲーションユーザインターフェースが、仮想アバターを変更する処理を呼び出し、この処理は、図14A及び図14Bに関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は繰り返されていない。
図11A及び11Bは、いくつかの実施形態に従ってアバター編集ユーザインターフェースを表示する方法を示すフロー図である。方法1100は、表示装置を備えたデバイス(例えば、100、300、500、600)にて実行される。方法1100のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法1100は、アバター編集ユーザインターフェースを表示する直感的な方法を提供する。この方法は、アバターを管理する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作コンピューティングデバイスでは、ユーザがアバター編集ユーザインターフェースを使用してより素早く効率的にアバターの特性を変更できるようにするので、電力を節約し、バッテリの充電間の時間を延ばす。
電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、1つ以上の色の第1の集合を有する第1のアバター特徴部(例えば、肌の色)、及び1つ以上の色の第1の集合に基づく、1つ以上の色の第1の集合と異なる、1つ以上の色の集合を有する第2のアバター特徴部(例えば、827、829)(例えば、顔の毛、眉、唇)を含む、複数のアバター特徴部(例えば、アバターの毛髪、顔の特徴(アバターの唇、目、鼻など)、アクセサリ(例えば、イヤリング、サングラス、帽子))を有するアバター(例えば、805)を表示する(1104)ことを含んでいるアバター編集ユーザインターフェース(例えば、801)を表示する(1102)。アバター編集ユーザインターフェースを表示することは、第1のアバター特徴部に対応する複数の色オプション(例えば、812)(例えば、それぞれ色に対応する複数のアフォーダンス)を表示する(1106)ことも含む。電子デバイスは、複数の色オプションのうちの個別の色オプション(例えば、812a)の選択(例えば、820)を検出する(1108)。アバターの外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、600)は、第1のアバター特徴部(例えば、肌の色)の複数の色オプションのうちの個別の色オプション(例えば、812a)の選択を検出することに応じて、個別の色オプションが1つ以上の色の第2の集合に対応するという判定に従って、アバター(例えば、805)の外観を更新する(1110)。いくつかの実施形態では、アバターの外観を更新することは、次のステップのうちの1つ以上を含む。1つのステップは、第1のアバター特徴部(例えば、アバター805の顔)を1つ以上の色の第2の集合に変更する(1112)ことを含む。別のステップは、第2のアバター特徴部(例えば、827)を、1つ以上の色の第2の集合に基づく、1つ以上の色の第2の集合と異なる、1つ以上の色の集合に変更する(1114)ことを含む(例えば、第1のアバター特徴部の選択された色は、第2のアバター特徴部の変更された色に関する色の特性(例えば、淡色、色相、陰影、彩度、中間調、ハイライト、暖かさなど)を提供する)。第1のアバター特徴部の個別の色オプションの選択、及びこの選択に従って第1のアバター特徴部を変更することによって、変更された第1のアバター特徴部のフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第1のアバター特徴部の複数の色オプションのうちの個別の色オプション(例えば、812a)の選択(例えば、820)を検出することに応じて、個別の色オプションが1つ以上の色の第3の集合に対応するという判定に従って、第1のアバター特徴部及び第2のアバター特徴部(例えば、827)を、個別の色オプションが1つ以上の色の第2の集合に対応する場合とは異なる方法で変更する(1118)(例えば、1つ以上の色の第2の集合ではなく1つ以上の色の第3の集合に対応する選択された色オプションに基づいて、第1及び第2のアバター特徴部を変更する)(例えば、選択された色オプションが1つ以上の色の第3の集合に対応する場合、選択された色オプションに基づいて、第1及び第2のアバター特徴部のハイライトを調整する)(例えば、選択された色オプションが1つ以上の色の第2の集合に対応する場合、第1及び第2のアバター特徴部の中間調を調整する)。いくつかの実施形態では、色の第3の集合の場合の選択された色オプションと第1及び第2のアバター特徴部との間の関係は、1つ以上の色の第2の集合の場合のそれらの関係とは異なる。例えば、1つ以上の色の第2の集合に対応する選択された色オプションは、第1及び/又は第2のアバター特徴部のハイライトの調整に使用されるが、一方、1つ以上の色の第3の集合に対応する選択された色オプションは、第1及び/又は第2のアバター特徴部の中間調の調整に使用される。第1のアバター特徴部の個別の色オプションの選択、及びこの選択に従って第1のアバター特徴部を変更することによって、変更された第1のアバター特徴部のフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、第3のアバター特徴部(例えば、851)(例えば、毛髪の色)に対応する第2の複数の色オプション(例えば、832)を表示する。デバイスは、第2の複数の色オプションのうちの第1の色オプション(例えば、832a)の選択(例えば、852)を検出する。電子デバイスは、第3のアバター特徴部の第2の複数の色オプションのうちの第1の色オプションの選択を検出することに応じて、第1の色オプションが1つ以上の色の第4の集合に対応するという判定に従って、アバター(例えば、805)の外観を更新する。アバターを更新することは、第3のアバター特徴部(例えば、851)を1つ以上の色の第4の集合に変更することと、第2のアバター特徴部(例えば、眉の色827)を、1つ以上の色の第4の集合に基づく、1つ以上の色の第4の集合と異なる、1つ以上の色の集合に変更することと、を含む。いくつかの実施形態では、アバターの顔の毛の色(例えば、眉の色)は、毛髪の色と肌の色の両方による影響を受ける。アバターの外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。第3のアバター特徴部の第1の色オプションの選択、及びこの選択に従って第3のアバター特徴部を変更することによって、変更された第1のアバター特徴部のフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第2の複数の色オプション(例えば、832)のうちの第2の色オプション(例えば、832b)の選択(例えば、861)を検出する。電子デバイスは、第3のアバター特徴部の第2の複数の色オプションのうちの第2の色オプションの選択を検出することに応じて、第1の色オプションが1つ以上の色の第5の集合に対応するという判定に従って、第3のアバター特徴部(例えば、肌の色)及び第2のアバター特徴部(例えば、827)を、第1の色オプションが選択された場合とは異なる方法で変更する(例えば、1つ以上の色の第4の集合ではなく1つ以上の色の第5の集合に対応する第2の色オプションに基づいて、第3及び第2のアバター特徴部を変更する)。いくつかの実施形態では、色の第5の集合の場合の選択された色オプション(例えば、第2の色オプション)と第3及び第2のアバター特徴部との間の関係は、1つ以上の色の第4の集合の場合のそれらの関係とは異なる。例えば、1つ以上の色の第4の集合に対応する選択された色オプションは、第3及び/又は第2のアバター特徴部のハイライトの調整に使用されるが、1つ以上の色の第5の集合に対応する選択された色オプションは、第3及び/又は第2のアバター特徴部の中間調の調整に使用される。一部の実施形態では、第1のアバター特徴部はアバターの毛髪の色に対応する。一部の実施形態では、第2のアバター特徴部はアバターの眉に対応する。一部の実施形態では、第3のアバター特徴部はアバターの肌の色に対応する。第2のアバター特徴部の第2の色オプションの選択、及びこの選択に従って第2のアバター特徴部を変更することによって、変更された第2のアバター特徴部のフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第3のアバター特徴部(例えば、アバターの肌の色)及び第2のアバター特徴部(例えば、827)(例えば、アバターの眉)は、第1のアバター特徴部(例えば、アバターの毛髪の色)に対応する1つ以上の色の第2の集合に基づいて第1の色特性(例えば、色相)を調整することを含む第1の方法で変更される。いくつかの実施形態では、第3のアバター特徴部及び第2のアバター特徴部は、第3のアバター特徴部に対応する1つ以上の色の第4の集合に基づいて、第1の色特性とは異なる第2の色特性(例えば、色の輝度)を調整する(例えば、アバターの眉はアバターの肌の色よりも暗い)ことを含む、第2の方法で変更される。第3のアバター特徴部及び第2のアバター特徴部は、第1のアバター特徴部に対応する第1の色特性に従って調整される。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、複数の色オプション(例えば、812)のうちの個別の色オプション(例えば、812a)の選択(例えば、820)を検出することに応じて、1つ以上の色の第2の集合に対応する個別の色オプションのための色調整制御(例えば、822)(例えば、スライダーユーザインターフェース)を表示する(1116)。いくつかの実施形態では、色調整制御は、方法1000及び図10A~図10Bに関して説明されているような色調整制御である。色調整制御は、選択されてよい色オプションの視覚的表現を提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第2のアバター特徴部は、1つ以上の色の第2の集合に基づく、1つ以上の色の第2の集合と異なる、1つ以上の色の集合に対応するアバターの唇の色を有するアバターの唇(例えば、828)に対応する。いくつかの実施形態では、デバイスは、色調整制御(例えば、892、893)に対応する入力(例えば、ドラッグジェスチャ又はタップジェスチャ)を検出する。電子デバイス(例えば、600)は、この入力を検出することに応じて、アバターの唇の第1の部分(例えば、外側部分(例えば、828a))のアバターの唇の色を変更し、アバターの唇の第2の部分(例えば、内側部分(例えば、828b))のアバターの唇の色を維持する。第2のアバター特徴部の外観は、カスタマイズできるアバターの特性の種類を示すフィードバックをユーザに提供する。色調整制御からのアバター特徴部の色オプションの選択によって、変更された第1のアバター特徴部のフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1のアバター特徴部はアバターの肌に対応する。いくつかの実施形態では、第2のアバター特徴部はアバターの唇(例えば、828)に対応する。いくつかの実施形態では、1つ以上の色の第2の集合に基づく1つ以上の色の集合は、1つ以上の色の第2の集合及び赤色の値を含む(例えば、アバターの唇は、肌の色及び赤色の陰影(例えば、ピンク色などの自然な陰影又は口紅の色を表す陰影)に基づく)。アバターの肌の色の外観は、アバターの肌の色をカスタマイズできることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
なお、方法1100に関して上述された処理(例えば、図11)の詳細はまた、以下及び上で説明されている方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、方法1100に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。アバターを編集する方法700は、アバターユーザインターフェースをナビゲートする方法に組み込まれ得る。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図9に関して前述した方法900に従って実現されてよい。追加の例として、方法1000、1200、及び1400は、方法1100に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10~図12に関して後述される方法に従って実現されてよい。別の例として、いくつかの実施形態では、ナビゲーションユーザインターフェースが、仮想アバターを変更する処理を呼び出し、この処理は、図14A及び図14Bに関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は繰り返されていない。
図12A及び12Bは、いくつかの実施形態に従ってアバター編集ユーザインターフェースを表示する方法を示すフロー図である。方法1200は、表示装置を備えたデバイス(例えば、100、300、500、600)にて実行される。方法1200のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法1200は、アバター編集ユーザインターフェースを表示する直感的な方法を提供する。この方法は、アバターを管理する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作コンピューティングデバイスでは、ユーザがアバター編集ユーザインターフェースを使用してより素早く効率的にアバターの特性を変更できるようにするので、電力を節約し、バッテリの充電間の時間を延ばす。
電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、選択されたアバターの髪形(例えば、836b)(例えば、アバターに対して(例えば、ユーザによって)選択されたアバターの毛髪の特定のスタイル)を有するアバターの毛髪(例えば、851)を含む複数のアバター特徴部を有するアバター(例えば、805)を表示する(1204)ことを含む、アバター編集ユーザインターフェース(例えば、801)を表示する(1202)。アバター編集ユーザインターフェースは、複数のアバターのアクセサリオプション(例えば、8112)(例えば、様々なアバターのアクセサリ(例えば、眼鏡、帽子、イヤリング、スカーフなど)に対応するアフォーダンス)も含む(1206)。アバターの毛髪及びアバターのアクセサリオプションの外観は、髪形及びアバターのアクセサリをカスタマイズできることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
電子デバイス(例えば、600)は、個別のアクセサリオプション(例えば、8112b)の選択を検出する(1208)。電子デバイスは、複数のアバターのアクセサリオプション(例えば、8112)のうちの個別のアクセサリオプションの選択を検出することに応じて、個別のアクセサリオプション(例えば、8140)の表現を含むようにアバター(例えば、805)の外観を変更し(1210)、この変更することは、個別のアクセサリオプションが第1のアクセサリオプション(例えば、8112b)(例えば、眼鏡アクセサリオプション)であるという判定に従って、アバター上に配置された第1のアクセサリオプション(例えば、8140)の表現を表示する(1212)こと含む(例えば、選択された眼鏡を、アバターの頭部の側面に沿ってテンプルを配置し、イヤピースをアバターの耳の後ろに配置して、アバターの顔に表示する)。電子デバイスは、選択されたアバターの髪形を維持しながら、アバター上の第1のアクセサリオプションの表現の位置に基づいて、アバターの毛髪の第1の部分(例えば、8145)の形状を変更する(1214)(例えば、眼鏡に隣接して配置されたアバターの毛髪の部分が、テンプル及びアバターの耳の後ろのイヤピースの配置を含む、アバターの顔の上の眼鏡の存在を収容するために横に押されて表示され、一方、アバターの毛髪の残りの部分は変化せずに、選択されたアバターの髪形を表す)。アバターのアクセサリオプションの外観は、アバターのアクセサリをカスタマイズできることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、個別のアクセサリオプション(例えば、8108d)の表現の外観は、アバターの毛髪(例えば、851)の1つ以上の特性(例えば、髪質、髪形、髪の長さなど)に基づく。いくつかの実施形態では、アクセサリオプション(例えば、帽子(例えば、8170))のサイズは、アバターの毛髪に基づいて決定される。例えば、アバターの毛髪が小さい髪形(例えば、851-1)(例えば、836c)(流行の髪形又ははげ頭の髪形)を有している場合、帽子は小さい帽子ラインの外周(例えば、図8CDの帽子ライン8118)を有する。反対に、アバターの毛髪が大きい髪形(例えば、851-2)(例えば、大きい縮毛)を有している場合、帽子は大きい帽子ラインの外周(例えば、図CCの帽子ライン8118)を有する。いくつかの実施形態では、アクセサリオプション(例えば、髪の蝶結び)の位置は、アバターの毛髪に基づいて決定される。例えば、アバターの毛髪が短い髪形を有している場合、アバターの蝶結びは、アバターの頭部に近接して配置される。反対に、アバターの毛髪が長い髪形を有している場合、蝶結びは、毛髪の長さに応じて頭部から更に離れて配置され得る。アバターの毛髪の外観は、アバターの髪形をカスタマイズできることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、個別のアクセサリオプションが第2のアクセサリオプション(例えば、第1のアクセサリオプションと異なるアクセサリオプション)(例えば、帽子(8170))であるという判定に従い、アバター上に配置された第2のアクセサリオプション(例えば、8170)の表現を表示する(例えば、選択された帽子の種類に基づいて、帽子の帽子ライン(例えば、8118)をアバターの頭部に配置して、選択された帽子をアバターの頭部に表示する)。電子デバイスは、アバター上の第2のアクセサリオプションの表現の位置に基づいて、選択されたアバターの髪形を維持しながら、アバターの毛髪の第1の部分(例えば、8145)の変更された形状とは異なるアバターの毛髪の第2の部分(例えば、8118、8118-1、又は8118-2での毛髪)の形状を変更する(例えば、アバターの毛髪が帽子ラインで圧縮され、帽子ラインでの毛髪の圧縮に応じて、(選択された帽子及び髪形に応じて)帽子ラインの下及び/又は上に配置された毛髪が外に広がるように、アバターの毛髪が帽子の帽子ラインで変更される)。アクセサリオプションを伴って表示されたアバターの外観は、選択されたアクセサリによるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、アバター上の第1のアクセサリオプションの位置の表現(例えば、8140)を表示した後に、第2の個別のアクセサリオプション(例えば、8108d)(例えば、アバターの帽子)の選択(例えば、8159)を検出する(1216)。電子デバイスは、複数のアバターのアクセサリオプションのうちの第2の個別のアクセサリオプションの選択を検出することに応じて、アバター(例えば、805)の外観を、第2の個別のアクセサリオプションの表現(例えば、8160)及び個別のアクセサリオプションの表現を含むように変更する(1218)(例えば、アバターは、選択されたアバターの髪形を維持しながら、アバターの帽子及びアバターの眼鏡の両方を含むように更新される)。選択されたアクセサリを伴うアバターの外観は、アバターのアクセサリをカスタマイズできることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、(例えば、選択されたアバターの髪形に対応する髪形オプションを含む)複数のアバターの髪形オプション(例えば、836)を表示する。電子デバイスは、第2の髪形オプション(例えば、図8AUの836c)(例えば、現在選択されている髪形オプションと異なる髪形オプション)の選択(例えば、872)を検出する。電子デバイスは、第2の髪形オプションの選択を検出することに応じて、アバター(例えば、805)の外観を、選択されたアバターの髪形(例えば、836f)を有することから、第2の髪形オプションを有することに変更する。いくつかの実施形態では、これは、次のステップのうちの1つ以上を含む。個別のアクセサリオプションがアクセサリオプションの第1の種類(例えば、アバターの毛髪の少なくとも一部に隣接してアバター上に表示されるアバターの眼鏡(例えば、8140))であるという判定に従って、個別のアクセサリオプションの表現に基づいて、第1の方法(例えば、8145)で変更された第2の髪形オプションを有するアバターの毛髪を表示する(例えば、第2のアバターの髪形を維持しながら、アバターの毛髪の第1の部分の形状が、アバターの眼鏡の位置に基づいて変更される)。髪形オプションを伴って表示されたアバターの外観は、選択された髪形によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
電子デバイス(例えば、600)は、個別のアクセサリオプション(例えば、8108d)がアクセサリオプションの第2の種類(例えば、8108)(例えば、アバターの毛髪の少なくとも一部に隣接してアバター上に表示される帽子)であるという判定に従って、個別のアクセサリオプションの表現に基づいて、第2の方法で(例えば、8118-1又は8118-2で膨らんで)変更された第2の髪形オプション(例えば、836c)を有するアバターの毛髪(例えば、851)を表示する(例えば、第2のアバターの髪形をなお維持しながら、アバターの毛髪の第2の部分の形状が、帽子の位置に基づいて変更される)。アクセサリオプションを伴って表示されたアバターの外観は、選択されたアクセサリによるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、個別のアクセサリオプションが第3の種類(例えば、表示されたアバターの髪形に影響を与えないアクセサリオプション)(例えば、鼻のリング)であるという判定に従い、第2の髪形オプション(例えば、836c)を有するアバターの毛髪(例えば、851)を、変更せずに(例えば、個別のアクセサリオプションに基づいて変更せずに)表示する。髪形オプション及びアクセサリオプションを伴って表示されたアバターの外観は、選択された髪形によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば600)は、第3の髪形オプション(例えば、図8CBの851-2)(例えば、現在選択されている髪形オプションと異なる髪形オプション)の選択を検出することに応じて、アバターの外観を、選択されたアバターの髪形(例えば、851-1)を有することから、第3の髪形オプションを有することに変更し、第3の髪形オプションに基づいて、個別のアクセサリオプション(例えば、8160)の表現の外観(例えば、位置、サイズ、形状など)を変更する。髪形オプションを伴って表示されたアバターの外観は、選択された髪形によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、個別のアクセサリオプションはアバターの帽子(例えば、8160)であり、個別のアクセサリオプションの表現の外観を変更することは、第3の髪形オプション(例えば、851-2)のサイズ(例えば、疑似的な毛髪のボリューム)に基づいてアバターの帽子の表現のサイズを変更することを含む(例えば、大きい髪形を選択すると、その大きい髪形を収容するために、帽子のサイズが増える)(例えば、小さい髪形を選択すると、その小さい髪形を収容するために、帽子のサイズが減る)。いくつかの実施形態では、個別のアクセサリオプションの表現の外観を変更することは、第3の髪形オプションのサイズに基づいて、アバターの帽子の表現の帽子ライン(例えば、頭部に適合して帽子を頭部に貼りけている帽子の一部)のサイズを変更する(例えば、髪形オプションのサイズに基づいて、帽子ラインの外周が変化する(増加又は減少する))ことを更に含む。いくつかの実施形態では、帽子ラインは、引き続き同じ位置で頭部を横切るように、頭部に対して同じ位置に留まるが、異なる外周を有する。帽子オプションを伴って表示されたアバターの外観は、選択された帽子によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1のアクセサリオプションはアバターの帽子(例えば、8160)であり、アバター(例えば、805)上に配置された第1のアクセサリオプションの表現を表示することは、アバターの毛髪(例えば、851)の一部の上に配置されたアバターの帽子を表示する(例えば、アバターの帽子が、アバターの頭部の上部に、毛髪と隣接して重ね合わせられて表示される)ことを含む。いくつかの実施形態では、アバターの毛髪の一部の形状を変更することは、アバターの帽子の帽子ライン(例えば、頭部に適合して帽子を頭部に貼りけている帽子の一部)に隣接する位置(例えば、8118-1又は8118-2)で圧縮された外観を有し、アバターの毛髪がアバターの帽子の帽子ラインに隣接する位置から広がるように拡大しているアバターの毛髪を表示することを含む(例えば、アバターの毛髪が帽子ラインで圧縮され、帽子ラインでの毛髪の圧縮に応じて、(選択された帽子及び髪形に応じて)帽子ラインの下及び/又は上に配置された毛髪が外に広がるように、アバターの毛髪が帽子の帽子ラインで変更される)。帽子オプションを伴って表示されたアバターの外観は、選択された帽子によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、複数のアバターのアクセサリオプション(例えば、8108)のうちの第2のアバターの帽子オプション(例えば、8108e)の選択(例えば、8168)を検出することに応じて、アバターの帽子(例えば、8160)の表現を、第2のアバターの帽子(例えば、8170)の表現に置き換え、一方で、帽子ライン(例えば、8118)を維持し、かつ帽子ラインに隣接する位置で圧縮された外観を有し、アバターの毛髪が帽子ラインに隣接する位置から広がるように拡大している、アバターの毛髪の一部の形状を維持する(例えば、異なるアバターの帽子が同じ帽子ラインを有する)(例えば、異なるアバターを選択することによって、帽子ライン及び帽子ラインに対するアバターの毛髪の形状を維持しながら、現在選択されているアバターの帽子を異なるアバターの帽子に置き換える)。帽子オプションを伴って表示されたアバターの外観は、選択された帽子によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、(例えば、図8BYに示されている)物理モデル(例えば、慣性のモデル、重力のモデル、力伝達モデル、摩擦モデル)に基づいて、アバターの動きに対するアバターの毛髪の疑似的な物理的反応に従い、アバターの毛髪(例えば、851)が動く。物理モデルに基づくアバターの動きに対するアバターの毛髪の疑似的な物理的反応は、第1のアクセサリオプションがアバターの帽子である場合、変化する(例えば、アバターの毛髪の動きは、アバターが帽子を着用している場合、変化する)。いくつかの実施形態では、アバターが帽子を着用していない場合、アバターの毛髪は、物理モデルに基づいて、アバターの頭部の動きと共に動く。いくつかの実施形態では、アバターが帽子を着用している場合、アバターの頭部上の帽子の位置に基づいて、アバターの頭部に対するアバターの毛髪の動きが変化する。いくつかの実施形態では、物理モデルは、入力(例えば、8XX)(例えば、アバターを回転するか、又はアバターの倍率を調整するためのアバター上のジェスチャ、あるいは顔又は顔の一部の動き)の大きさ及び方向、並びに疑似的質量、疑似的弾性、疑似的摩擦係数、又はその他の疑似的な物理的特性などの、仮想アバター特徴部の1つ以上の予め定義された特性に基づいて、アバター特徴部の動きの大きさ及び方向を規定する。いくつかの実施形態では、毛髪の取り付けポイントが、毛髪が頭部に取り付けられている位置から帽子ラインにずれるため、アバターの毛髪の疑似的な物理的反応が変化する。
いくつかの実施形態に従って、第1のアクセサリオプションはアバターの眼鏡(例えば、8140)であり、アバターの毛髪(例えば、851)の一部の形状を変更することは、アバターの眼鏡の少なくとも一部を遮るのを防ぐように配置されたアバターの毛髪の一部(例えば、8145)を表示することを含む(例えば、アバターの頭部の側面の、アバターの耳の上の毛髪が、後方又は横に移動されるか、あるいは眼鏡のテンプルの背後に配置される)。いくつかの実施形態では、第1のアクセサリオプションはアバターの眼鏡であり、アバター上に配置された第1のアクセサリオプションの表現を表示することは、アバターの眼鏡のレンズ部分(例えば、8140-2)での反射(例えば、8150)の表現を表示すること(例えば、反射の表現は、眼鏡の表現に重ね合わせられる)(例えば、眼鏡上の反射の位置は、表示された眼鏡及び疑似的な光源の相対位置に基づいて決定され、この光源は、任意選択的に、カメラの視野内で検出された光源に基づいて決定される)と、アバターの少なくとも一部に表示されたアバターの眼鏡の表現によって落とされた影の表現を表示すること(例えば、眼鏡によって落とされた影の表現が、100%未満の不透明度で、アバターの表現に重ね合わせられる)(例えば、表示されたアバター及び疑似的な光源の相対位置に基づいて決定されるアバターの一部であり、この光源は、任意選択的に、カメラの視野内で検出された光源に基づいて決定される)とを含む。眼鏡オプションを伴って表示されたアバターの外観は、選択された帽子によるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、アバター上に配置された第1のアクセサリオプションの表現を表示することは、第1のアクセサリオプション(例えば、アバターの帽子(例えば、8170)又はアバターの眼鏡(例えば、8140))又はアバターの毛髪(例えば、851)によって落とされた(例えば、アバター上に落とされた)1つ以上の影(例えば、8142、8147、8172)の表現を表示することを含む(例えば、毛髪、眼鏡、及び/又は帽子によって落とされた影の表現が、100%未満の不透明度で、アバターの表現に重ね合わせられる)(例えば、表示されたアバター及び疑似的な光源の相対位置に基づいて決定されるアバターの一部であり、この光源は、任意選択的に、カメラの視野内で検出された光源に基づいて決定される)。影を伴って表示されたアバターの外観は、アバターのより現実的な表現を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1のアクセサリオプションは、アバターのイヤリング(例えば、8125)である。アバターのイヤリングは、物理モデル(例えば、慣性のモデル、重力のモデル、力伝達モデル、摩擦モデル)に従って動く(いくつかの実施形態では、アバターは、電子デバイスの1つ以上のカメラの視野内の顔において検出された変化に基づいて動く)。イヤリングを伴って表示されたアバターの外観は、選択されたイヤリングによるアバターのカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
なお、方法1200に関して上述された処理(例えば、図12)の詳細はまた、以下及び上で説明されている方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、方法1200に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。アバターを編集する方法700は、アバターユーザインターフェースをナビゲートする方法に組み込まれ得る。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図9に関して前述した方法900に従って実現されてよい。追加の例として、方法1000、1100、及び1400は、方法1200に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10~図11に関して後述される方法に従って実現されてよい。別の例として、いくつかの実施形態では、ナビゲーションユーザインターフェースが、仮想アバターを変更する処理を呼び出し、この処理は、図14A及び図14Bに関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は繰り返されていない。
図13A~図13Oは、アバターナビゲーションユーザインターフェース内のアバターを変更する例示的なユーザインターフェースを示している。これらの図のユーザインターフェースは、図14の処理を含む、以下で説明される処理を示すために使用される。
図13Aで、デバイス600は、図6Aのメッセージングユーザインターフェース603に類似するメッセージングユーザインターフェース1303を表示する。デバイス600は、アプリケーションドックアフォーダンス1310上の入力1302を検出し、図13Bで、縮小されたアバター選択インターフェース1315(図6Lの縮小されたアバター選択インターフェース668に類似する)を表示する。縮小されたアバター選択インターフェースは、カスタマイズ可能な女性アバター1321、サルアバター1322、及びロボットアバター1323を含んでいる、アバターのスクロール可能なリスト1320(図6Lのアバターのスクロール可能なリスト675に類似する)を含む。
図13B~図13Oに示されているように、デバイス600は、顔において検出された変化に応じて、縮小されたアバター選択インターフェース1315に表示されたアバター(例えば、サルアバター1322)を変更する。参考のために、図13B~図13Oは、カメラ(例えば、602)の視野内で検出された顔1325(例えば、ユーザの顔)の表現を含んでいる。図13B~図13Oは、顔1325において検出された変化に応じて表示される、様々なアバターに対する変更を示している。いくつかの実施形態では、図13B~図13Oでの顔1325の表示は、顔1325を向いて配置されたデバイスの視点から表示されている。したがって、表示されたアバターに対する対応する変化が、顔1325の動きに関して反映されて、図13B~図13Oに示されている。
図13Bで、デバイス600は、顎1325-2及び口1325-1を閉じて前方を向いている顔1325を検出する。それに応じて、デバイス600は、口1325-1の顔面表情に一致する、顎1322-2及び口1321-1を閉じた同じ顔面表情を有するように、表示されたアバター(サルアバター1322)を変更する。
図13Cで、デバイス600は、開いた位置に向かって動いている顎1325-2及び口1325-1を検出し、サルアバター1322の顎1322-2及び口1322-1を、顎1325-2及び口1325-1の動きに一致するように、わずかに開いた位置に変更する。舌1325-3は伸ばされていない。したがって、デバイス600は、口1323-1から伸ばされたサルアバターの舌1323-3を表示しないが、代わりに口1323-1内に配置された舌1323-3を表示する。
いくつかの実施形態では、デバイス600は、ユーザの口から伸びているユーザの舌を検出することに応じて、アバターの口から突き出ているアバターの舌を表示する。例えば、図13Dで、顎1325-2はわずかに開かれ、舌1325-3は口1325-1から伸びている。その結果、デバイス600は、舌1322-3を口1322-1から伸ばすように、サルアバター1322を変更するが、一方、顎1322-2はわずかに開いた位置に留まっている。
いくつかの実施形態では、デバイス600は、伸ばされていない舌(例えば、図13Cの舌1322-3を参照)から伸ばされた舌(例えば、図13Dの舌1322-3を参照)への移行を、アバターの口(例えば、口1322-1)の内部から伸ばされたポーズまで動く舌のアニメーションとして表示する。いくつかの実施形態では、このアニメーションは、舌が口の内部から伸ばされた位置まで動くときに、アバターの歯の上で曲がるアバターの舌を表示することを含む。例えば、図13Dで、アバターの舌1322-3は、アバターの口の下の歯の上でわずかに曲げられている。いくつかの実施形態では、デバイス600は、舌が伸びるアニメーションを反転することによって、(任意選択的に、アバターの舌の曲がる動きの反転を表示することを含めて)アバターの口の中に戻る舌を表示する。
いくつかの実施形態では、デバイス600は、ユーザの舌以外のユーザの顔の特徴の検出された動き(例えば、ユーザの頭部の傾斜又は回転、あるいは顎1325-2の上向き/下向き及び/又は左右の動き)に基づいて、アバターの舌の動きを表示する。例えば、図13Eは、ユーザの顎1325-2の位置において検出された変化に応答したサルの舌1322-3の動きを示している。デバイス600が下に動くユーザの顎1325-2及び広く開いているユーザの口1325-1を検出したときに、デバイス600は、サルの口1322-1を広げ、サルの顎1322-2を下げる。サルの顎1322-2が下げられるときに、デバイス600は、顎1322-2と共に下に動き、口1322-1から更に垂れ下がるサルの舌1322-3を表示する。デバイス600は、ユーザの顎1325-2のその他の動きに基づいて、舌1322-3の位置を変更することもできる。例えば、ユーザが顎を左右に動かしたときに、ユーザの顎1325-2の左右の動きに従って、アバターの顎1322-2及び舌1322-3が動く。同様に、ユーザが顎を上に動かした(例えば、図13Dの位置に戻すか、又は図13Hに示されているように上に傾けた)場合、デバイス600は、それに応じて動くアバターの顎1322-2及び舌1322-3を表示する(例えば、図13Dに示されている位置に戻すか、又は図13Hに示されているように、上に傾ける)。
図13Fは、ユーザの舌以外のユーザの顔の特徴の動きに基づいて舌1322-3の動きを変更しているデバイス600の別の例を示している。図13Fで、ユーザは頭部を横に傾けている。デバイス600は、ユーザの頭部の傾斜を検出することに応じて、サルの頭部を傾けることによって、サルアバター1322を変更する。サルの頭部が傾くときに、サルの頭部の傾斜(例えば、大きさ及び方向の両方)及び舌1322-2のモデル化された重力に基づいて、舌1322-3の位置が変化し、それによって舌1322-3が垂れ下がるが、アバターの頭部及び顎1322-2の動きと共に、わずかに傾く。
いくつかの実施形態では、デバイス600は、アバターに適用された物理モデル(例えば、モデル化された重力、慣性など)に基づいて、アバターの舌の動きを変更する。アバターの舌がアバターの口から更に長く伸びるときに、物理モデルに対する舌の応答は、アバターの口から伸ばされた舌の量に基づいて悪化する。例えば、図13Eで、サルの舌1322-3は、図13Dに示されている舌よりも大きく湾曲している。これは、デバイス600が(図13Dに示されている舌と比較して)図13Eの口1322-1から更に長く伸びている舌1322-3を表示しているためであり、舌1322-3に適用されたモデル化された重力の影響によって、舌が口から更に低く垂れ下がっている(サルの歯の上で、舌が大きく湾曲している)。
いくつかの実施形態では、デバイス600は、アバターの舌が伸ばされるときに、特定の顔面表情を表示するようにアバターを変更しない(又は、特定の顔面表情を形成するアバター特徴部(例えば、唇、口など)の動きを縮小する)。これは、表示されたアバターの舌を妨げる(例えば、影響を与えるか、又は衝突する)方法でアバターを変更することを防ぐためである。例えば、デバイス600は、唇のしわを形成するようにアバターの唇を変更すること、アバターの口を閉じること、下唇を伸ばすこと(例えば、口をとがらせるポーズ)、又は唇を延ばして口を閉じた位置に動かす(例えば、口をじょうご状にする)ことを止めることができる。
図13Fで、デバイス600は、入力1327(例えば、ロボットアバター1323上の横方向のジェスチャ(例えば、スワイプ又はドラッグ)又はタップジェスチャ)を検出し、アバターのリスト1320をスクロールして、図13Gに示されているように、ロボットアバター1323を縮小されたアバター選択インターフェース1315の中央に表示する。
ロボットアバター1323が縮小されたアバター選択インターフェース1315の中央に配置されたときに、デバイス600は、検出された顔1325に基づいてロボットアバターの変更を開始する。図13Gに示されているように、ユーザの頭部は傾けられていないが、ユーザの顎1325-2及び口1325-1が開かれ、舌1325-3が伸ばされている。デバイス600は、ロボットの口1323-1を開き、ロボットの舌1323-3を伸ばすことによって、顔1325のポーズに一致するようにロボットアバター1323を変更する。いくつかの実施形態では、ロボットアバターは、ロボットの頭部の他の部分と区別できる顎を含んでいないが、ロボットの顎の動きは、ロボットの口1323-1の開口部を縦方向に広げることによって表され得る。
図13Gに示されているように、ロボットの舌1323-3は、ロボットの舌1323-3を、ロボットの口1323-1に接続されたベース部1323-3a(例えば、舌1323-3の近位端)と、垂れ下がってヒンジ接続1323-4から自由に揺れる先端部1323-3b(例えば、舌1323-3の遠位端)とに分割するヒンジ接続1323-4を含む。いくつかの実施形態では、先端部1323-3bは、ロボットの口1323-1及びロボットの頭部の動きと共に揺れる。
例えば、図13Hで、デバイス600は、舌1325-3が延ばされて、後ろに傾けられたユーザの頭部を検出する。デバイス600は、口1323-1が開かれ、舌1323-3が延ばされたロボットの頭部を後ろに傾けることによって、ロボットアバター1323を変更する。ロボットの頭部が後ろに傾くときに、ベース部1323-3aがロボットの口1323-1と共に動くため、先端部1323-3bがロボットの頭部の下部に向かって(例えば、ロボットの顎先領域に向かって)揺れる。図13Iでユーザが頭部を再び中立位置に傾けたときに、デバイス600は、ロボットアバター1323を再び中立位置に傾け、ロボットの頭部、口1323-1、及びベース部1323-3aの動きに応じて、アバターの舌1323-3の先端部1323-3bがヒンジ接続1323-4から前後に揺れる。
図13Iで、デバイス600は、入力1329(例えば、宇宙人アバター1324上の横方向のジェスチャ(例えば、スワイプ又はドラッグ)又はタップジェスチャ)を検出し、アバターのリスト1320をスクロールして、図13Jに示されているように、ロボットアバター1324を縮小されたアバター選択インターフェース1315の中央に表示する。
いくつかの実施形態では、デバイス600は、特定のアバターに基づいて決定される視覚効果を有するアバターの舌を表示する。例えば、ロボットアバターの舌はヒンジ接続を有し、一角獣アバターはキラキラ光る舌を有し、宇宙人アバターは虹色の効果を有する。いくつかの実施形態では、アバターの舌の表示された位置に基づいて、視覚効果が変化する。例えば、図13J~図13Lは、宇宙人の舌1324-3の変化する虹色の効果1324-4を示している。宇宙人の舌1324-3が動くときに、舌の虹色の効果1324-4が変化する(舌1324-3の上の虹色の効果1324-4の変化する位置によって表される)。図13Jは、舌1325-3が伸ばされて、ユーザの顔1325が前を向いているときに、虹色1324-4を有する宇宙人の舌1324-3を示している。宇宙人の顎1324-2及び口1324-1が開かれ、虹色の効果1324-4が舌根に配置されて、舌1324-3が伸ばされている。図13Kで、舌1325-3が伸ばされた顔1325が回転し、デバイス600が宇宙人アバター1324を回転させ、舌1324-3の虹色を変更する(舌1324-3上の虹色の効果1324-4の変更された位置によって表される)。図13Lで、ユーザは顎1325-2をわずかに閉じ、それによってユーザの舌1325-3が持ち上げられている。デバイス600は、顎1324-2をわずかに閉じ、舌1324-3を持ち上げ、舌1324-3の虹色を変更することによって、宇宙人アバター1324を変更する(舌1324-3の上の虹色の効果1324-4の変更された位置によって表される)。
いくつかの実施形態では、デバイス600は、アバターの口の位置(ユーザの口の検出された位置に基づいて決定される)に応じて、異なる形状を有するアバターの舌を表示する。例えば、ユーザの口1325-1が開かれたときに、デバイス600は、図13E内のサルの舌1322-3及び図13Jの宇宙人の舌1324-3によって示されているように、平らな形状を有するアバターの舌を表示する。ユーザの口1325-1が舌1325-3を囲んで閉じられたときに、デバイス600は、円錐形又は「イチゴ」の形状を有するアバターの舌を表示する。例えば、図13M及び図13Nで、デバイス600は、ユーザが舌を口1325-1の中に引っ込めるときに、舌1325-3を囲んで閉じられたユーザの口1325-1を検出する。それに応じて、デバイス600は、図13M及び図13Nで、舌1324-3を囲んで閉じられた宇宙人の口1324-1、及び宇宙人の口1324-1の中に引っ込むときに円錐形を有する舌1324-3を表示する。図13Oで、デバイス600は、ユーザの舌1325-3が伸ばされておらず、口1325-1及び顎1325-2が閉じられていることを検出する。デバイス600は、舌のない、口1324-1及び顎1324-2が閉じられた宇宙人アバター1324を表示する。
図14A及び図14Bは、いくつかの実施形態に従って、アバターナビゲーションユーザインターフェース内のアバターを変更する方法を示すフロー図である。方法1400は、表示装置を備えたデバイス(例えば、100、300、500、600)にて実行される。方法1400のいくつかの動作は任意選択的に組み合わせられ、いくつかの動作の順序は任意選択的に変更され、いくつかの動作は任意選択的に省略される。
下で説明されているように、方法1400は、アバターナビゲーションユーザインターフェースでアバターを変更する直感的な方法を提供する。この方法は、アバターを変更する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作コンピューティングデバイスでは、ユーザがアバターナビゲーションユーザインターフェースを使用してより素早く効率的にアバターの特性を変更できるようにするので、電力を節約し、バッテリの充電間の時間を延ばす。
電子デバイス(例えば、600)は、表示装置(例えば、601)を介して、複数のアバター特徴部(例えば、1322-1、1322-2、1322-3)(例えば、顔の特徴(例えば、目、口、口の一部)又は大きい特徴(例えば、頭部、首))を有する仮想アバター(例えば、1322、1323、1324)を表示し(1402)、この仮想アバターは、1つ以上のカメラ(例えば、602)の視野内の顔(例えば、1325)のポーズ(例えば、向き、並進移動)において検出された変化(例えば、顔面表情における変化)に応じて、外観を変更する。1つ以上のカメラの視野内で顔が検出されている間に、この顔が、ユーザの舌以外の第1の顔の特徴(例えば、1325-2)(例えば、顎)を含む複数の検出された顔の特徴を含んでおり、電子デバイスは、第1の顔の特徴の動きを検出する(1404)。アバターの外観を表示することは、アバターの特定の特徴のカスタマイズを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
デバイス(例えば、600)は、第1の顔の特徴(例えば、1325-2)の動きを検出することに応じて(1406)、次のステップのうちの1つ以上を実行する。電子デバイス(例えば、600)は、ユーザの舌(例えば、1325-3)が、個別の基準が満たされるためにはユーザの舌が(例えば、図13Dに示されているように)可視であるという要件を含む、個別の基準(例えば、舌表示基準)を満たしている(例えば、ユーザの舌が可視であり、ユーザの口から突き出ていると識別されるポーズにある)という判定に従って(1408)、アバターの舌(例えば、1322-3)を表示する(例えば、アバターの舌は、表示された仮想アバターの一部として持続的に表示されない(例えば、可変的に表示される))。いくつかの実施形態では、アバターの舌は、アバターの舌表示基準の集合(例えば、カメラの視野内で検出された顔が可視の舌を含んでいることを検出することと、顔が閾値距離だけ開かれた口(例えば、十分に下方の位置にある低い顎を有する口)を含んでいることを検出することとのうちの1つ以上を含む基準の集合)が満たされているという判定に従って表示される。アバターの舌の動きを伴ってアバターの外観を表示することは、ユーザの動きに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
電子デバイス(例えば、600)は、第1の顔の特徴(例えば、1325-2)の動き(例えば、動きの方向及び大きさ)に基づいて、アバターの舌(例えば、1322-3)の位置を変更する(1408)(例えば、アバターの舌の位置は、ユーザの顎の検出された位置(例えば、完全に開かれた状態から完全に閉じられた状態までの範囲内の位置)に基づいて決定される)。いくつかの実施形態では、第1の顔の特徴の動きを検出することに応じて、第1の顔の特徴の検出された動きに基づいて、第1の顔の特徴に対応するアバター特徴部(例えば、1322-2)(例えば、アバターの舌以外のアバター特徴部))も変更/動かされる。電子デバイスは、ユーザの舌が個別の基準を満たさないという判定に従って、アバターの舌の表示を止める(1414)。
いくつかの実施形態に従って、アバターの舌(例えば、1323-3)は、第1の部分(例えば、1323-3a)及び第2の部分(例えば、1323-3b)を含み、第2の部分は、第1の部分又は第2の部分よりも柔軟であるコネクタ(例えば、1323-4)(例えば、ヒンジ)によって、第1の部分に接続される(例えば、アバターの舌は、1つ以上のヒンジで結合された2つ以上のセグメントを有する)。いくつかの実施形態では、仮想アバターがロボットアバター(例えば、1323)である場合、アバターの舌は、ヒンジで連結されたセグメントで形成される。いくつかの実施形態では、第1の部分及び第2の部分は固定されている。いくつかの実施形態では、(例えば、図13G~図13Iに示されているように)アバターの舌が伸ばされ、ユーザの頭部の動きに従って動くときに、第1の部分は自由にぶら下がる。
いくつかの実施形態に従って、アバターの舌(例えば、1323-3)は、アバターの舌の位置を変更することに応じて変化する視覚効果(例えば、1324-4(例えば、キラキラ光る、虹色))を有する。いくつかの実施形態では、仮想アバターは一角獣であり、アバターの舌は、アバターの舌が動くときにきらめく、キラキラ光る効果を含む。いくつかの実施形態では、仮想アバターは宇宙人(例えば、1324)であり、アバターの舌は、アバターの舌が動くときに変化する虹色の効果を含む。アバターの舌の動きの視覚効果の表示は、ユーザの動きに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第1の顔の特徴(例えば、1325-2)の動きに基づいてアバターの舌(例えば、1322-3)の位置を変更することは、次のステップのうちの1つ以上を含む。電子デバイス(例えば、600)は、第1の顔の特徴が第1の方向に動く(例えば、ユーザの顎が左及び/又は上に動く)という判定に従って、アバターの舌の位置を第1の方向に変更する(1410)(例えば、アバターの舌を左及び/又は上に動かす)。電子デバイスは、第1の顔の特徴が第1の方向と異なる第2の方向に動く(例えば、ユーザの顎が右及び/又は下に動く)という判定に従って、アバターの舌の位置を第2の方向に変更する(1412)(例えば、アバターの舌を右及び/又は下に動かす)。アバターの舌の表示は、第1の顔の特徴の動きに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第1の顔の特徴(例えば、1325-2)の動きに基づいてアバターの舌(例えば、1322-3)の位置を変更することは、次のステップのうちの1つ以上を含む。第1の顔の特徴が第1の大きさだけ動く(例えば、ユーザの顎が前を向いている位置から右に30度動く)という判定に従って、第1の大きさに比例する量だけアバターの舌の位置を変更する(例えば、アバターの舌が前を向いている位置から右に30度動く)。電子デバイス(例えば、600)は、第1の顔の特徴が第1の大きさと異なる第2の大きさだけ動く(例えば、ユーザの顎が前を向いている位置から右に45度動く)という判定に従って、第2の大きさに比例する量だけアバターの舌の位置を変更する(例えば、アバターの舌が前を向いている位置から右に45度動く)。アバターの舌の表示は、第1の顔の特徴の動きに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、物理モデル(例えば、慣性のモデル、重力のモデル、力伝達モデル、摩擦モデル)に従い、アバターの舌(例えば、1322-3)が動く。いくつかの実施形態では、アバターの舌の動きの程度(例えば、頭部及び/又は顔の特徴の動きに基づく、物理モデルに従う動きの程度)は、仮想アバター(例えば、1322)の口から伸ばされた舌の増加(又は、例えば減少)量に基づいて増える(又は、例えば減る)。物理モデルによって、被写体の動きに従ってアバターの舌を現実的に表示することが可能になる。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、アバターの舌(例えば、1324-3)が表示されている間に、電子デバイス(例えば、600)は、ユーザの舌(例えば、1325-3)が個別の基準(例えば、舌表示基準)を満たさなくなっていることを検出する(1416)。電子デバイスは、ユーザの舌が個別の基準を満たさなくなっているということを検出することに応じて、アバターの舌(例えば、図13O)を表示することを止める(1418)。いくつかの実施形態では、(例えば、以前に表示されていない)アバターの舌を表示することは、仮想アバター(例えば、1322)の口(例えば、1322-1)から伸びるアバターの舌のアニメーションを表示することを含む。いくつかの実施形態では、アバターの舌を表示するのを止めることは、仮想アバターの口の中に引っ込むアバターの舌のアニメーションを表示することを含む。いくつかの実施形態では、仮想アバターの口から伸びる舌のアニメーション又は仮想アバターの口の中に引っ込む舌のアニメーションのうちの少なくとも1つは、仮想アバターの1つ以上の歯(例えば、仮想アバターの顎の中の歯の下側の集合)の上で曲がるアバターの舌の動きを表示することを含む(例えば、アバターの舌は、直線状の動きで伸びる/引っ込むのではなく、アバターの歯の上で曲がるか、又は弧を描くように動いて表示される)。舌をアバターの口の中に引っ込めることによってアバターの舌の表示を止めることで、アバターの舌の特徴が表示されなくなっていることを示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、電子デバイス(例えば、600)は、第1の位置(例えば、図13O)(例えば、ユーザの口の閉じられた位置)への第2の顔の特徴(例えば、ユーザの口(1325-1))の移動を検出する。デバイスは、第1の位置への第2の顔の特徴の動きを検出することに応じて、次のステップのうちの1つ以上を実行する。電子デバイスは、アバターの舌(例えば、1324-2)が表示されないという判定に従って、第2の顔の特徴の動きに基づいて、第1のアバター特徴部(例えば、アバターの口1324-1)(例えば、アバターの舌の位置に影響を与える、アバターの顎以外のアバター特徴部)(例えば、アバターの口、アバターの下唇など)を変更する(例えば、ユーザの口の閉じられた位置に対応する閉じられた位置を有するように、アバターの口を変更する)。個別の基準を満たしていることに基づいて、アバターの舌が表示されるという判定に従って、第2の顔の特徴の動きに基づいて第1のアバター特徴部の動きを弱める(例えば、振幅を除去するか、又は減らす)(例えば、アバターの舌が表示されるときに、ユーザの口の閉じられた位置を検出することに応じて、アバターの口の動きを弱める)。いくつかの実施形態では、アバターの舌が表示されるときに、ユーザの顔において検出された変化に応じて、アバターの特定の位置が変更されない(又は、制限された量だけ変更される)。いくつかの実施形態では、アバターの舌が表示されるときに、ユーザの顔において検出された変化に応じて、特定のポーズを表示するようにアバターが変更されない(又は、特定のポーズが制限される)。アバターの舌の表示は、第2の顔の特徴の動きに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第2の顔の特徴はユーザの口(例えば、1325-1)であり、第2の顔の特徴の第1の位置は、ユーザの口が閉じられている(例えば、顎が開かれている)位置に対応し、第1のアバター特徴部はアバターの口である。いくつかの実施形態では、アバターの口の動きは、口が完全に閉じることによって、伸ばされたアバターの舌と衝突するか、又は舌に影響を与えることを防ぐために、デバイスの1つ以上のカメラ(例えば、602)の視野内で検出された顔の口の動きと比べて弱められる。アバターの舌の表示は、口を閉じているユーザに従うアバターの舌の動きを示すフィードバックを、ユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態に従って、第2の顔の特徴はユーザの下唇であり、第2の顔の特徴の第1の位置は、ユーザの下唇が伸ばされている(例えば、口をとがらせるポーズでユーザの下唇が突き出ている)位置に対応し、第1のアバター特徴部はアバターの下唇である。いくつかの実施形態では、アバターの下唇の動きは、下唇が伸ばされたアバターの舌と衝突するか、又は舌に影響を与えることを防ぐために、デバイスの1つ以上のカメラ(例えば、602)の視野内で検出された顔の下唇の動きと比べて弱められる。
いくつかの実施形態に従って、第2の顔の特徴はユーザの上唇及び下唇であり、第2の顔の特徴の第1の位置は、ユーザの上唇及び下唇がすぼめられている位置に対応し、第1のアバター特徴部はアバターの上唇及び下唇である。いくつかの実施形態では、アバターの上唇及び下唇の動きは、唇が伸ばされたアバターの舌と衝突するか、又は舌に影響を与えることを防ぐために、デバイスの1つ以上のカメラ(例えば、602)の視野内で検出された顔の上唇及び下唇の動きと比べて弱められる。
いくつかの実施形態に従って、第2の顔の特徴はユーザの口(例えば、1325-1)であり、第2の顔の特徴の第1の位置は、ユーザの口が閉じている位置(例えば、ユーザの唇がすぼめられて、開いた位置から閉じた位置に動いている口の中間の位置)に対応し、第1のアバター特徴部はアバターの口である。いくつかの実施形態では、アバターの口の動きは、口が閉じることによって、伸ばされたアバターの舌と衝突するか、又は舌に影響を与えることを防ぐために、デバイスの1つ以上のカメラ(例えば、602)の視野内で検出された顔の口の動きと比べて弱められる。
いくつかの実施形態に従って、アバターの舌(例えば、1322-3)を表示することは、次のステップのうちの1つ以上を含む。第3の顔の特徴(例えば、1325-1)(例えば、ユーザの口)の位置を検出する。電子デバイス(例えば、600)は、第3の顔の特徴が第1の位置(例えば、実質的に閉じられた位置)を有するという判定に従って、第1の形状(例えば、図13M及び13Nに示されている)(例えば、円錐形又は「イチゴ」の形状)を有するアバターの舌を表示する。電子デバイスは、第1の顔の特徴が第1の位置(例えば、実質的に開かれた位置)と異なる第2の位置を有するという判定に従って、第1の形状(例えば、図13Eに示されているような平らな形状)と異なる第2の形状を有するアバターの舌を表示する。いくつかの実施形態では、アバターの舌が第2の形状を有する場合、アバターの舌は、アバターの舌が第1の形状を有する場合よりも長く、口から外に伸びる。アバターの舌の表示は、アバターの口が開かれているのか、又は閉じられているのかに応じて異なる舌の形状を示すフィードバックをユーザに提供する。改善された視覚フィードバックをユーザに提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインターフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
なお、方法1400に関して上述された処理(例えば、図14)の詳細はまた、前述の方法にも類似の方式で適用可能であることに留意されたい。例えば、方法700は、方法1400に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。アバターを編集する方法700は、アバターユーザインターフェースをナビゲートする方法に組み込まれ得る。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図9に関して前述した方法900に従って実現されてよい。追加の例として、方法1000、1100、及び1200は、方法1400に関連して前述された様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、いくつかの実施形態では、ナビゲーションユーザインターフェースが、カスタマイズ可能なアバターを作成又は編集する処理を呼び出し、この処理は、図10~図12に関して後述される方法に従って実現されてよい。簡潔にするために、これらの詳細は繰り返されていない。
説明を目的とした上述した説明は、特定の実施形態を参照して説明されてきた。しかしながら、上記例示的な議論は、包括的であることを意図しておらず、又は発明を開示された簡易的な形式に限定することを意図していない。上記教示を考慮して多くの修正及び変形が可能である。技術の原理及びそれらの実際の適用を最良に説明するために実施形態が選択及び説明されてきた。それによって、他の当業者は、考えられる特定の使用に適切な様々な修正で、技術及び様々な実施形態を最良に利用することが可能である。
開示及び実施例が添付図面を参照して完全に説明されてきたが、様々な変更及び修正が当業者にとって明らかであることに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるように、開示及び実施例の範囲内に含まれるものとして理解されることになる。
上述のように、本技術の一態様は、他のユーザと共有するために、様々なソースから入手可能なデータを収集及び使用することである。本開示は、場合によっては、この収集されたデータは、特定の人を一意的に特定するか、又はその人に連絡するか、若しくはその人のロケーションを特定するために用いることができる個人情報データを含んでよいことを企図している。このような個人情報データは、人口統計データ、ロケーションベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康又はフィットネスのレベル(例えば、バイタルサイン測定、服薬情報、運動情報)に関するデータ若しくは記録、誕生日又は任意のその他の識別情報若しくは個人情報を含むことができる。
本開示は、この技術のそのような個人情報データを使用してユーザを利することができることを理解する。例えば、個人情報データは、会話中のユーザをより良く表すために使用され得る。更に、ユーザを利する個人情報データに関するその他の使用もまた、本開示により意図されている。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用されてもよく、あるいはウェルネスの目標を追求するために技術を使用して個人に積極的なフィードバックとして使用されてもよい。
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶又はその他の使用に応答するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守することとなることを企画する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための業界又は政府の要件を満たすか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し常に使用すべきである。このようなポリシーは、ユーザが容易にアクセスすることができ、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いて、共有又は販売されるべきではない。更に、そのような収集/共有は、ユーザに告知して同意を得た後にのみ実施すべきである。加えて、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じるべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。加えて、ポリシー及び慣行は、収集かつ/又はアクセスされる特定の種類の個人情報データに適合され、また、管轄権特有の考慮を含む、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国において、ある健康データの収集又はアクセスは、例えば、Health Insurance Portability and Accountability Act(HIPAA)なのどの、連邦法及び/又は州法によって管理されてもよく、一方、他の国における健康データは、他の規制及び政策の影響下にあってもよく、それに従って対処されるべきである。したがって、異なるプライバシー慣行を、各国の異なる個人データの種類に対して保つべきである。
前述のことがらにもかかわらず、本開示はまた、ユーザが、個人情報データの使用又は個人情報データへのアクセスを選択的に阻止する実施形態も企図している。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するために、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、アバターを送信する場合、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。「オプトイン」及び「オプトアウト」オプションを提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを企画している。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
更に、本開示の意図は、個人情報データを、意図しない又は不正なアクセス又は使用の危険性を最小にする方法で管理かつ取り扱うべきであることである。リスクは、データの収集を制限し、データがもはや必要ではなくなった時点でデータを削除することによって、最小化することができる。加えて、適用可能な場合には、ある健康関連アプリケーションにおいても、データ非特定化は、ユーザのプライバシーを保護するために使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって情報集約すること)及び/又は他の方法によって、容易にすることができる。
したがって、本開示は、1つ以上の様々な開示された実施形態を実施するための個人情報データの使用を広範に網羅しているが、本開示は、それらの様々な実施形態がまた、そのような個人情報データにアクセスすることを必要とせずに実施されることも可能であることも企図している。すなわち、本技術の様々な実施形態は、そのような個人情報データのすべて又は一部分の欠如により、実施不可能となるものではない。