JP2024001004A - 情報処理システム、情報処理方法、及びプログラム - Google Patents

情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2024001004A
JP2024001004A JP2023116575A JP2023116575A JP2024001004A JP 2024001004 A JP2024001004 A JP 2024001004A JP 2023116575 A JP2023116575 A JP 2023116575A JP 2023116575 A JP2023116575 A JP 2023116575A JP 2024001004 A JP2024001004 A JP 2024001004A
Authority
JP
Japan
Prior art keywords
control
avatars
setting value
avatar
control parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023116575A
Other languages
English (en)
Inventor
暁彦 白井
Akihiko Shirai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GREE Inc
Original Assignee
GREE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GREE Inc filed Critical GREE Inc
Priority to JP2023116575A priority Critical patent/JP2024001004A/ja
Publication of JP2024001004A publication Critical patent/JP2024001004A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 仮想空間内におけるアバターの動き等を適切に制御する。【解決手段】 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、設定変化処理部により設定値が変化された場合に、変化後の設定値に基づいて、複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含む、情報処理システムが開示される。【選択図】 図23

Description

本開示は、情報処理システム、情報処理方法、及びプログラムに関する。
仮想空間内におけるアバター間の位置関係を制御する技術が知られている。
特開2021-068269号公報
しかしながら、上記のような従来技術では、仮想空間内におけるアバターの動き等を適切に制御することが難しい。
そこで、1つの側面では、本発明は、仮想空間内におけるアバターの動き等を適切に制御することを目的とする。
1つの側面では、3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、前記設定変化処理部は、前記3次元の仮想空間に係る情報処理の処理負荷が第1所定閾値以上である場合に、前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システムが提供される。
1つの側面では、本発明によれば、仮想空間内におけるアバターの動き等を適切に制御することが可能となる。
本実施形態に係る仮想現実生成システムのブロック図である。 ヘッドマウントディスプレイを介して視認可能な端末用画像の説明図である。 ジェスチャによる操作入力の説明図である。 仮想現実生成システムにより生成可能な仮想空間の一例の説明図である。 アバター間の近接態様の説明図である。 アバター間の近接態様の説明図である。 アバター間の近接/衝突制御に関連した説明図である。 アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の一例の説明図である。 アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の他の一例の説明図である。 ある2つのアバターの間の距離の変化態様の一例に基づくアバター間の近接/衝突制御の実行条件に関する説明図である。 アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の一例の説明図である。 アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の他の一例の説明図であり、ある3時点での制御フラグのオン/オフ状態を示す表図である。 アバター間ごとに制御フラグが対応付けられる場合の説明図である。 特定の空間部に係る混雑度合いに応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。 サーバ装置の処理負荷に応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。 各アバターの行動属性又は動作モードに応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。 各アバターの移動可能な領域の設定に関連した説明図である。 各アバターの移動可能な領域の設定に関連した説明図である。 各アバターの移動領域制御に係る移動コストの値の動的な切り替え方法の一例の説明図である。 特定の店舗前の領域における行列形成態様(行列形成前)を示す図である。 特定の店舗前の領域における行列形成態様(行列形成時)を示す図である。 各アバターの移動領域制御に係る移動コストの値の動的な切り替え方法の他の一例の説明図である。 アバターの移動経路ごとの移動コストの説明図である。 アバター間の近接/衝突制御と移動領域制御とに関連したサーバ装置の機能を示す概略的なブロック図である。 ユーザ情報記憶部内のデータの一例を示す説明図である。 アバター情報記憶部内のデータの一例を示す説明図である。 アバター間の近接/衝突制御に関連してサーバ装置により実行されてよい処理の一例を示すフローチャートである。 図26のステップS2624で実行されるアバター間の近接/衝突制御の一例を示す概略的なフローチャートである。
以下、添付図面を参照しながら各実施形態について詳細に説明する。なお、添付図面では、見易さのために、複数存在する同一属性の部位には、一部のみしか参照符号が付されていない場合がある。
図1を参照して、本発明の一実施形態に係る仮想現実生成システム1の概要について説明する。図1は、本実施形態に係る仮想現実生成システム1のブロック図である。図2は、ヘッドマウントディスプレイを介して視認可能な端末用画像の説明図である。
仮想現実生成システム1は、サーバ装置10と、1つ以上の端末装置20と、を備える。図1では簡便のため、3つの端末装置20を図示しているが、端末装置20の数は2つ以上であればよい。
サーバ装置10は、例えば1つ以上の仮想現実を提供する運営者が管理するサーバ等の情報処理システムである。端末装置20は、例えば携帯電話、スマートフォン、タブレット端末、PC(Personal Computer)、ヘッドマウントディスプレイ、又はゲーム装置等の、ユーザによって使用される装置である。端末装置20は、典型的にはユーザごとに異なる態様で、複数がサーバ装置10にネットワーク3を介して接続されうる。
端末装置20は、本実施形態に係る仮想現実アプリケーションを実行可能である。仮想現実アプリケーションは、ネットワーク3を介してサーバ装置10や所定のアプリケーション配信サーバから端末装置20に受信されてもよく、あるいは端末装置20に備えられた記憶装置又は端末装置20が読取可能なメモリカード等の記憶媒体にあらかじめ記憶されていてもよい。サーバ装置10及び端末装置20は、ネットワーク3を介して通信可能に接続される。例えば、サーバ装置10及び端末装置20が協動して、仮想現実に関する多様な処理を実行する。
各端末装置20は、サーバ装置10を介して互いに通信可能に接続されている。なお、以下では、「一の端末装置20が情報を他の端末装置20に送信する」とは、「一の端末装置20が情報をサーバ装置10を介して他の端末装置20に送信する」ことを意味する。同様に、「一の端末装置20が情報を他の端末装置20から受信する」とは、「一の端末装置20が情報をサーバ装置10を介して他の端末装置20から受信する」ことを意味する。ただし、変形例では、各端末装置20は、サーバ装置10を介さずに通信可能に接続されてもよい。
なお、ネットワーク3は、無線通信網や、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでよい。
以下では、仮想現実生成システム1が、情報処理システムの一例を実現するが、特定の一の端末装置20の各要素(図1の端末通信部21から端末制御部25参照)が、情報処理システムの一例を実現してもよいし、複数の端末装置20が、協動して情報処理システムの一例を実現してもよい。また、サーバ装置10が単独で、情報処理システムの一例を実現してもよいし、サーバ装置10と1つ以上の端末装置20が、協動して情報処理システムの一例を実現してもよい。
ここで、本実施形態に係る仮想現実の概要について説明する。本実施形態に係る仮想現実は、例えば教育、旅行、ロールプレイング、シミュレーション、ゲームやコンサートのようなエンターテイメント等、任意の現実に対する仮想現実等であって、仮想現実の実行に伴い、アバターのような仮想現実媒体が用いられる。例えば、本実施形態に係る仮想現実は、3次元の仮想空間と、当該仮想空間内に登場する各種の仮想現実媒体と、当該仮想空間内で提供される各種のコンテンツとにより実現されてよい。
仮想現実媒体は、仮想現実に使用される電子データであり、例えば、カード、アイテム、ポイント、サービス内通貨(又は仮想現実内通貨)、トークン(例えばNon-Fungible Token(NFT))、チケット、キャラクタ、アバター、パラメータ等、任意の媒体を含む。また、仮想現実媒体は、レベル情報、ステータス情報、パラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョブ等)のような、仮想現実関連情報であってもよい。また、仮想現実媒体は、ユーザによって仮想現実内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る電子データであるが、仮想現実媒体の利用態様は本明細書で明示されるものに限られない。
なお、アバターは、典型的には、正面方向を有するキャラクタの形態であり、人や動物又はその類の形態を有してよい。アバターは、各種アバターアイテムに対応付けられることで、多様な容姿(描画されたときの容姿)を有することができる。また、以下では、アバターの性質上、ユーザとアバターとは同一視して説明する場合がある。従って、例えば、「一のアバターが〇〇する」は、「一のユーザが〇〇する」と同義である場合がある。
ユーザは、頭部又は顔の一部に装着型装置を装着し、当該装着型装置を介して仮想空間を視認してよい。なお、装着型装置は、ヘッドマウントディスプレイやメガネ型装置であってもよい。メガネ型装置は、いわゆるAR(Augmented Reality)グラスやMR(Mixed Reality)グラスであってよい。いずれの場合でも、装着型装置は、端末装置20とは別であってもよいし、端末装置20の一部又は全部の機能を実現してもよい。端末装置20は、ヘッドマウントディスプレイにより実現されてよい。
(サーバ装置の構成)
サーバ装置10の構成について具体的に説明する。サーバ装置10は、サーバコンピュータにより構成される。サーバ装置10は、複数台のサーバコンピュータにより協動して実現されてもよい。例えば、サーバ装置10は、各種のコンテンツを提供するサーバコンピュータや、各種の認証サーバを実現するサーバコンピュータ等により協動して実現されてもよい。また、サーバ装置10は、Webサーバを含んでよい。この場合、後述する端末装置20の機能の一部は、Webサーバから受領したHTML文書やそれに付随する各種プログラム(Javascript)をブラウザが処理することによって実現されてもよい。
サーバ装置10は、図1に示すように、サーバ通信部11と、サーバ記憶部12と、サーバ制御部13と、を備える。
サーバ通信部11は、外部装置と無線又は有線によって通信し、情報の送受信を行うインターフェースを含む。サーバ通信部11は、例えば無線LAN(Local Area Network)通信モジュール又は有線LAN通信モジュール等を含んでもよい。サーバ通信部11は、ネットワーク3を介して、端末装置20との間で情報を送受信可能である。
サーバ記憶部12は、例えば記憶装置であって、仮想現実に係る各種処理に必要な種々の情報及びプログラムを記憶する。
サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むことにより特定の機能を実現するCPU(Central Processing Unit)や、GPU(Graphics Processing Unit)等を含んでよい。例えばサーバ制御部13は、端末装置20と協動して、ユーザ入力に応じて仮想現実アプリケーションを実行する。
(端末装置の構成)
端末装置20の構成について説明する。図1に示すように、端末装置20は、端末通信部21と、端末記憶部22と、表示部23と、入力部24と、端末制御部25とを備える。
端末通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うインターフェースを含む。端末通信部21は、例えばLTE(Long Term Evolution)(登録商標)や、LTE-A(LTE-Advanced)、第五世代移動通信システム、UMB(Ultra Mobile Broadband)等のモバイル通信規格に対応する無線通信モジュール、無線LAN通信モジュール、又は有線LAN通信モジュール等を含んでもよい。端末通信部21は、ネットワーク3を介して、サーバ装置10との間で情報を送受信可能である。
端末記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば端末記憶部22は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。端末記憶部22は、サーバ装置10から受信する、仮想現実の処理に用いられる種々の情報及びプログラムを記憶する。仮想現実の処理に用いられる情報及びプログラムは、端末通信部21を介して外部装置から取得されてもよい。例えば、仮想現実アプリケーションプログラムが、所定のアプリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを、単にアプリケーションともいう。
また、端末記憶部22は、仮想空間を描画するためのデータ、例えば建物のような屋内の空間や、屋外の空間の画像等を記憶してよい。なお、仮想空間を描画するためのデータは、仮想空間ごとに複数種類用意され、使い分けられてもよい。
また、端末記憶部22は、3次元の仮想空間内に配置された種々のオブジェクトに投影(テクスチャマッピング)するための種々の画像(テクスチャ画像)を記憶してよい。
例えば、端末記憶部22は、各ユーザに対応付けられる仮想現実媒体としてのアバターに係るアバター描画情報を記憶する。仮想空間内のアバターは、当該アバターに係るアバター描画情報に基づいて描画される。
また、端末記憶部22は、例えば各種のギフトオブジェクト、建物、壁、又はNPC(Non Player Character)等のような、アバターとは異なる各種のオブジェクト(仮想現実媒体)に係る描画情報を記憶する。仮想空間内に各種のオブジェクトは、かかる描画情報に基づいて描画される。なお、ギフトオブジェクトとは、一のユーザから他のユーザへのギフト(贈り物)に対応するオブジェクトであり、アイテムの一部である。ギフトオブジェクトは、アバターの身に着用するもの(服やアクセサリー)や装飾するもの(花火やお花等)、背景(壁紙)又はその類や、ガチャ(抽選)を回すことのできるチケット又はその類であってよい。なお、本件出願において用いられる「ギフト」という用語は、「トークン(token)」という用語と同様の概念を意味する。したがって、「ギフト」という用語を「トークン(token)」という用語に置き換えて、本件出願に記載された技術を理解することも可能である。
表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示可能である。表示部23は、例えばタッチパネルで構成され、多様なユーザ操作を検出するインターフェースとして機能する。なお、表示部23は、上述したように、ヘッドマウントディスプレイに内蔵される形態であってよい。
入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイスをはじめとする任意の入力インターフェースを更に含んでもよい。また、入力部24は、音声入力やジェスチャ入力、視線入力のような、非接触型のユーザ入力を受付可能であってもよい。なお、ジェスチャ入力には、ユーザの各種状態を検出するためのセンサ(画像センサや、加速度センサ、距離センサ等)や、センサ技術やカメラを統合した専用モーションキャプチャー、ジョイパッドのようなコントローラ等が利用されてもよい。また、視線検出用のカメラは、ヘッドマウントディスプレイ内に配置されてもよい。なお、上述したように、ユーザの各種状態は、例えばユーザの向きや位置、動き又はその類であり、この場合、ユーザの向きや位置、動きとは、ユーザの顔や手等の身体の一部や全部の向き、位置、動きのみならず、ユーザの視線の向き、位置、動き又はその類を含む概念である。
なお、ジェスチャによる操作入力は、仮想カメラの視点の変更に利用されてもよい。例えば、図3に模式的に示すように、自ユーザが、端末装置20を手で持ちながら、端末装置20の向きを変化させると、その方向に応じて、仮想カメラの視点が変化されてもよい。この場合、スマートフォンのような比較的小さい画面の端末装置20を利用する場合でも、ヘッドマウントディスプレイを介して周囲を見渡せるのと同様の態様で視認領域の広さを確保できる。
端末制御部25は、1つ以上のプロセッサを含む。端末制御部25は、端末装置20全体の動作を制御する。
端末制御部25は、端末通信部21を介して情報の送受信を行う。例えば、端末制御部25は、仮想現実に係る各種処理に用いられる種々の情報及びプログラムを、サーバ装置10及び他の外部サーバの少なくとも一方から受信する。端末制御部25は、受信した情報及びプログラムを、端末記憶部22に記憶する。例えば、端末記憶部22には、Webサーバに接続するためのブラウザ(インターネットブラウザ)が格納されてよい。
端末制御部25は、ユーザの操作に応じて仮想現実アプリケーションを起動する。端末制御部25は、サーバ装置10と協動して、仮想現実に係る各種処理を実行する。例えば、端末制御部25は、仮想空間の画像を表示部23に表示させる。画面上には、例えばユーザ操作を検出するGUI(Graphic User Interface)が表示されてもよい。端末制御部25は、入力部24を介して、ユーザ操作を検出可能である。例えば端末制御部25は、ユーザのジェスチャによる各種操作(タップ操作、ロングタップ操作、フリック操作、及びスワイプ操作等に対応する操作)を検出可能である。端末制御部25は、操作情報をサーバ装置10に送信する。
端末制御部25は、仮想空間(画像)とともにアバター等を描画し、端末用画像を表示部23に表示させる。この場合、例えば、図2に示すように、左右の目でそれぞれ視認される画像G200、G201を生成することで、ヘッドマウントディスプレイ用の立体視画像を生成してよい。図2には、左右の目でそれぞれ視認される画像G200、G201が模式的に示されている。なお、以下では、特に言及しない限り、仮想空間の画像とは、画像G200、G201で表現される画像全体を指す。また、端末制御部25は、例えばユーザによる各種操作に応じて、仮想空間内においてアバターの各種動き等を実現させる。
なお、以下で説明する仮想空間は、ヘッドマウントディスプレイ又はその類を利用して視認可能な没入型の空間であってユーザがアバターを介して自由に(現実と同様に)動き回ることができる連続性のある3次元的な空間のみならず、図3を参照して上述したようなスマートフォン又はその類を利用して視認可能な非没入型の空間をも含む概念である。なお、スマートフォン又はその類を利用して視認可能な非没入型の空間は、アバターを介して自由に動き回ることができる連続性のある3次元的な空間であってもよいし、2次元的な不連続な空間であってもよい。以下、区別するときは、ユーザがアバターを介して自由に動き回ることができる連続性のある3次元的な空間を、「メタバース空間」とも称する。
図4は、仮想現実生成システムにより生成可能な仮想空間の一例の説明図である。
図4に示す例では、仮想空間は、複数の空間部70と、フリー空間部71とを備えている。フリー空間部71では、アバターは、基本的に自由に移動できる。
空間部70は、フリー空間部71に対して少なくとも一部が壁体(後述する所定オブジェクトの例)や移動禁止部(後述する所定オブジェクトの例)により隔てられた空間部であってよい。例えば、空間部70は、フリー空間部71に対してアバターが出入りできる出入口(例えば、穴や、ドア等の所定オブジェクト)を有してよい。なお、図4では、空間部70及びフリー空間部71を2次元平面として描画しているが、空間部70及びフリー空間部71は3次元空間として設定されてもよい。例えば、空間部70及びフリー空間部71は、図4に示す平面形状を床として対応する範囲に壁や天井を有する空間でもよい。また、図4に示す例とは別に、ドーム型や球状などの高さを有する空間や、ビルなどの建造物、地球上の特定の場所のほか、アバターが飛び回れる宇宙空間などを模したワールドとしてもよい。
ところで、メタバース空間においては、多くのアバターが自由に動き回ることができるので、複数のアバター間の近接や衝突が生じうる。この点、図5A及び図5Bに模式的に示すようなアバター間の近接(接触を含む)は、アバター間の交流を促進する点で有利な反面、アバター同士のトラブルを誘起するおそれもある。
この点、メタバース空間においては、複数のアバター間の近接又は衝突を制御すること(以下、「アバター間の近接/衝突制御」とも称する)が有効となる。例えば、この種のアバター間の近接/衝突制御としては、図6に模式的に上面視で示すように、アバターAとアバターBとの間の距離Lが、閾値となる所定距離L以下である場合に、アバターAとアバターBとの間の更なる近接を抑制するために、反発力Fを発生させる制御や、仮想的な壁(見えない壁)等を配置する制御等が考えられる。
しかしながら、この種の制御(複数のアバター間の近接又は衝突に係る制御)は、多数のアバター間で距離L等を監視する必要があることから、処理負荷が高くなりやすい。
そこで、本実施形態の第1の側面は、以下で詳説するように、アバター間の近接/衝突制御を効率的に実現するものである。
なお、アバターAとアバターBとの間の距離Lは、各アバターの中心(例えば重心)のような代表位置同士の距離(2次元平面に投映した際の2位置間距離又はユークリッド距離)として算出されてもよいし、各アバターを覆う仮想的なカプセル同士の最短距離(最短のユークリッド距離)として算出されてもよい。この場合、仮想的なカプセルは、一のアバターに対して1つだけ設定されてもよいし、例えば頭部、腕部、胴部等ごとのような、より細かい粒度の部位ごとに設定されてもよい。この場合、例えばアバターが手を伸ばして他のアバターに触れる場合でも、当該接触を検出できる。
なお、メタバース空間においては、アバターと、アバター以外のオブジェクトとの間の近接や衝突が生じうり、この場合も、アバター間の近接/衝突制御と同様の制御が適用可能である。
図7は、アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の一例の説明図であり、ある2時点(時点t1及び時点t2)での制御フラグのオン/オフ状態を示す表図である。制御フラグがオン状態であるときは、アバター間の近接/衝突制御がオン状態となり、制御フラグがオフ状態であるときは、アバター間の近接/衝突制御がオフ状態となる。アバター間の近接/衝突制御のオン状態では、アバター間の近接/衝突制御が実行可能となり、アバター間の近接/衝突制御のオフ状態では、アバター間の近接/衝突制御が実行不能となる。
図7に示す例では、空間IDごとに制御フラグ(第1制御パラメータの一例)の設定値が対応付けられている。この場合、空間IDは、図4に示したような空間部70やフリー空間部71のそれぞれに対して付与される識別子であってよい。
図7に示す例では、時点t1では、空間ID“001”や“002”等に対して制御フラグが“オン”(第2設定値の一例)であるのに対して、時点t2では、空間ID“001”や“002”等に対して制御フラグが“オフ”(第1設定値の一例)である。従って、空間ID“001”や“002”等に対応付けられている空間部において、時点t1では、アバター間の近接/衝突制御が実行されうるのに対して、時点t2では、アバター間の近接/衝突制御が実行されることがない。
このようにして、本実施形態によれば、制御フラグの設定値(オン/オフ状態)を動的に変化させることで、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることができる。特に、図7に示す例によれば、空間IDごとに対応付けられた制御フラグの設定値(オン/オフ状態)を動的に変化させることで、空間部ごとに、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることができる。従って、例えば、サーバ装置10の処理負荷が閾値負荷(第1所定閾値の一例)以上になった場合に、時点t2の状態のように、複数の空間部での、アバター間の近接/衝突制御をオフすることで、サーバ装置10の処理負荷の低減を図ることができる。
なお、図7に示す例では、空間IDごとに制御フラグの設定値が対応付けられているので、ある時点で、一部の空間部では、アバター間の近接/衝突制御がオンであるのに対して、他の空間部では、アバター間の近接/衝突制御がオフである状態も形成できる。従って、図7に示す例では、空間部の種類や属性、現状(例えばアバターの混雑度合い)等に応じて、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることも可能となる。
図8は、アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の他の一例の説明図であり、ある3時点(時点t10から時点t12)での制御フラグのオン/オフ状態を示す表図である。
図8に示す例では、時点t10や時点t11では、空間ID“001”や“002”等に対して制御フラグが“オン”であるのに対して、時点t12では、空間ID“001”や“002”等に対して制御フラグが“オフ”である。従って、空間ID“001”や“002”等に対応付けられている空間部では、時点t10や時点t11では、アバター間の近接/衝突制御が実行されうるのに対して、時点t12では、アバター間の近接/衝突制御が実行されることがない。
また、図8に示す例では、時点t10及び時点t11では、制御フラグがともに“オン”であるものの、時点t10及び時点t11では、図6を参照して上述した閾値(アバター間の近接/衝突制御に係る閾値)となる所定距離Lが、異なる値に設定されている。具体的には、時点t10では、所定距離L=D1であるのに対して、時点t11では、所定距離L=D2である。この場合、距離D1と距離D2は互いに有意に異なる。従って、図8に示す例では、時点t10及び時点t11では、アバター間の近接/衝突制御が実行されうるものの、時点t10及び時点t11では、アバター間の近接/衝突制御の実行条件が異なる。例えば、距離D2<距離D1であるとすると、時点t11では、時点t10よりも、アバター間の近接/衝突制御が実行され難くなる。
図9には、横軸に時間を取り、縦軸に距離L(アバター間距離)を取り、ある2つのアバター(例えば図6に示したアバターAとアバターB)の間の距離Lの変化態様の一例を示す時系列波形1400が示されている。なお、時系列波形1400は、時点t20から時点t21までの期間にわたる波形であるとする。図9には、時系列波形1400に対して、距離D1及び距離D2が示されている。
時点t20から時点t21までの期間にわたって、上述した時点t10の状態(制御フラグ=オン、かつ、所定距離L=D1)が維持されている場合には、時系列波形1400は、距離D1を下回らないが、制御フラグがオフ状態でアバター間の近接/衝突制御が実行されない場合には、時系列波形1400は、2回、距離D1を下回ることになる。従って、この場合、時点t20から時点t21までの期間中、2回、アバター間の近接/衝突制御のうちの、アバター間の距離を強制的に増加させるための制御(例えば、上述した反発力Fを発生させる制御等)が実行される。これに対して、時点t20から時点t21までの期間にわたって、上述した時点t11の状態(制御フラグ=オン、かつ、所定距離L=D2)が維持されている場合には、時系列波形1400は、距離D2を下回らないが、制御フラグがオフ状態でアバター間の近接/衝突制御が実行されない場合には、時系列波形1400は、1回、距離D2を下回ることになる。従って、この場合、時点t20から時点t21までの期間中、1回、アバター間の近接/衝突制御のうちの、アバター間の距離を強制的に増加させるための制御(例えば、上述した反発力Fを発生させる制御等)が実行される。このように、所定距離Lは、小さくなるほど、アバター間の近接/衝突制御のうちの、アバター間の距離を強制的に増加させるための制御が実行され難くなる。このように、所定距離L=D1及び/又は所定距離L=D2となる時点tで制御フラグがオンに切り替わり、所定距離L>D1及び/又は所定距離L>D2となる時点tで制御フラグがオフに切り替わる。
アバター間に発生させる反発力Fとしては、お互いの距離D1,D2を侵食しないルールによっても実装できる。例えば、上述した反発力Fを発生させる制御としては、2点間の距離に応じて反発力を増加させる力学上の「ばねモデル」が利用されてもよい。ただし、「ばねモデル」の場合、距離D1,D2が極端に小さいときや、ネットワークの遅延が大きいときに、制御が難しくなるような状況もあり得る。さらに、多数の「ばねモデル」が設けられると、モデル同士の反発によって振動が発生するような状況もあり得る。そのような場合には、「ばねモデル」に代えて、「ダンパーモデル」や「ばね・ダンパーモデル」が利用されてもよい。このような力学上のモデルを利用する場合、必要に応じて、各アバターの重さや装備の重量についても考慮に入れることができることから、重いアバターや大きなアバターが動きづらいといったような表現への利用も可能となる。なお、これらの力学上のモデルを利用する場合、衝突して離れたときに慣性を生じさせないでそれ以上距離を変動させないとか、また、アバター同士のめり込みを発生させないように考慮される。
このようにして、図8に示す例によれば、例えば、サーバ装置10の処理負荷の増加に応じて、アバター間の近接/衝突制御を段階的に制限できる。例えば、サーバ装置10の処理負荷が、第1閾値負荷以上になった場合に、時点t11の状態のように、アバター間の近接/衝突制御が実行され難くし、サーバ装置10の処理負荷が、第1閾値負荷よりも有意に高い第2閾値負荷以上になった場合に、時点t12の状態のように、アバター間の近接/衝突制御をオフしてよい。この場合、サーバ装置10の処理負荷の増加に応じて、サーバ装置10の処理負荷の低減を図ることができる。
なお、図7から図9を参照して説明した例では、空間部ごとに制御フラグの設定値が対応付けられているが、制御フラグの設定値が対応付けられる空間部の粒度は任意であり、任意の態様で、仮想空間内の位置に対応付けられてよい。また、制御フラグの設定値が対応付けられる位置の単位(空間部の粒度)は、動的に変化されてもよい。また、空間部ごとに制御フラグの設定値が対応付けられるのに代えて、等価的に、領域ごとに制御フラグの設定値が対応付けられてもよい。例えば、特定の店舗(メタバース内の店舗)前の領域や広場等に制御フラグを対応付けてもよく、この場合、特定の店舗前の領域や広場等での混雑度合い等を、動的に調整することが可能となる。なお、空間部や領域は、位置の集合であり、従って、一の空間部又は領域に制御フラグの設定値が対応付けられている状態は、当該一の空間部又は領域に含まれる各位置に制御フラグの設定値が対応付けられている状態と等価である。
図10は、アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の更なる他の一例の説明図であり、ある2時点(時点t31及び時点t32)での制御フラグのオン/オフ状態を示す表図である。
図10に示す例では、アバターごとに制御フラグの設定値が対応付けられており、時点t31では、アバターID“001”や“002”等に対して制御フラグが“オン”であるのに対して、時点t32では、アバターID“001”や“002”等に対して制御フラグが“オフ”である。従って、アバターID“001”や“002”等に対応付けられているアバターに対して、時点t31では、アバター間の近接/衝突制御が実行されうるのに対して、時点t32では、アバター間の近接/衝突制御が実行されることがない。
このようにして、本実施形態によれば、制御フラグの設定値(オン/オフ状態)を動的に変化させることで、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることができる。特に、図10に示す例によれば、アバターIDごとに対応付けられた制御フラグの設定値(オン/オフ状態)を動的に変化させることで、アバターごとに、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることができる。従って、例えば、サーバ装置10の処理負荷が閾値負荷以上になった場合に、時点t32の状態のように、特定のアバターに関してアバター間の近接/衝突制御をオフすることで、サーバ装置10の処理負荷の低減を図ることができる。
なお、図10に示す例では、アバターごとに制御フラグの設定値が対応付けられているので、ある時点で、一部のアバターに対しては、アバター間の近接/衝突制御がオンであるのに対して、他のアバターに対しては、アバター間の近接/衝突制御がオフである状態も形成できる。従って、図10に示す例では、アバターの種類や属性等に応じて、アバター間の近接/衝突制御のオン又はオフ状態を動的に変化させることも可能となる。
図11は、アバター間の近接/衝突制御に係る制御フラグの設定値(オン/オフ状態)の動的な切り替え方法の更なる他の一例の説明図であり、ある3時点(時点t40から時点t42)での制御フラグのオン/オフ状態を示す表図である。
図11に示す例では、時点t40や時点t41では、アバターID“001”や“002”等に対して制御フラグが“オン”であるのに対して、時点t42では、アバターID“001”や“002”等に対して制御フラグが“オフ”である。従って、アバターID“001”や“002”等に対応付けられているアバターに対して、時点t40や時点t41では、アバター間の近接/衝突制御が実行されうるのに対して、時点t42では、アバター間の近接/衝突制御が実行されることがない。
また、図11に示す例では、時点t40及び時点t41では、制御フラグがともに“オン”であるものの、時点t40及び時点t41では、図6を参照して上述した閾値(アバター間の近接/衝突制御に係る閾値)となる所定距離Lが、異なる値に設定されている。具体的には、時点t40では、所定距離L=D1であるのに対して、時点t41では、所定距離L=D2である。この場合、例えば、図8及び図9を参照して上述した場合と同様に、距離D2<距離D1であるとすると、時点t41では、時点t40よりも、アバター間の近接/衝突制御が実行され難くなる。
このようにして、図11に示す例によれば、例えば、サーバ装置10の処理負荷の増加に応じて、アバター間の近接/衝突制御を段階的に制限できる。例えば、サーバ装置10の処理負荷が、第1閾値負荷以上になった場合に、時点t41の状態のように、アバター間の近接/衝突制御が実行され難くし、サーバ装置10の処理負荷が、第1閾値負荷よりも有意に高い第2閾値負荷以上になった場合に、時点t42の状態のように、アバター間の近接/衝突制御をオフしてよい。この場合、サーバ装置10の処理負荷の増加に応じて、サーバ装置10の処理負荷の低減を図ることができる。
ところで、図10及び図11に示す例では、アバターごとに制御フラグの設定値が対応付けられているが、アバター間ごとに、制御フラグの設定値が対応付けられてもよい。図12は、アバター間ごとに制御フラグの設定値が対応付けられる場合の説明図である。
図12に示す例では、特定の一のアバター(ここでは、アバターID“001”のアバターA)に関する。図12には、当該特定の一のアバターを基準とした他のアバターとの間の関係について、制御フラグの設定値(オン/オフ状態)の状態の一例が表図(上側)で示されている。また、図12には、下側に、上側の表図の説明図が併せて示されている。ここでは、アバターID“002”、“003”、“004”の各アバターを、それぞれ、アバターB、C、Dとする。
図12に示す例では、アバターAは、アバターB、アバターCに対しては制御フラグがオンであり、アバターDに対して制御フラグがオフに設定されている。この場合、アバターAとアバターB又はアバターCとの間では、制御フラグが“オン”であるのに対して、アバターAとアバターDとの間では、制御フラグが“オフ”である。従って、この場合、アバターAとアバターB又はアバターCとの間では、アバター間の近接/衝突制御が実行されうるのに対して、アバターAとアバターDとの間では、アバター間の近接/衝突制御が実行されることがない。
このようにして図12に示す例によれば、アバター間ごとに制御フラグの設定値が対応付けられているので、あるアバター間に対しては、アバター間の近接/衝突制御がオンであるのに対して、他のアバター間に対しては、アバター間の近接/衝突制御がオフである状態も形成できる。従って、例えば、図12に示す例では、アバターAとアバターDとが友人関係である場合において、アバター間の近接/衝突制御に起因してアバターAとアバターDとの間の交流(例えば、図5Aや図5Bに示したような接近態様)が阻害されてしまう不都合を低減できる。
なお、図12に示す例では、所定距離Lについては一定であるが、図11等で示したように、アバター間ごとに、所定距離Lが異ならせることが可能であってもよい。また、図12に示す例において、アバター間ごとに制御フラグのオン/オフ状態は、図7や図8等を参照して上述したように、動的に変化されてもよい。
次に、図13から図15を参照して、制御フラグの設定値(オン/オフ状態)の動的な変化方法の好ましい例について説明する。
制御フラグの設定値(オン/オフ状態)の動的な変化方法は、任意であるが、制御フラグのオン/オフ状態は、サーバ装置10の処理負荷、空間部の混雑度合い(アバターによる混雑度合い)、アバター自体の属性、アバターの行動属性、動作モード等のような、多様なパラメータに基づいて変化されてもよい。
図13は、特定の空間部70に係る混雑度合いに応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。図13には、横軸に時間を取り、縦軸に特定の空間部70内の人数(アバターの数)を取り、特定の空間部70内のアバターの数の時系列波形が示されている。空間部70の混雑度合いは、サーバ装置10への接続セッション数のほかに、描画する空間部70に対するレンダリングコスト、空間部70の狭さ(狭い通路のような空間部70は衝突しやすい)、アバターの意思とは別に動く髪や着用物である服などの柔軟物体の物理シミュレーションの計算量、個々のアバターの移動速度の積分(速く動くアバターほど衝突しやすい)などによって、評価されてよい。
この場合、例えば、特定の空間部70内のアバターの数が、特定の空間部70に対してあらかじめ設定されている閾値人数を超えた場合に、特定の空間部70に係る空間IDに対応付けられている制御フラグがオンとされてもよい。すなわち、特定の空間部70内のアバターの数が閾値人数以下である場合は、制御フラグがオフとなり、アバター間の近接/衝突制御が実行されることがない。他方、特定の空間部70内のアバターの数が閾値人数を超えた場合は、制御フラグがオンとなり、アバター間の近接/衝突制御が実行されうる。これにより、特定の空間部70内のアバターの数が過大となる不都合を低減できる。なお、図13に示す例では、例えば、閾値人数=65人に設定され、65人を超えた時点から、アバターの数の急増が抑制されている。
なお、閾値人数は、特定の空間部70のサイズや属性等に応じて適宜設定されてよいし、動的に変化されてもよい。例えば、閾値人数は、特定の空間部70のサイズが大きいほど大きく設定されてもよい。また、特定の空間部70がイベント会場である場合、閾値人数が大きく設定され、特定の空間部70が会議室である場合、閾値人数が比較的小さく設定されてもよい。また、閾値人数は、混雑が予想される時間帯だけ、他の時間帯よりも大きく設定されてもよい。
図14は、サーバ装置10の処理負荷に応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。図14には、横軸に時間を取り、縦軸にサーバ装置10の処理負荷の指標値を取り、サーバ装置10の処理負荷の指標値の時系列波形が示されている。なお、サーバ装置10の処理負荷の指標値は、CPU使用率や、メモリ使用量等を含んでよい。また、サーバ装置10の処理負荷の指標値は、ネットワーク3(伝送路)の通信能力に係る指標値として、スループットや、パケットロス、レイテンシ等を含んでよい。
この場合、例えば、サーバ装置10の処理負荷が閾値負荷を超えた場合に、制御フラグがオフとされてもよい。すなわち、サーバ装置10の処理負荷が閾値負荷を超えた場合は、制御フラグがオフとなり、アバター間の近接/衝突制御が実行されることがない。他方、サーバ装置10の処理負荷が閾値負荷を超えない場合は、制御フラグがオンとなり、アバター間の近接/衝突制御が実行されうる。これにより、サーバ装置10の処理負荷が比較的高い状況下でのアバター間の近接/衝突制御の実行に起因した不都合(例えば、サーバ装置10の処理負荷の更なる上昇)を低減できる。
図15は、各アバターの行動属性又は動作モードに応じて制御フラグのオン/オフ状態を動的に変化させる場合の説明図である。図15には、記念撮影スポットにて記念撮影をしている2人のアバターA及びアバターBが示されている。なお、図15において、G700で示す数字“1”は、記念撮影の際のカウントダウン(撮像タイミングまでのカウントダウン)を示している。
この場合、例えば、アバターA及びアバターBの行動属性又は動作モードが、集合イベントのための行動又は動作モードである場合、制御フラグがオフとされてもよい。これにより、アバターA及びアバターBの行動属性又は動作モードが、集合イベントのための行動又は動作モードである場合、アバター間の近接/衝突制御が実行されることがない。他方、アバターA及びアバターBの行動属性又は動作モードが、他の目的(例えば単なる移動)のための行動又は動作モードである場合、制御フラグがオンとされてもよい。これにより、メタバース空間を活性化させるような複数のアバターによる集合イベントが、アバター間の近接/衝突制御に起因して不適切に阻害される可能性を低減できる。
ところで、メタバース空間は、上述したように、多くのアバターが自由に動き回ることができる“仮想”空間であるものの、各アバターの移動可能な領域が無制限に設定されると、各アバターの動きを適切に制限できないおそれがある。
この点、メタバース空間においては、各アバターの移動可能な領域を制限する制御(以下、「各アバターの移動領域制御」又は単に「移動領域制御」)が有効となる。例えば、図16及び図17に模式的に上面視で示すように、メタバース空間内の空間部70(フリー空間部71も同様)における通路領域73の幅D7を制御する方法等が考えられる。なお、図16では、通路領域73の幅D7が、図17よりも小さくなるように制御(設定)されている。通路領域73の幅D7を小さくする制御は、実質的には、例えば通路領域73を通る際のアバターのコスト(以下、「移動コスト」とも称する)を、通路領域73の両側を通る際のアバターの移動コストよりも有意に小さくすることで実現されてもよい。例えば、図16に示す例では、領域SCHighは、アバターが通過する際の移動コストが比較的高い領域を表し、領域SCLowは、アバターが通過する際の移動コストが比較的低い領域を表す。
しかしながら、この種の制御(各アバターの移動領域制御)に係る制御パラメータ(例えば上述した移動コスト)が動的に変化されることなく固定されていると、各アバターの移動しやすさに係る利便性と、メタバース内での各種秩序(ルール)の確立との両立が難しくなる。例えば、ある人気のある店舗には、たくさんのアバターが来店するが、各アバター視点では、他のアバターの存在を無くしてダイレクトに当該店舗に辿り着けると便利であるが、店舗側又はメタバースの運営側の視点では、一定の秩序を持たせて各アバターの来店が実現される方が望ましい場合もある。例えば、当該店舗でのアバターの混雑度合い(アバターの密度)や順番待ちのアバターの行列などが適切に表現できれば、各種秩序(ルール)が明確になりやすくアバター同士の混乱等も生じ難い。
そこで、本実施形態の第2の側面は、以下で詳説するように、各アバターの移動領域制御を効果的に実現するものである。
図18は、各アバターの移動領域制御に係る移動コストの値の動的な切り替え方法の一例の説明図であり、ある2時点(時点t51及び時点t52)での移動コストの値を示す表図である。図19及び図20は、図18の説明図であり、特定の店舗(当該店舗に係るオブジェクトOB19参照)前の領域における行列形成態様を示す図である。
図18では、メタバース空間内の複数の領域のそれぞれに付与される領域IDごとに、移動コスト(第2制御パラメータの一例)の値が対応付けられている。一の領域に対応付けられている移動コストの値=w1であるときは、当該領域をアバターが通る際のコスト(通りがたさ)が比較的低いこと(すなわち比較的通りやすいこと)を表す。他方、一の領域に対応付けられている移動コストの値=w2であるときは、当該領域をアバターが通る際のコスト(通りがたさ)が比較的高いこと(すなわち比較的通りがたいこと)を表す。
なお、領域は、位置の集合であり、従って、一の領域に移動コストの設定値が対応付けられている状態は、当該一の領域に含まれる各位置に移動コストの設定値が対応付けられている状態と等価であってよい。また、領域に代えて空間部に移動コストの設定値が対応付けられてもよく、この場合も、一の空間部に移動コストの設定値が対応付けられている状態は、当該一の空間部に含まれる各位置に移動コストの設定値が対応付けられている状態と等価である。
図18に示す例における領域ID“001”、“002”及び“003”に係る領域2001、2002、2003は、例えば、図20に示すように、特定の店舗(当該店舗に係るオブジェクトOB19参照)の前の領域であって、行列を形成するための領域である。また、図18に示す例における領域ID“004”に係る領域は、他の周辺領域(特定の店舗の周辺領域)であってよい。なお、領域の分け方は、当該店舗のユーザ等によって、適宜、変更可能とされてもよい。
図18に示す例では、時点t51では、領域ID“001”から“004”に対して移動コストの値=w1が対応付けられているのに対して、時点t52では、領域ID“001”から“003”に対して移動コストの値=w2が対応付けられかつ“0040”に対して移動コストの値=w1が対応付けられている。ここで、移動コストの値w2は、移動コストの値w1よりも有意に高いとする。従って、領域ID“001”から“003”に対応付けられている各領域2001、2002、2003について、時点t51では、アバターは比較的通りやすいのに対して、時点t52では、アバターは通り難くなる。その結果、図20に示すように、特定の店舗(当該店舗に係るオブジェクトOB19参照)の前に、アバターの行列を形成することが可能となる。例えば、新たなお客であるアバターは、行列の最後尾に並び(矢印R21参照)、商品を購入したユーザは、出口側からスムーズに退出できる(矢印R22、R23参照)。この場合、上述したように、人気店等においても、一定の秩序で各アバターの来店態様を実現できる。また、周辺のアバターは、当該特定の店舗前に出来る行列を見て、人気がある店舗であることを容易に認識できる。
図21は、各アバターの移動領域制御に係る移動コストの値の動的な切り替え方法の他の一例の説明図であり、ある2時点(時点t61及び時点t62)での移動コストの値を示す表図である。図22は、図21の説明図であり、アバターの移動経路ごとの移動コストの説明図である。
図21に示す例では、時点t61では、領域ID“0010”から“0040”に対して移動コストの値=w1が対応付けられているのに対して、時点t62では、領域ID“0010”から“0030”に対して移動コストの値=w2が対応付けられかつ“0040”に対して移動コストの値=w1が対応付けられている。ここで、移動コストの値w2は、移動コストの値w1よりも有意に高いとする。領域ID“0010”から“0030”に対応付けられている各領域2021、2022、2023について、時点t61では、アバターは比較的通りやすいのに対して、時点t62では、アバターは通り難くなる。なお、領域ID“0040”は、各領域2021、2022、2023の周辺領域であるとする。
例えば、時点t62では、イベント等に起因して、各領域2021、2022、2023内のアバターの密度(混雑度合い)が増加しており、その結果、各領域2021、2022、2023が通り難くなる。例えば、各領域2021、2022、2023では、混雑しているがゆえに、アバター同士の接触(及びそれに伴うアバター間の近接/衝突制御による反発力Fの発動等)により、通過するのに時間がかかる傾向となる。この場合、図22に示す特定の空間部70(図22の星マーク付きの空間部70)を目的地とするアバターは、領域2021、2022、2023を通る移動経路R22、R23よりも、領域2021、2022、2023を通らない移動経路R21(領域ID“0040”に係る領域を通る移動経路R21)を利用するほうが、目的地に早く着くことができる。なお、この場合、移動経路R21、R22、R23を通過する場合の移動コストが、アバター(ユーザ)に出力され、アバターが選択した移動経路に沿った案内表示が出力されてもよい。このようにして、領域ごとの混雑度合いに応じて移動コストを動的に変化させることで、混雑度合いが不要に増強されてしまう可能性を低減しつつ、アバターの移動性を高めることができる。また、案内表示等によりアバターの利便性を高めることができる。
なお、図21では、動的に変化しうるアバターの密度(混雑度合い)が比較的高い領域に対して、比較的高い移動コストが対応付けられるが、これに限られない。例えば、アバターの密度(混雑度合い)が比較的高い領域であっても、当該領域に対応付けられている制御フラグがオフである場合、アバター間の近接/衝突制御による反発力Fの発動等が生じないため、比較的低い移動コストが対応付けられてもよい。
次に、図23以降を参照して、サーバ装置10の具体的な機能等について説明する。
図23は、上述したアバター間の近接/衝突制御と移動領域制御とに関連したサーバ装置10の機能を示す概略的なブロック図である。図24は、ユーザ情報記憶部152内のデータの一例を示す説明図である。図25は、アバター情報記憶部154内のデータの一例を示す説明図である。なお、図24及び図25において、「***」は、なんらかの情報が格納されている状態を示し、「・・・」は、同様の情報の格納の繰り返し状態を示す。なお、以下で説明するサーバ装置10の機能の一部又は全部は、適宜、端末装置20により実現されてもよい。
サーバ装置10は、設定状態記憶部150と、ユーザ情報記憶部152、及びアバター情報記憶部154とを含む。
設定状態記憶部150からアバター情報記憶部154の各記憶部は、図1に示したサーバ装置10のサーバ記憶部12により実現できる。なお、設定状態記憶部150からアバター情報記憶部154の各記憶部の分け方は、説明上の都合であり、一の記憶部内に記憶されるデータの一部又は全部が、他の記憶部内に記憶されてもよい。
設定状態記憶部150には、アバター間の近接/衝突制御に関連した設定状態と、各アバターの移動領域制御に関連した設定状態と、後述するアバター-オブジェクト間の近接/衝突制御に関連した設定状態とが記憶される。例えば、アバター間の近接/衝突制御に係る制御フラグのオン/オフ状態であって、上述したように空間部ごと及び/又はアバターごと等に対応付けられている制御フラグのオン/オフ状態が記憶される。また、各アバターの移動領域制御に係る移動コストの値であって、上述したように複数の領域のそれぞれごとに対応付けられている移動コストの値が記憶される。
ユーザ情報記憶部152には、ユーザ情報が格納される。図23に示す例では、ユーザ情報は、ユーザに係るユーザ情報600を含む。
ユーザ情報600は、各ユーザIDに、ユーザ名、ユーザ認証情報、アバターID、位置/向き情報、フレンド情報、ユーザ属性情報等が対応付けられる。ユーザ名は、ユーザが自身で登録した名前であり、任意である。ユーザ認証情報は、ユーザが正当なユーザであることを示すための情報であり、例えばパスワードや、メールアドレス、生年月日、合言葉、生体情報等を含んでよい。
アバターIDは、アバターを特定するためのIDである。本実施形態では、アバターIDは、ユーザIDごとに1つずつ対応付けられる。従って、以下の説明において、“ユーザ(又はユーザID)に対応付けられる”又はその類の表現は、“アバターIDに対応付けられる”又はその類の表現と同義である。ただし、他の実施形態では、一のユーザIDに複数のアバターIDが対応付け可能であってもよい。
位置/向き情報は、アバターの位置情報と向き情報とを含む。向き情報は、アバターの顔の向きを表す情報であってよい。なお、位置/向き情報等は、ユーザからの操作入力に応じて、動的に変化しうる情報である。位置/向き情報に加えて、アバターの手足等の部位の動きを表す情報や、顔の表情(例えば、口の動き)、顔や頭部の向きや視線方向(例えば、眼球の向き)、レーザーポインターのような空間内の向きや座標を示すオブジェクト等を表す情報を含んでもよい。
フレンド情報は、フレンド関係にあるユーザを特定する情報(例えばユーザID)を含んでよい。フレンド情報は、後述するアバター間(ユーザ間)の親密度を表すパラメータの値として利用されてもよい。
ユーザ属性情報は、ユーザ(又はアバター)の属性(以下、単に「ユーザ属性」と称する)を表す。ユーザ属性は、運営側のユーザ、配信活動等を行うホストユーザ、有名人やインフルエンサー(フォローリクエストが仮想空間内の他のユーザに比べて著しく多いユーザなど)等の特定ユーザ、他のユーザから警告や報告がある迷惑ユーザ、一般ユーザ等を含んでよい。ここで、一般ユーザには、ある区画の空間部70を管理又は所有するユーザ、すなわち、仮想空間内のある区画を編集し公開しているユーザが含まれてもよく、例えば、イベント会場を提供するユーザは、そこに登場する特定ユーザとは違う属性がユーザ属性として付与されてもよい。なお、ユーザ属性は、仮想空間内の各アバターの活動等に基づいて自動的に付与されてもよいし、現実での属性とリンクしてもよい。また、ユーザ属性は、異なるプラットフォーム間でファイルやデータベース、API(Application Programming Interface)リクエストやNFT等を経由して共有されてもよいし、他のシステム、NFT上に記述された属性やアバターの外見上の特徴(皮膚の色など)をベースに当該システム内の属性として変換して共有されてもよい。
アバター情報記憶部154には、アバターに関するアバター情報が格納される。
図25に示す例では、アバター情報700は、各アバターIDに、顔パーツID、髪型パーツID、服装パーツID等が対応付けられる。顔パーツID、髪型パーツID、服装パーツID等の容姿に係るパーツ情報は、アバターを特徴付けるパラメータであり、対応する各ユーザにより選択されてよい。例えば、アバターに係る顔パーツID、髪型パーツID、服装パーツID等の容姿に係る情報は、複数種類用意される。また、顔パーツIDについては、顔の形、目、口、鼻等の各種類にそれぞれパーツIDが用意され、顔パーツIDに係る情報は、当該顔を構成する各パーツのIDの組み合わせで管理されてもよい。この場合、各アバターIDに紐付けられた容姿に係る各IDに基づいて、サーバ装置10のみならず端末装置20側においても各アバターを描画することが可能となる。
また、サーバ装置10は、操作入力取得部160と、設定変化処理部170と、位置制御部172と、所定パラメータ監視部180とを含む。また、操作入力取得部160から所定パラメータ監視部180は、図1に示したサーバ制御部13により実現できる。また、操作入力取得部160から所定パラメータ監視部180のうちの一部(端末装置20との通信を行う機能部)は、図1に示したサーバ制御部13とともにサーバ通信部11により実現できる。
操作入力取得部160は、ユーザによる各種操作に応じて生成される操作入力情報を端末装置20から取得する。なお、ユーザによる操作入力情報は、上述した端末装置20の入力部24を介して生成される。なお、操作入力情報は、仮想空間におけるアバターの位置を変化させる操作入力(移動操作入力)や、アバターの向き等の他のパラメータ(移動以外のパラメータ)の値を変化させる操作入力、ユーザインタフェースを介して生成される操作入力、対話等を目的とした音声又はテキスト入力等を含んでよい。なお、移動操作入力等は、特定キー(例えば“WASD”キー)の操作により生成されてもよいし、矢印ボタン等を含むユーザインタフェースを介して生成されてもよいし、音声やジェスチャ等の動きにより生成されてもよい。
設定変化処理部170は、後述する所定パラメータ監視部180による各種パラメータの監視結果に基づいて、上述した制御フラグの設定値、上述した移動コストの値、及び後述する編集フラグの設定値を、動的に変化させる。設定変化処理部170は、設定状態記憶部150内のデータを更新(動的に更新)することで、制御フラグの設定値(オン/オフ状態)、移動コストの値及び/又は編集フラグの設定値を動的に変化させてよい。設定変化処理部170の更なる詳細は、後出の所定パラメータ監視部180の説明に関連して後述する。
位置制御部172は、操作入力取得部160により取得される操作入力(移動操作入力)等に基づいて、仮想空間における複数のアバターの位置又は向き等を制御する。この際、位置制御部172は、設定状態記憶部150内のデータ(制御フラグのオン/オフ状態及び移動コストの値)に基づいて、仮想空間における複数のアバターの位置又は向き等を制御する。
ここで、アバターの位置を制御するとは、アバター全体としての位置(座標)を制御する態様だけでなく、アバターの各部位の位置を制御する態様をも含む概念であり、また、それらに加えて及び/又は代えて、アバターの着用物及び/又は周囲の事象の位置や状況を制御する態様を含めもよい。同様に、アバターの向きを制御するとは、アバター全体としての向きを制御する態様だけでなく、アバターの各部位の向きを制御する態様をも含む概念であり、また、それらに加えて及び/又は代えて、アバターの着用物及び/又は周囲の事象の向きを制御する態様を含めてもよい。アバターの各部位の粒度は任意であり、アバターの部位そのものは、例えば、手足、指や羽根、尻尾といったオブジェクトに設定される骨格モデルにより定義される部位であってもよい。アバターの本体に係る各部位の位置や向きの制御は、人間型アバター(ヒューマノイドアバター)の場合でも非人間型アバター(動物型アバター、獣人型アバターなど)の場合でも、骨格モデルによって定義され得るが、アバターの着用物、装備品やアバターの周囲の事象によって他のアバターとの距離や反発を表現する場合には、例えば、着用物であるアクセサリー、武器のような装備品、服や髪といった柔軟性のある物体などについて物理シミュレーションを行い、その結果が含まれるようしてよい。アバターの周囲の事象としては、「風をまとう」、「オーラをまとう」、「バリアを張る」といったような現実世界では制御不可能又は存在しないがインタラクティブな映像表現として表現可能な事象が含まれてもよい。これらの諸点を含めて、位置制御部172がアバターの位置を制御することで、アバター全体としての位置(座標)が変化しないまま、アバターの特定の部位、着用物及び/又は周囲の事象の位置が変化する場合がありうる。
位置制御部172は、第1制御処理部1721と、第2制御処理部1722と、第3制御処理部1723とを含む。
第1制御処理部1721は、上述した制御フラグの設定値(オン/オフ状態)に基づいて、アバター間の近接/衝突制御を実行する。例えば一の空間部70に対応付けられている制御フラグがオンであるとき、第1制御処理部1721は、当該一の空間部70においてアバター間の近接/衝突制御を実行する。他方、一の空間部70に対応付けられている制御フラグがオフであるとき、第1制御処理部1721は、当該一の空間部70においてアバター間の近接/衝突制御を実行しない。同様に、一のアバターに対応付けられている制御フラグがオンであるとき、第1制御処理部1721は、当該一のアバターに関してアバター間の近接/衝突制御を実行する。他方、一のアバターに対応付けられている制御フラグがオフであるとき、第1制御処理部1721は、当該一のアバターに関してアバター間の近接/衝突制御を実行しない。なお、上述したようにアバター間ごとに制御フラグの設定値が対応付けられている場合も、実質的に同様であってよい。
第1制御処理部1721は、アバター間の近接/衝突制御を実行するに際して、複数のアバター間の近接又は衝突に係る判定処理と、判定処理の結果に基づいてアバター間の近接又は衝突が生じないようにする回避処理とを実行してもよい。また、第1制御処理部1721は、回避処理に代えて又は加えて、衝突や近接の際の各アバターの挙動を自動的に描画するアニメーション処理を実行してもよい。
具体的には、第1制御処理部1721は、まず、判定処理として、アバター間の距離が所定距離Lよりも小さいか否かを判定する。一の対象アバターについて、アバター間の距離の監視対象となる他のアバターは、当該一の対象アバターの周辺に位置するすべてのアバターであってもよいし、その一部のアバターであってもよい。例えば、一の対象アバターについて、アバター間の距離の監視対象となる他のアバターは、当該一の対象アバターの位置を基準として、所定半径L1の円領域内に位置するアバターであってもよい。この場合、所定半径L1は、所定距離Lよりも有意に大きい。なお、円領域に代えて、他の形態の領域が利用されてもよい。所定半径L1を適切に設定することで、アバター間の距離の監視対象となる他のアバターの数を効率的に低減でき、処理負荷の低減を図ることができる。
第1制御処理部1721は、ついで、判定処理の結果に基づいて、アバター間の距離が所定距離Lよりも小さい場合には、アバター間の距離が広がるように回避処理を実行する。回避処理は、図6を参照して上述したように、反発力F等を発生する処理を含んでよい。
第2制御処理部1722は、上述した移動コストの値に基づいて、各アバターの移動領域制御を実行する。具体的には、第2制御処理部1722は、比較的高い移動コストの値(例えば図18を参照して上述した値w2)が対応付けられている領域を、アバターが通れない領域又は通り難い領域(以下、これらを区別せずに「移動不可領域」とも称する)として設定する。
第2制御処理部1722は、各アバターの移動領域制御を実行するに際して、各アバターと移動不可領域との位置関係を判定する判定処理と、判定処理の結果に基づいて、移動不可領域への移動が生じないようにする回避処理とを実行してもよい。また、第2制御処理部1722は、回避処理に代えて又は加えて、移動不可領域の移動中のアバターの挙動を自動的に描画するアニメーション処理を実行してもよい。
具体的には、第2制御処理部1722は、まず、判定処理として、各アバターと移動不可領域との距離が所定距離L2以下であるか否かを判定する。所定距離L2は、0又は0に近い小さい値であってよい。
第2制御処理部1722は、ついで、判定処理の結果に基づいて、一のアバターと移動不可領域との距離が所定距離L2以下である場合には、当該一のアバターと移動不可領域との距離が広がるように回避処理を実行する。回避処理は、アバター間の近接/衝突制御の場合と同様に、反発力F等を発生する処理を含んでよい。
あるいは、第2制御処理部1722は、移動不可領域内に位置するアバターに対して、移動速度を低下させる処理を実行してもよい。すなわち、第2制御処理部1722は、移動不可領域内に位置するアバターに対して、移動しようとする際に抵抗を付与する処理を実行してもよい。この場合、アバターに付与する抵抗は、移動不可領域の属性に応じて変化してもよい。例えば、移動不可領域が“プール”のような水を有する領域である場合は、水中を歩くときのような抵抗が付与されてもよい。
第3制御処理部1723は、編集フラグ(第1制御パラメータの他の一例)の設定値(オン/オフ状態)に基づいて、アバターと、アバター以外のオブジェクト間の近接/衝突制御(以下、「アバター-オブジェクト間の近接/衝突制御」とも称する)を実行する。編集フラグは、仮想空間の構築又は編集(例えば空間部70内における各種オブジェクト)のための入力モードである場合に、オンとなる。仮想空間の構築又は編集のための入力モード(以下、「編集モード」とも称する)は、アバターとは異なる任意の仮想現実媒体(例えば建物、壁、樹木、又はNPC等)に対応するオブジェクト(以下、「所定オブジェクト」とも称する)を、仮想空間内に配置するモードを指す。例えば、ある区画の空間部70を管理又は所有するユーザは、編集モードを形成することで、当該空間部70において、各種の所定オブジェクトを配置できる。なお、編集フラグは、空間部70ごと又は領域ごと対応付けられるといった具合に、任意の態様で、仮想空間内の位置に対応付けられてよい。
第3制御処理部1723は、アバター-オブジェクト間の近接/衝突制御を実行するに際して、各アバターと所定オブジェクトとの位置関係を判定する判定処理と、判定処理の結果に基づいて、アバターと所定オブジェクトとの間の近接又は衝突が生じないようにする回避処理とを実行してもよい。また、第3制御処理部1723は、回避処理に代えて又は加えて、衝突や近接の際のアバター及び所定オブジェクトのそれぞれの挙動を自動的に描画するアニメーション処理を実行してもよい。
具体的には、第3制御処理部1723は、まず、判定処理として、アバターと所定オブジェクトとの間の距離が所定距離L3以下であるか否かを判定する。所定距離L3は、0又は0に近い小さい値であってよい。
第3制御処理部1723は、ついで、判定処理の結果に基づいて、アバターと所定オブジェクトとの間の距離が所定距離L3以下である場合には、アバターと所定オブジェクトとの間の距離が広がるように回避処理を実行する。回避処理は、アバター間の近接/衝突制御の場合と同様に、反発力F等を発生する処理を含んでよい。
なお、第3制御処理部1723は、編集フラグ(第1制御パラメータの他の一例)の設定値(オン/オフ状態)に代えて又は加えて、空間部70等のような位置に対応付けられている制御フラグの設定値(オン/オフ状態)に基づいて、動作してもよい。この場合、例えば一の空間部70に対応付けられている制御フラグがオン状態であるとき、当該一の空間部70内に配置される所定オブジェクトに関して第3制御処理部1723がオンとなり、同制御フラグがオフ状態であるとき、当該一の空間部70内に配置される所定オブジェクトに関して第3制御処理部1723がオフとなってよい。
所定パラメータ監視部180は、仮想空間に関連して算出可能な各種の所定パラメータの値を算出する。各種の所定パラメータの値の監視結果は、上述した設定変化処理部170により利用される。すなわち、設定変化処理部170は、各種の所定パラメータの値の監視結果に基づいて、制御フラグの設定値(オン/オフ状態)、移動コストの値、及び編集フラグの設定値(オン/オフ状態)を、動的に変化させる。
所定パラメータ監視部180は、第1パラメータ監視部1801から第6パラメータ監視部1806を含む。
第1パラメータ監視部1801は、仮想空間に係る情報処理の処理負荷を表す又は示唆する第1パラメータの値を監視する。第1パラメータは、例えばサーバ装置10の処理負荷を表す又は示唆する指標値であってよく、かかる指標値は上述した通りであってよい。
この場合、情報処理の処理負荷に応じて、アバター間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、サーバ装置10の処理負荷が閾値負荷以上である場合に、第1制御処理部1721が機能しないように、制御フラグをオフ状態に変更してよい。これにより、サーバ装置10の処理負荷が閾値負荷以上である状況下において、第1制御処理部1721が機能することによる処理負荷の増加を防止できる。
なお、設定変化処理部170は、サーバ装置10の処理負荷が閾値負荷以上である場合に、すべての制御フラグをオフしてもよいが、一部の制御フラグだけをオフしてもよい。例えば、複数の空間部70のそれぞれごとに制御フラグの設定値が対応付けられている場合、設定変化処理部170は、サーバ装置10の処理負荷に対する影響度合いの高い空間部70(例えばアバター数が多い空間部70)から順に制御フラグをオフしてもよい。また、設定変化処理部170は、サーバ装置10の処理負荷の増加に伴い、段階的に制御フラグをオフしてもよい。例えば、設定変化処理部170は、サーバ装置10の処理負荷の増加に伴い、段階的に制御フラグをオフする空間部70の数を増加させてもよい。これらは、上述したように制御フラグがアバターのそれぞれに対応付けられる場合(図10及び図11等参照)や、アバター間に対応付けられる場合(図12参照)も同様である。
また、他の実施形態では、設定変化処理部170は、情報処理の処理負荷に応じて、移動コストの値を動的に変化させてもよい。この場合、情報処理の処理負荷に応じて、各アバターの移動領域制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、サーバ装置10の処理負荷が閾値負荷以上である場合に、各位置又は特定の位置に対応付けられている移動コストの値を比較的低い値(例えば上述した値w1)に変化させてもよい。この場合、仮想空間内における各アバターの移動可能な領域が広がることから、アバター間の距離が広がりやすくなり、その結果、アバター間の近接/衝突制御に係る処理負荷の低減を期待できる。
第2パラメータ監視部1802は、複数のアバター間の親密度を表す又は示唆する第2パラメータの値を監視する。複数のアバター間の親密度は、基本的には、一対一の関係で評価されてよい。例えば、一のアバターと他の一のアバターとの間の親密度は、対応するユーザ間の親密度と同一視されてもよい。ユーザ間の親密度は、図24を参照して上述したようなユーザ情報記憶部152内のユーザ情報(例えば、フレンド情報)に基づいて算出されてもよい。
この場合、アバター間の親密度に応じて、アバター間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、親密度が閾値親密度(第2所定閾値の一例)以上であるアバター間に対して第1制御処理部1721が機能しないように、制御フラグをオフ状態に変更してよい。この場合、上述したように制御フラグがアバターのそれぞれに対応付けられる構成(図10及び図11等参照)では、親密度が閾値親密度以上であるアバター同士が所定半径L1内に位置する場合に、それらのアバターに対応付けられる制御フラグがオフされてもよい。他方、アバター間に対応付けられる構成(図12参照)では、親密度が閾値親密度以上であるアバター間に対応付けられる制御フラグがオフされてよい。
第3パラメータ監視部1803は、各アバターの属性を表す又は示唆する第3パラメータの値を監視する。アバターの属性は、対応するユーザの属性と同じであってもよいし、異なってもよい。例えば、第3パラメータの値は、ユーザ属性が、運営側のユーザ、配信ユーザ、特定ユーザ(有名人やインフルエンサー等のユーザ)、迷惑ユーザ、及び一般ユーザのうちのいずれかを表す値を含んでよい。例えば、第3パラメータの値は、ユーザ属性が一般ユーザであるか否かを表す値を含んでよい。ここで、一般ユーザには、ある区画の空間部70を管理又は所有するユーザ、すなわち、仮想空間内のある区画を編集し公開しているユーザが含まれてもよく、例えば、イベント会場を提供するユーザは、そこに登場する特定ユーザとは違う属性がユーザ属性として付与されてもよい。
この場合、各アバターの属性に応じて、アバター間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、一のアバターが、例えば一般ユーザ以外のユーザ属性(所定属性の一例)を有する場合、当該一のアバターに対して第1制御処理部1721が機能するように、制御フラグをオン状態に変更してよい。これにより、有名人やインフルエンサー等のアバターに、多くのアバターが群がり、無秩序となる可能性を低減できる。あるいは、迷惑ユーザのアバターが、他のアバターに迷惑行為を行うことを防止できる。なお、この場合、有名人やインフルエンサー等のアバターに係る所定距離Lを比較的大きい適切な大きさに設定してもよいし、有名人やインフルエンサー等のアバターの位置を中心として、所定半径L2以内の領域に、非常に高い移動コストの値が対応付けられてもよい。あるいは、逆に、設定変化処理部170は、一のアバターが、一般ユーザのユーザ属性(所定属性の他の一例)を有する場合、当該一のアバターに対して第1制御処理部1721が機能しないように、制御フラグをオフ状態に変更してよい。
第4パラメータ監視部1804は、各アバターの行動属性又は動作モードを表す又は示唆する第4パラメータの値を監視する。例えば、第4パラメータの値は、アバターの行動属性又は動作モードが、集合イベントのための複数のアバターの行動又は動作に関連するか否かを表す値を含んでよい。アバターの行動属性又は動作モードは、人工知能等により推定(予測)されてもよいし、ユーザ入力(例えば動作モードの選択ボタンの操作等)に基づいて設定されてもよい。集合イベントは、複数のアバターが互いに近づく可能性があるイベントであり、その形態や名称等は任意である。集合イベントは、例えば、図15を参照して上述した記念撮影に係るイベントを含んでよい。
この場合、アバターの行動属性又は動作モードに応じて、アバター間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、アバターの行動属性又は動作モードが、集合イベントのための複数のアバターの行動又は動作に関連する行動属性又は動作モードである場合、第1制御処理部1721が機能しないように、制御フラグをオフ状態に変更してよい。これにより、複数のアバターが互いに近づく可能性がある集合イベントにおいて、アバター間の近接/衝突制御が実行されることによる不都合(例えば、反発力Fが作用してアバター同士が近接して集合できないような事態)を防止できる。
第5パラメータ監視部1805は、特定領域におけるアバター密度を表す又は示唆する第5パラメータの値を監視する。特定領域におけるアバター密度は、特定領域に位置するアバターの人数を、特定領域の面積(サイズ)で除した値であってよい。特定領域は、任意の領域であるが、好ましくは、アバター密度が高くなりやすい人気スポットやイベント会場等であってよい。
この場合、特定領域におけるアバター密度に応じて、特定領域におけるアバター間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、特定領域におけるアバター密度が閾値密度(第3所定閾値の一例)以上である場合、第1制御処理部1721が機能するように、制御フラグをオン状態に変更してよい。他方、設定変化処理部170は、特定領域におけるアバター密度が閾値密度未満である場合、第1制御処理部1721が機能しないように、制御フラグをオフ状態に変更してよい。これにより、特定領域におけるアバター密度が過大になることを防止できる。
第6パラメータ監視部1806は、アバターに対応付けられているユーザの入力モードを表す又は示唆する第6パラメータの値を監視する。第6パラメータの値は、ユーザの入力モードが上述した編集モードであることを表す値を含んでよい。
この場合、ユーザの入力モードに応じて、アバター-オブジェクト間の近接/衝突制御に係る制御態様を動的に変化させることができる。例えば、設定変化処理部170は、ユーザの入力モードが編集モードである場合に、アバター-オブジェクト間の近接/衝突制御がオフされるように、対応するフラグ(以下、「アバター-オブジェクト間用の制御フラグ」とも称する)をオフ状態に変更してよい。これにより、入力モードが編集モードである場合にアバター-オブジェクト間の近接/衝突制御が実行されることで生じうる不都合(例えば、配置を変えようとして所定オブジェクトに触れようとしても反発力F等により触れられない等の不都合)を低減できる。なお、この場合、アバター-オブジェクト間用の制御フラグは、空間部70ごとや領域ごとといった具合に、位置に対応付けられていてよい。従って、編集モードが特定の一の空間部70に対して形成されている場合、当該特定の一の空間部70に対してだけ、アバター-オブジェクト間の近接/衝突制御がオフされてもよい。
次に、図26以降を参照して、アバター間の近接/衝突制御や各アバターの移動領域制御等に関連した仮想現実生成システム1の動作例について説明する。
図26は、アバター間の近接/衝突制御に関連してサーバ装置10により実行されてよい処理の一例を示すフローチャートである。図26に示す処理は、空間部70ごとに独立して実行されてよい。以下の図26(後出の図27も同様)の説明において、空間部70とは、説明対象の一の空間部70を指す。
ステップS2600では、サーバ装置10は、サーバ装置10の処理負荷が閾値負荷以上であるか否かを判定する。判定結果が“YES”の場合、ステップS2602に進み、それ以外の場合は、ステップS2601に進む。
ステップS2601では、サーバ装置10は、空間部70内におけるアバター密度が閾値密度以上であるか否かを判定する。判定結果が“YES”の場合、ステップS2608に進み、それ以外の場合は、ステップS2602に進む。
ステップS2602では、サーバ装置10は、空間部70に対応付けられている制御フラグをオフ状態に設定する。
ステップS2604では、サーバ装置10は、空間部70内に、一般ユーザ以外のユーザ属性を有するアバター(以下、「所定アバター」とも称する)が存在するか否かを判定する。判定結果が“YES”の場合、ステップS2606に進み、それ以外の場合は、ステップS2620に進む。
ステップS2606では、サーバ装置10は、所定アバターに対応付けられる制御フラグをオン状態に設定する。例えば、空間部70で特定イベントが開催される場合、当該特定イベントに配信者として出席する配信ユーザのアバターについては、所定アバターとして、当該アバターに対応付けられる制御フラグがオン状態されてよい。従って、この場合、空間部70においては、基本的には、アバター間の近接/衝突制御が実行されないが、所定アバターに関しては、アバター間の近接/衝突制御が実行されうる。なお、当該配信ユーザは、他の空間部70では、一般ユーザとして扱われてもよい。このようにして、ユーザ属性が動的に変化する場合、かかる動的な変化に応じて制御フラグの設定値(オン/オフ状態)が動的に変化されてよい。
所定アバターに対応付けられる制御フラグをオン状態に設定する契機としては、そのほかに、課金の有無が考慮されてもよい。例えば、現実世界において運営側のユーザに課金しているユーザは特別扱いとする、仮想空間内において仮想通貨で課金しているユーザは特別扱いとする、というようなことでもよい。特別扱いの例としては、当該所定アバターに関しては、いつでもどこでも制御フラグをオン状態としたり、所定の日時場所において制御フラグをオン状態としたり、などとしてもよい。なお、管理側のユーザや仮想空間内のある区画を編集し公開しているユーザについては、移動不可能な仮想空間が作られてしまうことを避けるため、仮想空間内の地面や壁、天井などと衝突せずに自由に移動できるように、制御フラグを常時又は必要に応じてオフ状態にするようにしてもよい。また、後記するように、親密度が閾値親密度以上であるアバター間については、制御フラグがオフ状態とされるが、ユーザがユーザ生成コンテンツ(UGC)として、例えば「このカップルシートに座る権利」などを発行するような場合、この権利を課金アイテムとして課金をしているユーザ同士については、「他者衝突オフ」というような権限やモードを有するように、制御フラグをオフ状態としてもよい。なお、UGCとして一般ユーザが設定した場合、そのUGC作成者と他のユーザで利益の配分ができるようにしてもよい。例えば「玉座」や「VIP席」といった特別な有料席をつくることができ、その売り上げの50%は運営側のユーザであるプラットフォーマー(PF)に、50%はUGC作成者に配分されるようにしてもよい。
ステップS2608では、サーバ装置10は、空間部70に対応付けられている制御フラグをオン状態に設定する。
ステップS2610では、サーバ装置10は、親密度が閾値親密度以上であるアバターが存在するか否かを判定する。判定結果が“YES”の場合、ステップS2612に進み、それ以外の場合は、ステップS2614に進む。
ステップS2612では、サーバ装置10は、親密度が閾値親密度以上であるアバター間(図26では、「高い親密度アバター間」と表記)に対応付けられている制御フラグをオフ状態に設定する。
ステップS2614では、サーバ装置10は、空間部70内に、行動属性又は動作モードが、集合イベントのための行動又は動作に関連する2人以上のアバター(図26では、「集合イベント中の2人以上のアバター」と表記)が存在する否かを判定する。判定結果が“YES”の場合、ステップS2616に進み、それ以外の場合は、ステップS2620に進む。
ステップS2616では、サーバ装置10は、行動属性又は動作モードが、集合イベントのための行動又は動作に関連する2人以上のアバターに対して、それぞれに対応付けられている制御フラグをオフ状態に設定する。
ステップS2620では、サーバ装置10は、空間部70内の各アバターの位置情報及び各アバターに係る各ユーザからの移動操作入力を取得する。
ステップS2622では、サーバ装置10は、ステップS2620で得た位置情報及び移動操作入力と、空間部70内の各位置に対応付けられた移動コストの値とに基づいて、各アバターに係る移動態様を決定する。なお、図26では、移動コストの値の動的な変化について説明していないが、ステップS2622で利用する移動コストの値についても、上述したように動的に変化可能であってよい。
ステップS2624では、サーバ装置10は、空間部70及び/又は空間部70内の各アバターに係る各制御フラグの設定状態と、ステップS2622で決定した各アバターに係る移動態様とに基づいて、アバター間の近接/衝突制御を実行する。
このように図26に示す処理によれば、サーバ装置10の処理負荷やアバター密度等の各種の所定パラメータの値に基づいて、制御フラグを動的に多様な態様で変化させることができる。
なお、図26に示す処理では、一例として、空間部70内におけるアバター密度が閾値密度以上である場合に、過密にならないように、空間部70に対応付けられている制御フラグをオンしている。しかしながら、逆に、空間部70内におけるアバター密度が閾値密度以上である場合に、処理負荷を低減する目的で、空間部70に対応付けられている制御フラグをオフ状態に設定してもよい。
また、図26に示す処理では、一例として、ステップS2606において、サーバ装置10は、所定アバターに他のアバターが近づきすぎることがないように、所定アバターに対応付けられる制御フラグをオン状態に設定している。しかしながら、他の例では、サーバ装置10は、同様の目的で、空間部70に対応付けられている制御フラグをオン状態に設定してもよい。
図27は、図26のステップS2624で実行されるアバター間の近接/衝突制御の一例を示す概略的なフローチャートである。図27に示す処理は、一の対象アバターに対して実行されてよく、他のアバターについては、同様の処理が並列的に実行されてよい。
ステップS2700では、サーバ装置10は、対象アバターが存在する空間部70に対応付けられている制御フラグがオン状態であるか否かを判定する。判定結果が“YES”の場合、ステップS2704に進み、それ以外の場合は、ステップS2702に進む。
ステップS2702では、サーバ装置10は、対象ユーザに対応付けられている制御フラグがオン状態であるか否かを判定する。判定結果が“YES”の場合、ステップS2704に進み、それ以外の場合は、ステップS2712に進む。
ステップS2704では、サーバ装置10は、アバターの位置を中心として所定半径L1以内の他のアバターが存在するか否かを判定する。判定結果が“YES”の場合、ステップS2706に進み、それ以外の場合は、ステップS2712に進む。
ステップS2706では、サーバ装置10は、ステップS2704で存在すると判定した他のアバターと対象アバターとの間の距離(以下、単に「アバター間距離」とも称する)を算出する。なお、他のアバターが複数存在する場合は、それぞれの他のアバターと対象アバターとの間の距離(アバター間距離)を算出する。
ステップS2708では、サーバ装置10は、ステップS2706で算出したアバター間距離が所定距離L以下であるか否かを判定する。判定結果が“YES”の場合、ステップS2710に進み、それ以外の場合は、ステップS2712に進む。
ステップS2710では、サーバ装置10は、他のアバターと対象アバターとの間のアバター間距離(≦所定距離L)に応じて、上述した回避処理を実行する。例えば、サーバ装置10は、図26のステップS2622で決定した各アバターに係る移動態様を修正し、上述した回避処理を実行してよい。
ステップS2712では、サーバ装置10は、対象アバターに対してアバター間の近接/衝突制御を実行することなく、対象アバターの動きを実現する。すなわち、サーバ装置10は、図26のステップS2622で決定した各アバターに係る移動態様をそのまま実現してよい。この場合、アバター間距離の算出処理(ステップS2706)、判定処理(ステップS2708)、及び回避処理(ステップS2710)が不要となり、処理効率を高めることができる。
このようにして、図27に示す処理によれば、制御フラグの設定値(オン/オフ状態)に応じて各アバターに係るアバター間の近接/衝突制御を効率的に実現できる。
なお、図27に示す処理では、アバター間に対応付けられうる制御フラグに関して考慮されていないが、考慮することも可能である。この場合、制御フラグのオン状態が対応付けられているアバター間に関して、アバター間距離が算出され、アバター間距離が所定距離L以下である場合に、同様の回避処理が実行されてよい。
また、図27に示す例では、ステップS2704及びステップS2706を参照して上述したように、所定半径L1以内の他のアバターを抽出することで、アバター間距離の算出対象の他のアバターの数を低減しているが、かかる処理は省略されてもよい。
なお、図26及び図27の説明にあたっては、各ステップの処理がサーバ装置10によって実行される場合について述べたが、既述のとおり、本実施形態に係る仮想現実生成システム1(情報処理システム)は、サーバ装置10が単独で実現するようにしてもよいし、サーバ装置10と1つ以上の端末装置20が協動して実現するようにしてもよい。後者の場合には、例えば、描画する空間部70内に存在するアバターに近接する他のアバターの各種パラメータをサーバ装置10から端末装置20に送信し、端末装置20において、受信した各種パラメータを用いて近接/衝突制御の処理(ステップS2624)を実行し、各アバターIDに紐付けられた容姿に係る前述の各IDに基づいて、他のアバターを描画するようにしてもよい。端末装置20側で描画を行う場合、各オブジェクトや各オブジェクトとの関係等は、必ずしも各端末装置20で同じように描画されなくてもよい。すなわち、一のユーザの設定に応じて、当該一のユーザの端末装置20だけ他の端末装置20と描画内容が異なってもよい。例えば、あるオブジェクトに対して一のユーザに係るアバターはすり抜けられない設定とされているが、他のアバターはすり抜けられる設定とされてもよい。
以上、各実施形態について詳述したが、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施形態の構成要素の全部又は複数を組み合わせることも可能である。
例えば、上述では、アバター間の近接/衝突制御に関して、制御フラグがオン又はオフする態様だけでなく、制御フラグをオン状態に維持しつつ、所定距離Lを増加させることで、アバター間の近接/衝突制御に係る処理負荷(及びそれに伴いサーバ装置10の処理負荷)を段階的に低減できる点が開示されている。しかしながら、制御フラグをオン状態に維持しつつ、所定距離Lを増減させることに代えて又は加えて、他の制御パラメータの設定値を動的に変化させることで、アバター間の近接/衝突制御に係る処理負荷(及びそれに伴いサーバ装置10の処理負荷)を動的に変化させることも可能である。この場合、他の制御パラメータは、上述した所定半径L1を含んでもよい。また、他の制御パラメータは、アバター間の距離の算出方法を定めるパラメータを含んでもよい。具体的には、アバター間の距離の算出方法は、上述したように、各アバターの中心のような代表位置同士の距離を算出する第1算出方法や、各アバターを覆う仮想的なカプセル同士の最短距離を算出する第2算出方法がありえ、第2算出方法については、仮想的なカプセルが、一のアバターに対して1つだけ設定される方法や、部位ごとに設定される方法等がある。この場合、これらの算出方法を動的に変化させることで、アバター間の近接/衝突制御に係る処理負荷(及びそれに伴いサーバ装置10の処理負荷)を動的に変化させることも可能である。
また、上述した実施形態では、制御フラグのオン/オフ状態や移動コストの値等のような、設定状態記憶部150内のデータは、サーバ装置10によるプログラムの実行により自動的に実現されるが、設定状態記憶部150内のデータの一部又は全部は、ユーザ(例えば運営側のユーザ及び各一般ユーザ)からの入力に基づいて、動的に設定(変更)されてもよい。
以下に、本願の原出願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含む、情報処理システム。
[付記2]
前記複数の仮想現実媒体は、複数のアバターを含み、
前記第1制御パラメータは、前記複数のアバター間の近接又は衝突を制御するための制御パラメータを含み、
前記3次元の仮想空間に関する所定パラメータの値を監視する所定パラメータ監視部を更に備え、
前記設定変化処理部は、前記所定パラメータの値の監視結果に基づいて、前記少なくともいずれか一方の制御パラメータの設定値を動的に変化させる、付記1に記載の情報処理システム。
[付記3]
前記位置制御部は、前記第1制御パラメータの設定値と、前記複数のアバターの位置情報とに基づいて、前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理部を含む、付記2に記載の情報処理システム。
[付記4]
前記第1制御処理部は、前記複数のアバター間の近接又は衝突に係る制御を実行する際に、前記複数のアバター間の近接又は衝突に係る判定処理と、前記判定処理の結果に基づいて近接又は衝突が生じないようにする回避処理とを実行する、付記3に記載の情報処理システム。
[付記5]
前記所定パラメータは、前記3次元の仮想空間に係る情報処理の処理負荷を表す又は示唆する第1パラメータを含み、
前記設定変化処理部は、前記処理負荷が第1所定閾値以上である場合に前記第1制御処理部がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、付記3に記載の情報処理システム。
[付記6]
前記所定パラメータは、前記複数のアバター間の親密度を表す又は示唆する第2パラメータを含み、
前記設定変化処理部は、前記親密度が第2所定閾値以上である2人以上の前記アバター間に対して前記第1制御処理部がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、付記3に記載の情報処理システム。
[付記7]
前記所定パラメータは、前記複数のアバターの属性を表す又は示唆する第3パラメータを含み、
前記設定変化処理部は、一の前記アバターが所定属性である場合、前記一のアバターに係る前記第1制御処理部がオン又はオフされるように、前記第1制御パラメータの設定値を動的に変化させる、付記3に記載の情報処理システム。
[付記8]
前記所定パラメータは、前記複数のアバターの行動属性又は動作モードを表す又は示唆する第4パラメータを含み、
前記設定変化処理部は、前記行動属性又は動作モードが、集合イベントのための前記複数のアバターの行動又は動作に関連する場合、前記第1制御処理部がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、付記3に記載の情報処理システム。
[付記9]
前記所定パラメータは、特定領域におけるアバター密度を表す又は示唆する第5パラメータを含み、
前記設定変化処理部は、前記アバター密度が第3所定閾値以上である場合に、前記特定領域において前記第1制御処理部がオンされるように、前記第1制御パラメータの設定値を動的に変化させる、付記3に記載の情報処理システム。
[付記10]
前記3次元の仮想空間に関する所定パラメータの値を監視する所定パラメータ監視部を更に備え、
前記複数の仮想現実媒体は、複数のアバターと、仮想空間内の複数のオブジェクトとを含み、
前記第1制御パラメータは、一の前記アバターと一の前記オブジェクトとの間の近接又は衝突を制御するための制御パラメータを含み、
前記位置制御部は、前記第1制御パラメータの設定値と、前記一のオブジェクトの位置情報と、前記一のアバターの位置情報とに基づいて、前記一のオブジェクトと前記一のアバターとの間の近接又は衝突に係る制御を実行する第3制御処理部を更に含み、
前記所定パラメータは、前記一のアバターに対応付けられているユーザの入力モードを表す又は示唆する第6パラメータを含み、
前記設定変化処理部は、前記入力モードが、仮想空間の構築又は編集のための入力モードである場合、前記第3制御処理部がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、付記1に記載の情報処理システム。
[付記11]
前記第1制御パラメータの設定値は、前記複数のアバター間の距離を制限しない第1設定値と、前記複数のアバター間の距離が所定距離以下となることを制限する第2設定値とを含む、付記4に記載の情報処理システム。
[付記12]
前記第1制御処理部は、前記第1制御パラメータの設定値が前記第1設定値である場合は、オフし、前記第1制御パラメータの設定値が前記第2設定値である場合は、オンする、付記11に記載の情報処理システム。
[付記13]
前記設定変化処理部は、前記第1制御パラメータの設定値を、前記複数のアバターのそれぞれごとに又は2人の前記アバター間ごとに異なりうる態様で、設定する、付記11に記載の情報処理システム。
[付記14]
前記所定パラメータは、前記複数のアバター間の親密度を表す又は示唆する第2パラメータを含み、
前記設定変化処理部は、前記複数のアバター間の前記親密度が高いほど前記所定距離が小さくなるように、前記所定距離を設定する、付記12又は13に記載の情報処理システム。
[付記15]
前記第2制御パラメータの設定値は、各位置に対する前記複数のアバターの通りがたさを定めるコスト値であって複数の位置に対応付けられたコスト値を含み、
前記位置制御部は、前記コスト値に基づいて、前記複数の位置のそれぞれに対する前記複数のアバターの通りがたさを変化させることで、前記複数のアバターが移動可能な位置を制御する第2制御処理部を更に含む、付記2に記載の情報処理システム。
[付記16]
前記設定変化処理部は、前記複数のアバターによる行列が形成されるように、前記コスト値を動的に変化させる、付記15に記載の情報処理システム。
[付記17]
前記所定パラメータは、特定領域におけるアバター密度を表す又は示唆する第5パラメータを含み、
前記設定変化処理部は、前記アバター密度が相対的に高い箇所が、前記アバター密度が相対的に低い箇所よりも、前記複数のアバターが通り難くなるように、前記コスト値を動的に変化させる、付記15に記載の情報処理システム。
[付記18]
3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御することを含む、コンピュータにより実行される情報処理方法。
[付記19]
3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する
処理をコンピュータに実行させるプログラム。
1 仮想現実生成システム
3 ネットワーク
10 サーバ装置
11 サーバ通信部
12 サーバ記憶部
13 サーバ制御部
20 端末装置
21 端末通信部
22 端末記憶部
23 表示部
24 入力部
25 端末制御部
70 空間部
71 フリー空間部
73 通路領域
150 設定状態記憶部
152 ユーザ情報記憶部
154 アバター情報記憶部
160 操作入力取得部
170 設定変化処理部
172 位置制御部
1721 第1制御処理部
1722 第2制御処理部
1723 第3制御処理部
180 所定パラメータ監視部
181 第1パラメータ監視部
182 第2パラメータ監視部
183 第3パラメータ監視部
184 第4パラメータ監視部
185 第5パラメータ監視部
186 第6パラメータ監視部

