IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コロプラの特許一覧

<>
  • 特許-プログラム、及び情報処理システム 図1
  • 特許-プログラム、及び情報処理システム 図2
  • 特許-プログラム、及び情報処理システム 図3
  • 特許-プログラム、及び情報処理システム 図4
  • 特許-プログラム、及び情報処理システム 図5
  • 特許-プログラム、及び情報処理システム 図6
  • 特許-プログラム、及び情報処理システム 図7
  • 特許-プログラム、及び情報処理システム 図8
  • 特許-プログラム、及び情報処理システム 図9
  • 特許-プログラム、及び情報処理システム 図10
  • 特許-プログラム、及び情報処理システム 図11
  • 特許-プログラム、及び情報処理システム 図12
  • 特許-プログラム、及び情報処理システム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】プログラム、及び情報処理システム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240926BHJP
   G06T 15/20 20110101ALI20240926BHJP
   A63F 13/52 20140101ALI20240926BHJP
【FI】
G06T19/00 300A
G06T15/20
A63F13/52
【請求項の数】 6
(21)【出願番号】P 2023056252
(22)【出願日】2023-03-30
(62)【分割の表示】P 2022155506の分割
【原出願日】2022-09-28
(65)【公開番号】P2024049299
(43)【公開日】2024-04-09
【審査請求日】2023-03-30
【前置審査】
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】弁理士法人信栄事務所
(72)【発明者】
【氏名】國府田 隆介
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2001-178963(JP,A)
【文献】特開2020-160651(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00-19/20
A63F 13/50-13/58
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
前記ユーザオブジェクトが前記特定のオブジェクトに近づくことにより、前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きいと判定された場合、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム。
【請求項2】
前記仮想空間画像を生成する手段として、
前記仮想空間画像に対する前記特定のオブジェクトの占有率が第1閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、請求項1に記載のプログラム。
【請求項3】
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示倍率が第2閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、請求項1に記載のプログラム。
【請求項4】
前記特定のオブジェクトは、静的なオブジェクトである、請求項1に記載のプログラム。
【請求項5】
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、請求項1に記載のプログラム。
【請求項6】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
前記ユーザオブジェクトが前記特定のオブジェクトに近づくことにより、前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きいと判定された場合、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、及び情報処理システムに関する。
【背景技術】
【0002】
ユーザの操作入力に基づいてユーザオブジェクトを仮想空間内で移動させ、ユーザオブジェクトの移動に応じて移動する仮想カメラに基づいて、仮想空間画像を生成する技術が知られている。
【0003】
特許文献1には、仮想空間において、ユーザオブジェクトが障害物に隠れて見えなくなることを避けるため、仮想カメラと障害物との距離が所定距離以内である場合、当該障害物の透明度が徐々に増すように当該障害物の透明度を更新するゲームプログラムが開示されている。また、特許文献2には、仮想空間において、ユーザオブジェクトとバトルを行う敵キャラクタがフェードインして登場し、当該敵キャラクタがバトルにおいて残りダメージ値がゼロになって行動不能となった場合にフェードアウトして退場する画像描画装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-43589号公報
【文献】特開2005-149315号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、仮想空間において、ユーザオブジェクトが移動して他のオブジェクトに近づく場合、またはユーザオブジェクトの周辺にサイズが大きい他のオブジェクトが存在する場合などでは、仮想空間画像に当該他のオブジェクトが鮮明に映り込むことがある。そして、当該他のオブジェクトが他人の著作物である可能性があり、このような他人の著作物の鮮明な映り込みを防止することのできる技術が望まれている。
【0006】
本開示は、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことを目的とする。
【課題を解決するための手段】
【0007】
本開示に示す一実施形態によれば、
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム、が提供される。
【0008】
本開示に示す他の一実施形態によれば、
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム、が提供される。
【発明の効果】
【0009】
本開示に示す一実施形態によれば、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【図面の簡単な説明】
【0010】
図1図1は、本開示の第1の実施の形態に従うシステムの構成例を示す図である。
図2図2は、図1に示すユーザ端末の機能的な構成を示すブロック図である。
図3図3は、図1に示すサーバの機能的な構成を示すブロック図である。
図4図4は、比較例に係るプログラムが実行されることにより、図1に示すユーザ端末に表示される仮想空間画像の一例を示している。
図5図5は、本開示の第1の実施の形態に従う仮想空間の提供に係る処理の一例を示すフローチャートである。
図6図6は、本開示の第1の実施の形態に従う仮想空間の一例を示す模式図である。
図7図7は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
図8図8は、本開示の第1の実施の形態の変形例1に従う表示画面の一例を示す模式図である。
図9図9は、本開示の第2の実施の形態の比較例に従う表示画面の一例を示す模式図である。
図10図10は、本開示の第2の実施の形態に従う表示画面の一例を示す模式図である。
図11図11は、本開示の第2の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
図12図12は、本開示の第3の実施の形態に従う表示画面の一例を示す模式図である。
図13図13は、本開示の第3の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品等には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【0012】
(システムの構成)
[第1の実施の形態]
以下、本開示に係る第1の実施の形態として、ユーザの操作入力に基づいてユーザオブジェクトを仮想空間内で移動させ、ユーザオブジェクトの移動に応じて移動する仮想カメラに基づいて生成される仮想空間画像をユーザに提供するシステムを例示して説明をする。
【0013】
仮想空間は、複数のユーザに共通のものであってもよいし、複数のユーザ毎に異なるものでもよい。すなわち、1つの仮想空間に複数のユーザオブジェクトが存在するようにしてもよいし、1つの仮想空間に1つのユーザオブジェクトが存在するようにしてもよい。また、仮想空間は、VR(Virtual Reality)、AR(Augmented Reality)、MR(Mixed Reality)及びSR(Substitutional Reality)等のXR技術を用いて生成されるものであってもよい。
【0014】
図1は、本開示の第1の実施の形態に従うシステム(情報処理システム)1の構成例を示す図である。図1に示すように、システム1は、複数のユーザがそれぞれ使用するユーザ端末10A,10B,10Cと、サーバ20と、を含み、これらの装置がネットワーク30によって互いに通信可能に接続されている。
【0015】
ユーザ端末10Aとユーザ端末10Bとは、無線基地局31と通信することにより、ネットワーク30と接続する。ユーザ端末10Cは、家屋などの施設に設置される無線ルータ32と通信することにより、ネットワーク30と接続する。以下、ユーザ端末10A,10B,10Cなどのユーザ端末を総称して「ユーザ端末10」とも称する。なお、ユーザ端末10は、有線通信によりネットワーク30と接続する構成であってもよい。
【0016】
ユーザ端末10は、ユーザが使用するコンピュータ(情報処理装置)である。ユーザ端末10は、携帯型の情報端末であってもよいし、PC(Personal Computer)又はゲーム機等の設置型の情報端末であってもよい。ユーザ端末10は、タッチスクリーンを備えていてもよいし、備えていなくてもよい。また、ユーザ端末10は、ARゴーグル及びARグラスを含むHMD(Head-Mounted Device)であってもよいし、コンタクトレンズのように目に装着可能なコンタクト型のデバイスであってもよい。以下では、ユーザ端末10がタッチスクリーンを備える携帯型端末であり、具体的には、スマートフォン、ファブレット又はタブレットなどであるものとして、説明をする。
【0017】
ユーザ端末10は、例えば、アプリ等を配信するプラットフォームを介してインストールされたアプリケーションプログラムを実行する。なお、ユーザ端末10は、アプリケーションプログラムを実行する代わりに、ウェブサイト閲覧用ソフトウェア、すなわちウェブブラウザを介して取得されるプログラムを実行してもよい。
【0018】
ユーザ端末10は、アプリケーションプログラム等のプログラムの実行により、仮想空間画像を生成し、当該仮想空間画像を表示部へ出力することを可能とする。ユーザ端末10は、仮想空間画像の生成にあたって、必要に応じてサーバ20との間で各種データを送受信しうる。
【0019】
サーバ20は、仮想空間画像の生成に必要なデータを、適宜、ユーザ端末10へ送信する。サーバ20は、ユーザに関する各種データを管理する。サーバ20は、例えば、ユーザの操作入力に関する情報をユーザ端末10から受信し、受信した情報に応じた処理を実行する。
【0020】
サーバ20は、ハードウェア構成として、通信IF(Interface)22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29と、を備え、これらが通信バスを介して互いに接続されている。
【0021】
通信IF22は、例えばLAN(Local Area Network)規格など各種の通信規格に対応しており、ユーザ端末10など外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。
【0022】
入出力IF23は、サーバ20への情報の入力を受け付けるとともに、サーバ20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウス及びキーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部と、を含む。
【0023】
メモリ25は、サーバ20における処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)又はRAM(Random Access Memory)等の記憶装置を含んで構成されている。
【0024】
ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ26は、HDD(Hard Disk Drive)又はフラッシュメモリ等の記憶装置を含んで構成されている。
【0025】
プロセッサ29は、ストレージ26に記憶されるプログラムを読み込んで実行することにより、サーバ20の動作を制御する。プロセッサ29は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)又はGPU(Graphics Processing Unit)等を含んで構成されている。
【0026】
(ユーザ端末の構成)
図2は、図1に示すユーザ端末10の機能的な構成を示すブロック図である。図2に示すように、ユーザ端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク170と、スピーカ180と、制御部190と、を含む。
【0027】
アンテナ110は、ユーザ端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。
【0028】
無線通信IF120は、ユーザ端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理などを行う。無線通信IF120は、チューナー及び高周波回路などを含む無線通信用の通信モジュールであり、ユーザ端末10が送受信する無線信号の変復調及び周波数変換を行い、受信信号を制御部190へ与える。
【0029】
タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対する情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの入力操作を受け付けるためのタッチパネル131と、メニュー画面及び仮想空間画像等を画面に表示するためのディスプレイ132と、を含む。タッチパネル131は、例えば、静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出しうる。ディスプレイ132は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)又はその他の表示装置によって実現される。
【0030】
入出力IF140は、ユーザ端末10への情報の入力を受け付けるとともに、ユーザ端末10の外部へ情報を出力するためのインタフェースとして機能する。
【0031】
記憶部150は、フラッシュメモリ又はRAM等により構成される。記憶部150は、ユーザ端末10がサーバ20から受信する各種データを記憶しうる。記憶部150は、仮想空間画像をユーザに提供しうるプログラム151と、仮想空間情報152と、ユーザ情報153と、を記憶する。
【0032】
仮想空間情報152は、例えば、仮想空間を生成するための情報を含む。また、仮想空間情報152は、例えば、仮想空間に配置される仮想カメラ及びユーザオブジェクト等の各種の仮想オブジェクトを生成するための情報を含む。また、仮想空間情報152は、例えば、各種の仮想オブジェクトを仮想空間に配置するための配置情報を含む。ユーザ情報153は、例えば、ユーザ端末10を識別する端末ID(Identification)、及びユーザを識別するユーザID情報等を含む。
【0033】
音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク170から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ180へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク170は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ180は、音声信号を、ユーザ端末10の外部へ出力するための音声出力部として機能する。
【0034】
制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、ユーザ端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサなどのプロセッサによって実現される。
【0035】
制御部190は、プログラム151を読み込んで実行することにより、入力操作受付部191と、送受信部192と、空間生成部193と、配置部194と、移動制御部195と、画像生成部196と、の各機能を発揮する。ある局面において、制御部190は、サーバ20との間で各種情報の送受信を行いながら、仮想空間画像を生成する。
【0036】
入力操作受付部191は、タッチスクリーン130からの出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部191は、ユーザの指などがタッチパネル131に接近したことを、タッチスクリーン130を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
【0037】
入力操作受付部191は、タッチスクリーン130に対するユーザの操作を判別する。具体的には、入力操作受付部191は、いわゆる「接近操作」、「リリース操作」、「タップ操作」、「ダブルタップ操作」、「長押し操作(ロングタッチ操作)」、「ドラッグ操作(スワイプ操作)」、「ムーブ操作」、及び「フリック操作」などのユーザの操作を判別する。入力操作受付部191が判別するユーザの操作は、上記に限られない。例えば、タッチパネル131が、ユーザがタッチパネル131に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部191は、ユーザが押下した圧力の大きさを判別する。
【0038】
送受信部192は、サーバ20から各種情報を受信し、また、サーバ20に対して各種情報を送信する。送受信部192は、例えば、サーバ20から仮想空間情報252の少なくとも一部を受信する。一例として、送受信部192は、他のユーザが操作する他ユーザオブジェクトに関する他ユーザオブジェクト情報をサーバ20から受信する。送受信部192は、例えば、ユーザオブジェクトの移動やその他の行動に関する情報をサーバ20へ送信する。
【0039】
空間生成部193は、仮想空間情報152を参照し、仮想空間を生成する。また、空間生成部193は、仮想空間に配置される仮想カメラ及びユーザオブジェクト等の仮想オブジェクトを生成する。空間生成部193によって生成される仮想オブジェクトには、他のユーザによって操作される他ユーザオブジェクト、及び動画を表示するためのスクリーンオブジェクト等が含まれうる。
【0040】
配置部194は、仮想空間情報152に含まれる配置情報を参照し、仮想空間に仮想カメラ及びユーザオブジェクト等の各種の仮想オブジェクトを配置する。例えば、配置部194は、他ユーザオブジェクト情報に基づいて、仮想空間に他ユーザオブジェクトを配置する。また、配置部194は、サーバ20から送信される情報等に基づいて、他ユーザオブジェクト及びその他の仮想オブジェクトを移動させる。
【0041】
移動制御部195は、ユーザオブジェクトを移動させるための移動操作(以下、単に「移動操作」とも称する)が行われたことに基づいて、仮想空間内においてユーザオブジェクトを移動させる。例えば、移動制御部195は、入力操作受付部191が受け付けた入力操作の入力位置の座標及び操作の種類に基づいてユーザの指示内容を解釈し、当該解釈に基づいて、ユーザオブジェクトを移動させる。
【0042】
画像生成部196は、仮想カメラに基づいて、仮想カメラから仮想空間内を撮像した画像である仮想空間画像を生成する。画像生成部196が生成した仮想空間画像は、タッチスクリーン130に出力され、ディスプレイ132上に表示される。
【0043】
画像生成部196は、移動操作がされていない場合、すなわちユーザオブジェクトが停止状態である場合、仮想空間画像の生成において当該ユーザオブジェクトを透明にする。一方、画像生成部196は、移動操作がされている場合、すなわちユーザオブジェクトが移動状態である場合、仮想空間画像の生成において当該ユーザオブジェクトを不透明にする。
【0044】
また、画像生成部196は、仮想空間画像におけるユーザオブジェクトを不透明から透明にする場合、当該ユーザオブジェクトの透明度を徐々に上げることが好ましい。すなわち、画像生成部196は、ユーザオブジェクトが移動状態から停止状態へ移行する場合、当該ユーザオブジェクトが不透明から透明に徐々に変化するようにフェードアウト処理をしてもよい。フェードアウト処理が行われる期間は、例えば0.1秒~2秒程度である。
【0045】
また、画像生成部196は、仮想空間画像におけるユーザオブジェクトを透明から不透明にする場合、当該ユーザオブジェクトの透明度を徐々に下げることが好ましい。すなわち、画像生成部196は、ユーザオブジェクトが停止状態から移動状態へ移行する場合、当該ユーザオブジェクトが透明から不透明に徐々に変化するようにフェードイン処理をしてもよい。フェードイン処理が行われる期間は、例えば0.1秒~2秒程度である。
【0046】
また、画像生成部196は、移動操作の開始後の第一期間において、ユーザオブジェクトが移動に伴う動作である付随動作を行うように仮想空間画像を生成することが好ましい。また、画像生成部196は、移動操作の終了後の第二期間において、ユーザオブジェクトが停止に伴う動作である付随動作を行うように仮想空間画像を生成することが好ましい。第一期間と第二期間とは、同じ長さであってもよいし、互い異なる長さであってもよい。また、画像生成部196は、ユーザオブジェクトに行わせる付随動作の種類に応じて、第一期間及び第二期間の少なくとも一方の長さを変化させてもよい。
【0047】
付随動作には、ユーザオブジェクトの姿勢の変更が含まれる。例えば、ユーザオブジェクトの移動に伴う付随動作である準備動作には、ユーザオブジェクトの上半身を傾ける動作、腕を曲げる動作、及びジャンプの前に膝を曲げる動作など、人間が動き出す際に通常行う動作が含まれる。また、例えば、ユーザオブジェクトの停止に伴う付随動作である余韻動作には、傾いている上半身を起こす動作、腕を伸ばす動作、及び膝を伸ばす動作など、人間が動きを止める際に通常行う動作が含まれる。
【0048】
なお、ユーザオブジェクトが、準備動作として上半身を傾ける動作を行い、余韻動作として上半身を起こす動作を行う場合、当該ユーザオブジェクトの動きの変化が分かりやすく、停止状態と移動状態との間における動作の差をより効果的に補完することができる。このため、準備動作として上半身を傾ける動作が行われ、余韻動作として上半身を起こす動作が実行されることが好ましい。
【0049】
また、画像生成部196は、移動操作の開始前後及び移動操作の終了前後において、仮想カメラとユーザオブジェクトとの距離を一定に保つことが好ましい。なお、一定には、若干の誤差が含まれる。
【0050】
(サーバの構成)
図3は、図1に示すサーバ20の機能的な構成を示すブロック図である。図3を参照して、サーバ20の詳細な構成を説明する。サーバ20は、プログラム251に従って動作することにより、通信部220と、記憶部250と、制御部290と、としての機能を発揮する。
【0051】
通信部220は、サーバ20がユーザ端末10などの外部の通信機器とネットワーク30を介して通信するためのインタフェースとして機能する。
【0052】
記憶部250は、サーバ20を動作させるための各種プログラム及びデータを記憶する。ある局面において、記憶部250は、プログラム251と、仮想空間情報252と、ユーザ情報253と、を記憶する。
【0053】
プログラム251は、ユーザ端末10を介して仮想空間画像をユーザに提供するためのプログラムである。例えば、プログラム251は、仮想空間情報252及びユーザ情報253等を参照して、仮想空間画像をユーザに提供するためのサーバ20側における各種処理を実行する。
【0054】
仮想空間情報252は、例えば、仮想空間を生成するための情報、及び仮想空間に配置される各種の仮想オブジェクトを生成するための情報を含む。仮想空間情報252の少なくとも一部は、仮想空間情報152の元となる情報である。仮想空間情報252には、各ユーザオブジェクトの仮想空間における位置及び行動に関する情報が含まれうる。また、仮想空間情報252には、動画に関する情報が含まれうる。
【0055】
ユーザ情報253は、各ユーザ端末10のユーザに関する情報である。例えば、ユーザ情報253は、ユーザ端末10又はユーザ端末10のユーザを識別する情報、及びその他の情報を含む。
【0056】
制御部290は、記憶部250に記憶されるプログラム251を実行することにより、送受信部291、サーバ処理部292、データ管理部293、及び計時部294としての機能を発揮する。
【0057】
送受信部291は、ユーザ端末10から各種情報を受信し、また、ユーザ端末10に対して各種情報を送信する。ユーザ端末10とサーバ20とは、例えば、仮想空間及び仮想オブジェクトの生成に関する情報、ユーザオブジェクトの移動及びその他の行動に関する情報、並びに動画の再生に関する情報などを送受信する。
【0058】
サーバ処理部292は、ユーザ端末10を介してユーザに仮想空間を提供するためにサーバ20において必要となる各種の処理を行う。サーバ処理部292は、送受信部291が受信したユーザ端末10からの各種要求に応じて、送受信部291に対して各種データの送信を指示する。また、サーバ処理部292は、サーバ処理部292による各種の演算結果に基づいて、データ管理部293に対して各種データの更新を指示する。
【0059】
データ管理部293は、サーバ処理部292からの指示に基づいて、記憶部250に記憶される各種データを追加、削除又は更新する処理を行う。計時部294は、時間を計測する処理を行う。また、計時部294は、例えば、複数のユーザ端末10において各種の時間に関する情報を同期させる処理を実行する。
【0060】
(比較例)
次に、図4を参照して、比較例に係るプログラムが実行されることにより生成される仮想空間画像について説明する。図4は、比較例に係るプログラムが実行されることにより、ユーザ端末10のディスプレイ132に表示される仮想空間画像の一例を示している。
【0061】
ユーザ端末10における制御部190は、比較例に係るプログラムを実行することにより、仮想空間画像を生成すると仮定する。このとき、制御部190は、ユーザによる移動操作の有無に関わらず、ユーザオブジェクト802を不透明にする。すなわち、制御部190は、ユーザオブジェクト802が移動状態である場合だけでなく、停止状態である場合においても、仮想空間画像においてユーザオブジェクト802を不透明にする。
【0062】
ここで、仮想空間には、仮想オブジェクトの一例であるスクリーンオブジェクト807が配置されているとする。制御部190は、ユーザオブジェクト802がスクリーンオブジェクト807の近傍に設定されたトリガ領域内に侵入した場合、スクリーンオブジェクト807において動画の再生を開始する。そして、ユーザオブジェクト802がトリガ領域内で停止状態であることにより、スクリーンオブジェクト807において動画の再生が継続される。
【0063】
動画の再生形式は、サーバ20から動画情報を都度取得するストリーミング形式でもよいし、記憶部150に動画情報を予めダウンロードしておくダウンロード形式であってもよい。動画の再生は、音声の出力を伴ってなされることが好ましい。
【0064】
このように、スクリーンオブジェクト807において動画の再生が行われる場合において、上述のとおりユーザオブジェクト802が不透明である場合、スクリーンオブジェクト807の一部がユーザオブジェクト802に隠れることにより、ユーザにおいて動画の一部を見ることができない事態が生じうる。そこで、本開示に係るプログラムでは、以下のような動作により、このような課題を解決する。
【0065】
(プログラムの動作例)
(a)動作の流れ
次に、図5から図7を参照して、本開示の第1の実施の形態に係るプログラムにおける動作例について説明する。以降で説明する各処理は、ユーザ端末10における制御部190がプログラム151を、サーバ20における制御部290がプログラム251をそれぞれ実行することにより実現される。
【0066】
なお、本明細書で説明する各フローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、本明細書で説明する各フローチャートを構成する処理の一部は、省略してもよい。
【0067】
図5は、本開示の第1の実施の形態に従う仮想空間の提供に係る処理の一例を示すフローチャートである。まず、ステップS110において、制御部190は、仮想空間情報152を参照し、仮想空間を生成する。同様に、制御部190は、仮想カメラ及びユーザオブジェクトを含む仮想オブジェクトを生成する。制御部190は、仮想空間及び仮想オブジェクトの生成において、必要に応じてサーバ20から仮想空間情報252等の各種情報を受信してもよい。
【0068】
ステップS120において、制御部190は、仮想空間情報152に含まれる配置情報を参照し、仮想空間に仮想オブジェクトを配置する。このとき、制御部190は、ユーザオブジェクトから所定距離の位置に仮想カメラを配置する。
【0069】
ステップS130において、制御部190は、仮想空間画像を生成する。このとき、制御部190は、ユーザオブジェクトを透明にする。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する。
【0070】
仮想空間画像は、仮想カメラに基づく画像であり、仮想カメラから仮想空間内を撮像した画像である。また、仮想カメラの視線方向は、ユーザによって仮想カメラの向きを変更するための入力操作がされたことに基づいて変更されうる。例えば、仮想カメラは、ユーザオブジェクトとの距離を維持しながら、ユーザによる入力操作に応じた位置に移動する。
【0071】
制御部190は、ユーザオブジェクトの移動操作を検出しない場合(ステップS140において「NO」)、ユーザオブジェクトを透明で表示することを継続する。そして、制御部190は、プログラム151を終了するための入力操作を受け付けたこと等に応じて、一連の処理を終了する。
【0072】
一方、制御部190は、ユーザオブジェクトの移動操作を検出した場合(ステップS140において「YES」)、ステップS150において、ユーザオブジェクトを徐々に不透明にするフェードイン処理を開始する。なお、制御部190は、ユーザによる移動操作を検出した場合、必要に応じて、移動後のユーザオブジェクトの位置を特定するための情報をサーバ20へ送信する。
【0073】
ステップS160において、制御部190は、ユーザオブジェクトに対して移動に伴う準備動作を実行させる。
【0074】
ステップS170において、制御部190は、ユーザオブジェクトを移動させる処理を行う。また、制御部190は、ユーザオブジェクトの移動と連動するように、ユーザオブジェクトと同じ移動速度で仮想カメラを移動させる処理を行う。これにより、ユーザオブジェクトと仮想カメラとは、相対的な位置関係を維持したままで移動する。
【0075】
制御部190は、ユーザオブジェクトの移動操作の終了を検出しない場合(ステップS180において「NO」)、ステップS170に戻り、ユーザオブジェクト及び仮想カメラを移動させる処理を継続する。
【0076】
一方、制御部190は、ユーザオブジェクトの移動操作の終了を検出した場合(ステップS180において「YES」)、ステップS190において、ユーザオブジェクト及び仮想カメラの移動を停止させる処理を行う。
【0077】
ステップS200において、制御部190は、ユーザオブジェクトを徐々に透明にするフェードアウト処理を開始する。
【0078】
ステップS210において、制御部190は、ユーザオブジェクトに対して停止に伴う余韻動作を実行させる。そして、制御部190は、プログラム151を終了するための入力操作を受け付けたこと等に応じて、一連の処理を終了する。
【0079】
(b)仮想空間及び仮想空間画像の説明
以下、図6及び図7を用いて、図5に示した一連の処理において生成される仮想空間及び仮想空間画像について説明する。図6は、本開示の第1の実施の形態に従う仮想空間501の一例を示す模式図である。図6において、仮想空間501には、ユーザオブジェクト502と、仮想カメラ503と、柱オブジェクト504と、他ユーザオブジェクト506と、が配置されている。
【0080】
ユーザオブジェクト502は、ユーザが操作可能なオブジェクトであり、例えばユーザのアバターである。他ユーザオブジェクト506は、他のユーザが操作可能なオブジェクトであり、例えば他のユーザのアバターである。仮想カメラ503は、仮想空間501を撮像する仮想オブジェクトである。柱オブジェクト504は、仮想空間501に固定配置される仮想オブジェクトである。
【0081】
(b-1)停止状態から移動状態へ移行する場合の仮想空間画像
図7は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。具体的には、図7の(a)は、ユーザオブジェクト502が停止状態であるときの表示画面を示している。図7の(b)は、ユーザオブジェクト502が付随動作を実行しているときの表示画面を示している。図7の(c)は、ユーザオブジェクト502が移動状態であるときの表示画面を示している。
【0082】
図7の(a)は、ユーザオブジェクト502の移動操作が行われる前の状態(図5に示すステップS130)において表示される仮想空間画像を示す。当該仮想空間画像において、停止状態であるユーザオブジェクト502は透明であり、表示されていない。なお、ユーザオブジェクト502の所有物がある場合には、当該所有物も表示されない。
【0083】
他ユーザオブジェクト506は、移動状態であるか否かに関わらず、ユーザオブジェクト502を操作するユーザのディスプレイ132上に表示される。例えば、図7の(a)では他ユーザオブジェクト506は立ち止まっており移動をしていないが、ディスプレイ132上に表示されている。
【0084】
なお、他ユーザオブジェクト506を操作する他のユーザのディスプレイ上では、他ユーザオブジェクト506は透明であり、表示されていない。一方、ユーザオブジェクト502は、当該他のユーザのディスプレイ上では不透明であり、表示されている。
【0085】
また、当該他のユーザによって、他ユーザオブジェクト506に対する移動又はその他の行動をさせるための操作が行われたとする。この場合、移動後の他ユーザオブジェクト506の位置、又はその他の行動を特定するための情報が、サーバ20を介してユーザオブジェクト502のユーザのユーザ端末10に送信される。制御部190は、その情報に基づいて、仮想空間501における他ユーザオブジェクト506の位置及び行動を制御する。
【0086】
また、図7の(a)では、操作子601が破線で示されている。操作子601は、ユーザオブジェクト502を移動させる移動操作の入力を受け付けるために表示される仮想的なコントローラである。ユーザは、例えば、操作子601の中央にある円状部をドラッグすることで、ドラッグした方向にユーザオブジェクト502を移動させることができる。
【0087】
操作子601は一例であり、他の形状や入力態様を採用してもよい。仮想空間501の視認性を高めるという観点から、操作子601は、ユーザの移動操作を受け付けるまでは、完全に透明な状態又は視認可能ではあるが透明度の高い状態であることが好ましい。
【0088】
図7の(b)は、ユーザオブジェクト502の移動操作が開始され、当該ユーザオブジェクト502のフェードイン処理(図5に示すステップS150)及び準備動作(図5に示すステップS160)が行われている状態における仮想空間画像を示す。当該仮想空間画像において、ユーザオブジェクト502が半透明で表示されている。図7の(b)では、ユーザオブジェクト502が半透明で表示されていることを示すために、当該ユーザオブジェクト502を破線で示している。例えば、操作子601を左右に2分割する線分lよりも右側(矢印A方向側)に位置する領域へ円状部がドラッグされた場合、ドラッグ操作の開始後の第一期間において、ユーザオブジェクト502は右方向への移動の準備動作を実行する。
【0089】
具体的には、ユーザオブジェクト502は、体の向きを右側へ向けて、上半身を傾ける。また、ユーザオブジェクト502は、さらに、膝及び腕を曲げるなどの準備動作を行ってもよい。
【0090】
また、図7の(b)では、右方向への移動操作がされていることを示すため、操作子601の円状部分は右側に位置している。また、移動操作がされていることに応じて、操作子601は、図7の(a)の場合よりも透明度の低い状態にされている。
【0091】
図7の(c)は、ユーザオブジェクト502のフェードイン処理及び準備動作の完了後であり、かつ当該ユーザオブジェクト502の移動操作が継続中である状態(図5に示すステップS170)における仮想空間画像を示している。当該仮想空間画像において、ユーザオブジェクト502が不透明で表示されている。図7の(c)では、ユーザオブジェクト502が不透明で表示されていることを示すために、当該ユーザオブジェクト502を実線で示している。図7の(c)では、右方向への移動操作がされているため、ユーザ
オブジェクト502は右方向へ移動している。
【0092】
また、図7の(c)では、図7の(b)と同様に、右方向への移動操作がされていることを示すため、操作子601の円状部分は右側に位置している。また、図7の(c)では、図7の(b)と同様に、移動操作がされていることに応じて、操作子601は、図7の(a)の場合よりも透明度の低い状態にされている。移動操作中において、ユーザの移動操作を容易にするという観点から、操作子601は不透明であってもよいし、仮想空間501の視認性を高めるという観点から、半透明又は透明であってもよい。
【0093】
ユーザオブジェクト502の停止状態から移動状態への移行期間において、図7の(a)に示す仮想空間画像から図7の(b)に示す仮想空間画像を経由して、図7の(c)に示す仮想空間画像が表示される。図7では、ユーザオブジェクト502が付随動作を実行しているときの表示画面として図7の(b)の1つのみを示しているが、制御部190は、ユーザオブジェクト502の付随動作としての動きが連続的又は段階的に変化するように仮想空間画像を生成する。
【0094】
また、この移行期間において、ユーザオブジェクト502のフェードイン処理により、ユーザオブジェクト502の透明度は連続的又は段階的に下げられる。すなわち、ユーザオブジェクト502のフェードイン処理と、ユーザオブジェクト502の移動のための準備動作とは並列的に実行される。
【0095】
ユーザオブジェクト502が準備動作を行う第一期間の長さは、当該移行期間と同じであってもよいし、当該移行期間よりも短くてもよい。例えば、第一期間が移行期間よりも短い場合、フェードイン処理の開始とともにユーザオブジェクト502の準備動作及び移動が開始し、フェードイン処理の継続中に準備動作が完了する。また、例えば、第一期間が移行期間よりも長い場合、フェードイン処理の開始とともにユーザオブジェクト502の準備動作及び移動が開始し、フェードイン処理が完了した後においても準備動作が継続する。
【0096】
(b-2)移動状態から停止状態へ移行する場合の仮想空間画像
ユーザオブジェクト502の移動状態から停止状態への移行期間において、図7の(c)に示す仮想空間画像から図7の(b)に示す仮想空間画像を経由して、図7の(a)に示す仮想空間画像が表示される。
【0097】
図7の(b)に示すように、ユーザオブジェクト502は、移動操作の終了後、すなわちユーザによる円状部のドラッグ操作の終了後の第二期間において、停止までの余韻動作を実行する。例えば、ユーザオブジェクト502は、傾いている上半身を起こして、足踏みを行う。
【0098】
また、この移行期間において、ユーザオブジェクト502のフェードアウト処理により、ユーザオブジェクト502の透明度は連続的又は段階的に上げられる。すなわち、ユーザオブジェクト502のフェードアウト処理と、ユーザオブジェクト502の停止のための余韻動作とは並列的に実行される。
【0099】
なお、ユーザオブジェクト502が余韻動作を行う第二期間の長さは、当該移行期間と同じであってもよいし、当該移行期間よりも短くてもよい。例えば、第二期間が移行期間よりも短い場合、フェードアウト処理の開始とともにユーザオブジェクト502の余韻動作が開始し、フェードアウト処理の継続中に余韻動作が完了する。
【0100】
(b-3)停止状態におけるユーザオブジェクトのジェスチャーの実行
ユーザオブジェクト502は、ユーザが表示画面に含まれるアイコンを押下する等の操作を行った場合、当該操作の内容に応じたジェスチャーを実行してもよい。ジェスチャーには、拍手をする動作、及び手を振る動作などが含まれる。
【0101】
制御部190は、ユーザオブジェクト502が停止状態、すなわち非表示である状態においてジェスチャーを実行する場合、当該ユーザオブジェクト502を表示する。そして、制御部190は、ユーザオブジェクト502のジェスチャーが終了すると、当該ユーザオブジェクト502を再び非表示にする。
【0102】
このような構成により、ユーザオブジェクト502が実行することのできる動作の種類を増やし、さらに、ユーザオブジェクト502の停止中における動作を、当該ユーザオブジェクト502を操作するユーザが確認することができる。
【0103】
(b-4)移動速度に応じた動作の制御
ユーザオブジェクト502は、操作子601の円状部がドラッグされる長さに応じて、移動速度が変化してもよい。具体的には、移動操作が行われていない場合における操作子601の円状部の中心位置を初期位置とすると、ドラッグされた円状部の中心位置と初期位置との距離がゼロより大きく、かつ所定値未満である場合にはユーザオブジェクト502が歩いて移動する。また、ドラッグされた円状部の中心位置と初期位置との距離が所定値以上である場合にはユーザオブジェクト502が走って移動する。以下、ユーザオブジェクト502が歩いている状態を歩行状態と称し、ユーザオブジェクト502が走っている状態を走行状態と称する。
【0104】
制御部190は、ユーザオブジェクト502が歩行状態から走行状態へ移行する場合、当該ユーザオブジェクト502の上半身の傾きを大きくする等の付随動作を実行させてもよい。また、制御部190は、ユーザオブジェクト502が走行状態から歩行状態へ移行する場合、当該ユーザオブジェクト502の上半身の傾きを小さくする等の付随動作を実行させてもよい。
【0105】
このような場合において、後述するように、ユーザオブジェクト502の向きと仮想カメラ503の視線方向とが合っていると、ユーザオブジェクト502の移動速度が大きくなるほど当該ユーザオブジェクト502の上半身の傾きが大きくなり、当該ユーザオブジェクト502の頭が仮想カメラ503から離れる。このため、仮想カメラ503による撮像画像を見るユーザにおいては、ユーザオブジェクト502の移動速度が大きくなるほど、ユーザオブジェクト502との距離が遠くなるように感じる。
【0106】
一方、ユーザオブジェクト502の移動速度が小さくなるほど当該ユーザオブジェクト502の上半身の傾きが小さくなり、当該ユーザオブジェクト502の頭が仮想カメラ503に近づく。このため、仮想カメラ503による撮像画像を見るユーザにおいては、ユーザオブジェクト502の移動速度が小さくなるほど、ユーザオブジェクト502との距離が近くなるように感じる。
【0107】
なお、本実施形態では、ユーザオブジェクト502の移動速度が大きくなるほど当該ユーザオブジェクト502の上半身の傾きが大きくなる構成を採用しているが、このような構成に限定されない。例えば、ユーザオブジェクト502が走行を開始したタイミングから所定時間、当該ユーザオブジェクト502の上半身の傾きを大きくし、当該所定時間が経過した後、上半身の傾きを徐々に小さくする構成を採用してもよい。このような場合であっても、上記所定時間が経過した後の走行状態における上半身の傾きは、歩行状態における上半身の傾きよりも大きいことが望ましい。
【0108】
(変形例1)
図8は、本開示の第1の実施の形態の変形例1に係る表示画面の一例を示す模式図である。具体的には、図8の(a)は、ユーザオブジェクト502が移動状態である場合の表示画面を示している。図8の(b)は、ユーザオブジェクト502の移動停止時におけるユーザオブジェクト502の向きを説明するための表示画面を示している。
【0109】
画像生成部196は、仮想空間画像の生成において、ユーザオブジェクト502が移動状態から停止状態へ移行する場合、当該ユーザオブジェクト502の向きと仮想カメラ503の視線方向とが合うように当該ユーザオブジェクト502を制御してもよい。
【0110】
具体的には、図8の(a)に示すように、ユーザオブジェクト502が右方向へ移動しているとする。このような移動状態において移動操作が終了すると、画像生成部196は、図8の(b)に示すように、ユーザオブジェクト502の背中側に仮想カメラ503が位置するように当該ユーザオブジェクト502の向きを変更する。
【0111】
画像生成部196は、ユーザオブジェクト502の右方向への移動操作が終了した場合だけでなく、仮想カメラ503が位置する方向等の他の方向への移動操作が終了した場合においても同様に、ユーザオブジェクト502の背中側に仮想カメラ503が位置するように当該ユーザオブジェクト502の向きを変更する。
【0112】
そして、画像生成部196は、ユーザオブジェクト502の向きと仮想カメラ503の視線方向とを合わせた後、例えば、上述したフェードアウト処理を行い、当該ユーザオブジェクト502を透明にする。なお、画像生成部196は、ユーザオブジェクト502の向きの変更と、当該ユーザオブジェクト502のフェードアウト処理とを並列的に行ってもよい。
【0113】
また、画像生成部196は、ユーザオブジェクト502の移動状態から停止状態への移行期間において、図5に示すステップS210に示す余韻動作を実行させる場合、例えば、当該ユーザオブジェクト502の向きの変更と、余韻動作を実行させる処理とを並列的に行う。
【0114】
上記のように、ユーザオブジェクト502が移動状態から停止状態へ移行する場合、当該ユーザオブジェクト502の向きと仮想カメラ503の視線方向とを合わせることにより、ユーザオブジェクト502が、見えていないはずの他のユーザオブジェクトとコミュニケーションをとるなどの違和感を防ぐことができる。
【0115】
しかしながら、ユーザオブジェクト502を操作するユーザは、当該ユーザオブジェクト502の表情を確認することができない。このため、ユーザオブジェクト502が移動状態から停止状態へ移行する場合において、当該ユーザオブジェクト502の向きと仮想カメラ503の視線方向とを合わせない構成を採用してもよい。
【0116】
また、例えば、ユーザオブジェクト502が移動状態から停止状態へ移行する場合、当該ユーザオブジェクト502の向きと仮想カメラ503の視線方向とを合わせ、さらに、当該ユーザオブジェクト502の顔を含む一部又は全部の画像であって、当該ユーザオブジェクト502を正面から見た画像を表示画面に表示する構成を採用してもよい。
【0117】
(変形例2)
画像生成部196は、移動操作の開始前後及び移動操作の終了前後において、仮想カメラ503とユーザオブジェクト502との距離を変更してもよい。例えば、画像生成部196は、図5のステップS170に示すユーザオブジェクト502の移動開始時において、当該ユーザオブジェクト502を仮想カメラ503から遠ざけるように、当該ユーザオブジェクト502を制御する。
【0118】
具体的には、ユーザオブジェクト502の停止時におけるユーザオブジェクト502と仮想カメラ503との距離を第一距離とする。画像生成部196は、ユーザオブジェクト502の移動操作が開始すると、ユーザオブジェクト502と仮想カメラ503との距離が、第一距離よりも長い第二距離になるように、ユーザオブジェクト502を移動させる。そして、画像生成部196は、当該距離が第二距離のまま維持されるように、ユーザオブジェクト502及び仮想カメラ503を同じ移動速度で移動させる。
【0119】
また、画像生成部196は、例えば、図5のステップS190に示すユーザオブジェクト502の移動停止時において、当該ユーザオブジェクト502を仮想カメラ503に近づけるように、当該ユーザオブジェクト502を制御する。具体的には、画像生成部196は、ユーザオブジェクト502の移動操作が終了すると、ユーザオブジェクト502と仮想カメラ503との距離が第二距離から第一距離に変更されるように、ユーザオブジェクト502を移動させる。
【0120】
このような構成により、ユーザオブジェクト502が移動状態から停止状態へ移行する場合、ユーザにとって、ユーザオブジェクト502が自分に近づいた後に表示画面から消えるため、ユーザオブジェクト502が自分の中に取り込まれたような感覚をより得やすくなる。また、ユーザオブジェクト502が停止状態から移動状態へ移行する場合、ユーザにとって、ユーザオブジェクト502が自分から離れていくため、ユーザオブジェクト502が自分の中から出てくるような感覚をより得やすくなる。
【0121】
なお、画像生成部196は、仮想カメラ503とユーザオブジェクト502との距離を変更する際に、ユーザオブジェクト502を移動させる代わりに、仮想カメラ503を移動させてもよい。
【0122】
また、移動操作の開始前後及び移動操作の終了前後において、仮想カメラ503とユーザオブジェクト502との距離を変更する代わりに、又は当該距離を変更することに加えて、ユーザオブジェクト502の大きさを変更する構成を採用してもよい。
【0123】
例えば、画像生成部196は、ユーザオブジェクト502が移動状態から停止状態へ移行する場合、当該ユーザオブジェクト502のフェードアウト処理を行いながら、当該ユーザオブジェクト502の大きさを、移動状態における当該ユーザオブジェクト502の大きさ(以下、単に「移動時の大きさ」とも称する)から徐々に大きくしてもよい。また、画像生成部196は、例えば、ユーザオブジェクト502が停止状態から移動状態へ移行する場合、当該ユーザオブジェクト502のフェードイン処理を行いながら、当該ユーザオブジェクト502の大きさを、移動時の大きさよりも大きい状態から移動時の大きさになるまで、徐々に小さくしてもよい。
【0124】
本開示の第1の実施の形態に係る内容を列記すると以下の通りである。
【0125】
(項目1-1)
プロセッサ及びメモリを備えるコンピュータにより実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
仮想空間を生成するステップと、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置するステップと、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成するステップと、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるステップと、を実行させ、
前記仮想空間画像を生成するステップにおいて、
前記移動操作がされていない場合、前記ユーザオブジェクトを透明にし、
前記移動操作がされている場合、前記ユーザオブジェクトを不透明にする、
プログラム。
これにより、ユーザオブジェクトの停止時においては当該ユーザオブジェクトが表示されないことにより、スクリーンオブジェクトなど、ユーザが見ようとする他の仮想オブジェクトがユーザオブジェクトによって隠れてしまうことを防ぐことができる。また、ユーザオブジェクトの移動時においては、ユーザオブジェクトが表示されることにより、ユーザオブジェクトの移動に伴う映像酔いを防ぎ、かつ仮想空間におけるユーザオブジェクトの移動方向を容易に把握することができる。したがって、仮想空間における移動操作性を維持しながら、視認性の低下を抑制することができる。
【0126】
(項目1-2)
前記仮想空間画像を生成するステップにおいて、
前記ユーザオブジェクトを不透明から透明にする場合、前記ユーザオブジェクトの透明度を徐々に上げて、
前記ユーザオブジェクトを透明から不透明にする場合、前記ユーザオブジェクトの透明度を徐々に下げる、
項目1-1に記載のプログラム。
これにより、ユーザオブジェクトの表示および非表示が切り替わることによる違和感を防ぐことができる。また、移動停止時においてはユーザオブジェクトが徐々に透明になることにより、ユーザにとって、ユーザオブジェクトが自分の中に取り込まれたような感覚になる一方で、移動開始時においてはユーザオブジェクトが徐々に不透明になることにより、ユーザにとって、ユーザオブジェクトが自分の中から出てくるような感覚になるため、仮想空間への没入感を高めることができる。
【0127】
(項目1-3)
前記プログラムは、前記プロセッサに、さらに、
前記移動操作の開始後の第一期間及び前記移動操作の終了後の第二期間のうちの少なくとも一方において、前記ユーザオブジェクトに、前記ユーザオブジェクトの移動又は停止に伴う動作である付随動作をさせるステップを実行させ、
前記付随動作は、前記ユーザオブジェクトが停止状態から移動状態へ移行するまでの準備動作、及び前記ユーザオブジェクトが移動状態から停止状態へ移行するまでの余韻動作のうちの少なくとも一方を含む、
項目1-1又は項目1-2に記載のプログラム。
これにより、ユーザオブジェクトに対してより自然な動作を実行させることができる。
【0128】
(項目1-4)
前記付随動作は、前記ユーザオブジェクトの姿勢の変更を含む、
項目1-3に記載のプログラム。
このように、変化が大きく分かりやすい動きを付随動作としてユーザオブジェクトに実行させることにより、停止状態と移動状態との間における動作の差をより効果的に補完することができる。
【0129】
(項目1-5)
前記移動操作の開始前後及び前記移動操作の終了前後において、前記仮想カメラと前記ユーザオブジェクトとの距離を一定に保つ、
項目1-1から項目1-4のいずれか一項に記載のプログラム。
これにより、映像酔いをより一層防ぐことができる。
【0130】
(項目1-6)
前記ユーザオブジェクトが停止状態から移動状態へ移行する場合、前記ユーザオブジェクトを前記仮想カメラから遠ざけるように前記ユーザオブジェクトを制御し、
前記ユーザオブジェクトが移動状態から停止状態へ移行する場合、前記ユーザオブジェクトを前記仮想カメラに近づけるように前記ユーザオブジェクトを制御する、
項目1-1から項目1-4のいずれか一項に記載のプログラム。
これにより、ユーザオブジェクトが移動状態から停止状態へ移行する場合、ユーザにとって、ユーザオブジェクトが自分に近づいた後に表示画面から消えるため、ユーザオブジェクトが自分の中に取り込まれたような感覚をより得やすくなる。また、ユーザオブジェクトが停止状態から移動状態へ移行する場合、ユーザにとって、ユーザオブジェクトが自分から離れていくため、ユーザオブジェクトが自分の中から出てくるような感覚をより得やすくなる。
【0131】
(項目1-7)
前記ユーザオブジェクトが移動状態から停止状態へ移行する場合、前記ユーザオブジェクトの向きと前記仮想カメラの視線方向とを合わせるように前記ユーザオブジェクトを制御する、
項目1-1から項目1-6のいずれか一項に記載のプログラム。
これにより、仮想カメラによって撮像される領域、すなわちユーザに対して表示される領域と、ユーザオブジェクトが見ることのできる領域との間にズレが生じること防ぐことができるため、ユーザにおいて、ユーザオブジェクトと同じ感覚であるように感じることができる。また、これにより、ユーザオブジェクトが、当該ユーザオブジェクトからは見えていないはずの他のユーザオブジェクトとコミュニケーションをとるなどの違和感を防ぐことができる。さらに、他のユーザにおいて、ユーザオブジェクトの向く方向を確認することにより、当該ユーザオブジェクトのユーザの見えている方向を把握することができる。
【0132】
(項目1-8)
プロセッサ及びメモリを備えるコンピュータにより実行される方法であって、
前記方法は、前記プロセッサに、
仮想空間を生成するステップと、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置するステップと、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成するステップと、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるステップと、を実行させることを含み、
前記仮想空間画像を生成するステップにおいて、
前記移動操作がされていない場合、前記ユーザオブジェクトを透明にし、
前記移動操作がされている場合、前記ユーザオブジェクトを不透明にする、
方法。
これにより、ユーザオブジェクトの停止時においては当該ユーザオブジェクトが表示されないことにより、スクリーンオブジェクトなど、ユーザが見ようとする他の仮想オブジェクトがユーザオブジェクトによって隠れてしまうことを防ぐことができる。また、ユーザオブジェクトの移動時においては、ユーザオブジェクトが表示されることにより、ユーザオブジェクトの移動に伴う映像酔いを防ぎ、かつ仮想空間におけるユーザオブジェクトの移動方向を容易に把握することができる。したがって、仮想空間における移動操作性を維持しながら、視認性の低下を抑制することができる。
【0133】
(項目1-9)
プロセッサ及びメモリを備える情報処理装置であって、
前記プロセッサは、
仮想空間を生成し、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置し、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成し、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるものであり、
前記仮想空間画像の生成において、
前記移動操作がされていない場合、前記ユーザオブジェクトを透明にし、
前記移動操作がされている場合、前記ユーザオブジェクトを不透明にする、
情報処理装置。
これにより、ユーザオブジェクトの停止時においては当該ユーザオブジェクトが表示されないことにより、スクリーンオブジェクトなど、ユーザが見ようとする他の仮想オブジェクトがユーザオブジェクトによって隠れてしまうことを防ぐことができる。また、ユーザオブジェクトの移動時においては、ユーザオブジェクトが表示されることにより、ユーザオブジェクトの移動に伴う映像酔いを防ぎ、かつ仮想空間におけるユーザオブジェクトの移動方向を容易に把握することができる。したがって、仮想空間における移動操作性を維持しながら、視認性の低下を抑制することができる。
【0134】
[第2の実施の形態]
上述した第1の実施の形態では、ユーザオブジェクト502の移動操作の有無に応じて、ユーザオブジェクトを透明にすることと、ユーザオブジェクトを不透明にすることとを切り替える。これに対して、第2の実施の形態では、ユーザオブジェクト502の移動操作の有無に応じて、仮想空間画像を一人称視点の画像と三人称視点の画像との間で切り替える場合について説明する。
【0135】
(課題の説明)
図9は、本開示の第2の実施の形態の比較例に従う表示画面の一例を示す模式図である。ここでは、比較例に係るユーザ端末は、ユーザオブジェクト502の移動操作の有無に応じて、仮想空間画像を一人称視点の画像と三人称視点の画像との間で切り替える構成であるとする。
【0136】
例えば、ユーザオブジェクト502が、看板オブジェクト1302の前へ移動してきたとする。この場合、比較例に係るユーザ端末では、図9の(a)に示すように、ユーザオブジェクト502の少なくとも一部を含む三人称視点の画像が、仮想空間画像としてディスプレイ132に表示される。このときの仮想空間501における仮想カメラ503は、例えば、ユーザオブジェクト502の視点位置からユーザオブジェクト502の後方側へ所定距離だけ離れた箇所に位置する。
【0137】
また、図9の(a)に示す表示画面がディスプレイ132に表示されている状況において、ユーザが、ユーザオブジェクト502の移動操作を終了させたとする。この場合、比較例に係るユーザ端末では、図9の(b)に示すように、ユーザオブジェクト502の一人称視点の画像が、仮想空間画像としてディスプレイ132に表示される。このときの仮想空間501における仮想カメラ503の位置は、ユーザオブジェクト502の視線位置である。
【0138】
このように、仮想空間画像が三人称視点の画像から一人称視点の画像へ切り替えられた場合、仮想空間501における仮想カメラ503は、当該仮想カメラ503の視線方向へ移動する。このため、仮想空間画像の全体が拡大されて、看板オブジェクト1302など、ユーザオブジェクト502以外の他のオブジェクトが鮮明に映る。しかしながら、当該他のオブジェクトが他人の著作物である場合には、他人の著作物が鮮明に映る画像の複製等を容易に行うことができてしまう。
【0139】
これに対して、第2の実施の形態に係るユーザ端末10における制御部190は、後述のような構成により、上記課題を解決する。
【0140】
(ユーザ端末の構成)
図10は、本開示の第2の実施の形態に従う表示画面の一例を示す模式図である。図10の(a)は、図9の(a)と同様に、ユーザオブジェクト502が看板オブジェクト1302の前へ移動してきた際に生成される仮想空間画像を示している。図10の(b)は、ユーザオブジェクト502が看板オブジェクト1302の前で停止した際に生成される仮想空間画像を示している。
【0141】
図10を参照して、第2の実施の形態に係る制御部190は、所定条件が満たされる際に、仮想空間画像を一人称視点の画像と三人称視点の画像との間で切り替える。
【0142】
ここでは、一例として、制御部190における画像生成部196は、上述した比較例と同様に、ユーザオブジェクト502の移動操作が行われている場合、図10の(a)に示すように、仮想空間画像として三人称視点の画像を生成する。また、画像生成部196は、ユーザオブジェクト502の移動操作が行われていない場合、図10の(b)に示すように、仮想空間画像として一人称視点の画像を生成する。
【0143】
画像生成部196は、一人称視点の画像を生成する際、当該画像(以下、「生成予定画像」と称する)に特定のオブジェクトが含まれるか否かを判断する。
【0144】
より詳細には、例えば、図2に示す仮想空間情報152には、1または複数の特定のオブジェクトが予め登録されている。具体的には、静的なオブジェクトが、特定のオブジェクトとして登録されている。
【0145】
静的なオブジェクトには、キャラクタ、模様、文字又は記号等、もしくはこれらの組み合わせにより表現された、ポスター、垂れ幕、旗、看板、及び掲示に供するオブジェクトが含まれる。すなわち、静的なオブジェクトは、外的な応力が加えられた場合等を除いて、基本的には自立して動作しないものであり、例えば、建物や電柱に張られたり、立て看板のように道に置かれたりするものである。
【0146】
なお、特定のオブジェクトには、動的なオブジェクトに付された静的なオブジェクトも含まれる。例えば、バルーン等の浮遊物に付された静的なオブジェクト、及び、周期的又は所定のルートを移動するよう制御されるロボット型又は車型の移動オブジェクトに付された静的なオブジェクトも、特定のオブジェクトに含まれる。また、例えば、いわゆるNPC(ノンプレイヤキャラ)に所持又は装備された静的なオブジェクトも、特定のオブジェクトに含まれる。図10に示す看板オブジェクト1302は、特定のオブジェクトとして仮想空間情報152に登録されているとする。
【0147】
また、ユーザオブジェクト502には、一のプレイヤが操作するプレイヤオブジェクトと、当該一のプレイヤとは異なる他のプレイヤ又はコンピュータが操作する他のプレイヤオブジェクトとが含まれてもよい。この場合、他のプレイヤオブジェクトが特定のオブジェクトとして登録されてもよい。
【0148】
画像生成部196は、例えば、一人称視点の画像に切り替える直前の三人称視点の画像に対して画像処理を行い、さらに仮想空間情報152を参照して、当該三人称視点の画像に特定のオブジェクトが含まれるか否かを判断する。そして、画像生成部196は、当該三人称視点の画像に特定のオブジェクトが含まれると判断した場合、生成予定画像においても特定のオブジェクトが含まれると判断する。
【0149】
また、画像生成部196は、三人称視点の画像を生成していない状態では、仮想空間情報152に含まれる配置情報、及びユーザオブジェクト502の位置情報を参照して、生成予定画像に特定のオブジェクトが含まれるか否かを判断してもよい。
【0150】
また、画像生成部196は、生成予定画像に特定のオブジェクトが含まれると判断した場合、当該生成予定画像において特定のオブジェクトが所定の表示態様で表示されるように、当該特定のオブジェクトに所定の処理を施す。
【0151】
例えば、画像生成部196は、特定のオブジェクトの視認性が低下するような処理を施す。具体的には、モザイク処理、ボカシ処理、画質を変更する処理、画素数を変更する処理、色彩を変更する処理、明度を変更する処理、または彩度を変更する処理などが所定の処理として施される。画像生成部196は、生成予定画像に特定のオブジェクトが複数含まれる場合、各特定のオブジェクトに対して所定の処理を施す。
【0152】
なお、画像生成部196は、所定の処理として、特定のオブジェクトの少なくとも一部を予め定められた他のオブジェクトに置き換える処理、または特定のオブジェクトの少なくとも一部に対して予め定められた他のオブジェクトを重畳して表示させる処理などを施しても良い。予め定められた他のオブジェクトは、例えば、スタンプ画像やマスク画像などである。
【0153】
図10の(b)では、一例として、看板オブジェクト1302に対してモザイク処理が施された一人称視点の画像が、仮想空間画像としてディスプレイ132に表示されている。
【0154】
また、図10の(b)に示す一人称視点の画像が表示されている状況において、ユーザオブジェクト502の移動操作が開始されたとする。この場合、画像生成部196は、図10の(a)に示すように、看板オブジェクト1302を通常の表示態様に戻して、三人称視点の画像を生成する。
【0155】
(プログラムの動作例)
次に、第2の実施の形態に従うプログラムの動作の流れを説明する。図11は、本開示の第2の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。図11に示すように、まず、制御部190は、仮想空間情報152を参照し、仮想空間501、仮想カメラ503及び仮想オブジェクトを生成する(ステップS510)。
【0156】
次に、制御部190は、仮想空間情報152に含まれる配置情報を参照し、仮想空間501に仮想オブジェクト及び仮想カメラ503を配置する(ステップS520)。仮想カメラ503の初期位置は、例えば、ユーザオブジェクト502の視点位置からユーザオブジェクト502の後方側へ所定距離だけ離れた位置である。
【0157】
次に、制御部190は、ユーザオブジェクト502の移動操作が行われている場合(ステップS530において「YES」)、三人称視点での仮想空間画像を生成し、生成した仮想空間画像をディスプレイ132に表示する(ステップS540)。
【0158】
一方、制御部190は、ユーザオブジェクト502の移動操作が行われていない場合(ステップS530において「NO」)、一人称視点の画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する(ステップS550)。
【0159】
そして、制御部190は、生成予定画像に特定のオブジェクトが含まれると判断した場合(ステップS550において「YES」)、当該特定のオブジェクトに対して所定の処理を施した一人称視点の画像を仮想空間画像として生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS560)。
【0160】
一方、制御部190は、生成予定画像に特定のオブジェクトが含まれないと判断した場合(ステップS550において「NO」)、所定の処理を施さない一人称視点の通常の画像を仮想空間画像として生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS570)。
【0161】
なお、制御部190は、一人称視点の画像の生成時において所定の処理を施す構成に限らず、所定の処理を施していない一人称視点の画像を生成した後に、当該画像に含まれる特定のオブジェクトに対して所定の処理を施してもよい。
【0162】
本開示の第2の実施の形態に係る内容を列記すると以下の通りである。
(項目2-1)
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替えさせ、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム。
このような構成により、仮想空間画像に他人の著作物である特定のオブジェクトが含まれる場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0163】
(項目2-2)
前記特定のオブジェクトは、静的なオブジェクトである、項目2-1に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い静的なオブジェクトが鮮明に映り込むことを防ぐことができる。
【0164】
(項目2-3)
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、項目2-1または項目2-2に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い他のプレイヤオブジェクトが鮮明に映り込むことを防ぐことができる。
【0165】
前記所定の表示態様での表示として、前記特定のオブジェクトの視認性を低下させる、項目2-1から項目2-3のいずれか1項に記載のプログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像に含まれる場合であっても、複雑な処理を施すことなく、当該著作物が仮想空間画像に鮮明に映り込むことを防ぐことができる。
【0166】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替え、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは・BR>A前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム。
このような構成により、仮想空間画像に他人の著作物である特定のオブジェクトが含まれる場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0167】
[第3の実施の形態]
上述した第2の実施の形態では、仮想空間画像として一人称視点の画像が生成される際、仮想空間画像に含まれる特定のオブジェクトを所定の表示態様で表示する。これに対して、第3の実施の形態では、仮想空間画像における特定のオブジェクトの表示サイズに応じて、当該特定のオブジェクトを所定の表示態様で表示する。
【0168】
図12は、本開示の第3の実施の形態に従う表示画面の一例を示す模式図である。図12の(a)は、図10の(a)と同様に、ユーザオブジェクト502が看板オブジェクト1302の前へ移動してきた際に生成される仮想空間画像を示している。図12の(b)は、ユーザオブジェクト502が看板オブジェクト1302の前へさらに近づいた際に生成される仮想空間画像を示している。
【0169】
図2及び図12を参照して、第3の実施の形態に係る画像生成部196は、第2の実施の形態に係る画像生成部196と同様に、仮想空間画像を生成する際、仮想空間画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する。
【0170】
そして、画像生成部196は、生成予定画像に特定のオブジェクトが含まれると判断した場合、当該生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断する。以下、表示サイズが所定のサイズより大きいか否かの判断例について詳細に説明する。
【0171】
(a)表示サイズが所定のサイズより大きいか否かの判断例1
例えば、図2に示す仮想空間情報152には、第2の実施の形態と同様に、1または複数の特定のオブジェクトが登録されている。特定のオブジェクトとしては、第2の実施の形態と同様に、静的なオブジェクトが登録されている。図12に示す看板オブジェクト1302は、特定のオブジェクトとして仮想空間情報152に登録されているとする。なお、第2の実施の形態と同様に、他のプレイヤオブジェクトが特定のオブジェクトとして登録されてもよい。
【0172】
さらに、仮想空間情報152には、各特定のオブジェクトのサイズ情報が登録されている。具体的には、特定のオブジェクトごとに、仮想空間501における当該特定のオブジェクトの高さや幅などがサイズ情報として登録されている。
【0173】
画像生成部196は、サイズ情報を参照して、例えば、生成予定画像における特定のオブジェクトの表示倍率を算出し、算出した表示倍率が第2閾値以上であるか否かを判断する。そして、画像生成部196は、算出した表示倍率が第2閾値以上である場合、当該特定のオブジェクトの表示サイズが所定のサイズより大きいと判断する。
【0174】
そして、この場合、画像生成部196は、当該生成予定画像において特定のオブジェクトが所定の表示態様で表示されるように、当該特定のオブジェクトに所定の処理を施す。すなわち、画像生成部196は、特定のオブジェクトの視認性が低下するような処理、具体的には、モザイク処理、ボカシ処理、画質を変更する処理、画素数を変更する処理、色彩を変更する処理、明度を変更する処理、または彩度を変更する処理などを施す。
【0175】
図12の(a)に示す仮想空間画像において、看板オブジェクト1302の表示倍率が第2閾値より小さいとする。この場合、画像生成部196は、看板オブジェクト1302に対して所定の処理を施すことなく、通常の仮想空間画像を生成する。
【0176】
一方、図12の(b)に示すように、ユーザオブジェクト502及び仮想カメラ503が看板オブジェクト1302に近づくように移動することにより、看板オブジェクト1302の表示倍率が第2閾値以上になったとする。この場合、画像生成部196は、看板オブジェクト1302に対して所定の処理を施した仮想空間画像を生成する。
【0177】
なお、制御部190は、特定のオブジェクトを含む仮想空間画像を生成する際、所定の処理を施した仮想空間画像を生成する構成に限らず、所定の処理を施していない仮想空間画像を生成した後に、当該仮想空間画像に含まれる特定のオブジェクトに対して所定の処理を施してもよい。
【0178】
(b)表示サイズが所定のサイズより大きいか否かの判断例2
画像生成部196は、生成予定画像に対する特定のオブジェクトの占有率が第1閾値以上であるか否かを判断することにより、当該特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断してもよい。第1閾値は、例えば30%などである。
【0179】
より詳細には、画像生成部196は、仮想空間画像に特定のオブジェクトが含まれると判断した場合、例えば、所定の処理を施していない仮想空間画像を生成する。そして、画像生成部196は、生成した仮想空間画像に対して画像解析処理を行い、当該仮想空間画像に対する特定のオブジェクトの占有率を算出する。
【0180】
そして、画像生成部196は、算出した占有率が第1閾値以上であると判断した場合、当該特定のオブジェクトの表示サイズが所定のサイズより大きいと判断する。この場合、画像生成部196は、仮想空間画像における当該特定のオブジェクトに対して所定の処理を施す。これにより、図12の(b)に示すような仮想空間画像がディスプレイ132に表示される。
【0181】
なお、画像生成部196は、判断例1及び判断例2の両方を行う構成であってもよいし、いずれか一方を行う構成であってもよい。
【0182】
判断例1では、ユーザオブジェクト502との距離が近い特定のオブジェクトほど、表示倍率が第2閾値以上になりやすく、表示サイズが所定のサイズより大きいと判断されやすい。これに対して、判断例2では、仮想空間501におけるサイズが大きい特定のオブジェクトほど、仮想空間画像に対する占有率が第1閾値以上になりやすく、表示サイズが所定のサイズより大きいと判断されやすい。
【0183】
なお、ユーザオブジェクト502と特定のオブジェクトとの距離が近いことにより、当該特定のオブジェクトの表示倍率が第2閾値以上であり、かつ仮想空間画像に対する当該特定のオブジェクトの占有率が第1閾値以上である場合もある。このような場合、当該特定のオブジェクトは、判断例1または判断例2において、表示サイズが所定のサイズより大きいと判断される。
【0184】
(プログラムの動作例)
次に、第3の実施の形態に従うプログラムの動作の流れを説明する。図13は、本開示の第3の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。図13に示すステップS610及びステップS620の動作は、図11に示すステップS510及びステップS520の動作と同様であるため、ここでの詳細な説明は繰り返さない。
【0185】
次に、制御部190は、仮想空間画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する(ステップS630)。
【0186】
そして、制御部190は、生成予定画像に特定のオブジェクトが含まれると判断した場合(ステップS630において「YES」)、当該生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断する(ステップS640)。
【0187】
そして、制御部190は、生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きい、と判断した場合(ステップS640において「YES」)、当該特定のオブジェクトに対して所定の処理を施した仮想空間画像を生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS650)。
【0188】
一方、制御部190は、生成予定画像に特定のオブジェクトが含まれないと判断した場合(ステップS630において「NO」)、所定の処理を施さない通常の仮想空間画像を生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS660)。
【0189】
また、制御部190は、生成予定画像に特定のオブジェクトが含まれ、生成予定画像における当該特定のオブジェクトの表示サイズが所定のサイズ以下である、と判断したとする(ステップS640において「NO」)。この場合においても同様に、制御部190は、所定の処理を施さない通常の仮想空間画像を生成し、生成した仮想空間画像をディスプレイ132に表示する(ステップS660)。
【0190】
以上、本開示に係る第1から第3の実施の形態について詳細に説明したが、プログラムの動作に支障が生じない限り、各実施の形態の説明において制御部190が実行していた処理の一部を制御部290が担当してもよく、制御部290が実行していた処理の少なくとも一部を制御部190が担当してもよい。
【0191】
例えば、仮想空間501や仮想オブジェクトの生成、仮想空間画像の生成を制御部290が実行する、いわゆるクラウド型のシステムを実現するプログラムとしてもよい。また、サーバ20を備えずに、いわゆるスタンドアローン型のプログラムとしてもよい。また、サーバ20を備えずに、ユーザ端末同士でP2P通信をすることで、同一の仮想空間501内に複数のユーザオブジェクトが存在可能なように構成してもよい。
【0192】
また、本開示の第1から第3の実施の形態の2つ以上が組み合わされてもよい。例えば、第2の実施の形態と第3の実施の形態とを組み合わせることにより、制御部190は、一人称視点の画像に特定のオブジェクトが含まれ、かつ当該画像における特定のオブジェクトの表示サイズが所定のサイズより大きい際に、特定のオブジェクトに対して所定の処理を施してもよい。
【0193】
本開示の第3の実施の形態に係る内容を列記すると以下の通りである。
(項目3-1)
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像において所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0194】
(項目3-2)
前記仮想空間画像を生成する手段として、
前記仮想空間画像に対する前記特定のオブジェクトの占有率が第1閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、項目3-1に記載のプログラム。
このような構成により、例えば、仮想空間においてサイズが大きい他人の著作物が存在する場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。
【0195】
(項目3-3)
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示倍率が第2閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、項目3-1または項目3-2に記載のプログラム。
このような構成により、例えば、ユーザオブジェクトが他人の著作物に近づくことにより、仮想空間画像において当該著作物が所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。
【0196】
(項目3-4)
前記特定のオブジェクトは、静的なオブジェクトである、項目3-1から項目3-3のいずれか1項に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い静的なオブジェクトが鮮明に映り込むことを防ぐことができる。
【0197】
(項目3-5)
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、項目3-1から項目3-4のいずれか1項に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い他のプレイヤオブジェクトが鮮明に映り込むことを防ぐことができる。
【0198】
(項目3-6)
前記所定の表示態様での表示として、前記特定のオブジェクトの視認性を低下させる、項目3-1から項目3-5のいずれか1項に記載のプログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像に含まれる場合であっても、複雑な処理を施すことなく、当該著作物が仮想空間画像に鮮明に映り込むことを防ぐことができる。
【0199】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像において所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【符号の説明】
【0200】
1:システム、10:ユーザ端末、20:サーバ、30:ネットワーク、130:タッチスクリーン、150:(ユーザ端末の)記憶部、190:(ユーザ端末の)制御部、250:(サーバの)記憶部、290:(サーバの)制御部、501:仮想空間、502:ユーザオブジェクト、503:仮想カメラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13