(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024150398
(43)【公開日】2024-10-23
(54)【発明の名称】プレイヤー追跡ビデオゲームエディタ
(51)【国際特許分類】
G06F 3/04815 20220101AFI20241016BHJP
A63F 13/52 20140101ALI20241016BHJP
A63F 13/814 20140101ALI20241016BHJP
A63F 13/424 20140101ALI20241016BHJP
【FI】
G06F3/04815
A63F13/52
A63F13/814
A63F13/424
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024018348
(22)【出願日】2024-02-09
(31)【優先権主張番号】18/188,915
(32)【優先日】2023-03-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ジョインズ, ジョシュア
(72)【発明者】
【氏名】ミロフスキー, ジェイコブ
(72)【発明者】
【氏名】オサネック, マテジ
(72)【発明者】
【氏名】フリンカー, ピーター
(72)【発明者】
【氏名】イラフスキー, ヤン
(57)【要約】 (修正有)
【課題】本開示の態様は、曲に対応する3次元仮想ゲーム空間を修正するために使用されるプレイヤー追跡ビデオゲームエディタに関する。
【解決手段】いくつかの実装形態では、エディタを使用して、各照明を個別に変更する必要なく、仮想ゲーム空間内の複数の照明の照明効果を制御することができる。いくつかの実装形態では、エディタを使用して、曲に対応する仮想ゲーム空間にアーク(長い音を強調するように意図された2つのブロック間の線)および/またはチェーン(複数の触覚効果を引き起こす2つのブロック間の複数のデジタルターゲット)を追加することができる。いくつかの実装形態では、エディタは、ビートを容易に識別するために曲のオーディオ信号を視覚化することができる1分あたりのビート数(BPM)ツールを提供することができる。
【選択図】
図2A
【特許請求の範囲】
【請求項1】
プレイヤー追跡ビデオゲームエディタにおいて曲に対応する3次元仮想ゲーム空間を編集するための方法であって、前記方法が、
前記プレイヤー追跡ビデオゲームエディタにおいて前記曲に対応する前記3次元仮想ゲーム空間の修正可能なインスタンスをレンダリングすることであって、前記修正可能なインスタンスが前記曲のそれぞれのビートに対応する複数の視覚的マーカを含み、前記複数の視覚的マーカの各々が前記修正可能なインスタンス内で制御可能な複数の照明に対する複数の照明効果を有する、修正可能なインスタンスをレンダリングすることと、
前記複数の視覚的マーカのうちのある視覚的マーカに対応する照明修正コマンドを受信することであって、前記照明修正コマンドが前記視覚的マーカに対応する前記複数の照明効果のうちの1つ以上の照明効果を追加、編集、または削除するためのものである、照明修正コマンドを受信することと、
前記照明修正コマンドをグループ照明イベントに変換することであって、前記グループ照明イベントが、A)前記視覚的マーカに対応する前記曲のあるビートにおける、前記修正可能なインスタンス内の前記複数の照明のうちの2つ以上の照明、B)それぞれの視覚的マーカに対応する前記曲の複数のビートにわたる、前記修正可能なインスタンス内の前記複数の照明のうちの1つ以上の照明であって、前記複数のビートは、前記視覚的マーカに対応する前記ビートを含む、1つ以上の照明、またはC)両方、のいずれかを制御する、前記照明修正コマンドをグループ照明イベントに変換することと、
前記グループ照明イベントを含むように前記3次元仮想ゲーム空間の前記修正可能なインスタンスを修正することと、
少なくとも前記視覚的マーカに対応する前記ビートで前記グループ照明イベントを含む前記3次元仮想ゲーム空間のプレビューを生成することであって、前記プレビューが前記プレイヤー追跡ビデオゲームエディタ内から表示される、プレビューを生成することと
を含む、方法。
【請求項2】
前記プレビューが前記3次元仮想ゲーム空間内の複数の角度から生成される、請求項1に記載の方法。
【請求項3】
前記3次元仮想ゲーム空間が2次元インターフェース上で編集され、かつ
前記プレビューが前記2次元インターフェース上に表示される、
請求項1に記載の方法。
【請求項4】
前記グループ照明イベントを含む前記3次元仮想ゲーム空間の前記プレビューが、前記視覚的マーカに対応する前記ビートを少なくとも含む前記曲の可聴サンプルをさらに含み、前記グループ照明イベントの前記プレビューが、前記視覚的マーカに対応する前記ビートの音声と同期される、請求項1に記載の方法。
【請求項5】
前記プレビューが、前記グループ照明イベントを含むように前記3次元仮想ゲーム空間の前記修正可能なインスタンスが修正されると即座に生成される、請求項1に記載の方法。
【請求項6】
前記グループ照明イベントが、A)前記視覚的マーカに対応する前記曲の前記ビートにおける、前記3次元仮想ゲーム空間内の前記複数の照明のうちの前記2つ以上の照明、B)それぞれの視覚的マーカに対応する前記曲の複数のビートにわたる、前記3次元仮想ゲーム空間内の前記複数の照明のうちの前記1つ以上の照明であって、前記複数のビートは、前記視覚的マーカに対応する前記ビートを含む、前記1つ以上の照明、またはC)両方、のいずれかの色、明るさ、回転、持続時間、フィルタ、配置、スケーリング、ストロボ、複製、またはそれらの任意の組み合わせ、のうちの少なくとも1つを制御する、請求項1に記載の方法。
【請求項7】
前記照明修正コマンドが、前記ビート、前記曲、またはその両方、のいずれかの1つ以上の特徴に応答して自動的にトリガされる、請求項1に記載の方法。
【請求項8】
前記視覚的マーカがデジタルターゲットに関連付けられ、前記方法が、
前記グループ照明イベントを含む前記3次元仮想ゲーム空間を記憶することと、
前記グループ照明イベントを含む前記記憶された3次元仮想ゲーム空間をホストコンピューティングシステムに送信することと
をさらに含み、
1つ以上の人工現実デバイスが、前記ホストコンピューティングシステムを介して前記記憶された3次元仮想ゲーム空間にアクセスして前記3次元仮想ゲーム空間をレンダリングし、かつ
前記グループ照明イベントが、それぞれの人工現実デバイスを介した前記デジタルターゲットとの1つ以上の検出された接触に基づいて動的である、
請求項1に記載の方法。
【請求項9】
前記視覚的マーカがデジタルターゲットに関連付けられ、前記方法が、
前記グループ照明イベントを含む前記3次元仮想ゲーム空間を記憶することと、
前記グループ照明イベントを含む前記3次元仮想ゲーム空間をホストコンピューティングシステムに送信することと
をさらに含み、
複数の人工現実デバイスが、前記ホストコンピューティングシステムを介して前記3次元仮想ゲーム空間にアクセスして前記3次元仮想ゲーム空間をレンダリングし、かつ
前記グループ照明イベントが、前記デジタルターゲットとの第1の検出された接触に応答して第1のレンダリングスタイルを介してレンダリングされ、かつ
前記グループ照明イベントが、前記デジタルターゲットとの第2の検出された接触に応答して第2のレンダリングスタイルを介してレンダリングされる、
請求項1に記載の方法。
【請求項10】
前記デジタルターゲットとの前記第1の検出された接触が、前記第1の検出された接触の角度、前記第1の検出された接触の配置、前記第1の検出された接触の向き、またはそれらの任意の組み合わせ、のうちの少なくとも1つを含む、請求項9に記載の方法。
【請求項11】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、プレイヤー追跡ビデオゲームエディタにおいて3次元仮想ゲーム空間を編集するためのプロセスを実施させ、前記プロセスが、
前記3次元仮想ゲーム空間の修正可能なインスタンスをレンダリングすることであって、前記修正可能なインスタンスが曲のそれぞれのビートを指示する複数の視覚的マーカを含み、前記複数の視覚的マーカの各々が前記修正可能なインスタンス内で制御可能な複数の照明に対する複数の照明効果を有する、修正可能なインスタンスをレンダリングすることと、
前記複数の視覚的マーカのうちのある視覚的マーカに対応する照明修正コマンドを受信することであって、前記照明修正コマンドが、前記視覚的マーカに対応するビートで、前記修正可能なインスタンス内の前記視覚的マーカに対応する前記照明効果を追加、編集、または削除するためのものである、照明修正コマンドを受信することと、
前記照明修正コマンドをグループ照明イベントに変換することであって、前記グループ照明イベントが前記視覚的マーカに対応する前記ビートで前記複数の照明のうちの2つ以上の照明を制御する、前記照明修正コマンドをグループ照明イベントに変換することと、
前記グループ照明イベントを含むように前記3次元仮想ゲーム空間の前記修正可能なインスタンスを修正することと
を含む、
コンピュータ可読記憶媒体。
【請求項12】
前記プロセスが、
少なくとも前記視覚的マーカに対応する前記ビートで、前記グループ照明イベントを含む前記3次元仮想ゲーム空間のプレビューを生成することであって、前記プレビューが前記プレイヤー追跡ビデオゲームエディタ内から表示される、プレビューを生成すること
をさらに含む、請求項11に記載のコンピュータ可読記憶媒体。
【請求項13】
前記3次元仮想ゲーム空間が2次元インターフェース上で編集され、かつ
前記プレビューが前記2次元インターフェース上に表示される、
請求項12に記載のコンピュータ可読記憶媒体。
【請求項14】
前記グループ照明イベントを含む前記3次元仮想ゲーム空間の前記プレビューが、前記視覚的マーカに対応する前記ビートを少なくとも含む前記曲の可聴サンプルをさらに含み、前記グループ照明イベントの前記プレビューが、前記視覚的マーカに対応する前記ビートの音声と同期される、請求項12に記載のコンピュータ可読記憶媒体。
【請求項15】
前記視覚的マーカがデジタルターゲットに関連付けられ、前記プロセスが、
前記グループ照明イベントを含む前記3次元仮想ゲーム空間を記憶することと、
前記グループ照明イベントを含む前記3次元仮想ゲーム空間をホストコンピューティングシステムに送信することと
をさらに含み、
複数の人工現実デバイスが、前記ホストコンピューティングシステムを介して前記3次元仮想ゲーム空間にアクセスして前記3次元仮想ゲーム空間をレンダリングし、かつ
前記グループ照明イベントが、前記デジタルターゲットとの第1の検出された接触に応答して第1のレンダリングスタイルを介してレンダリングされ、かつ
前記グループ照明イベントが、前記デジタルターゲットとの第2の検出された接触に応答して第2のレンダリングスタイルを介してレンダリングされる、
請求項11に記載のコンピュータ可読記憶媒体。
【請求項16】
前記デジタルターゲットとの前記第1の検出された接触が、前記第1の検出された接触の角度、前記第1の検出された接触の向き、またはその両方のうちの少なくとも1つを含む、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
プレイヤー追跡ビデオゲームエディタにおいて3次元仮想ゲーム空間を編集するためのコンピューティングシステムであって、前記コンピューティングシステムが、
1つ以上のプロセッサと、
命令を記憶する1つ以上のメモリと、を備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記コンピューティングシステムにプロセスを実施させ、前記プロセスが、
前記3次元仮想ゲーム空間の修正可能なインスタンスをレンダリングすることであって、前記修正可能なインスタンスが曲のそれぞれのビートを指示する複数の視覚的マーカを含み、前記複数の視覚的マーカの各々が前記修正可能なインスタンス内で制御可能な複数の照明に対する複数の照明効果を有する、修正可能なインスタンスをレンダリングすることと、
前記複数の視覚的マーカのうちのある視覚的マーカに対応する照明修正コマンドを受信することであって、前記照明修正コマンドが、前記視覚的マーカに対応するビートで、前記修正可能なインスタンス内の前記視覚的マーカに対応する前記照明効果を追加、編集、または削除するためのものである、照明修正コマンドを受信ことと、
前記照明修正コマンドをグループ照明イベントに変換することであって、前記グループ照明イベントが前記視覚的マーカに対応する前記ビートで前記複数の照明のうちの2つ以上の照明を制御する、前記照明修正コマンドをグループ照明イベントに変換することと、
前記グループ照明イベントを含むように前記3次元仮想ゲーム空間の前記修正可能なインスタンスを修正することと
を含む、
コンピューティングシステム。
【請求項18】
前記プロセスが、
少なくとも前記視覚的マーカに対応する前記ビートで、前記グループ照明イベントを含む前記3次元仮想ゲーム空間のプレビューを生成することであって、前記プレビューが前記プレイヤー追跡ビデオゲームエディタ内から表示されること
をさらに含む、請求項17に記載のコンピューティングシステム。
【請求項19】
前記プレビューが、前記グループ照明イベントが実行されると即座に生成される、請求項18に記載のコンピューティングシステム。
【請求項20】
前記照明修正コマンドが、前記ビート、前記曲、またはその両方、のいずれかの1つ以上の特徴に応答して自動的にトリガされる、請求項17に記載のコンピューティングシステム。
【発明の詳細な説明】
【発明の概要】
【0001】
技術分野
本開示は、ビデオゲームを編集することに関し、より具体的には、プレイヤーの動きを追跡するビデオゲームを作成および修正するためのエディタに関する。
【0002】
背景技術
プレイヤー追跡ビデオゲームは、ユーザの動き(例えば、頭部、身体、腕、手首、手、または脚の動き)がゲームに意味のある制御を提供するものである。プレイヤー追跡ゲームは様々な形態をとり、多くの場合、音楽ビデオゲームを含む。
【0003】
音楽ビデオゲームは、ゲームプレイがプレイヤーと音楽スコアまたは個々の曲とのインタラクションを中心に意味があるように方向付けられたビデオゲームである。音楽ビデオゲームは様々な形態をとることができ、「律動的に生成されたパズル」を使用するという共通性のために、しばしばパズルゲームとグループ化される。音楽ビデオゲームは、純粋なオーディオゲームとは異なり、プレイヤーをゲームのサウンドトラックに導くための視覚フィードバックを特徴とするが、アイデティック音楽ゲームは両方のカテゴリに分類することができる。
【図面の簡単な説明】
【0004】
【
図1】本技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。
【
図2A】本技術のいくつかの実装形態において使用可能である仮想現実ヘッドセットを示す配線図である。
【
図2B】本技術のいくつかの実装形態において使用可能である複合現実ヘッドセットを示す配線図である。
【
図2C】いくつかの実装形態における、ユーザが人工現実環境とインタラクトするために片手または両手で保持することができるコントローラを示す配線図である。
【
図3】本技術のいくつかの実装形態が動作可能である環境の全体像を示すブロック図である。
【
図4】いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素を示すブロック図である。
【
図5】3次元仮想ゲーム空間において照明効果を追加、編集、または削除するために本技術のいくつかの実装形態で使用されるプロセスを示す流れ図である。
【
図6】3次元仮想ゲーム空間における照明効果の修正の、プレイヤー追跡ビデオゲームエディタからの例示的なプレビューを示す概念図である。
【
図7】3次元仮想ゲーム空間内にアークおよび/またはチェーンを追加するために本技術のいくつかの実装形態で使用されるプロセスを示す流れ図である。
【
図8】3次元仮想ゲーム空間内にアークを追加した、プレイヤー追跡ビデオゲームエディタからの例示的なプレビューを示す概念図である。
【
図9】3次元仮想ゲーム空間内にチェーンを追加した、プレイヤー追跡ビデオゲームエディタからの例示的なプレビューを示す概念図である。
【
図10】プレイヤー追跡ビデオゲームにおける曲のビート予測を訂正するための、本技術のいくつかの実装形態で使用されるプロセスを示す流れ図である。
【
図11】プレイヤー追跡ビデオゲームにおける曲に対応する、オーディオ波形の視覚的表現の1分あたりのビート数(BPM)エディタからの例示的なビューを示す概念図である。
【
図12】3次元仮想ゲーム空間に対する編集をプレビューするための、本技術のいくつかの実装形態で使用されるプロセスを示す流れ図である。
【発明を実施するための形態】
【0005】
ここで導入された技法は、同様の参照番号が同一のまたは機能的に同様の要素を指示する添付の図面と併せて以下の「発明を実施するための形態」を参照することによって、より良く理解され得る。
【0006】
本開示の態様は、プレイヤー追跡ビデオゲームにおけるレベルの作成および編集を容易にすることを可能にするエディタを対象とする。例えば、プレイヤー追跡ビデオゲームは、プレイヤーに接近するデジタルオブジェクトのストリームを提示することができ、ユーザは、身体追跡の使用に基づいて、ユーザ制御デジタル要素(例えば、仮想サーベル)をデジタルオブジェクトと衝突させることができる。ユーザは、背景、照明効果、デジタル要素パターンなどのバリエーションを表示するために、プレイ追跡ビデオゲームのレベルを生成および/または編集することができる。いくつかの実装形態は、A)照明編集、B)デジタルオブジェクト間のアークおよびチェーン、C)BPMツール、およびD)編集のプレビューを提供する。A)照明編集に関して、いくつかの実装形態は、明るさ、色、回転、合成、3次元(3D)空間内の位置などを含む、複数の照明を個々に制御する代わりに一緒に制御することを可能にする。B)アークおよびチェーンの作成に関して、いくつかの実装形態は、アーク(例えば、より長い音を強調する2つのデジタルオブジェクト(例えば、曲のビート)間の長い線)およびチェーン(例えば、複数回叩いた知覚を有する振動を引き起こす断片にスライスされたセグメント)を配置および修正する方法の制御方式を提供する。C)1分あたりのビート(BPM)ツールに関して、実装形態は、ユーザがオーディオ信号の視覚化およびメトロノームを使用して曲の特定の部分で対応するBPMを識別するのを助け、これは可変BPMを有する曲(例えば、クラシックロック音楽)に特に有用である。対応するBPM、ブロック、照明効果などを見つけることによって、曲のビートにより正確に対応することができる。D)編集のプレビューに関して、いくつかの実装形態は、ユーザが、ゲームに入って実行する必要なく、編集を異なる角度からリアルタイムでプレビューすることを可能にし、その結果、ユーザは、エディタ内でレベルを見て編集し続けることができる。
【0007】
いくつかの実装形態は、プレイヤー追跡ビデオゲームエディタによって3次元(3D)仮想ゲーム空間内の照明効果を追加、編集、または削除するためのプロセスを提供することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、コンピューティングデバイスなどの2次元(2D)インターフェースからアクセスすることができる。プレイヤー追跡ビデオゲームエディタは、ユーザがビデオゲームエディタを介して編集できるインスタンスなど、曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスは、曲のビートに対応する視覚的マーカを含むことができる。1つ以上の視覚的マーカは、制御するために利用可能な照明効果を含むことができる。プレイヤー追跡ビデオゲームエディタは、視覚的マーカに対応する照明効果を追加、編集、または削除するための照明修正コマンドを受信することができる。プレイヤー追跡ビデオゲームエディタは、照明修正コマンドを、視覚的マーカにおける複数の照明(すなわち、曲の特定のビート)、または2つ以上の視覚的マーカにおける単一もしくは複数の照明(すなわち、曲の複数のビートにわたって)のいずれかを制御するグループ照明イベントに変換することができる。ユーザは、グループ照明イベントを含めるように、プレイヤー追跡ビデオゲームエディタを介して3D仮想ゲーム空間のインスタンスを修正することができる。
【0008】
いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタを代替的または追加的に使用して、3D仮想ゲーム空間にアークおよび/またはチェーンを追加することができる。プレイヤー追跡ビデオゲームエディタは、視覚的マーカと交差するレーンを有する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができ、例えば、視覚的マーカの位置または視覚的マーカ間にあるレーンにブロックを配置することができるグリッドを作成することができる。簡略化された例では、ユーザは、プレイヤー追跡ビデオゲームエディタを介して2つのブロックを追加することができ、2つのブロックはそれぞれ、レーンおよび視覚的マーカにある。次いで、ユーザは、2つのブロックをアークで接続することができる。例えば、ゲームプレイ中に、アークは、プレイヤー追跡ビデオゲームが実行されるときに、例えば曲のより長い音を強調するための、2つのブロック間のその経路に沿ったユーザインタラクションを受信するように構成することができる。
【0009】
いくつかの実装形態では、ユーザは、プレイヤー追跡ビデオゲームエディタを介して、2つのブロックをチェーンで接続することができる。チェーンは、ゲームプレイ中にチェーン内の各デジタルターゲットで触覚(または照明もしくはサウンド効果などの他の効果)をトリガすることができるように、2つのブロック間に複数のデジタルターゲットを含むことができる。触覚または他の効果は、素早く叩かれる複数のデジタルターゲットをシミュレートする感覚または知覚をユーザに提供することができる。
【0010】
いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、代替的にまたは追加的に、ユーザが曲のビートを識別するのを助ける1分あたりのビート数(BPM)ツールを含むことができる。これは、可変BPM、一貫性のないBPM、曲内のビートのない休止などを有する曲に特に有用であり得る。プレイヤー追跡ビデオゲームエディタは、曲の予測ビート(すなわち、曲について示されたBPMにおいて、および/または曲について自動的に検出されたビート)に対応する視覚的マーカを有する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。さらに、プレイヤー追跡ビデオゲームエディタは、曲を表すオーディオ波形の視覚的表現を表示することができる。視覚的表現は、3D仮想ゲーム空間の修正可能なインスタンス内のそれぞれの視覚的マーカに対応する複数のビートインジケータを含むことができる。例えば、複数のビートインジケータを、オーディオ波形における曲の予測ビートと整列させることができる。波形の視覚的表現と3D仮想ゲーム空間のインスタンスとの間のこの対応関係は、ユーザがインスタンスを修正するのを助ける。例えば、ユーザは、オーディオ波形の視覚的表現から少なくとも部分的に識別されるように、予測ビートからビートインジケータを移動させて、ユーザが識別した曲のビートと整列させることができる。この例では、ユーザの目視検査および修正は、ビートインジケータの予測配置を訂正して、対応するビートと整列させることができる。
【0011】
いくつかの実装形態では、ビート識別および整列は、曲を音声で再生することによって確認することもできる。例えば、ユーザは、プレイヤー追跡ビデオゲームエディタおよびオーディオ波形の視覚的表現を介して、ユーザが識別したビートとビートインジケータを整列させることができる。ユーザは、プレイヤー追跡ビデオゲームエディタを介して、3D仮想ゲーム空間の修正可能なインスタンスの整列したビートインジケータに従って予測ビートに関連付けられた視覚的マーカをさらに修正することができる。
【0012】
いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、ユーザがエディタを終了してプレイヤー追跡ビデオゲームを実行することを必要とせずに、3D仮想ゲーム空間に修正のプレビューを提供することができる。例えば、プレイヤー追跡ビデオゲームエディタが2Dインターフェース上で実行されると、エディタは、ユーザが3Dインターフェース互換デバイス(例えば、XRヘッドマウントディスプレイ(HMD)などの人工現実(XR)デバイス)を装着する必要なく、2Dインターフェース上の複数の角度からプレビューを表示することができる。例えば、ユーザは、プレイヤー追跡ビデオゲームエディタへの入力を介して、3D仮想ゲーム空間の修正可能なインスタンスの照明効果を修正すること、デジタルターゲットに対応する3D仮想ゲーム空間の修正可能なインスタンスのブロックを修正すること、(例えば、アークおよび/またはチェーン内の)それぞれのデジタルターゲットに対応する2つのブロックを接続すること、視覚的マーカの配置を修正すること(例えば、ユーザが識別した曲のビートに合わせるために)などを行うことができる。ユーザの入力に応答して、プレイヤー追跡ビデオゲームエディタは、3D仮想ゲーム空間のインスタンスを修正し、3D仮想ゲーム空間のプレビューを生成することができる(いくつかの実装形態では、修正が行われる)。いくつかの実装形態では、プレビューは音声(例えば、修正に対応する曲の部分)を含むことができる。
【0013】
プレイヤー追跡ビデオゲーム(「ゲーム」)が生成されると、ゲームプレイは、プレイヤーが3次元(3D)コリドールでユーザに接近するデジタルオブジェクト(例えば、デジタルターゲット)とインタラクトすることを含む。インタラクションは、プレイヤーによって制御されるデジタル要素との間のデジタル衝突を介して発生することができる。デジタル要素の制御は、身体追跡に基づくことができる。いくつかの実装形態では、身体追跡は、コントローラなどの他の何らかの基準点に対する自身の動きを追跡する装着または保持された周辺機器を介して実施することができる。いくつかの実施形態では、深度カメラまたはルームマッピングカメラは、プレイヤーのビデオをキャプチャし、コンピュータビジョン技術を使用してユーザの身体位置を識別することができる。ゲームは、接近するデジタルオブジェクトのストリームをプレイヤーに提示することができ、ユーザは、身体追跡の使用に基づいてデジタル要素をデジタルオブジェクトと衝突させる。異なる種類のデジタルオブジェクトとの、および異なる角度からのデジタル衝突は、様々なゲームアクションを発生させることができる。いくつかの実装形態では、ゲームは、ユーザの身体の運動をさらに追跡し、身体の動きに対応するゲーム内のプレイヤーの位置をシフトすることができる。プレイヤー位置の移動は、プレイヤーがデジタル障害物を回避することを可能にすることができる。
【0014】
本開示のいくつかの実装形態は、リズムベースのビデオゲームに関する。リズムベースのビデオゲームでは、プレイヤーは、ライトセイバーに似た1つまたは1対のエネルギーブレード(例えば、デジタル要素)を使用して、音楽ビートを表すブロックを切り落とすことができる。ゲームコンソールは、指定された方向、例えばユーザまたはプレイヤーに向かう方向に移動している複数のデジタルオブジェクト、例えば、デジタルターゲットなどのブロックのデジタル表現(「デジタルブロック」または「ブロック」)をレンダリングすることができる。ゲームコンソールはまた、例えばライトセイバー(「デジタルセイバー」)に似た刀のデジタル表現など、楽器のデジタル表現をレンダリングすることができ、それを使用してプレイヤーは、デジタルブロックを切り落とし、切断し、または他の方法でデジタルブロックとインタラクトして、デジタルセイバーとデジタルブロックとの間にデジタル衝突を引き起こすことができる。ゲームは、ゲームで再生されている音楽のビート、例えば曲のビートおよび音符と同期してデジタルブロックに接近するストリームをプレイヤーに提示することができる。音楽のビートが上がるにつれて、デジタルブロックがプレイヤーに接近するペースは増加してもよい。
【0015】
デジタル衝突に応答してゲームアクションを発生させることができる。ゲームアクションは、プレイヤーのスコアの増加または減少、プレイヤーのエネルギーの増加または減少、ゲームにおけるプレイヤーのライフの獲得または喪失、スコアが変化する速度の増加または減少、ブロックがプレイヤーに向かって移動するペースの増加または減少、適用されている特定の照明効果などのいずれかとすることができる。ゲームは、指定された期間の後、プレイヤーがエネルギーもしくはライフを使い果たしたとき、またはプレイヤーがゲームを停止するようにコマンドを発行したときなど、複数の要因に基づいて終了することができる。ビデオゲームは、XRビデオゲームなどの2次元(2D)ビデオゲームまたは3Dビデオゲームとして実装することができる。いくつかの実施形態では、ゲームコンソールは、ビデオゲームをVRゲームとして実装するように構成することができる。プレイヤー追跡ビデオゲームに関するさらなる詳細は、参照によりその全体が本明細書に組み込まれる、「Player-tracking video game」と題する、2018年11月19日に出願された米国特許出願第16/195,498号明細書に見出すことができる。
【0016】
開示された技術の実施形態は、人工現実システムを含むことができる、または人工現実システムと併せて実装され得る。人工現実またはextra reality(XR)は、ユーザに提示する前に何らかの様式で調節されている現実の形態であり、これは例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはこれらの何らかの組み合わせおよび/もしくは派生物を含んでもよい。人工現実コンテンツは、完全に生成されたコンテンツまたはキャプチャされたコンテンツ(例えば、現実世界の写真)と組み合わされた生成されたコンテンツを含むことができる。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組み合わせを含んでもよく、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示することができる(視聴者に3次元効果をもたらすステレオビデオなど)。さらに、いくつかの実施形態では、人工現実は、例えば、人工現実におけるコンテンツを作り出すために使用される、および/または人工現実において使用される(例えば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組み合わせに関連付けられてもよい。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続される頭部装着型ディスプレイ(HMD)、独立型HMD、モバイルデバイスもしくはコンピューティングシステム、「洞穴」式環境もしくは他の投影システム、または、1人以上の視聴者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む様々なプラットフォーム上に実装されてよい。
【0017】
本明細書で使用される「仮想現実」または「VR」は、ユーザの視覚的入力がコンピューティングシステムによって制御される没入型体験を指す。「拡張現実」または「AR」は、ユーザが現実世界の画像を見る前にこれらの画像がコンピューティングシステムを通過しているシステムを指す。例えば、裏にカメラがあるタブレットは、現実世界の画像をキャプチャした後、カメラからタブレットの反対側の画面上にその画像を表示することができる。タブレットは、仮想オブジェクトを追加することなどによって、画像がシステムを通過する際にこの画像を処理し、かつ調節または「拡張」することができる。「複合現実」または「MR」は、ユーザの眼に入る光がコンピューティングシステムによって部分的に生成され、かつ現実世界におけるオブジェクトに反射した光を部分的に構成するシステムを指す。例えば、MRヘッドセットは、パススルーディスプレイを有する眼鏡のように成形可能であり、これによって、現実世界からの光がMRヘッドセットにおけるプロジェクタから同時に光を発する導波路を通過することができることで、MRヘッドセットはユーザが見ることができる実物体と混合させた仮想オブジェクトを提示することができる。本明細書で使用される「人工現実」、「extra reality」、または「XR」は、VR、AR、MRのいずれか、またはこれらの任意の組み合わせもしくは混成物を指す。
【0018】
実装形態は、ビデオゲーム編集の分野において特定の技術的改善を提供することができる。例えば、いくつかの実装形態は、1つの視覚的マーカで行われた照明への変更を他の視覚的マーカに適用することができ、および/または他の照明に適用することができるように、単一の照明編集コマンドをグループ照明イベントに変換することができる。したがって、いくつかの実装形態は、変更を行うために必要なコマンドが少ないため、ビデオゲームの編集における速度および効率を改善する。さらに、いくつかの実装形態において本明細書で説明されるアークおよびチェーンは、ブロック以外の仮想オブジェクトとのユーザインタラクションを提供し、異なるより微妙なユーザ体験を提供することができる。例えば、アークおよびチェーンは、ユーザのビデオゲームの楽しみを向上させるゲームプレイの新しいバリエーションを生成することができる。
【0019】
いくつかの実装形態は、ユーザが曲の正しいビートを容易かつ迅速に識別することを可能にする1分あたりのビート数(BPM)ツールを提供し、これは可変BPMを有する曲では誤って予測される可能性がある。したがって、適用された効果を曲のビートと整列させることができ、オーディオ、視覚、および/または触覚効果間の結束性を改善して、プレイヤー追跡ビデオゲームにおけるユーザ体験を改善することができる。さらに、いくつかの実装形態は、変更を確認するためにエディタを終了してゲームを実行する必要がないように、プレイヤー追跡ビデオゲームエディタ内でプレビューを提供する。したがって、エディタが2Dインターフェース上にあり、ゲームが3D仮想ゲームであるいくつかの実装形態では、いくつかの実装形態は、ユーザが、XR体験をプレビューするために人工現実(XR)デバイス(例えば、XRヘッドマウントディスプレイ(HMD))などの3Dインターフェースを装着する必要なく、様々な角度から2Dインターフェース上の修正をプレビューすることを可能にする。
【0020】
いくつかの実装形態について、図を参照してより詳細に以下に論じる。
図1は、開示された技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。デバイスは、曲に対応する3次元(3D)仮想ゲーム空間を編集することができるコンピューティングシステム100のハードウェア構成要素を備えることができる。様々な実装形態では、コンピューティングシステム100は、処理を分散し、かつ入力データを共有するために有線もしくは無線チャネル上で通信する単一のコンピューティングデバイス103または複数のコンピューティングデバイス(例えば、コンピューティングデバイス101、コンピューティングデバイス102、およびコンピューティングデバイス103)を含むことができる。いくつかの実装形態では、コンピューティングシステム100は、外部の処理またはセンサを必要とせずにユーザにコンピュータ作成または拡張体験を提供することが可能な独立型ヘッドセットを含むことができる。他の実装形態では、コンピューティングシステム100は、いくつかの処理動作がヘッドセット上で行われ、他の処理動作がコア処理構成要素にオフロードされる、ヘッドセットおよびコア処理構成要素(コンソール、モバイルデバイス、またはサーバシステムなど)などの複数のコンピューティングデバイスを含むことができる。例示のヘッドセットについて、
図2Aおよび
図2Bに関して後述する。いくつかの実装形態では、位置および環境データは、ヘッドセットに組み込まれたセンサによってのみ収集可能であるが、他の実装形態では、ヘッドセット無しのコンピューティングデバイスの1つ以上は、環境または位置データを追跡可能であるセンサ構成要素を含むことができる。
【0021】
コンピューティングシステム100は、1つ以上のプロセッサ110(例えば、中央処理ユニット(CPU)、グラフィカル処理ユニット(GPU)、ホログラフィック処理ユニット(HPU)など)を含むことができる。プロセッサ110は、単一の処理ユニット、または、あるデバイス内もしくは複数のデバイスにわたって分散される(例えば、コンピューティングデバイス101~103のうちの2つ以上にわたって分散される)、複数の処理ユニットであることがある。
【0022】
コンピューティングシステム100は、プロセッサ110に入力を提供してこれらにアクションを通知する1つ以上の入力デバイス120を含むことができる。アクションは、入力デバイスから受信される信号を解釈し、かつ通信プロトコールを使用して情報をプロセッサ110に通信するハードウェアコントローラによって仲介される。それぞれの入力デバイス120は、例えば、マウス、キーボード、タッチスクリーン、タッチパッド、ウェアラブル入力デバイス(例えば、触覚グローブ、ブレスレット、指輪、イヤリング、ネックレス、腕時計など)、カメラ(または、他の光ベースの入力デバイス、例えば、赤外線センサ)、マイクロホン、または、他のユーザ入力デバイスを含むことができる。
【0023】
プロセッサ110は、例えば、PCIバス、SCSIバス、または無線接続などの内部または外部バスを用いて他のハードウェアデバイスに結合可能である。プロセッサ110は、ディスプレイ130などのデバイスに対するハードウェアコントローラと通信可能である。ディスプレイ130は、テキストおよびグラフィックを表示するために使用可能である。いくつかの実装形態では、ディスプレイ130は、入力デバイスがタッチスクリーンである、または視線方向監視システムを備える時など、ディスプレイの一部としての入力デバイスを含む。いくつかの実装形態では、ディスプレイは入力デバイスから分離している。表示デバイスの例には、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投影、ホログラフィック、または拡張現実ディスプレイ(ヘッドアップ表示デバイスまたは頭部装着型デバイスなど)などがある。ネットワークチップまたはカード、ビデオチップまたはカード、オーディオチップまたはカード、USB、ファイヤーワイヤーまたは他の外部デバイス、カメラ、プリンタ、スピーカ、CD-ROMドライブ、DVDドライブ、ディスクドライブなどの他のI/Oデバイス140も、プロセッサに結合可能である。
【0024】
いくつかの実装形態では、カメラ、深度センサ、IMUセンサ、GPSユニット、LiDARまたは他の飛行時間型センサなどのI/Oデバイス140からの入力をコンピューティングシステム100によって使用して、その環境内のユーザの場所を追跡しながらユーザの物理環境を識別およびマッピングすることができる。この同時位置特定およびマッピング(SLAM)システムは、ある領域(部屋、建物、屋外空間などであってもよい)のマップ(例えば、トポロジー、グリッド(gird)など)を生成し、および/またはその領域をマッピングしたコンピューティングシステム100もしくは別のコンピューティングシステムによって以前に生成されたマップを取得することができる。SLAMシステムは、GPSデータ、識別されたオブジェクトおよび構造をマッピングされたオブジェクトおよび構造と一致させること、加速度および他の位置変化を監視することなどの要因に基づいて、領域内のユーザを追跡することができる。
【0025】
コンピューティングシステム100は、他のローカルコンピューティングデバイスまたはネットワークノードと無線でまたは有線ベースで通信することが可能な通信デバイスを含むことができる。通信デバイスは、例えば、TCP/IPプロトコールを使用するネットワークを通して別のデバイスまたはサーバと通信することができる。コンピューティングシステム100は、複数のネットワークデバイスにわたって動作を分散するために通信デバイスを利用できる。
【0026】
コンピューティングシステム100のコンピューティングデバイスのうちの1つにおいて含まれ得る、またはコンピューティングシステム100の複数のコンピューティングデバイスまたは他の外部デバイスにわたって分散可能であるプロセッサ110は、メモリ150にアクセス可能である。メモリは、揮発性または不揮発性ストレージに対する1つ以上のハードウェアデバイスを含み、かつ読み出し専用メモリおよび書き込み可能メモリ両方を含むことができる。例えば、メモリは、ランダムアクセスメモリ(RAM)、様々なキャッシュ、CPUレジスタ、読み出し専用メモリ(ROM)、および書き込み可能な不揮発性メモリ、例えば、フラッシュメモリ、ハードドライブ、フロッピーディスク、CD、DVD、磁気記憶デバイス、およびテープドライブなどのうちの1つ以上を含むことができる。メモリは、基盤となるハードウェアから切り離されて伝播する信号ではないため、メモリは非一時的なものである。メモリ150は、プログラムおよびソフトウェア、例えば、オペレーティングシステム162、プレイヤー追跡ビデオゲームエディタシステム164、および他のアプリケーションプログラム166を記憶するプログラムメモリ160を含むことができる。メモリ150はまた、例えば、プログラムメモリ160またはコンピューティングシステム100の任意の要素に提供することができるレンダリングデータ、照明効果データ、照明属性データ、曲データ、ビートデータ、視覚的マーカデータ、プレビューデータ、ブロックデータ、デジタルターゲットデータ、レーンデータ、オーディオ波形データ、アークデータ、チェーンデータ、構成データ、設定、ユーザオプションまたは好みなどを含むことができるデータメモリ170を含むことができる。
【0027】
いくつかの実装形態は、多数の他のコンピューティングシステム環境または構成で動作可能とすることができる。当該技術で使用するのに適し得るコンピューティングシステム、環境、および/または構成の例は、XRヘッドセット、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、携帯電話、ウェアラブル電子機器、ゲームコンソール、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、または上記のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【0028】
図2Aは、いくつかの実装形態による仮想現実頭部装着型ディスプレイ(HMD)200の配線図である。HMD200は前部剛体205およびバンド210を含む。前部剛体205は、電子ディスプレイ245の1つ以上の電子ディスプレイ要素、慣性運動装置(IMU)215、1つ以上の位置センサ220、ロケータ225、および1つ以上の算出部230を含む。位置センサ220、IMU215、および算出部230は、HMD200に内蔵されてよく、ユーザには不可視であってもよい。様々な実装形態では、IMU215、位置センサ220、およびロケータ225は、3自由度(3DoF)または6自由度(6DoF)での現実世界および人工現実環境におけるHMD200の移動および場所を追跡可能である。例えば、ロケータ225は、HMD200の周りの実物体上の光点を生じさせる赤外光ビームを発することができる。別の例として、IMU215は、例えば、1つ以上の加速度計、ジャイロスコープ、磁力計、他の非カメラベースの位置、力、もしくは向きセンサ、またはそれらの組み合わせを含むことができる。HMD200と一体化された1つ以上のカメラ(図示せず)は光点を検出することができる。HMD200における算出部230は、HMD200の位置および移動を推定するために、ならびにHMD200を取り囲む実物体の形状および位置を識別するために、検出された光点を使用することができる。
【0029】
電子ディスプレイ245は、前部剛体205と一体化可能であり、かつ算出部230によって命令されるとユーザに画像光を提供可能である。様々な実施形態では、電子ディスプレイ245は単一の電子ディスプレイまたは複数の電子ディスプレイ(例えば、ユーザの眼のそれぞれに対するディスプレイ)であり得る。電子ディスプレイ245の例として、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス式有機発光ダイオードディスプレイ(AMOLED)、1つ以上の量子ドット発光ダイオード(QOLED)サブピクセル、投射器(例えば、マイクロLED、レーザなど)、その他のディスプレイ、またはこれらの何らかの組み合わせが挙げられる。
【0030】
いくつかの実装形態では、HMD200は、パーソナルコンピュータ(PC)(図示せず)などのコア処理構成要素および/または1つ以上の外部センサ(図示せず)に結合可能である。PCが、HMD200の場所および移動を決定するためにIMU215および位置センサ220からの出力と組み合わせて使用することができる外部センサは、(例えば、HMD200から発した光によって)HMD200を監視することができる。
【0031】
図2Bは、複合現実HMD252およびコア処理構成要素254を含む複合現実HMDシステム250の配線図である。複合現実HMD252およびコア処理構成要素254は、リンク256によって指示されるように無線接続(例えば、60GHzのリンク)を介して通信可能である。他の実装形態では、複合現実システム250は、外部の計算デバイスはなくヘッドセットのみを含む、または複合現実HMD252とコア処理構成要素254との間の他の有線または無線接続を含む。複合現実HMD252はパススルーディスプレイ258およびフレーム260を含む。フレーム260は、様々な電子構成要素(図示せず)、例えば、光プロジェクタ(例えば、LASER、LEDなど)、カメラ、目追跡センサ、MEMS構成要素、ネットワーキング構成要素などを収容することができる
【0032】
プロジェクタは、ユーザに媒体を表示するために、例えば、光学素子を介して、パススルーディスプレイ258に結合可能である。光学素子は、プロジェクタからユーザの眼に光を導くための、1つ以上の導波路アセンブリ、反射器、レンズ、鏡、コリメータ、格子などを含むことができる。画像データは、コア処理構成要素254からリンク256を介してHMD252に送信可能である。HMD252におけるコントローラは、プロジェクタから画像データを光パルスに変換可能であり、これは光学素子を介して出力光としてユーザの眼に送信可能である。出力光は、ディスプレイ258を通過する光と混合させることができることで、出力光によって現実世界に存在するかのように現れる仮想オブジェクトを提示することができる。
【0033】
HMD200と同様に、HMDシステム250は、HMDシステム250が、例えば、これ自体を3DoFまたは6DoFで追跡すること、ユーザの一部分(例えば、手、脚、頭部、または他の体の一部)を追跡すること、HMD252が移動すると静止しているように現れるように仮想オブジェクトをマッピングすること、および、ジェスチャおよび他の現実世界のオブジェクトに対して仮想オブジェクトを反応させることを可能にする、運動および位置追跡装置、カメラ、光源なども含むことができる。
【0034】
図2Cは、コントローラ270(コントローラ276Aおよび276Bを含む)を示し、いくつかの実装形態では、ユーザは、HMD200および/またはHMD250によって提示される人工現実環境とインタラクトするために片手または両手で保持することができる。コントローラ270は、直接または外部デバイス(例えば、コア処理構成要素254)を介してHMDと通信することができる。コントローラは、これ自体のIMU装置、位置センサを有することができる、および/またはさらなる光点を発することができる。HMD200もしくは250、外部センサ、またはコントローラ内のセンサは、これらのコントローラ光点を追跡して、コントローラの位置および/または向きを決定することができる(例えば、3DoFまたは6DoFでコントローラを追跡するために)。HMD200における算出部230またはコア処理構成要素254は、ユーザの手の位置および運動を監視するために、IMUおよび位置出力と組み合わせてこの追跡を使用することができる。コントローラはまた、ユーザが入力を提供し、オブジェクトとインタラクトするために作動することができる様々なボタン(例えば、ボタン272A~F)および/またはジョイスティック(例えば、ジョイスティック274A~B)を含むことができる。
【0035】
様々な実装形態では、HMD200または250はまた、ユーザのインタラクションおよび意図の指示を監視するために、視線追跡ユニット、オーディオシステム、様々なネットワーク構成要素などの追加のサブシステムを含むことができる。例えば、いくつかの実装形態では、コントローラの代わりに、またはコントローラに加えて、HMD200もしくは250に含まれる、または外部カメラからの1つ以上のカメラは、ジェスチャならびに他の手および身体の運動を決定するためにユーザの手の位置および姿勢を監視することができる。別の例として、1つ以上の光源はユーザの眼のいずれかまたは両方を照らすことができ、HMD200または250は、眼に面するカメラを使用してこの光の反射を捕捉して眼の位置を決定し(例えば、ユーザの角膜の周りの反射のセットに基づく)、ユーザの眼をモデル化して視線方向を決定することができる。
【0036】
図3は、開示された技術のいくつかの実装形態が動作可能である環境300の全体像を示すブロック図である。環境300は、1つ以上のクライアントコンピューティングデバイス305A~Dを含むことができ、これらの例として、コンピューティングシステム100を挙げることができる。いくつかの実装形態では、クライアントコンピューティングデバイスのいくつか(例えば、クライアントコンピューティングデバイス305B)は、HMD200またはHMDシステム250とすることができる。クライアントコンピューティングデバイス305は、ネットワーク330を通した、サーバコンピューティングデバイスなどの1つ以上のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作可能である。
【0037】
いくつかの実装形態では、サーバ310は、サーバ320A~Cなどの他のサーバを通してクライアント要求を受信し、かつこれらの要求の達成を調整するエッジサーバとすることができる。サーバコンピューティングデバイス310および320は、コンピューティングシステム100などのコンピューティングシステムを含むことができる。それぞれのサーバコンピューティングデバイス310および320は単一のサーバとして論理的に表示されるが、サーバコンピューティングデバイスはそれぞれ、同じまたは地理的に異なる物理的場所に位置する複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる。
【0038】
クライアントコンピューティングデバイス305ならびにサーバコンピューティングデバイス310および320はそれぞれ、他のサーバ/クライアントデバイスに対するサーバまたはクライアントの機能を果たすことができる。サーバ310はデータベース315に接続することができる。サーバ320A~Cはそれぞれ、対応するデータベース325A~Cに接続することができる。上で論じられるように、それぞれのサーバ310または320はサーバのグループに対応することができ、これらのサーバのそれぞれは、データベースを共有することができるか、またはこれら自体のデータベースを有することができる。データベース315および325は単一のユニットとして論理的に表示されるが、データベース315および325はそれぞれ、複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる、これらの対応するサーバ内に位置することができる、または同じもしくは地理的に異なる物理的場所に位置することができる。
【0039】
ネットワーク330は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メッシュネットワーク、ハイブリッドネットワーク、または他の有線もしくは無線ネットワークとすることができる。ネットワーク330は、インターネット、またはいくつかの他のパブリックもしくはプライベートネットワークであり得る。クライアントコンピューティングデバイス305は、有線または無線通信などによって、ネットワークインターフェースを通してネットワーク330に接続可能である。サーバ310とサーバ320との間の接続は別個の接続として示されるが、これらの接続は、ネットワーク330または別個のパブリックもしくはプライベートネットワークを含む、任意の種類のローカル、広域、有線、または無線ネットワークとすることができる。
【0040】
図4は、いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素400を示すブロック図である。構成要素400は、コンピューティングシステム100の1つのデバイスに含まれ得る、またはコンピューティングシステム100のデバイスの複数にわたって分散され得る。構成要素400は、ハードウェア410、メディエータ420、および専用構成要素430を含む。上で論じられるように、開示された技術を実装するシステムは、処理ユニット412、ワーキングメモリ414、入力および出力デバイス416(例えば、カメラ、ディスプレイ、IMUデバイス、ネットワーク接続など)、ならびにデータ記憶用メモリ418を含む様々なハードウェアを使用することができる。様々な実装形態では、データ記憶用メモリ418は、ローカルデバイス、リモート記憶デバイスへのインターフェース、またはこれらの組み合わせの1つ以上とすることができる。例えば、データ記憶用メモリ418は、システムバスを通してアクセス可能な1つ以上のハードドライブもしくはフラッシュドライブとすることができるか、または(ストレージ315または325などにおける)クラウドストレージプロバイダ、もしくは1つ以上の通信ネットワークを介してアクセス可能な他のネットワークストレージとすることができる。様々な実装形態では、構成要素400は、クライアントコンピューティングデバイス305などのクライアントコンピューティングデバイスにおいて、またはサーバコンピューティングデバイス310もしくは320などのサーバコンピューティングデバイス上に実装可能である。
【0041】
メディエータ420は、ハードウェア410と専用構成要素430との間のリソースを仲介する構成要素を含むことができる。例えば、メディエータ420は、オペレーティングシステム、サービス、ドライブ、基本入出力システム(BIOS)、コントローラ回路、または他のハードウェアもしくはソフトウェアシステムを含むことができる。
【0042】
専用構成要素430は、曲に対応する3次元(3D)仮想ゲーム空間を編集するための操作を実施するように構成されたソフトウェアまたはハードウェアを含むことができる。専用構成要素430は、修正可能なインスタンスレンダリングモジュール434、コマンド受信モジュール436、コマンド変換モジュール438、修正可能なインスタンス修正モジュール440、オーディオ波形表示モジュール442、ビートインジケータ整列モジュール444、プレビュー生成モジュール446、ならびにユーザインターフェースの提供、データの転送、およびインターフェース432などの専用構成要素の制御に使用することができる構成要素およびAPIを含むことができる。いくつかの実装形態では、構成要素400は、複数のコンピューティングデバイスにわたって分散されるコンピューティングシステムにある可能性があるか、または専用構成要素430の1つ以上を実行するサーバベースアプリケーションに対するインターフェースである可能性がある。別個の構成要素として描写されているが、専用構成要素430は、機能の論理的もしくは他の非物理的な区別であってもよく、および/または1つ以上のアプリケーションのサブモジュールもしくはコードブロックであってもよい。
【0043】
修正可能なインスタンスレンダリングモジュール434は、曲に対応する3次元(3D)仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスレンダリングモジュール434は、修正可能なインスタンスの表示を生成するために必要なレンダリングデータを生成、受信、および/または提供することによって、修正可能なインスタンスをレンダリングすることができる。いくつかの実装形態では、修正可能なインスタンスレンダリングモジュール434は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップ、タブレットなど)、モバイルデバイス(例えば、携帯電話)などの2次元(2D)インターフェース上に修正可能なインスタンスをレンダリングすることができる。いくつかの実装形態では、修正可能なインスタンスレンダリングモジュール434は、人工現実(XR)デバイスなどの3次元(3D)インターフェース上に修正可能なインスタンスをレンダリングすることができる。
【0044】
修正可能なインスタンスは、曲のそれぞれのビートに対応する複数の視覚的マーカを含むことができる。いくつかの実装形態では、複数の視覚的マーカの各視覚的マーカは、修正可能な要素を有することができる。修正可能な要素は、例えば、修正可能なインスタンス内で制御可能な照明の照明効果、3D仮想ゲーム空間内のデジタルターゲットであるブロック、ブロック間の接続(例えば、視覚的マーカで開始する、視覚的マーカで終了する、または視覚的マーカに重なるアークおよび/またはチェーン)、および/または3D仮想ゲーム空間内の視覚的マーカの配置を含むことができる。曲に対応する3D仮想ゲーム空間の修正可能なインスタンスのレンダリングに関するさらなる詳細は、
図5のブロック502、
図7のブロック702、
図10のブロック1002、および
図12のブロック1202に関して本明細書で説明される。
【0045】
視覚的マーカが修正可能なインスタンス内で制御可能な照明に対する照明効果を有するいくつかの実装形態では、コマンド受信モジュール436は、複数の視覚的マーカの視覚的マーカに対応する照明修正コマンドを受信することができる。照明修正コマンドは、視覚的マーカに対応する1つ以上の照明効果を追加、編集、および/または削除することができる。照明効果は、例えば、色、明るさ、回転、持続時間、フィルタ、配置、スケーリング、ストロボ、移動、複製、またはそれらの任意の組み合わせを含むことができる。視覚的マーカに対応する照明修正コマンドの受信に関するさらなる詳細は、
図5のブロック504に関して本明細書で説明される。
【0046】
コマンド受信モジュール436が視覚的マーカに対応する照明修正コマンドを受信するいくつかの実装形態では、コマンド変換モジュール438は、照明修正コマンドをグループ照明イベントに変換することができる。いくつかの実装形態では、グループ照明イベントは、視覚的マーカに対応する曲のビートに対して(修正可能なインスタンス内の)2つ以上の照明を制御することができる。いくつかの実装形態では、グループ照明イベントは、曲のビートに対応する視覚的マーカを含むそれぞれの視覚的マーカに対応する曲の複数のビートの(修正可能なインスタンス内の)1つ以上の照明を制御することができる。言い換えれば、コマンド変換モジュール438の例示的な変換は、単一の照明修正コマンドを、曲の複数のビートにわたって単一の照明を修正するため、および/または曲の1つ以上のビートにわたって複数の照明を修正するための命令に変換することができる。したがって、いくつかの実装形態では、曲の複数のビートにわたって複数の照明および/または単一の照明を制御するために複数の照明修正コマンドは必要とされない。照明修正コマンドをグループ照明イベントに変換することに関するさらなる詳細は、
図5のブロック506に関して本明細書で説明される。
【0047】
コマンド変換モジュール438が照明修正コマンドをグループ照明イベントに変換するいくつかの実装形態では、修正可能なインスタンス修正モジュール440は、グループ照明イベントを含むように3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。例えば、修正可能なインスタンス修正モジュール440は、コードライン(例えば、3D仮想ゲーム空間にレンダリングさせるコード)を追加、編集、および/または削除して、3D仮想ゲーム空間内の照明効果および/または照明を追加、編集、および/または削除することができる。したがって、3D仮想ゲーム空間がプレイヤー追跡ビデオゲームでプレビューおよび/または実行されると、3D仮想ゲーム空間は、グループ照明イベントによって修正されたように現れる。グループ照明イベントを含むように3D仮想ゲーム空間の修正可能なインスタンスを修正することに関するさらなる詳細は、
図5のブロック508に関して本明細書で説明される。
【0048】
いくつかの実装形態では、コマンド受信モジュール436は、3D仮想ゲーム空間内のブロックの配置に対応するユーザ入力を受信することができる。ブロックは、3D仮想ゲーム空間内のデジタルターゲットに対応することができる。プレイヤー追跡ビデオゲーム内の3D仮想ゲーム空間の実行時に、デジタルターゲットは、プレイヤーがブロックとインタラクトすべき領域とすることができる。いくつかの実装形態では、プレイヤーは、XRデバイスを介して手、物理オブジェクト、および/または仮想オブジェクトでブロックを叩く、切り落とすなどしてブロックとインタラクトすることができる。いくつかの実装形態では、コマンド受信モジュール436は、3D仮想ゲーム空間内の2つのブロックの配置に対応するユーザ入力を受信することができ、各ブロックは3D仮想ゲーム空間内のデジタルターゲットに対応する。各ブロックは、視覚的マーカと交差する複数のレーンのレーン内の3D仮想ゲーム空間内の視覚的マーカに配置することができる。ブロックの配置に対応するユーザ入力の受信に関するさらなる詳細は、
図7のブロック704~706に関して本明細書で説明される。
【0049】
コマンド受信モジュール436がブロックの配置に対応するユーザ入力を受信するいくつかの実装形態では、コマンド受信モジュール436は、3D仮想ゲーム空間内の2つのブロックを接続するためのコマンドをさらに受信することができる。いくつかの実装形態では、コマンド受信モジュール436は、2つのブロックをアークで接続するためのコマンドを受信することができる。アークは、2つのブロック間のユーザ入力経路、例えばプレイヤーが2つのブロック間のインタラクションを維持すべき経路を画定することができる。例えば、プレイヤーは、XRデバイスを介して手、物理オブジェクト、および/または仮想オブジェクトでアークをたどることができる。いくつかの実装形態では、コマンド受信モジュール436は、2つのブロックをチェーンと接続するためのコマンドを受信することができる。チェーンは、2つのブロックの間に1つ以上の追加のデジタルターゲットを含むことができる。したがって、プレイヤー追跡ビデオゲームにおいて3D仮想ゲーム空間の実行中に生成されたゲーム体験は、2つのブロックおよび2つのブロック間の1つ以上の追加のデジタルターゲットとのユーザインタラクションに応答してユーザフィードバック、例えば、各ブロックおよび各追加のデジタルターゲットでの触覚効果を提供することができる。アーク、チェーン、またはその両方を用いて2つのブロックを接続するためのコマンドを受信することに関するさらなる詳細は、
図7のブロック708に関して本明細書で説明される。
【0050】
コマンド受信モジュール436が2つのブロックを接続するためのコマンドを受信するいくつかの実装形態では、修正可能なインスタンス修正モジュール440は、コマンドに従って3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。例えば、修正可能なインスタンス修正モジュール440は、アークおよび/またはチェーンを3D仮想ゲーム空間に追加するために、3D仮想ゲーム空間をレンダリングするのに必要なコードラインを追加、編集、および/または削除することができる。逆に、ユーザが3D仮想ゲーム空間からアークおよび/またはチェーンを削除したい場合、修正可能なインスタンス修正モジュール440は、コードライン(例えば、3D仮想ゲーム空間にアークおよび/またはチェーンをレンダリングさせるコード)を追加、編集、および/または削除することができる。したがって、3D仮想ゲーム空間が、プレイヤー追跡ビデオゲームとして曲と併せてプレビューおよび/または実行されると、3D仮想ゲーム空間は、コマンド受信モジュール436によって受信されたコマンドによって修正されたように現れる。アークおよび/またはチェーンを追加するためのコマンドに従って3D仮想ゲーム空間の修正可能なインスタンスを修正することに関するさらなる詳細は、
図7のブロック710に関して本明細書で説明される。
【0051】
いくつかの実装形態では、(修正可能なインスタンスレンダリングモジュール434によって)曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすると、オーディオ波形表示モジュール442は、曲を表すオーディオ波形の視覚的表現を表示することができる。視覚的表現は、3D仮想ゲーム空間内の視覚的マーカに対応するビートインジケータを含むことができる。いくつかの実装形態では、ビートインジケータは、例えば、曲の指示された1分あたりのビート数(BPM)によって予測される、オーディオ波形の変化する振幅によって予測されるなどのように、オーディオ波形内の曲の予測ビートと整列させることができる。曲を表すオーディオ波形の視覚的表現の表示に関するさらなる詳細は、
図10のブロック1004に関して本明細書で説明される。
【0052】
オーディオ波形表示モジュール442が曲を表すオーディオ波形の視覚的表現を表示するいくつかの実装形態では、コマンド受信モジュール436は、ビートインジケータを再配置して、ユーザが識別した対応するビートを含む曲の異なる部分と整列させるためのコマンドを受信することができる。例えば、コマンド受信モジュール436は、予測ビートインジケータが曲の実際のビートに対応しないため、予測ビートインジケータを再配置するためのコマンドを受信することができる。いくつかの実装形態では、ユーザが識別した対応するビートは、オーディオ波形の視覚的表現から少なくとも部分的に識別することができる。例えば、ユーザは、オーディオ波形の視覚的表現の振幅のスパイクまたはピークを見つけることによって、曲の実際の対応するビートを視覚的に識別することができる。いくつかの実装形態では、曲の実際の対応するビートは、オーディオ波形の視覚的表現におけるスパイク、ピーク、周波数、パターンなどに基づいて自動的に識別することができる。
【0053】
いくつかの実装形態では、対応するビートは、例えば、ユーザが曲を聴いて対応するビートを音声で識別することによって、オーディオ波形のオーディオサンプルから少なくとも部分的に識別することができる。いくつかの実装形態では、対応するビートは、曲に重ねて曲の予測ビートで再生されるメトロノームの助けを借りて識別することができる。ユーザが識別した対応するビートを含む曲の異なる部分と整列させるように指示する、ビートを再配置するためのコマンドを受信することに関するさらなる詳細は、
図10のブロック1006に関して本明細書で説明される。
【0054】
コマンド受信モジュール436が、ビートインジケータを再配置して、ユーザが識別した対応するビートを含む曲の異なる部分と整列させるためのコマンドを受信するいくつかの実装形態では、ビートインジケータ整列モジュール444はコマンドに従って、視覚的表現において、曲の識別された対応するビートとビートインジケータを整列させることができる。例えば、ビートインジケータ整列モジュール444は、誤った予測ビートに対応するビートインジケータを、少なくとも部分的に、オーディオ波形の視覚的表現から識別された実際の対応するビートに移動させることができる。オーディオ波形の視覚的表現において、コマンドに従って、ユーザが識別した対応する曲のビートとビートインジケータを整列させることに関するさらなる詳細は、
図10のブロック1008に関して本明細書で説明される。
【0055】
ビートインジケータ整列モジュール444が、識別された対応する曲のビートとビートインジケータを整列させるいくつかの実装形態では、修正可能なインスタンス修正モジュール440は、誤った予測ビートに以前に対応していた3D仮想ゲーム空間内の視覚的マーカを、代わりに3D仮想ゲーム空間の修正可能なインスタンス内の整列したビートインジケータに対応するように修正することができる。例えば、修正可能なインスタンス修正モジュール440は、コードライン(例えば、3D仮想ゲーム空間に、整列したビートインジケータに対応する訂正された位置に仮想マーカを移動させるコード)を追加、編集、および/または削除することができる。したがって、3D仮想ゲーム空間がプレビューおよび/または実行されると、3D仮想ゲーム空間は、正しい位置にある、すなわち、再生されたときに曲の実際のビートに対応する仮想マーカと共に現れる。3D仮想ゲーム空間内の視覚的マーカの配置を修正することに関するさらなる詳細は、
図10のブロック1010に関して本明細書で説明される。
【0056】
いくつかの実装形態では、コマンド受信モジュール436は、A)複数の視覚的マーカのうちの視覚的マーカに対応する複数の照明効果のうちの照明効果を追加、編集、もしくは削除すること、B)複数の視覚的マーカのうちの視覚的マーカに対応するブロックであって、3次元仮想ゲーム空間内の複数のデジタルターゲットのデジタルターゲットであるブロックを追加、編集、もしくは削除すること、C)2つのブロックを接続することであって、2つのブロックの少なくとも1つが複数の視覚的マーカのうちの視覚的マーカに対応し、2つのブロックが3次元仮想ゲーム空間内の複数のデジタルターゲットのうちの2つのそれぞれのデジタルターゲットである、2つのブロックを接続すること、D)修正可能なインスタンス内で複数の視覚的マーカのうちの視覚的マーカを移動させること、またはE)それらの任意の組み合わせのうちの1つ以上に対応するコマンドを受信することができる。そのようなコマンドのうちの1つ以上を受信することに関するさらなる詳細は、
図12のブロック1204に関して本明細書で説明される。そのような実装形態では、修正可能なインスタンス修正モジュール440は、上述したように、かつ
図12のブロック1206に関してさらに説明したように、コマンドに従って3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。
【0057】
いくつかの実装形態では、プレビュー生成モジュール446は、コマンド受信モジュール436によって受信されたコマンドに従って修正された3D仮想ゲーム空間のプレビューを生成することができる。例えば、プレビュー生成モジュール446は、いくつかの実装形態では、照明効果、照明、ブロック、アーク、チェーン、視覚的マーカ、ビートインジケータなどに加えられた変更の効果をリアルタイムまたはほぼリアルタイムで示すことができる。いくつかの実装形態では、プレビュー生成モジュール446は、プレイヤー追跡ビデオゲーム内の3D仮想ゲーム空間の実行を必要とせずにプレビューを生成することができる。コマンドに従って修正された3D仮想ゲーム空間のプレビューの生成に関するさらなる詳細は、
図12のブロック1208に関して本明細書で説明される。
【0058】
上述される
図1~
図4においておよび以下に論じられる流れ図のそれぞれにおいて示される構成要素が様々なやり方で変えられる場合があることを、当業者は理解するであろう。例えば、ロジックの順序は再配置可能であり、サブステップは並列に行われる場合があり、示されるロジックは省略可能であり、他のロジックが含まれる場合があるなどである。いくつかの実装形態では、上述される構成要素の1つ以上は、後述されるプロセスの1つ以上を実行することができる。
【0059】
図5は、プレイヤー追跡ビデオゲームエディタにおいて、曲に対応する3次元(3D)仮想ゲーム空間を編集するためにいくつかの実装形態で使用されるプロセス500を示す流れ図である。いくつかの実装形態では、プロセス500は、3D仮想ゲーム空間を作成および/または編集するためのユーザ要求への応答として実施することができる。いくつかの実装形態では、プロセス500は、プレイヤー追跡ビデオゲームエディタによって実施することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェースによって実行することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、XRデバイス(例えば、
図2AのHMD200および/または
図2BのHMD252などのXR頭部装着型ディスプレイ(HMD))などの3次元(3D)インターフェースによって実行することができる。いくつかの実装形態では、プロセス500は、
図1のプレイヤー追跡ビデオゲームエディタシステム164によって実施することができる。いくつかの実装形態では、プロセス500は、
図4の専用構成要素430によって実施することができる。いくつかの実装形態では、プロセス500は、
図6のプレイヤー追跡ビデオゲームエディタ602によって実施することができる。
【0060】
ブロック502において、プロセス500は、プレイヤー追跡ビデオゲームエディタにおいて、曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスは、曲のそれぞれのビートを指示する複数の視覚的マーカを含むことができる。各視覚的マーカは、修正可能なインスタンス内で制御可能な複数の照明に対して1つ以上の照明効果を有することができる。照明効果は、各視覚的マーカに対応する色、明るさ、回転、持続時間、フィルタ、配置、スケーリング、ストロボ、移動、複製、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができる。
【0061】
ブロック504において、プロセス500は、複数の視覚的マーカのうちの視覚的マーカに対応する照明修正コマンドを受信することができる。照明修正コマンドは、視覚的マーカに対応するビートで、修正可能なインスタンス内の視覚的マーカに対応する1つ以上の照明効果を追加、編集、および/または削除することができる。いくつかの実装形態では、照明修正コマンドは、ユーザ入力、例えば、ユーザが1つ以上の照明効果を追加、編集、および/または削除するオプションを選択することに基づいて生成することができる。いくつかの実装形態では、照明修正コマンドは、ビート、曲、またはその両方、のいずれかの1つ以上の特徴に応答して自動的にトリガすることができる。例えば、いくつかの実装形態では、プロセス500は、照明修正コマンドを予測および/または自動的に生成するために、ビートの特徴(例えば、ビートで演奏する楽器、ビートで歌唱する音声など)、曲の特徴(例えば、ジャンル、1分あたりのビート数(BPM)など)を分析することができる。例えば、プロセス500は、エレクトロニックダンスミュージック(EDM)曲について、EDM曲のジャンル、1分あたりのビート数、および任意の他の適切な特徴に基づいてストロボ点滅するための照明修正コマンドを自動的に生成することができる。
【0062】
ブロック506において、プロセス500は、照明修正コマンドをグループ照明イベントに変換することができる。いくつかの実装形態では、グループ照明イベントは、視覚的マーカに対応する曲のビートで、修正可能なインスタンス内の複数の照明のうちの2つ以上の照明を制御することができる。いくつかの実装形態では、グループ照明イベントは、それぞれの視覚的マーカに対応する曲の複数のビートにわたって、修正可能なインスタンス内で複数の照明のうちの1つ以上の照明を制御することができ、複数のビートは視覚的マーカに対応するビートを含む。いくつかの実装形態では、グループ照明イベントは、数十または数百の照明を制御することができる。
【0063】
いくつかの実装形態では、グループ照明イベントは、2つ以上の照明、または曲の複数のビートにわたる1つ以上の照明の、色、明るさ、回転、持続時間、フィルタリング、配置、スケーリング、ストロボ、移動、複製、またはそれらの任意の組み合わせのうちの少なくとも1つを制御することができる。例えば、色に関して、グループ照明イベントは、曲の1つ以上のビートで1つ以上の照明を白色から紫色に変化させることができる。明るさに関して、グループ照明イベントは、曲の1つ以上のビートで、1つ以上の照明をオンまたはオフにし、1つ以上の照明を暗くし、1つ以上の照明を明るくするなどすることができる。回転に関して、グループ照明イベントは、曲の1つ以上のビートで1つ以上の照明の向きを変えることができ、いくつかの実装形態では、曲の複数のビートにわたって1つ以上の照明を回転させることができる。持続時間に関して、グループ照明イベントは、照明がオンもしくはオフである時間および/または1つ以上の照明に対する特定の修正が行われる時間を変更することができる。
【0064】
フィルタリングに関して、グループ照明イベントは、グループ内の特定の照明を選択するため、グループ内の特定の照明を省略するため、照明効果が適用される2つ以上の照明の順序を逆にするためなどのために、異なる方法で2つ以上の照明をセクションなどに分割することができる。配置に関して、グループ照明イベントは、照明が3D仮想ゲーム空間内のどこに仮想的に配置されるかを制御することができる。スケーリングに関して、グループ照明イベントは、1つ以上の照明のサイズを制御する(例えば、1つ以上の照明の線形変換を制御して、それらのサイズを拡大または縮小する)ことができる。ストロボに関して、グループ照明イベントは、1つ以上の照明の点滅、およびいくつかの実装形態では点滅の頻度を制御することができる。複製に関して、グループ照明イベントは、3D仮想ゲーム空間内の他の照明に1つ以上の照明イベントを複製することができる。
【0065】
いくつかの実装形態では、グループ照明イベントは、プロセス500が単一の照明修正コマンドを受信することに応答して、異なるビートおよび/または同じビートに対して異なる方法で、曲の複数のビートにわたって1つ以上の照明を、および/または曲の1つ以上のビートにわたって2つ以上の照明を制御することができる。例えば、ユーザは、特定のビートにおいて単一の照明に特定の明るさを適用する照明修正コマンドを作成することができ、プロセス500は、後続のビートにわたって照明にフェージングを適用するために照明修正コマンドを変換することができる。別の例では、ユーザは、特定の位置の単一の照明に特定の明るさを適用するための照明修正コマンドを作成することができ、プロセス500は、照明がさらに遠くに現れるように隣接する照明にフェージングを適用するために照明修正コマンドを変換することができる。
【0066】
ブロック508において、プロセス500は、グループ照明イベントを含むように3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。いくつかの実装形態では、プロセス500は、グループ照明イベントに3D仮想ゲーム空間内でレンダリングさせるその基礎となるコードを変更することによって、3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。いくつかの実装形態では、プロセス500は、3D仮想ゲーム空間の修正可能なインスタンスを表示することによって、3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。
【0067】
例えば、いくつかの実装形態では、プロセス500は、少なくとも視覚的マーカに対応するビートでグループ照明イベントを含む3D仮想ゲーム空間のプレビューを生成することができる。プレビューは、プレイヤー追跡ビデオゲームエディタ内から表示することができる。いくつかの実装形態では、グループ照明イベントを含む3D仮想ゲーム空間のプレビューは、対応する修正された照明効果を有する視覚的マーカに対応するビートを少なくとも含む曲の可聴サンプルを含むことができる。いくつかの実装形態では、グループ照明イベントのプレビューは、少なくとも曲の対応するビートが再生されている間にグループ照明イベントを見ることができるように、視覚的マーカに対応するビートの音声と同期させることができる。
【0068】
いくつかの実装形態では、3D仮想ゲーム空間の修正可能なインスタンスに修正が加えられると、プレビューをリアルタイムまたはほぼリアルタイムで表示することができる。言い換えれば、いくつかの実装形態では、プロセス500は、グループ照明イベントを含むように3D仮想ゲーム空間の修正可能なインスタンスが修正されると即座にプレビューを生成することができる。したがって、いくつかの実装形態では、3D仮想ゲーム空間を修正するユーザは、修正がどのように見えるかを確認するために、エディタを終了して3D仮想ゲーム空間を実行する必要はない。いくつかの実装形態では、3D仮想ゲーム空間は、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェース上で編集することができ、プレビューは2Dインターフェース上に表示することができる。いくつかの実装形態では、プレビューは、例えば、3D仮想ゲーム空間が2Dでレンダリングされているにもかかわらず、3D仮想ゲーム空間を修正するユーザが3Dでプレイヤー追跡ビデオゲームを想像することができるように、3D仮想ゲーム空間内の複数の角度から生成することができる。しかしながら、いくつかの実装形態では、プロセス500は、XRデバイス(例えば、
図2AのXR HMD200および/もしくは
図2BのXR HMD252、ならびに/または入力構成要素および/もしくは処理構成要素などのXRシステムの他の構成要素)などの3Dインターフェース上で実施することができると考えられる。
【0069】
いくつかの実装形態では、プロセス500は、ローカルまたはクラウドのいずれかに、グループ照明イベントを含む3D仮想ゲーム空間を記憶することができる。プロセス500は、グループ照明イベントを含む記憶された3D仮想ゲーム空間を、クラウド上および/またはプレイヤー追跡ビデオゲームアプリケーションに関連付けられたコンピューティングシステム上などの、プレイヤー追跡ビデオゲームをホストするサーバに送信することができる。1つ以上の人工現実(XR)デバイス(例えば、
図2AのXR HMD200および/もしくは
図2BのXR HMD252、またはXRシステム内の他のデバイスもしくは構成要素)は、ホストコンピュータシステムを介して記憶された3D仮想ゲーム空間にアクセスし、3D仮想ゲーム空間をレンダリングすることができる。いくつかの実装形態では、グループ照明イベントは、それぞれのXRデバイスを介した(例えば、仮想サーベルまたは検出されたハンドジェスチャを使用した)、グループ照明イベントに対応する視覚的マーカに関連付けられたデジタルターゲットとの1つ以上の検出された接触に基づいて動的であることができる。例えば、グループ照明イベントは、例えば、デジタルターゲットとのユーザの接触の位置、向き、強度、配置などに基づいて特定のスタイルでレンダリングすることができる。
【0070】
いくつかの実装形態では、複数のXRデバイスは、ホストコンピューティングシステムを介して3D仮想ゲーム空間にアクセスし、3D仮想ゲーム空間をレンダリングすることができる。いくつかの実装形態では、グループ照明イベントは、視覚的マーカに関連付けられたデジタルターゲットとの第1の検出された接触に応答して第1のレンダリングスタイルを介してレンダリングすることができ、デジタルターゲットとの第2の検出された接触に応答して第2のレンダリングスタイルを介してレンダリングすることができる。いくつかの実装形態では、デジタルターゲットとの第1の検出された接触は、第1の検出された接触の角度、第1の検出された接触の配置、第1の検出された接触の向き、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができ、デジタルターゲットとの第2の検出された接触は、第2の検出された接触の角度、第2の検出された接触の配置、第2の検出された接触の向き、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができる。例えば、第1の検出された接触は、デジタルターゲットを切り落とすこととすることができ、第2の検出された接触は、デジタルターゲットを通るスキュー動作とすることができる。そのような例では、第1のレンダリングスタイルは、白色光のフラッシュとすることができ、第2のレンダリングスタイルは、照明の色の変化とすることができる。いくつかの実装形態では、接触が検出されない場合、1つ以上の照明をレンダリングから省略することができ、および/または1つ以上の照明効果を異なるスタイル(例えば、照明を暗くする(darken or dim))に従ってレンダリングすることができる。
【0071】
図6は、3次元(3D)仮想ゲーム空間604における照明効果の修正の、プレイヤー追跡ビデオゲームエディタ602からの例示的なプレビュー600を示す概念図である。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、
図8のプレイヤー追跡ビデオゲームエディタ802および/または
図9のプレイヤー追跡ビデオゲームエディタ902と同様であり得る。いくつかの実装形態では、プレビュー600は、3D仮想ゲーム空間604が曲の特定の1つ以上のビートでどのように現れるかを示すために、3D仮想ゲーム空間604および曲のオーディオ波形618の視覚的プレビューを含むことができる。いくつかの実装形態では、3D仮想ゲーム空間604は、曲のオーディオ波形618内の対応するビートインジケータ624によっても表すことができる曲の特定のビートに対応する視覚的マーカ622を含むことができる。
【0072】
いくつかの実装形態では、プレビュー600は、3D仮想ゲーム空間604の視覚的プレビューと併せて再生される曲の可聴プレビューをさらに含むことができる。3D仮想ゲーム空間604は、プレイヤー追跡ビデオゲームエディタ602を使用して、個別にまたはグループとして修正することができる例示的な照明620A~620Fを含むことができる。いくつかの実装形態では、ユーザは、床色、床回転、上部レーザ色、上部レーザ回転、左レーザ色、左レーザ回転、右レーザ色などのオプションを表示することができる照明選択ボックス616を介して、どの利用可能な照明を修正するかを選択することができる。
【0073】
いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、単一の照明修正コマンドによっていくつの照明が制御されるかを表示することができるグループ情報606を含むことができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、照明修正がどれだけ長く続くべきかをユーザが指定することを可能にすることができる持続時間制御部608をさらに含むことができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、グループ内の特定の照明を選択するため、グループ内の特定の照明を省略するため、照明効果が適用される2つ以上の照明の順序を逆にするためなどのために、異なる方法で2つ以上の照明をセクションなどに分割することができるフィルタおよび順序制御部610をさらに含むことができる。
【0074】
いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、フェード制御部612をさらに含むことができる。フェード制御部612は、例えば、曲の複数のビートにわたる1つ以上の照明の明るさのフェージングを制御し、および/または曲の特定のビート(例えば、照明620Bから照明620Dへの明るさの低下)における複数の照明のフェージングを制御することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタ602は、ストロボ制御部614をさらに含むことができる。ストロボ制御部614は、1つ以上の照明の点滅、およびいくつかの実装形態では点滅の頻度を制御することができる。プレイヤー追跡ビデオゲームエディタ602に特定の制御を有するものとして示されているが、配置制御部、スケーリング制御部、移動制御部(例えば、1つ以上の照明を動的にするため)、複製制御部などの任意の数の代替または追加の制御部を提供できることが考えられる。いくつかの実装形態では、ユーザは、1つ以上の照明を選択し、それらをより大きく、より小さく、またはポイントアンドクリック操作などで移動させることによって、1つ以上の照明のスケールおよび/または配置を制御することができる。プレビュー600の生成に関するさらなる詳細は、
図12に関して本明細書で説明される。
【0075】
図7は、3次元(3D)仮想ゲーム空間にアークおよび/またはチェーンを追加するために本技術のいくつかの実装形態で使用されるプロセス700を示す流れ図である。いくつかの実装形態では、プロセス700は、3D仮想ゲーム空間を作成および/または編集するためのユーザ要求への応答として実施することができる。いくつかの実装形態では、プロセス700は、プレイヤー追跡ビデオゲームエディタによって実施することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェースによって実行することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、XRデバイス(例えば、
図2AのHMD200および/または
図2BのHMD252などのXR頭部装着型ディスプレイ(HMD))などの3次元(3D)インターフェースによって実行することができる。いくつかの実装形態では、プロセス700は、
図1のプレイヤー追跡ビデオゲームエディタシステム164によって実施することができる。いくつかの実装形態では、プロセス700は、
図4の専用構成要素430によって実施することができる。いくつかの実装形態では、プロセス700は、
図8のプレイヤー追跡ビデオゲームエディタ802および/または
図9のプレイヤー追跡ビデオゲームエディタ902によって実施することができる。
【0076】
ブロック702において、プロセス700は、プレイヤー追跡ビデオゲームエディタにおいて、曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスは、曲のそれぞれのビートに対応する複数の視覚的マーカを含むことができる。複数の視覚的マーカは、本明細書の
図8および
図9に示すように、複数のレーンと交差することができる。
【0077】
ブロック704において、プロセス700は、複数の視覚的マーカのうちの第1の視覚的マーカに対応する、複数のレーンのうちの第1のレーンにおける第1のブロックの配置に対応する第1のユーザ入力を受信することができる。第1のユーザ入力は、例えば、ポイントアンドクリック動作、ドラッグアンドリリース動作などとすることができる。第1のブロックは、3D仮想ゲーム空間内の複数のデジタルターゲットのうちの第1のデジタルターゲットに対応することができる。プレイヤー追跡ビデオゲームがXRデバイスによって実行されると、第1のデジタルターゲットは、第1のブロックがインタラクトするべき、例えば叩くまたは切り落とすべき位置および/または方向を識別することができる。
【0078】
ブロック706において、プロセス700は、複数の視覚的マーカのうちの第2の視覚的マーカに対応する、複数のレーンのうちの第2のレーンにおける第2のブロックの配置に対応する第2のユーザ入力を受信することができる。第2のユーザ入力は、例えば、ポイントアンドクリック動作、ドラッグアンドリリース動作などとすることができる。第2のブロックは、3D仮想ゲーム空間内の複数のデジタルターゲットのうちの第2のデジタルターゲットに対応することができる。プレイヤー追跡ビデオゲームがXRデバイスによって実行されると、第2のデジタルターゲットも、第2のブロックがインタラクトするべき、例えば叩くまたは切り落とすべき位置および/または方向を識別することができる。
【0079】
ブロック708において、プロセス700は、第1のブロックおよび第2のブロックをアーク、チェーン、またはその両方で接続するためのコマンドを受信することができる。アークは、3D仮想ゲーム空間の実行中に第1のブロックと第2のブロックとの間のユーザ入力経路を画定することができる。例えば、第1のブロックと第2のブロックとを接続する曲線は、仮想サーベルおよび/またはユーザの手が、第1のブロックと第2のブロックとの間のアークをたどることによって、第1のブロックおよび第2のブロックとインタラクトすべきであることを、プレイヤー追跡ビデオゲームのプレイヤーに指示することができる。いくつかの実装形態では、そのようなアークを使用して、曲のより長い音符を強調することができる。例示的なアークに関するさらなる詳細は、
図8に関して本明細書で説明される。
【0080】
チェーンは、第1のブロックと第2のブロックとの間に複数のデジタルターゲットのうちの1つ以上の追加のデジタルターゲットを含むことができる。第1のデジタルターゲットおよび第2のデジタルターゲットを含む各デジタルターゲットは、関連する視覚、音声、および/または触覚効果を有することができる。したがって、第1のブロックと第2のブロックとの間のチェーンとインタラクトすることによって、複数の視覚、音声、および/または触覚効果を、プレイヤー追跡ビデオゲームをプレイするプレイヤーに対して生成することができる。しかしながら、本明細書ではチェーンは複数のデジタルターゲットを間に有する第1のブロックおよび第2のブロックを含むものとして説明されているが、いくつかの実装形態では、プロセス700は単一のブロックを複数のデジタルターゲットにさらに分割することができると考えられる。例示的なチェーンに関するさらなる詳細は、
図9に関して本明細書で説明される。
【0081】
ブロック710において、プロセス700は、コマンドに従って3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。いくつかの実装形態では、プロセス700は、アークおよび/またはチェーンを3D仮想ゲーム空間内でレンダリングさせるその基礎となるコードを変更することによって、3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。いくつかの実装形態では、プロセス700は、少なくとも第1の視覚的マーカに対応するビートおよび第2の視覚的マーカに対応するビートで、コマンドに従って修正された3D仮想ゲーム空間のプレビューを生成することができる。プレビューは、プレイヤー追跡ビデオゲームエディタ内から表示することができる。いくつかの実装形態では、3D仮想ゲーム空間の修正可能なインスタンスが修正されると、プレビューをリアルタイムまたはほぼリアルタイムで表示することができる。
【0082】
言い換えれば、いくつかの実装形態では、プロセス700は、アークおよび/またはチェーンを含むように3D仮想ゲーム空間の修正可能なインスタンスが修正されると即座にプレビューを生成することができる。したがって、いくつかの実装形態では、3D仮想ゲーム空間を修正するユーザは、修正がどのように見えるかを確認するために、エディタを終了して3D仮想ゲーム空間を実行する必要はない。いくつかの実装形態では、3D仮想ゲーム空間は、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェース上で編集することができ、プレビューは2Dインターフェース上に表示することができる。いくつかの実装形態では、プレビューは、例えば、3D仮想ゲーム空間が2Dでレンダリングされているにもかかわらず、3D仮想ゲーム空間を修正するユーザが3Dでプレイヤー追跡ビデオゲームを想像することができるように、3D仮想ゲーム空間内の複数の角度から生成することができる。しかしながら、いくつかの実装形態では、プロセス700は、XRデバイスなどの3Dインターフェース上で実施することができると考えられる。
【0083】
いくつかの実装形態では、プロセス700は、ローカルまたはクラウドのいずれかに、アークおよび/またはチェーンを含む3D仮想ゲーム空間を記憶することができる。プロセス700は、アークおよび/またはチェーンを含む記憶された3D仮想ゲーム空間を、クラウド上および/またはプレイヤー追跡ビデオゲームアプリケーションに関連付けられたコンピューティングシステム上などの、プレイヤー追跡ビデオゲームをホストするサーバに送信することができる。1つ以上の人工現実(XR)デバイス(例えば、
図2AのXR HMD200および/もしくは
図2BのXR HMD252、またはXRシステム内の他のデバイスもしくは構成要素)は、ホストコンピュータシステムを介して記憶された3D仮想ゲーム空間にアクセスすることができ、3D仮想ゲーム空間をレンダリングすることができる。
【0084】
いくつかの実装形態では、3D仮想ゲーム空間は、実行中に、第1の視覚的マーカに対応する曲の第1のビートに同期した第1のブロックおよび第2の視覚的マーカに対応する曲の第2のビートに同期した第2のブロックとの1つ以上のユーザインタラクションを受信するゲーム体験を生成するように構成することができる。コマンドが第1のブロックと第2のブロックとをアークで接続するいくつかの実装形態では、3D仮想ゲーム空間の実行中に生成されたゲーム体験は、アークによって定義されたユーザ入力経路を横切るユーザインタラクションを受信するように構成することができる。コマンドが第1のブロックおよび第2のブロックをチェーンで接続するいくつかの実装形態では、3D仮想ゲーム空間の実行中に生成されたゲーム体験は、第1のブロック、追加のデジタルターゲット、および第2のブロックとのユーザインタラクションに応答してユーザフィードバックを提供するように構成することができる。
【0085】
いくつかの実装形態では、アークおよび/またはチェーンとインタラクトする効果は、ユーザ相互作用のタイプ、位置、方向などにかかわらず同じであることができる。いくつかの実装形態では、アークおよび/またはチェーンとインタラクトする効果は、それぞれのXRデバイスを介した(例えば、仮想サーベルまたは検出されたハンドジェスチャを使用した)、それらの関連するデジタルターゲットとの1つ以上の検出された接触に基づいて動的であることができる。例えば、特定の音声、視覚、および/または触覚効果は、例えば、デジタルターゲットとのユーザの仮想接触の位置、向き、強度、配置などに基づいて特定のスタイルでレンダリングすることができる。
【0086】
いくつかの実装形態では、複数のXRデバイスは、ホストコンピューティングシステムを介して3D仮想ゲーム空間にアクセスし、3D仮想ゲーム空間をレンダリングすることができる。いくつかの実装形態では、アークおよび/またはチェーンとのインタラクションに関連する効果は、アークまたはチェーンとの第1の検出された接触に応答して第1のレンダリングスタイルを介してレンダリングすることができ、アークまたはチェーンとの第2の検出された接触に応答して第2のレンダリングスタイルを介してレンダリングすることができる。いくつかの実装形態では、アークおよび/またはチェーン(例えば、アークおよび/またはチェーンに関連するデジタルターゲット)との第1の検出された接触は、第1の検出された接触の角度、第1の検出された接触の配置、第1の検出された接触の向き、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができ、アークおよび/またはチェーンとの第2の検出された接触は、第2の検出された接触の角度、第2の検出された接触の配置、第2の検出された接触の向き、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができる。例えば、第1の検出された接触は、チェーンを切り落とすこととすることができ、第2の検出された接触は、チェーンに対するスキュー動作とすることができる。そのような例では、第1のレンダリングスタイルはストロボ照明効果とすることができ、第2のレンダリングスタイルは一連の素早い触覚効果とすることができる。
【0087】
図8は、3次元(3D)仮想ゲーム空間804におけるアーク808追加のプレイヤー追跡ビデオゲームエディタ802からの例示的なプレビュー800を示す概念図である。プレイヤー追跡ビデオゲームエディタ802は、
図6のプレイヤー追跡ビデオゲームエディタ602および/または
図9のプレイヤー追跡ビデオゲームエディタ902と同様であり得る。いくつかの実装形態では、プレビュー800は、3D仮想ゲーム空間804の視覚的プレビューを含むことができる。いくつかの実装形態では、プレビュー800は、3D仮想ゲーム空間804が曲の特定の1つ以上のビートでどのように現れるかを示すために、曲のオーディオ波形(図示せず)の視覚的表現をさらに含むことができる。いくつかの実装形態では、3D仮想ゲーム空間804は、いくつかの実装形態では対応するビートインジケータ(図示せず)によっても表すことができる曲の特定のビート(例えば、ビート41、ビート42、ビート43など)に対応する視覚的マーカ810A、810B、810Cなどを含むことができる。いくつかの実装形態では、プレビュー800は、3D仮想ゲーム空間804の視覚的プレビューと併せて再生される曲の可聴プレビューをさらに含むことができる。アーク808に対応する曲の特定の1つ以上のビートでアーク808(例えば、照明820A~Bの追加および/または修正)を追加する以外に修正が行われるいくつかの実装形態では、プレビュー800はそのような修正も表示することができる。
【0088】
3D仮想ゲーム空間804は、プレイヤー追跡ビデオゲームエディタ802を介してユーザによって配置されたブロック806A、806Bなどを含むことができ、各ブロックは、プレイヤーがいつ、どこで、どのようにブロックとインタラクトすべきか(例えば、叩くまたはデジタルサーベルによって特定の方向に切り落とす動作を介して)を指示する。言い換えれば、ブロック806A、806Bなどはデジタルターゲットとすることができる。ブロック806A~806Bは、曲の特定のビートに対応して、視覚的マーカ810A、810B、810Cなどのうちの特定の視覚的マーカに配置することができる。いくつかの実装形態では、ブロック806A~806Bは、ブロック806A~806Bがプレイヤー追跡ビデオゲーム内のどこに位置するべきかに対応して、特定のレーン812A、812B、812Cなどに配置することができる。
【0089】
ユーザは、ブロックコネクタボタン814を選択することによって、ブロック806Aおよび806Bを、例えばアーク808で接続することができる。例えば、ユーザは、ブロックコネクタボタン814を選択し、アークオプションを選択し、ブロック806Aを(例えば、ポイントアンドクリック操作を介して)選択し、ブロック806Bで終了するようにアークをドラッグすることができる。いくつかの実装形態では、ユーザはさらに、アーク808を選択してドラッグし、アーク808の形状を任意の適切な3D形状(例えば、螺旋形状)に変更することができる。アークは、プレイヤー追跡ビデオゲームの実行中にブロック806Aとブロック806Bとの間でプレイヤーによるその経路に沿った選択を受信するように構成することができる。プレビュー800の生成に関するさらなる詳細は、
図12に関して本明細書で説明される。
【0090】
図9は、3次元(3D)仮想ゲーム空間904におけるチェーン916、918の追加の、プレイヤー追跡ビデオゲームエディタ902からの例示的なプレビュー900を示す概念図である。プレイヤー追跡ビデオゲームエディタ902は、
図6のプレイヤー追跡ビデオゲームエディタ602および/または
図8のプレイヤー追跡ビデオゲームエディタ802と同様であり得る。いくつかの実装形態では、プレビュー900は、3D仮想ゲーム空間904の視覚的プレビューを含むことができる。いくつかの実装形態では、プレビュー900は、3D仮想ゲーム空間904が曲の特定の1つ以上のビートでどのように現れるかを示すために、曲のオーディオ波形(図示せず)の視覚的表現をさらに含むことができる。いくつかの実装形態では、3D仮想ゲーム空間904は、いくつかの実装形態では対応するビートインジケータ(図示せず)によっても表すことができる曲の特定のビート(例えば、ビート41、ビート42、ビート43など)に対応する視覚的マーカ910A、910B、910Cなどを含むことができる。いくつかの実装形態では、プレビュー900は、3D仮想ゲーム空間904の視覚的プレビューと併せて再生される曲の可聴プレビューをさらに含むことができる。チェーン916、918に対応する曲の特定の1つ以上のビートでチェーン916、918の追加以外の修正(例えば、照明920A~Bの追加および/または修正)が行われるいくつかの実装形態では、プレビュー900はそのような修正も表示することができる。
【0091】
3D仮想ゲーム空間904は、プレイヤー追跡ビデオゲームエディタ902を介してユーザによって配置されたブロック906A、906Bなどを含むことができ、各ブロックは、プレイヤーがいつ、どこで、どのようにブロックとインタラクトすべきか(例えば、叩くまたはデジタルサーベルによって特定の方向に切り落とす動作を介して)を指示する。言い換えれば、ブロック906A、906Bなどはデジタルターゲットとすることができる。いくつかの実装形態では、ブロック906A~906Bは、曲の特定のビートに対応する視覚的マーカ910A、910B、910Cなどのうちの特定の視覚的マーカに配置することができる。しかしながら、いくつかの実装形態では、ブロック906A~906Bは、視覚的マーカ910A、910B、910Cなどのうちの特定の視覚的マーカ間、例えば曲のビート間に配置することができると考えられる。いくつかの実装形態では、ブロック906A~906Bは、ブロック906A~906Bがプレイヤー追跡ビデオゲーム内のどこに位置するべきかに対応して、特定のレーン912A、912Bなどに配置することができる。
【0092】
ユーザは、ブロックコネクタボタン914を選択することによって、ブロック906Aおよび906Bを、例えばチェーン916と接続することができる。例えば、ユーザは、ブロックコネクタボタン914を選択し、チェーンオプションを選択し、ブロック906Aを(例えば、ポイントアンドクリック操作を介して)選択し、ブロック906Bで終了するようにチェーン916をドラッグすることができる。いくつかの実装形態では、ユーザはさらに、チェーン916を選択してドラッグし、チェーン916の形状を任意の適切な2Dまたは3D形状に変更することができる。チェーン916は、ブロック906Aとブロック906Bとの間に複数のデジタルターゲット908を含むことができる。複数のデジタルターゲット908の各デジタルターゲットは、同じまたは異なる関連する視覚、音声、および/または触覚効果を有することができる。チェーン916は、プレイヤー追跡ビデオゲームの実行中にブロック906Aとブロック906Bとの間でプレイヤーによるその経路に沿った選択を受信するように構成することができる。したがって、ブロック906Aとブロック906Bとの間のチェーンとインタラクトすることによって、プレイヤー追跡ビデオゲームをプレイするプレイヤーに対して複数の視覚、音声、および/または触覚効果を生成することができる。プレビュー900では、チェーン916を経時的に、すなわち曲の複数のビートにわたって広げることができる。しかしながら、いくつかの実装形態では、単一のブロックは、例えばチェーン918内などの単一のビートまたはビート間の瞬間など、単一の時点に対して複数のデジタルターゲットにさらに分割することができると考えられる。プレビュー900の生成に関するさらなる詳細は、
図12に関して本明細書で説明される。
【0093】
図10は、プレイヤー追跡ビデオゲームにおける曲のビート予測を訂正するための、本技術のいくつかの実装形態で使用されるプロセス1000を示す流れ図である。いくつかの実装形態では、プロセス1000は、3D仮想ゲーム空間を作成および/または編集するためのユーザ要求への応答として実施することができる。いくつかの実装形態では、プロセス1000は、プレイヤー追跡ビデオゲームエディタによって実施することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェースによって実行することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、XRデバイス(例えば、
図2AのHMD200および/または
図2BのHMD252などのXR頭部装着型ディスプレイ(HMD))などの3次元(3D)インターフェースによって実行することができる。いくつかの実装形態では、プロセス1000は、
図1のプレイヤー追跡ビデオゲームエディタシステム164によって実施することができる。いくつかの実装形態では、プロセス1000は、
図4の専用構成要素430によって実施することができる。いくつかの実装形態では、プロセス1000は、
図6のプレイヤー追跡ビデオゲームエディタ602、
図8のプレイヤー追跡ビデオゲームエディタ802、
図9のプレイヤー追跡ビデオゲームエディタ902、および/または
図11のBPMエディタ1102によって実施することができる。
【0094】
ブロック1002において、プロセス1000は、プレイヤー追跡ビデオゲームエディタにおいて、曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスは、曲の予測ビートに対応する複数の視覚的マーカを含むことができる。曲のビートは、例えば、曲の公開された1分あたりのビート数(BPM)にアクセスすること、曲のオーディオ波形を分析して曲のビート(例えば、ドラムビートに対応する音)を聴覚的に識別すること、曲のオーディオ波形を分析して曲のビート(例えば、最も高い振幅を有するオーディオ波形の部分に対応する)を視覚的に識別することなどによって予測することができる。いくつかの実装形態では、曲の予測ビートは、可変BPMを有する曲または曲内のブレークなどにおいて、不正確である可能性が高い。
【0095】
ブロック1004において、プロセス1000は、曲を表すオーディオ波形の視覚的表現を表示することができる。視覚的表現は、複数の視覚的マーカのそれぞれの視覚的マーカに対応する複数のビートインジケータを含むことができる。複数のビートインジケータは、オーディオ波形の予測ビートをオーディオ波形の視覚化と共に視覚化することができるように、オーディオ波形における曲の予測ビートと整列させることができる。
【0096】
ブロック1006において、プロセス1000は、ビートインジケータがユーザが識別した(例えば、実際の)曲のビートに対応するように、複数のビートインジケータのうちのビートインジケータを再配置してユーザが識別した曲のビートと整列させるためのコマンドを受信することができる。ユーザが識別した対応する曲のビートは、オーディオ波形の視覚的表現から少なくとも部分的に識別することができる。例えば、ユーザは、予測ビートインジケータに沿ってオーディオ波形を見て、予測ビートインジケータが曲の正しいビート(例えば、オーディオ波形の視覚的表現において最も高い振幅を有するビート、オーディオ波形の視覚的表現において特定の繰り返しまたは周波数を有するビートなど)と整列していないことを視覚的に認識することができる。したがって、ユーザは、ビートインジケータがユーザが識別した曲のビートに対応するように、ビートインジケータを再配置してユーザが識別した曲のビートと整列させるためのコマンドを生成することができる。
【0097】
ブロック1008において、プロセス1000は、コマンドに従って、視覚的表現におけるユーザが識別した曲のビートとビートインジケータを整列させることができる。これに対応して、プロセス1000は、3D仮想ゲーム空間の修正可能なインスタンスにおける視覚的マーカに対応する整列したビートインジケータに従って、複数の視覚的マーカのうちの視覚的マーカを修正することができる。視覚的マーカがユーザが識別した曲のビートを表すように整列すると、いくつかの実装形態では、プロセス1000は、整列した視覚的マーカに対応し、ユーザが識別した曲のビートで提示可能なブロック、照明効果、アーク、チェーン、またはそれらの任意の組み合わせを追加、編集、および/または削除するように、3D仮想ゲーム空間の修正可能なインスタンスをさらに修正することができる。
【0098】
図11は、プレイヤー追跡ビデオゲームにおける曲に対応するオーディオ波形1104の視覚的表現の1分あたりのビート数(BPM)エディタ1102からの例示的なビュー1100を示す概念図である。BPMエディタ1102は、
図6のプレイヤー追跡ビデオゲームエディタ602、
図8のプレイヤー追跡ビデオゲームエディタ802、および/または
図9のプレイヤー追跡ビデオゲームエディタ902などのプレイヤー追跡ビデオゲームエディタに含まれ得る。いくつかの実装形態では、オーディオ波形1104は曲全体の視覚的表現とすることができ、オーディオ波形1106は曲の一部の拡大された視覚的表現とすることができる。例えば、ユーザは、曲の部分のオーディオ波形1106の表示を生成するために、スライダ1112をオーディオ波形1104上で所望の部分にドラッグすることによって曲の部分を選択することができる。BPMエディタ1102の実装形態は、オーディオ波形1104、オーディオ波形1106、および/または曲の任意の他の適切な表現を含むか、または省略することができる。
【0099】
BPMエディタ1102は、曲の予測ビートがオーディオ波形1106内のどこにあるかの視覚的表現とすることができるビートインジケータ1108A~1108Dと共に、オーディオ波形1106を表示することができる。ビートインジケータ1108A~1108Dは、
図6のプレビュー600、
図8のプレビュー800、および/または
図9のプレビュー900などの、プレイヤー追跡ビデオゲームのプレビューにおけるそれぞれの視覚的マーカに対応することができる。例えば、ビートインジケータ1108Aはビート184に対応することができ、対応する視覚的マーカは、曲内の同じビートに対応するプレビューにおいて184とラベル付けされることができる。いくつかの実装形態では、ユーザは、ビートインジケータ1108A~1108Dのうちの1つ以上をドラッグして、予測ビートが誤った曲の対応する(例えば、実際)ビートを識別することができる。いくつかの実装形態では、ユーザは、オーディオ波形1106の最高振幅がどこに位置するかなどによって、オーディオ波形1106の特徴から対応するビートを識別することができる。
【0100】
いくつかの実装形態では、BPMエディタ1102は、オーディオ波形1104によって表される曲、特にオーディオ波形1106に示される部分をさらに音声で再生することができる。したがって、ユーザは、予測ビートが正しいかどうかをさらに聴覚的に識別および/または確認し、予測ビートが誤っている場合、ビートインジケータ1108A~1108Dのうちの1つ以上を調整することができる。いくつかの実装形態では、BPMエディタ1102は、予測ビートが正しいかどうか、および/またはビートインジケータ1108A~1108Dの調整されたビートインジケータが正しいかどうかをユーザが聴覚的に識別するのを助けるためのメトロノーム1110をさらに含むことができる。ユーザがビートインジケータ1108A~1108Dのうちの1つを調整すると、対応する視覚的マーカもまた、プレイヤー追跡ビデオゲームのプレビューにおいて調整することができる。したがって、
図6のプレイヤー追跡ビデオゲームエディタ602、
図8のプレイヤー追跡ビデオゲームエディタ802、および/または
図9のプレイヤー追跡ビデオゲームエディタ902などのプレイヤー追跡ビデオゲームエディタ内で、ブロック、照明効果、アーク、チェーンなどを曲の正しいビートと整列させることができる。
【0101】
図12は、3次元(3D)仮想ゲーム空間に対する編集をプレビューするために本技術のいくつかの実装形態で使用されるプロセス1200を示す流れ図である。いくつかの実装形態では、プロセス1200は、3D仮想ゲーム空間を作成および/または編集するためのユーザ要求への応答として実施することができる。いくつかの実装形態では、プロセス1200は、プレイヤー追跡ビデオゲームエディタによって実施することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、コンピューティングデバイス、モバイルデバイスなどの2次元(2D)インターフェースによって実行することができる。いくつかの実装形態では、プレイヤー追跡ビデオゲームエディタは、XRデバイス(例えば、
図2AのHMD200および/または
図2BのHMD252などのXR頭部装着型ディスプレイ(HMD))などの3次元(3D)インターフェースによって実行することができる。いくつかの実装形態では、プロセス1200は、
図1のプレイヤー追跡ビデオゲームエディタシステム164によって実施することができる。いくつかの実装形態では、プロセス1200は、
図4の専用構成要素430によって実施することができる。いくつかの実装形態では、プロセス1200は、
図6のプレイヤー追跡ビデオゲームエディタ602、
図8のプレイヤー追跡ビデオゲームエディタ802、および/または
図9のプレイヤー追跡ビデオゲームエディタ902によって実施することができる。
【0102】
ブロック1202において、プロセス1200は、プレイヤー追跡ビデオゲームエディタにおいて、曲に対応する3D仮想ゲーム空間の修正可能なインスタンスをレンダリングすることができる。修正可能なインスタンスは、曲のそれぞれのビートに対応する複数の視覚的マーカを含むことができる。いくつかの実装形態では、各視覚的マーカは、照明効果、ブロック、アーク、チェーンなどの追加可能、編集可能、および/または削除可能な構成要素を有することができる。
【0103】
ブロック1204において、プロセス1200は、3D仮想ゲーム空間の修正可能なインスタンスを修正するためのコマンドを受信することができる。いくつかの実装形態では、コマンドは、A)複数の視覚的マーカのうちの視覚的マーカに対応する複数の照明効果のうちの照明効果を追加、編集、もしくは削除することに対応することができる。照明効果は、各視覚的マーカに対応する色、明るさ、回転、持続時間、フィルタ、配置、スケーリング、ストロボ、移動、複製、またはそれらの任意の組み合わせのうちの少なくとも1つを含むことができる。いくつかの実装形態では、少なくとも1つの照明効果は、グループ照明イベントに対応することができる。いくつかの実装形態では、グループ照明イベントは、視覚的マーカに対応する曲のビートで、修正可能なインスタンス内の複数の照明のうちの2つ以上の照明を制御することができる。いくつかの実装形態では、グループ照明イベントは、それぞれの視覚的マーカに対応する曲の複数のビートにわたって、修正可能なインスタンス内の複数の照明のうちの1つ以上の照明を制御することができ、複数のビートは視覚的マーカに対応するビートを含む。A)複数の視覚的マーカのうちの視覚的マーカに対応する複数の照明効果のうちの少なくとも1つの照明効果を追加、編集、または削除することに関するさらなる詳細は、
図5に関して本明細書で説明される。
【0104】
いくつかの実装形態では、コマンドは、B)複数の視覚的マーカのうちの視覚的マーカに対応するブロックを追加、編集、または削除することに対応することができる。ブロックは、プレイヤー追跡ビデオゲームをプレイするときにプレイヤーによって叩かれるまたは切り落とされるように構成された3D仮想ゲーム空間内の複数のデジタルターゲットのうちのデジタルターゲットとすることができる。いくつかの実装形態では、ブロックは、プレイヤー追跡ビデオゲームをプレイするときにブロックがプレイヤーによって叩かれるまたは切り落とすべき方向を指示する矢印を含むことができる。ブロックおよびデジタルターゲットに関するさらなる詳細は、参照によりその全体が本明細書に組み込まれる、「Player-tracking video game」と題する、2018年11月19日に出願された米国特許出願第16/195,498号明細書に見出すことができる。
【0105】
いくつかの実装形態では、コマンドは、C)2つのブロックを接続することに対応することができ、2つのブロックのうちの少なくとも1つは、複数の視覚的マーカのうちの視覚的マーカに対応する。2つのブロックは、3D仮想ゲーム空間内の複数のデジタルターゲットのうちの2つのそれぞれのデジタルターゲットとすることができる。いくつかの実装形態では、コマンドは、2つのブロックをアークおよび/またはチェーンで接続することであり得る。アークは、3D仮想ゲーム空間の実行中に第1のブロックと第2のブロックとの間のその経路に沿った選択を受信するように構成することができる。例えば、第1のブロックと第2のブロックとを接続する曲線は、仮想サーベルおよび/またはユーザの手が第1のブロックと第2のブロックとの間のアークをたどることによって、第1のブロックおよび第2のブロックとインタラクトすべきであることを、プレイヤー追跡ビデオゲームをプレイするプレイヤーに指示することができる。チェーンは、第1のブロックと第2のブロックとの間に複数のデジタルターゲットのうちの1つ以上の追加のデジタルターゲットを含むことができる。第1のデジタルターゲットおよび第2のデジタルターゲットを含む各デジタルターゲットは、関連する視覚、音声、および/または触覚効果を有することができる。アークおよびチェーンに関するさらなる詳細は、
図7に関して本明細書で説明される。
【0106】
いくつかの実装形態では、コマンドは、D)修正可能なインスタンス内で複数の視覚的マーカのうちの視覚的マーカを移動させることに対応することができる。いくつかの実装形態では、プロセス1200は、曲の予測ビートが誤っている場合、ユーザが識別した曲のビートと手動で整列させたビートインジケータ(例えば、曲の実際のビートに対応する)に従って、複数の視覚的マーカのうちの視覚的マーカを再配置することができる。整列したビートインジケータに対応するように視覚的マーカを移動させることに関するさらなる詳細は、
図10に関して本明細書で説明される。いくつかの実装形態では、コマンドは、上記で概説したA)、B)、C)、またはD)の任意の組み合わせを含むことができる。
【0107】
ブロック1206において、プロセス1200は、コマンドに従って3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。いくつかの実装形態では、プロセス1200は、上で概説したように、3D仮想ゲーム空間内で、A)、B)、C)、D)、またはそれらの任意の組み合わせに関連する修正のレンダリングを引き起こすその基礎となるコードを変更することによって、3D仮想ゲーム空間の修正可能なインスタンスを修正することができる。
【0108】
ブロック1208において、プロセス1200は、少なくとも視覚的マーカに対応するビートで、コマンドに従って修正された3D仮想ゲーム空間のプレビューを生成することができる。プレビューは、プレイヤー追跡ビデオゲームエディタ内から表示することができる。いくつかの実装形態では、3D仮想ゲーム空間のプレビューは、視覚的マーカに対応するビートを少なくとも含む曲の可聴サンプルを含むことができる。いくつかの実装形態では、視覚的マーカにおける3D仮想ゲーム空間のプレビューは、視覚的マーカに対応するビートの音声と同期させることができる。
【0109】
いくつかの実装形態では、プロセス1200は、ローカルまたはクラウドのいずれかに、修正を含む3D仮想ゲーム空間を記憶することができる。プロセス1200は、クラウド上および/またはプレイヤー追跡ビデオゲームアプリケーションに関連付けられたコンピューティングシステム上などで、プレイヤー追跡ビデオゲームをホストするサーバに、修正を含む記憶された3D仮想ゲーム空間を送信することができる。1つ以上の人工現実(XR)デバイス(例えば、
図2AのXR HMD200および/もしくは
図2BのXR HMD252、またはXRシステム内の他のデバイスもしくは構成要素)は、ホストコンピュータシステムを介して記憶された3D仮想ゲーム空間にアクセスすることができ、3D仮想ゲーム空間をレンダリングすることができる。いくつかの実装形態では、複数のXRデバイスは、ホストコンピューティングシステムを介して3D仮想ゲーム空間にアクセスし、3D仮想ゲーム空間をレンダリングすることができる。
【0110】
図5、
図7、
図10、および
図12には別個のフローとして示されているが、プロセス500、プロセス700、プロセス1000、プロセス1200、またはそれらの任意の組み合わせは、共に、順番に、並列に、同時に、および/または連続的に実施することができると考えられる。さらに、プロセス500、プロセス700、プロセス1000、またはプロセス1200のうちの2つ以上が組み合わされる場合、それらのステップは相互混合されてもよく、必ずしもそれらのそれぞれの図に示される順序で実施される必要はないと考えられる。
【0111】
本明細書における、「実装形態」(例えば、「いくつかの実装形態」、「様々な実装形態」、「1つの実装形態」、「一実装形態」など)への言及は、実装形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実装形態に含まれることを意味する。本明細書における様々な場所にこれらの語句が現れることは、全てが必ずしも同じ実装形態に言及しているわけでもないし、他の実装形態を相互に除外する別個のまたは代替的な実装形態であるわけでもない。さらに、一部の実装形態によって示されるが他の実装形態によって示されない場合がある様々な特徴が記載される。同様に、一部の実装形態にとっては必要条件であるが、他の実装形態にとってはそうでない様々な必要条件が記載される。
【0112】
本明細書で使用される際、閾値を上回ることは、比較中の項目に対する値が指定された他の値を上回ること、比較中の項目がある特定の指定された数の項目の中で最も大きい値を有すること、または比較中の項目が指定された最高のパーセンテージ値内の値を有することを意味する。本明細書で使用される際、閾値を下回ることは、比較中の項目に対する値が指定された他の値を下回ること、比較中の項目がある特定の指定された数の項目の中で最も小さい値を有すること、または比較中の項目が指定された最低のパーセンテージ値内の値を有することを意味する。本明細書で使用される際に、閾値内であることは、比較中の項目に対する値が2つの指定された他の値の間にあること、比較中の項目が指定された数の項目の中間にあること、または比較中の項目が中間の指定されたパーセンテージ範囲内の値を有することを意味する。高いまたは重要ではないなどの相対的な用語は、別段定義されない時、値を割り当て、かつその値が確立された閾値とどのように比較されるかを決定するものと理解可能である。例えば、語句「速い接続を選択すること」は、その接続速度に対応して割り当てられた値を有し、その割り当てられた値が閾値を超える接続を選択することを意味するように理解可能である。
【0113】
本明細書で使用される際、「または」という語は、一連の項目の任意の可能な置換を指す。例えば、「A、BまたはC」という語句は、A;B;C;AおよびB;AおよびC;BおよびC;A、B、およびC;またはAおよびA;B、B、およびC;A、A、B、C、およびCなどの複数の任意の項目のいずれかなど、A、B、Cの少なくとも1つ、またはこれらの任意の組み合わせを指す。
【0114】
構造上の特徴および/または方法論的動作に特有の言語で主題について説明してきたが、添付の特許請求の範囲で定義される主題が必ずしも上述される具体的な特徴または動作に限定されないことは理解されたい。具体的な実施形態および実装形態が例示の目的で本明細書に説明されているが、実施形態および実装形態の範囲から逸脱することなく、様々な修正がなされ得る。上述される具体的な特徴および動作は、以下に続く特許請求の範囲を満たす例示の形態として開示される。それ故に、実施形態および実装形態は、添付の特許請求の範囲によって限定される場合を除いて限定されない。
【0115】
上で述べられるいずれの特許、特許出願、および他の参考文献も、参照により本明細書に組み込まれる。必要に応じて、上述される様々な参考文献のシステム、機能、および概念を用いてさらなる実装形態を提供するために態様が修正され得る。参照により組み込まれる文献の記述または主題が本出願の記述または主題と矛盾する場合、本出願が優先されるものとする。
【外国語明細書】