Claims (12)

  1. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記設定変化処理部は、前記3次元の仮想空間に係る情報処理の処理負荷が第1所定閾値以上である場合に、前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システム。
  2. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記設定変化処理部は、前記複数のアバター間の親密度が第2所定閾値以上である2人以上の前記アバター間に対して、前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システム。
  3. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記設定変化処理部は、前記複数のアバターのうちの一の前記アバターが所定属性である場合、前記一のアバターに係る前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオン又はオフされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システム。
  4. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記設定変化処理部は、前記複数のアバターの行動属性又は動作モードが、集合イベントのための前記複数のアバターの行動又は動作に関連する場合、前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システム。
  5. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記設定変化処理部は、特定領域におけるアバター密度が第3所定閾値以上である場合に、前記特定領域において前記位置制御部における前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオンされるように、前記第1制御パラメータの設定値を動的に変化させる、情報処理システム。
  6. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させる設定変化処理部と、
    前記設定変化処理部により前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御する位置制御部と、を含み、
    前記位置制御部は、前記第2制御パラメータの設定値に含まれ、各位置に対する前記複数のアバターの通りがたさを定めるコスト値であって複数の位置に対応付けられた前記コスト値に基づいて、前記複数の位置のそれぞれに対する前記複数のアバターの通りがたさを変化させることで、前記複数のアバターが移動可能な位置を制御する第2制御処理をオンにする、情報処理システム。
  7. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御することを含み、
    前記3次元の仮想空間に係る情報処理の処理負荷が第1所定閾値以上である場合に、前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、コンピュータにより実行される情報処理方法。
  8. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御し、
    前記3次元の仮想空間に係る情報処理の処理負荷が第1所定閾値以上である場合に、前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、処理をコンピュータに実行させるプログラム。
  9. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御することを含み、
    前記複数のアバター間の親密度が第2所定閾値以上である2人以上の前記アバター間に対して、前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、コンピュータにより実行される情報処理方法。
  10. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御し、
    前記複数のアバター間の親密度が第2所定閾値以上である2人以上の前記アバター間に対して、前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオフされるように、前記第1制御パラメータの設定値を動的に変化させる、処理をコンピュータに実行させるプログラム。
  11. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御することを含み、
    前記複数のアバターのうちの一の前記アバターが所定属性である場合、前記一のアバターに係る前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオン又はオフされるように、前記第1制御パラメータの設定値を動的に変化させる、コンピュータにより実行される情報処理方法。
  12. 3次元の仮想空間において複数の仮想現実媒体間の近接又は衝突を制御するための第1制御パラメータの設定値と、同仮想空間において前記複数の仮想現実媒体の移動可能な位置を制御するための第2制御パラメータの設定値のうちの、少なくともいずれか一方の制御パラメータの設定値を、動的に変化させ、
    前記設定値が変化された場合に、変化後の前記設定値に基づいて、前記複数の仮想現実媒体の位置又は向きを制御し、
    前記複数のアバターのうちの一の前記アバターが所定属性である場合、前記一のアバターに係る前記複数のアバター間の近接又は衝突に係る制御を実行する第1制御処理がオン又はオフされるように、前記第1制御パラメータの設定値を動的に変化させる、処理をコンピュータに実行させるプログラム。
JP2023116575A 2022-06-21 2023-07-18 情報処理システム、情報処理方法、及びプログラム Pending JP2024001004A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023116575A JP2024001004A (ja) 2022-06-21 2023-07-18 情報処理システム、情報処理方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022099302A JP7321471B1 (ja) 2022-06-21 2022-06-21 情報処理システム、情報処理方法、及びプログラム
JP2023116575A JP2024001004A (ja) 2022-06-21 2023-07-18 情報処理システム、情報処理方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022099302A Division JP7321471B1 (ja) 2022-06-21 2022-06-21 情報処理システム、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2024001004A true JP2024001004A (ja) 2024-01-09

Family

ID=87519608

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022099302A Active JP7321471B1 (ja) 2022-06-21 2022-06-21 情報処理システム、情報処理方法、及びプログラム
JP2023116575A Pending JP2024001004A (ja) 2022-06-21 2023-07-18 情報処理システム、情報処理方法、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022099302A Active JP7321471B1 (ja) 2022-06-21 2022-06-21 情報処理システム、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US20230410449A1 (ja)
JP (2) JP7321471B1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5039950B2 (ja) * 2008-03-21 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト移動制御システム、オブジェクト移動制御方法、サーバ及びコンピュータプログラム
US10722800B2 (en) * 2016-05-16 2020-07-28 Google Llc Co-presence handling in virtual reality
US20180095635A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
JP7355483B2 (ja) * 2016-12-15 2023-10-03 株式会社バンダイナムコエンターテインメント ゲームシステム及びプログラム
JP6543361B2 (ja) * 2018-01-25 2019-07-10 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、及び情報処理方法
JP2020000832A (ja) * 2019-01-17 2020-01-09 株式会社 ディー・エヌ・エー 電子ゲーム装置及び電子ゲームプログラム

Also Published As

Publication number Publication date
JP2024000573A (ja) 2024-01-09
US20230410449A1 (en) 2023-12-21
JP7321471B1 (ja) 2023-08-07

Similar Documents

Publication Publication Date Title
JP6408629B2 (ja) ヘッドマウントディスプレイでユーザーの動きに応答する画像レンダリング
JP6281496B2 (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
JP6281495B2 (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
EP2705435B1 (en) Massive simultaneous remote digital presence world
JP6017008B1 (ja) アバター表示システム、ユーザ端末、及びプログラム
US10037342B2 (en) Information processing device, system, information processing method, and program
JP2014149712A (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
JP6767515B2 (ja) 位置に基づくゲームプレイコンパニオンアプリケーションへユーザの注目を向ける方法及びシステム
US20190140885A1 (en) Different perspectives from a common virtual environment
JP7216493B2 (ja) ゲームシステム及びプログラム
JP7473901B2 (ja) 動画配信システム、プログラム、及び情報処理方法
JP6707429B2 (ja) アバター表示システム、ユーザ端末、及びプログラム
JP2021158558A (ja) 動画用アプリケーションプログラム、動画のオブジェクト描画方法、動画管理プログラム、動画管理方法、サーバ及び動画配信システム
JP2024012545A (ja) 情報処理システム、情報処理方法、及びプログラム
JP6446150B1 (ja) プログラム、情報処理装置、および方法
US20220417490A1 (en) Information processing system, information processing method, and information processing program
JP7321471B1 (ja) 情報処理システム、情報処理方法、及びプログラム
US11980818B2 (en) Game system, processing method, and information storage medium
US11733515B2 (en) System and method for distanced interactive experiences
JP2019171077A (ja) プログラム、情報処理装置、および方法
KR20210028669A (ko) 게임 시스템, 그것에 사용하는 컴퓨터 프로그램 및 제어 방법
JP7454166B2 (ja) 情報処理システム、情報処理方法、及び記憶媒体
JP7265085B1 (ja) 情報処理システム、情報処理方法、及びプログラム
JP2019170940A (ja) プログラム、情報処理装置、および方法
JP6865878B2 (ja) アバター表示システム、ユーザ端末、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231222