(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-10
(45)【発行日】2025-06-18
(54)【発明の名称】プログラム、及び情報処理システム
(51)【国際特許分類】
G06T 19/00 20110101AFI20250611BHJP
A63F 13/5258 20140101ALI20250611BHJP
A63F 13/53 20140101ALI20250611BHJP
G06F 3/04845 20220101ALI20250611BHJP
【FI】
G06T19/00 300B
A63F13/5258
A63F13/53
G06F3/04845
G06T19/00 300A
(21)【出願番号】P 2023056109
(22)【出願日】2023-03-30
(62)【分割の表示】P 2022155505の分割
【原出願日】2022-09-28
【審査請求日】2023-03-30
【審判番号】
【審判請求日】2024-07-01
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】弁理士法人信栄事務所
(72)【発明者】
【氏名】國府田 隆介
【合議体】
【審判長】伊藤 隆夫
【審判官】樫本 剛
【審判官】高橋 宣博
(56)【参考文献】
【文献】特開2001-178963(JP,A)
【文献】特開2002-136762(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/000
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替えさせ、
前記仮想空間画像として前記一人称視点の画像を表示する際に、前記一人称視点の画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクト
の少なくとも一部を他の種類のオブジェクトに置き換える所定の処理が施された前記一人称視点の画像を表示させ、前記一人称視点の画像に前記特定のオブジェクトが含まれないときは、前記所定の処理が施されない前記一人称視点の画像を表示させる、
プログラム。
【請求項2】
前記特定のオブジェクトは、静的なオブジェクトである、請求項1に記載のプログラム。
【請求項3】
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、請求項1に記載のプログラム。
【請求項4】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替え、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記一人称視点の画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクト
の少なくとも一部を他の種類のオブジェクトに置き換える所定の処理が施された前記一人称視点の画像を生成し、前記一人称視点の画像に前記特定のオブジェクトが含まれないときは、前記所定の処理が施されない前記一人称視点の画像を生成する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、及び情報処理システムに関する。
【背景技術】
【0002】
ユーザの操作入力に基づいてユーザオブジェクトを仮想空間内で移動させ、ユーザオブジェクトの移動に応じて移動する仮想カメラに基づいて、仮想空間画像を生成する技術が知られている。非特許文献1には、このような仮想空間画像をユーザオブジェクトの視点である一人称視点で生成するゲームが開示されている。また、非特許文献2には、ユーザオブジェクトを含む三人称視点で仮想空間画像を生成するゲームが開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】“『Apex Legends』をこれから始める人に向けて知っておきたいポイントを解説。いまからでも遅くないチャンピオンへの道!”,[online],[令和3年5月19日検索],インターネット<https://www.famitsu.com/news/202101/09212564.html>
【文献】“フォートナイト チャプター2 - シーズン6 バトルパストレーラー”,[online],[令和3年5月19日検索],インターネットhttps://www.epicgames.com/fortnite/ja/battle-pass/zero-point
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、仮想空間画像を三人称視点の画像と一人称視点の画像との間で切り替え可能である場合において、当該仮想空間画像を三人称視点の画像から一人称視点の画像へ切り替えると、仮想空間画像の全体が拡大される。このように、仮想空間画像の全体が拡大されると、当該仮想空間画像において他人の著作物が鮮明に映り込む可能性があり、このような他人の著作物の鮮明な映り込みを防止することのできる技術が望まれている。
【0005】
本開示は、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことを目的とする。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態によれば、
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替えさせ、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム、が提供される。
【0007】
本開示に示す他の一実施形態によれば、
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替え、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム、が提供される。
【発明の効果】
【0008】
本開示に示す一実施形態よれば、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示の第1の実施の形態に従うシステムの構成例を示す図である。
【
図2】
図2は、
図1に示すーザ端末の機能的な構成を示すブロック図である。
【
図3】
図3は、
図1に示すサーバの機能的な構成を示すブロック図である。
【
図4】
図4は、本開示の第1の実施の形態に従う仮想空間の提供に係る処理の一例を示すフローチャートである。
【
図5】
図5は、本開示の第1の実施の形態に従う仮想空間の一例を示す模式図である。
【
図6】
図6は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
【
図7】
図7は、
図4のステップS460における三人称視点への変更処理の一例を示すフローチャートである。
【
図8】
図8は、本開示の第1の実施の形態に従うユーザオブジェクトと仮想カメラの位置関係を示す模式図である。
【
図9】
図9は、本開示の第1の実施の形態に従うユーザオブジェクトと仮想カメラの位置関係を示す模式図である。
【
図10】
図10は、
図4のステップS490における一人称視点への変更処理の一例を示すフローチャートである。
【
図11】
図11は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
【
図12】
図12は、本開示の第1の実施の形態に従う動画再生に係る処理の一例を示すフローチャートである。
【
図13】
図13は、本開示の第1の実施の形態に従う仮想空間の一例を示す模式図である。
【
図14】
図14は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
【
図15】
図15は、本開示の第1の実施の形態に従う動画を全画面表示した場合の表示画面の一例を示す模式図である。
【
図16】
図16は、本開示の第2の実施の形態の比較例に従う表示画面の一例を示す模式図である。
【
図17】
図17は、本開示の第2の実施の形態に従う表示画面の一例を示す模式図である。
【
図18】
図18は、本開示の第2の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
【
図19】
図19は、本開示の第3の実施の形態に従う表示画面の一例を示す模式図である。
【
図20】
図20は、本開示の第3の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品等には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【0011】
[第1の実施の形態]
(システムの構成)
以下、本開示に係る第1の実施の形態として、ユーザの操作入力に基づいてユーザオブジェクトを仮想空間内で移動させ、ユーザオブジェクトの移動に応じて移動する仮想カメラに基づいて生成される仮想空間画像をユーザに提供するシステムを例示して説明をする。
【0012】
仮想空間は、複数のユーザに共通のものであってもよいし、複数のユーザ毎に異なるものでもよい。すなわち、1つの仮想空間に複数のユーザオブジェクトが存在するようにしてもよいし、1つの仮想空間に1のユーザオブジェクトが存在するようにしてもよい。また、仮想空間は、VR(Virtual Reality)等のXR技術を用いて生成されるものであってもよい。
【0013】
図1は、本開示の第1の実施の形態に従うシステム(情報処理システム)1の構成例を示す図である。
図1に示すように、システム1は、複数のユーザがそれぞれ使用するユーザ端末10A,10B,10Cと、サーバ20と、を含み、これらの装置がネットワーク30によって互いに通信可能に接続されている。
【0014】
ユーザ端末10Aとユーザ端末10Bとは、無線基地局31と通信することにより、ネットワーク30と接続する。ユーザ端末10Cは、家屋などの施設に設置される無線ルータ32と通信することにより、ネットワーク30と接続する。以下、ユーザ端末10A、10B、10Cなどのユーザ端末を総称して「ユーザ端末10」とも称する。
【0015】
ユーザ端末10は、ユーザが使用するコンピュータ(情報処理装置)である。ユーザ端末10は、携帯型の情報端末であってもよいし、PC(Personal Computer)又はゲーム機等の設置型の情報端末であってもよい。ユーザ端末10は、タッチスクリーンを備えていてもよいし、備えていなくてもよい。また、ユーザ端末10は、ARゴーグル及びARグラスを含むHMD(Head-Mounted Device)であってもよいし、コンタクトレンズのように目に装着可能なコンタクト型のデバイスであってもよい。以下では、ユーザ端末10がタッチスクリーンを備える携帯型端末であり、具体的には、スマートフォン、ファブレット、タブレットなどであるものとして、説明をする。
【0016】
ユーザ端末10は、例えば、アプリ等を配信するプラットフォームを介してインストールされたアプリケーションプログラム、又は、予めプリインストールされているウェブサイト閲覧用ソフトウェアなどを含むプログラムを実行する。なお、ユーザ端末10は、アプリケーションプログラムを実行する代わりに、ウェブサイト閲覧用ソフトウェア、すなわちウェブブラウザを介して取得されるプログラムを実行してもよい。
【0017】
ユーザ端末10は、アプリケーションプログラム等のプログラムの実行により、仮想空間画像を生成し、該仮想空間画像を表示部へ出力することを可能とする。仮想空間画像の生成にあたって、ユーザ端末10は、必要に応じて、サーバ20との間で各種データを送受信しうる。
【0018】
サーバ20は、仮想空間画像の生成に必要なデータを、適宜、ユーザ端末10へ送信する。サーバ20は、ユーザに関する各種データを管理する。サーバ20は、例えば、ユーザの操作入力に関する情報をユーザ端末10から受信し、受信した情報に応じた処理を実行する。
【0019】
サーバ20は、ハードウェア構成として、通信IF(Interface)22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29と、を備え、これらが通信バスを介して互いに接続されている。
【0020】
通信IF22は、例えばLAN(Local Area Network)規格など各種の通信規格に対応しており、ユーザ端末10など外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。
【0021】
入出力IF23は、サーバ20への情報の入力を受け付けるとともに、サーバ20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部と、を含む。
【0022】
メモリ25は、サーバ20における処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)、RAM(Random Access Memory)等の記憶装置を含んで構成されている。
【0023】
ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ26は、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を含んで構成されている。
【0024】
プロセッサ29は、ストレージ26に記憶されるプログラムを読み込んで実行することにより、サーバ20の動作を制御する。プロセッサ29は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含んで構成される。
【0025】
(ユーザ端末の構成)
図2は、
図1に示すユーザ端末10の機能的な構成を示すブロック図である。
図2に示すように、ユーザ端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク170と、スピーカ180と、制御部190と、を含む。
【0026】
アンテナ110は、ユーザ端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。
【0027】
無線通信IF120は、ユーザ端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理などを行う。無線通信IF120は、チューナー、高周波回路などを含む無線通信用の通信モジュールであり、ユーザ端末10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部190へ与える。
【0028】
タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対する情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの入力操作を受け付けるためのタッチパネル131と、メニュー画面や仮想空間画像等を画面に表示するためのディスプレイ132と、を含む。タッチパネル131は、例えば、静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出しうる。ディスプレイ132は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)その他の表示装置によって実現される。
【0029】
入出力IF140は、ユーザ端末10への情報の入力を受け付けるとともに、ユーザ端末10の外部へ情報を出力するためのインタフェースとして機能する。
【0030】
記憶部150は、フラッシュメモリ、RAM等により構成される。記憶部150は、ユーザ端末10がサーバ20から受信する各種データを記憶しうる。記憶部150は、仮想空間画像をユーザに提供しうるプログラム151と、仮想空間情報152と、ユーザ情報153と、を記憶する。
【0031】
仮想空間情報152は、例えば、仮想空間を生成するための情報を含む。また、仮想空間情報152は、例えば、仮想空間に配置される仮想カメラやユーザオブジェクト等の各種の仮想オブジェクトを生成するための情報を含む。また、仮想空間情報152は、例えば、各種の仮想オブジェクトを仮想空間に配置するための配置情報を含む。ユーザ情報153は、例えば、ユーザ端末10を識別する端末ID(Identification)や、ユーザを識別するユーザID情報等を含む。
【0032】
音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク170から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ180へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク170は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ180は、音声信号を、ユーザ端末10の外部へ出力するための音声出力部として機能する。
【0033】
制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、ユーザ端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサなどのプロセッサによって実現される。
【0034】
制御部190は、プログラム151を読み込んで実行することにより、入力操作受付部191と、送受信部192と、空間生成部193と、配置部194と、移動制御部195と、画像生成部196と、再生部197と、の各機能を発揮する。ある局面において、制御部190は、サーバ20との間で各種情報の送受信を行いながら、仮想空間画像を生成する。
【0035】
入力操作受付部191は、タッチスクリーン130の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部191は、ユーザの指などがタッチパネル131に接近したことを、タッチスクリーン130を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
【0036】
入力操作受付部191は、タッチスクリーン130に対するユーザの操作を判別する。具体的には、入力操作受付部191は、いわゆる「接近操作」、「リリース操作」、「タップ操作」、「ダブルタップ操作」、「長押し操作(ロングタッチ操作)」、「ドラッグ操作(スワイプ操作)」、「ムーブ操作」、及び「フリック操作」などのユーザの操作を判別する。入力操作受付部191が判別するユーザの操作は、上記に限られない。例えば、タッチパネル131が、ユーザがタッチパネル131に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部191は、ユーザが押下した圧力の大きさを判別する。
【0037】
送受信部192は、サーバ20から各種情報を受信し、また、サーバ20に対して各種情報を送信する。送受信部192は、例えば、サーバ20から仮想空間情報252の少なくとも一部を受信する。一例として、送受信部192は、他のユーザが操作する他ユーザオブジェクトに関する他ユーザオブジェクト情報をサーバ20から受信する。送受信部192は、例えば、ユーザオブジェクトの移動やその他の行動に関する情報をサーバ20へ送信する。
【0038】
空間生成部193は、仮想空間情報152を参照し、仮想空間を生成する。また、空間生成部193は、仮想空間に配置される仮想カメラ及びユーザオブジェクト等の仮想オブジェクトを生成する。空間生成部193によって生成される仮想オブジェクトには、他のユーザによって操作される他ユーザオブジェクトや、動画を表示するための動画再生領域としてのスクリーンオブジェクトが含まれうる。
【0039】
配置部194は、仮想空間情報152に含まれる配置情報を参照し、仮想空間に仮想カメラやユーザオブジェクト等の各種の仮想オブジェクトを配置する。配置部194は、例えば、他ユーザオブジェクト情報に基づいて、仮想空間に他ユーザオブジェクトを配置する。また、配置部194が仮想空間内にスクリーンオブジェクトを配置する場合、仮想空間には、スクリーンオブジェクト上で動画の再生を開始するためのトリガ領域が設定されうる。また、配置部194は、サーバ20から送信される情報等に基づいて、他ユーザオブジェクトやその他の仮想オブジェクトを移動させる。
【0040】
移動制御部195は、ユーザオブジェクトを移動させるための移動操作(以下、単に「移動操作」とも称する)が行われたことに基づいて、仮想空間内においてユーザオブジェクトを移動させる。移動制御部195は、例えば、入力操作受付部191が受け付けた入力操作の入力位置の座標や操作の種類に基づいてユーザの指示内容を解釈し、当該解釈に基づいて、ユーザオブジェクトを移動させる。
【0041】
画像生成部196は、仮想カメラに基づいて、仮想カメラから仮想空間内を撮像した画像である仮想空間画像を生成する。画像生成部196が生成した仮想空間画像は、タッチスクリーン130に出力され、ディスプレイ132上に表示される。
【0042】
移動操作がされていない場合、仮想カメラは、仮想空間画像がユーザオブジェクトの一人称視点の画像となるように位置を制御される。よって、移動操作がされていない場合、画像生成部196によって生成される仮想空間画像は、ユーザオブジェクトの一人称視点の画像である。ここで、「一人称視点」とは、ユーザがユーザオブジェクトの立場となるための視点であって、例えば、ユーザオブジェクトの視点の位置や該位置の近傍からの視点である。一人称視点の画像には、例えば、ユーザオブジェクトの頭部を除く身体の一部(例えば、腕や足など)やユーザオブジェクトの所有物等が含まれていてもよい。
【0043】
一方で、移動操作がされている場合、仮想カメラは、仮想空間画像がユーザオブジェクトの少なくとも一部を含む三人称視点の画像となるように位置を制御される。よって、移動操作がされている場合、画像生成部196によって生成される仮想空間画像は、ユーザオブジェクトの三人称視点の画像である。ここで、「三人称視点」とは、ユーザオブジェクトから離れた位置を視点とするものである。三人称視点は、少なくともユーザオブジェクトの頭部を視界に含む位置を視点とすることが好ましい。ユーザオブジェクトが車等の他の仮想オブジェクトに乗っている場合等、三人称視点の画像にユーザオブジェクトの頭部が含まれないこともありうる。
【0044】
画像生成部196は、移動操作がされていない場合に、ユーザオブジェクトの少なくとも一部を非表示にした状態で仮想空間画像を生成することが好ましい。すなわち、移動操作がされていない場合、ユーザオブジェクトの一部又は全部を透明又は半透明にする透明処理をしたうえで仮想空間画像を生成することが好ましい。ユーザオブジェクトの一部を透明又は半透明にする場合、残りの部分は不透明でもよい。また、ユーザオブジェクトの部位によって透明度が異なっていてもよい。なお、透明処理をしない場合のユーザオブジェクトは不透明でありうる。
【0045】
画像生成部196によって生成される仮想空間画像は、上述のように、移動操作が開始された場合に一人称視点の画像から三人称視点の画像へと変更され、移動操作が終了した場合に三人称視点の画像から一人称視点の画像へと変更される。このような視点変更の際にユーザに違和感が生じにくくなるように、画像生成部196は、違和感を低減させるための処理することが好ましい。
【0046】
違和感を低減させるための処理として、画像生成部196は、例えば、ユーザオブジェクトを仮想カメラが向く方向へ移動させる移動操作が開始された場合において、ユーザオブジェクトと仮想カメラとの距離が所定の第1距離に達するまでは、ユーザオブジェクトを移動させ、かつ、仮想カメラを移動させずに仮想空間画像を生成し、ユーザオブジェクトと仮想カメラとの距離が上記第1距離に達した後は、ユーザオブジェクトの移動に連動するように仮想カメラを移動させて仮想空間画像を生成する処理をしてもよい。
【0047】
ここで、「仮想カメラが向く方向」とは、例えば、ディスプレイ132に表示されている仮想空間画像を基準として仮想空間の奥側へと向かう奥側方向である。また、「第1距離」は、特に制限はされないが、例えば、一人称視点の場合の仮想カメラの位置と三人称視点の場合の仮想カメラの位置との間の距離であることが好ましい。
【0048】
また、違和感を低減させるための処理として、画像生成部196は、例えば、ユーザオブジェクトを仮想カメラが向く方向とは反対の方向へ移動させる移動操作が開始された場合において、ユーザオブジェクトと仮想カメラとの距離が所定の第2距離に達するまでは、ユーザオブジェクトを移動させ、かつ、仮想カメラをユーザオブジェクトの移動速度よりも早い移動速度で上記反対の方向側へと移動させて仮想空間画像を生成し、ユーザオブジェクトと仮想カメラとの距離が上記第2距離に達した後は、移動操作に基づいてユーザオブジェクトを移動させ、かつ、ユーザオブジェクトの移動に連動するようにユーザオブジェクトの移動速度と同じ移動速度で仮想カメラを移動させて仮想空間画像を生成する処理をしてもよい。
【0049】
ここで、「仮想カメラが向く方向とは反対の方向」とは、例えば、ディスプレイ132に表示されている仮想空間画像を基準として仮想空間の手前側へと向かう手前側方向である。また、「第2距離」は、特に制限はされないが、例えば、一人称視点の場合の仮想カメラの位置と三人称視点の場合の仮想カメラの位置との間の距離であることが好ましい。第2距離は、第1距離と同じであってもよいし、異なっていてもよい。
【0050】
なお、ユーザオブジェクトを真横方向へ移動させる移動操作が開始された場合は、基本的に、移動操作が手前側方向である場合と同様の処理をしてもよい。具体的には、仮想カメラが手前側方向に移動しながら、ユーザオブジェクトの横方向の動きに追従し、仮想カメラとユーザオブジェクトの距離が所定の第2距離に達した後は、移動操作に基づいてユーザオブジェクトを移動させ、かつ、ユーザオブジェクトの移動に連動するようにユーザオブジェクトの移動方向と同じ方向に、ユーザオブジェクトの移動速度と同じ移動速度で仮想カメラを移動させて仮想空間画像を生成する処理をしてもよい。
【0051】
また、違和感を低減させるための処理として、画像生成部196は、ユーザオブジェクトの移動開始から所定の時間(例えば、1秒程度)が経過するまで、ユーザオブジェクトを透明から不透明の状態へとフェードイン処理して仮想空間画像を生成してもよい。すなわち、一人称視点から三人称視点への変更の際に、透明な状態から透明度を下げながらユーザオブジェクトが徐々に出現するような処理をしてもよい。なお、フェードイン処理は、透明から半透明、又は半透明から不透明な状態へ変更する処理でもよい。
【0052】
また、違和感を低減させるための処理として、画像生成部196は、ユーザオブジェクトの移動終了から所定の時間(例えば、1秒程度)が経過するまで、ユーザオブジェクトを不透明から透明の状態へとフェードアウト処理して仮想空間画像を生成してもよい。すなわち、三人称視点から一人称視点への変更の際に、不透明な状態から透明度を連続的に上げながらユーザオブジェクトが徐々に見えなくなるような処理をしてもよい。なお、フェードアウト処理は、不透明から半透明、又は半透明から透明な状態へ変更する処理でもよい。
【0053】
また、違和感を低減させるための処理として、画像生成部196は、移動操作の開始から所定の時間が経過するまで、仮想空間画像の視認性を低下させる処理を実行してもよい。視認性を低下させる処理は、特に制限はされないが、例えば、暗転処理やブラー処理等が挙げられる。画像生成部196は、移動操作の終了から所定の時間が経過するまでも上記と同様の処理をしてもよい。
【0054】
再生部197は、例えば、ユーザオブジェクトが仮想空間に配置されたトリガ領域に位置する場合に、動画再生領域において動画を再生する。また、再生部197は、例えば、動画再生領域を選択する操作がされた場合に、動画を全画面表示で再生する。なお、トリガ領域によらず、動画を再生するための入力操作に応じて動画を再生可能なように再生部197を構成してもよい。
【0055】
(サーバの構成)
図3は、
図1に示すサーバ20の機能的な構成を示すブロック図である。
図3を参照して、サーバ20の詳細な構成を説明する。サーバ20は、プログラム251に従って動作することにより、通信部220と、記憶部250と、制御部290と、としての機能を発揮する。
【0056】
通信部220は、サーバ20がユーザ端末10などの外部の通信機器とネットワーク30を介して通信するためのインタフェースとして機能する。
【0057】
記憶部250は、サーバ20を動作させるための各種プログラム及びデータを記憶する。ある局面において、記憶部250は、プログラム251と、仮想空間情報252と、ユーザ情報253と、を記憶する。
【0058】
プログラム251は、ユーザ端末10を介して仮想空間画像をユーザに提供するためのプログラムである。プログラム251は、例えば、仮想空間情報252及びユーザ情報253等を参照して、仮想空間画像をユーザに提供するためのサーバ20側における各種処理を実行する。
【0059】
仮想空間情報252は、例えば、仮想空間を生成するための情報や、仮想空間に配置される各種の仮想オブジェクトを生成するための情報を含む。仮想空間情報252の少なくとも一部は、仮想空間情報152の元となる情報である。仮想空間情報252には、各ユーザオブジェクトの仮想空間における位置や行動に関する情報が含まれうる。また、仮想空間情報252には、動画に関する情報が含まれうる。
【0060】
ユーザ情報253は、各ユーザ端末10の各ユーザに関する情報である。ユーザ情報253は、例えば、ユーザ端末10又はユーザ端末10のユーザを識別する情報やその他の情報を含む。
【0061】
制御部290は、記憶部250に記憶されるプログラム251を実行することにより、送受信部291、サーバ処理部292、データ管理部293、計時部294としての機能を発揮する。
【0062】
送受信部291は、ユーザ端末10から各種情報を受信し、また、ユーザ端末10に対して各種情報を送信する。ユーザ端末10とサーバ20とは、例えば、仮想空間や仮想オブジェクトの生成に関する情報、ユーザオブジェクトの移動やその他の行動に関する情報、動画の再生に関する情報などを送受信する。
【0063】
サーバ処理部292は、ユーザ端末10を介してユーザに仮想空間を提供するためにサーバ20において必要となる各種の処理を行う。サーバ処理部292は、送受信部291が受信したユーザ端末10からの各種要求に応じて、送受信部291に対して各種データの送信を指示する。また、サーバ処理部292は、サーバ処理部292による各種の演算結果に基づいて、データ管理部293に対して各種データの更新を指示する。
【0064】
データ管理部293は、サーバ処理部292からの指示に基づいて、記憶部250に記憶される各種データを追加、削除又は更新する処理を行う。計時部294は、時間を計測する処理を行う。また、計時部294は、例えば、複数のユーザ端末10において各種の時間に関する情報を同期させる処理を実行する。
【0065】
(プログラムの動作例)
次に、
図4から
図15を参照して、本開示の第1の実施の形態に係るプログラムにおける動作例について説明する。以降で説明する各処理は、制御部190がプログラム151を、制御部290がプログラム251をそれぞれ実行することにより実現される。なお、本明細書で説明する各フローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、本明細書で説明する各フローチャートを構成する処理の一部は、省略してもよい。
【0066】
図4は、本開示の第1の実施の形態に従う仮想空間の提供に係る処理の一例を示すフローチャートである。まず、ステップS410において、制御部190は、仮想空間情報152を参照し、仮想空間を生成する。同様に、制御部190は、仮想カメラ及びユーザオブジェクト等を含む仮想オブジェクトを生成する。仮想空間及び仮想オブジェクトの生成において、制御部190は、必要に応じてサーバ20から仮想空間情報252等の各種情報を受信してもよい。
【0067】
ステップS420において、制御部190は、仮想空間情報152に含まれる配置情報を参照し、仮想空間に仮想オブジェクトを配置する。仮想カメラの初期位置は、例えば、ユーザオブジェクトの視点位置である。
【0068】
ステップS430において、制御部190は、ユーザオブジェクトの少なくとも一部を非表示にする処理をする。ステップS430では、例えば、ユーザオブジェクトの一部又は全部の透明度を上げて透明にする透明処理が実行される。
【0069】
ステップS440において、制御部190は、一人称視点で仮想空間画像を生成する。制御部190は、例えば、仮想空間画像をディスプレイ132に表示する。仮想空間画像は、仮想カメラに基づく画像であり、仮想カメラから仮想空間内を撮像した画像である。仮想カメラの向きは、ユーザによって仮想カメラの向きを変更するための入力操作がされたことに基づいて変更されうる。また、仮想カメラの位置は、ユーザオブジェクトの移動に応じて変更されうる。
【0070】
制御部190がユーザによる移動操作を検出しない場合(ステップS450において「No」)、一人称視点が維持され、プログラム151を終了するための入力操作を受け付けたこと等に応じて、一連の処理を終了する。
【0071】
一方で、制御部190がユーザによる移動操作を検出した場合(ステップS450において「Yes」)、ステップS460において、制御部190は、三人称視点への変更処理をする。ステップS460の処理については、後の段落で詳述する。なお、制御部190がユーザによる移動操作を検出した場合、必要に応じて、移動後のユーザオブジェクトの位置を特定するための情報がサーバ20へと送信されうる。
【0072】
ステップS470において、制御部190は、ユーザオブジェクトを移動させる。また、ステップS470において、制御部190は、ユーザオブジェクトの移動と連動するように、ユーザオブジェクトと同じ移動速度で仮想カメラを移動させる。すなわち、ステップS470では、ユーザオブジェクトと仮想カメラとが、相対的な位置関係を維持したままで移動することになる。
【0073】
制御部190が移動操作の終了を検出しない場合(ステップS480において「No」)、ステップS470に戻り、ユーザオブジェクト及び仮想カメラを移動させる処理が継続される。
【0074】
一方で、制御部190がユーザによる移動操作の終了を検出した場合(ステップS480において「Yes」)、ステップS490において、制御部190は、一人称視点への変更処理をし、プログラム151を終了するための入力操作を受け付けたこと等に応じて、一連の処理を終了する。ステップS490の処理については、後の段落で詳述する。
【0075】
以下、
図5及び
図6を用いて、
図4に示した一連の処理において生成される仮想空間と仮想空間画像について説明する。
図5は、本開示の第1の実施の形態に従う仮想空間501の一例を示す模式図である。
図5の(a)及び(b)において、仮想空間501には、ユーザオブジェクト502と、仮想カメラ503と、柱オブジェクト504と、リンク領域505a~505cと、が設けられている。
【0076】
ユーザオブジェクト502は、ユーザが操作可能なオブジェクトであり、例えば、ユーザのアバターである。仮想カメラ503は、仮想空間501を撮像する仮想オブジェクトである。柱オブジェクト504は、仮想空間501に固定配置される仮想オブジェクトである。リンク領域505a~505cは、他の仮想空間とリンクした領域である。ユーザは、ユーザオブジェクト502をリンク領域505a~505cに移動させることで、ユーザオブジェクト502を他の仮想空間へと移動させることができる。
【0077】
図5の(a)は、仮想空間画像が一人称視点で生成される場合を示している。すなわち、
図5の(a)は、移動操作がされていない場合の例である。
図5の(a)では、仮想カメラ503がユーザオブジェクト502の視点位置にある。また、ユーザオブジェクト502は破線で示されているが、これはユーザオブジェクト502が透明であることを表している。
【0078】
図5の(b)は、仮想空間画像が三人称視点で生成される場合を示している。すなわち、
図5の(b)は、移動操作がされている場合の例である。
図5の(b)では、仮想カメラ503がユーザオブジェクト502から離れた位置にある。また、ユーザオブジェクト502は実線で示されているが、これはユーザオブジェクト502が不透明であることを表している。
【0079】
図6は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。具体的には、
図6の(a)は、仮想空間501が
図5の(a)の状態にある場合の表示画面を示している。
図6の(b)は、仮想空間501が
図5の(b)の状態にある場合の表示画面を示している。
【0080】
図6の(a)では、ディスプレイ132上に、仮想空間501を一人称視点で見た場合の仮想空間画像が表示されている。
図6の(a)では、ユーザオブジェクト502は透明であるため、表示されていない。
【0081】
また、
図6の(a)では、操作子601が破線で示されている。操作子601は、ユーザオブジェクト502を移動させる移動操作の入力を受け付けるために表示される仮想的なコン・BR>Gローラである。ユーザは、例えば、操作子601の中央にある円状部をドラッグすることで、ドラッグした方向にユーザオブジェクト502を移動させることができる。操作子601は一例であり、他の形状や入力態様を採用してもよい。仮想空間501の視認性を高めるという観点から、操作子601は、ユーザの移動操作を受け付けるまでは、完全に透明な状態又は視認可能ではあるが透明度の高い状態であることが好ましい。
【0082】
なお、以降の説明において、「仮想カメラが向く方向」又は「奥側方向」という場合、
図6の(a)において矢印Aで示される方向をいう。また、「仮想カメラが向く方向」又は「奥側方向」への移動操作とは、操作子601を上下に2分割する線分lよりも上方(矢印A方向側)に位置する領域へ円状部がドラッグされることをいう。また、「仮想カメラが向く方向とは反対の方向」又は「手前側方向」という場合、
図6の(a)において矢印Bで示される方向をいう。また、「仮想カメラが向く方向とは反対の方向」又は「手前側方向」への移動操作とは、操作子601を上下に2分割する線分lよりも下方(矢印B方向側)に位置する領域へ円状部がドラッグされることをいう。
【0083】
図6の(b)では、ディスプレイ132上に、仮想空間501を三人称視点で見た場合の仮想空間画像が表示されている。
図6の(b)では、ユーザオブジェクト502の略全身が不透透明な状態で表示されている。ある局面において、ユーザオブジェクト502は、半透明な状態で表示してもよいし、少なくとも一部を透明な状態で表示してもよい。
【0084】
図6の(b)では、奥側方向への移動操作がされているため、ユーザオブジェクト502は奥側方向へと移動している。また、奥側方向への移動操作がされていることを示すため、操作子601の円状部分は奥側方向に位置している。また、移動操作がされていることに応じて、操作子601は、
図6の(a)の場合よりも透明度の低い状態にされている。移動操作中において、操作子601は不透明であってもよいが、仮想空間501の視認性を高めるという観点から、半透明又は透明であることが好ましい。
【0085】
以下、
図7を用いて、
図4のステップS460における三人称視点への変更処理について詳述する。ステップS461において、制御部190は、ユーザオブジェクト502のフェードイン処理を開始する。フェードイン処理によって、ユーザオブジェクト502の透明度は連続的又は段階的に下げられる。フェードイン処理は、移動操作が開始されてから、例えば、1秒程度の時間内で完了する。フェードイン処理は、例えば、後述のステップS463~S465又はステップS466~S468の一連の処理と並列的に実行され、これらの一連の処理と同じタイミングで開始及び終了されることが好ましい。なお、フェードイン処理を省略し、瞬間的に一人称視点から三人称視点への視点切替をしてもよい。
【0086】
図4のステップS450で検出された移動操作が奥側方向への移動操作である場合(ステップS462において「Yes」)、ステップS463へ進む。ステップS463において、制御部190は、仮想カメラ503を移動させずに、ユーザオブジェクト502を移動させる。ユーザオブジェクト502が移動する方向は、移動操作によって特定される奥側方向である。
【0087】
ユーザオブジェクト502と仮想カメラ503の距離が所定の第1距離未満の場合(ステップS464において「No」)、ステップS463の処理が継続される。
【0088】
そして、ユーザオブジェクト502と仮想カメラ503の距離が所定の第1距離以上になった場合(ステップS464において「Yes」)、ステップS465において、制御部190は、ユーザオブジェクト502とともに仮想カメラ503を移動させる。ステップS465では、例えば、ユーザオブジェクト502の移動に連動(追従)するように仮想カメラ503を移動させる。
【0089】
ここで、
図8を用いて、
図7に示すステップS463~S465の処理について詳述する。
図8は、本開示の第1の実施の形態に従うユーザオブジェクト502と仮想カメラ503の位置関係を示す模式図である。具体的には、
図8は、奥側方向への移動操作がされた場合におけるユーザオブジェクト502と仮想カメラ503の位置関係の変化を示している。
【0090】
図8の(a)は、移動操作がされる直前の状態を示している。
図8の(a)において、ユーザオブジェクト502及び仮想カメラ503は、地点P1に存在する。また、ユーザオブジェクト502は、透明な状態にあるため、点線で示されている。なお、
図6と同様に、
図8の(a)の矢印Aの方向が奥側方向であり、
図8の(a)の矢印Bの方向が手前側方向である。
【0091】
図8の(b)は、ステップS463の処理後であって、ユーザオブジェクト502と仮想カメラ503の距離d1が第1距離未満である状態を示している。
図8の(b)において、ユーザオブジェクト502は、移動操作に基づいて奥側方向へと移動している。一方で、仮想カメラ503は移動せず、依然として地点P1にいる。
【0092】
なお、フェードイン処理が開始され、ユーザオブジェクト502は、
図8の(a)の状態よりも透明度が下がった状態にある。そのため、
図8の(b)では、ユーザオブジェクト502が実線で示されている。
【0093】
図8の(c)は、ユーザオブジェクト502と仮想カメラ503の距離d2が第1距離に達した状態を示している。
図8の(c)において、ユーザオブジェクト502は地点P2に到達している。一方で、仮想カメラ503は移動せず、依然として地点P1にいる。なお、この時点において、フェードイン処理が完了していることが好ましい。
【0094】
図8の(d)は、ユーザオブジェクト502と仮想カメラ503の距離d2が第1距離に達し、ステップS465の処理がされた状態を示している。
図8の(d)において、ユーザオブジェクト502は、地点P2の奥側方向へと移動している。また、仮想カメラ503は、地点P1の奥側方向へと移動している。移動操作が継続される限り、仮想カメラ503は、距離d2を維持しながら、ユーザオブジェクト502の移動と連動するように移動する。
【0095】
なお、
図8を用いて説明した内容は、移動操作が奥側方向ではない場合に適用してもよい。すなわち、移動操作の方向によらず、ステップS463~465の処理を実行してもよい。このように構成する場合、移動操作が奥側方向ではないときは、ステップS463において、仮想カメラ503を移動させて、ユーザオブジェクト502を移動させないことが好ましい。
【0096】
図7の説明に戻る。
図4のステップS450で検出された移動操作が奥側方向への移動操作でない場合(ステップS462において「No」)、ステップS466へ進む。ステップS462において「No」となる場合とは、手前側方向への移動操作がなされた場合であり、完全な左右方向(
図6に示す線分l上の方向)への移動操作がされた場合を含んでもよい。
【0097】
ステップS466において、制御部190は、ユーザオブジェクト502と仮想カメラ503の両方を移動させる。ステップS466において、ユーザオブジェクト502の移動速度よりも、仮想カメラ503の移動速度の方が大きい。また、ユーザオブジェクト502が移動する方向は、移動操作によって特定される方向である。仮想カメラ503が移動する方向は、例えば、移動操作によって特定される方向に、真下方向(
図6に示す線分lに直交する方向)を合成した方向である。
【0098】
ユーザオブジェクト502と仮想カメラ503の距離が所定の第2距離未満の場合(ステップS467において「No」)、ステップS466の処理が継続される。
【0099】
そして、ユーザオブジェクト502と仮想カメラ503の距離が所定の第2距離以上になった場合(ステップS467において「Yes」)、ステップS468において、制御部190は、ユーザオブジェクト502と仮想カメラ503を、同じ移動速度で同じ移動方向へと移動させる。ステップS468では、例えば、ユーザオブジェクト502の移動に連動(追従)するように仮想カメラ503を移動させる。ステップS465又はステップS468の処理をもって、三人称視点への変更処理は終了し、
図4のステップS470へと進む。
【0100】
ここで、
図9を用いて、ステップS466~S468の処理について詳述する。
図9は、本開示の第1の実施の形態に従うユーザオブジェクト502と仮想カメラ503の位置関係を示す模式図である。具体的には、
図9は、奥側方向ではない方向への移動操作がされた場合におけるユーザオブジェクト502と仮想カメラ503の位置関係の変化を示している。
【0101】
図9の(a)は、移動操作がされる直前の状態を示している。
図9の(a)において、ユーザオブジェクト502及び仮想カメラ503は、地点P3に存在する。なお、
図6と同様に、
図9の(a)の矢印Aの方向が奥側方向であり、
図9の(a)の矢印Bの方向が手前側方向である。また、フェードイン処理については、
図8で説明した内容を援用できるため省略する。
【0102】
図9の(b)は、ステップS466の処理後であって、ユーザオブジェクト502と仮想カメラ503の距離d4が第2距離未満である状態を示している。
図9の(b)において、ユーザオブジェクト502及び仮想カメラ503は、移動操作に基づいて手前側方向へと移動している。なお、
図9の例では、移動操作の方向は真下方向である。
【0103】
図9の(b)の状態では、ユーザオブジェクト502の移動速度よりも、仮想カメラ503の移動速度の方が大きい。よって、仮想カメラ503の移動距離d4は、ユーザオブジェクト502の移動距離d3よりも大きい。
【0104】
図9の(c)は、ユーザオブジェクト502と仮想カメラ503の距離d8が第2距離に達した状態を示している。
図9の(c)において、仮想カメラ503は地点P4に到達しており、ユーザオブジェクト502は地点P4に到達していない。すなわち、この段階においても、仮想カメラ503の移動距離d7は、ユーザオブジェクト502の移動距離d6よりも大きい。
【0105】
図9の(d)は、ユーザオブジェクト502と仮想カメラ503の距離d8が第2距離に達し、ステップS468処理がされた状態を示している。
図9の(d)では、移動操作の方向が右方向に変更されたため、ユーザオブジェクト502と仮想カメラ503は、地点P4の右方向へと移動している。
【0106】
このように、移動操作の方向が変わっても、移動操作が継続される限り、仮想カメラ503は、距離d8を維持しながら、ユーザオブジェクト502の移動と連動するように同じ移動速度で移動する。これは、ステップS465においても同様である。
【0107】
なお、
図9を用いて説明した内容は、移動操作が奥側方向である場合に適用してもよい。すなわち、移動操作の方向によらず、ステップS466~468の処理を実行してもよい。このように構成する場合、移動操作が奥側方向であるときは、ステップS466において、仮想カメラ503の移動速度をユーザオブジェクト502の移動速度よりも小さくすることが好ましい。
【0108】
以下、
図10を用いて、
図4のステップS490における一人称視点への変更処理について詳述する。ステップS491において、制御部190は、ユーザオブジェクト502の移動を終了させる。また、ステップS492において、制御部190は、ユーザオブジェクト502のフェードアウト処理を開始する。
【0109】
フェードアウト処理によって、ユーザオブジェクト502の透明度は連続的又は段階的に上げられる。フェードアウト処理は、移動操作が終了されてから、例えば、1秒程度の時間内で完了する。フェードアウト処理は、例えば、後述のステップS491、S493、及びS494の処理と並列的に実行され、これらの処理の少なくとも一部と同じタイミングで開始及び終了されることが好ましい。なお、フェードアウト処理を省略し、瞬間的に三人称視点から一人称視点への視点切替をしてもよい。
【0110】
ステップS493において、制御部190は、ユーザの視認性を低下させる処理として、例えば、暗転処理又はブラー処理を実行する。なお、ステップS493と同様の処理を、ステップS460の三人称視点への変更処理において実行してもよい。
【0111】
ステップS494において、制御部190は、仮想カメラ503をユーザオブジェクト502の視点位置へと移動させる。ユーザに生じる違和感を低減させるという観点から、仮想カメラ503の移動は、移動操作が終了する直前のユーザオブジェクト502の移動速度と同程度の移動速度でなされることが好ましい。
【0112】
ここで、
図11を用いて、仮想空間501に他のユーザが操作する他ユーザオブジェクトが存在する場合について説明する。
図11は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
図11の例において、仮想空間501は、コンサート会場を模した空間である。
図11は、例えば、コンサート会場のステージ方向から客席側を見た場合の仮想空間画像である。
【0113】
ディスプレイ132上に表示される仮想空間画像には、アリーナ領域1101と、客席オブジェクト1102と、他ユーザオブジェクト1103及び1104と、が含まれている。アリーナ領域1101は、複数のユーザオブジェクト同士で交流が可能な領域である。客席オブジェクト1102は、仮想空間501に固定配置された仮想オブジェクトである。
【0114】
他のユーザによって操作される他ユーザオブジェクト1103及び1104は、他のユーザによる移動操作の有無に関わらず、ユーザオブジェクト502を操作するユーザのディスプレイ132上に表示される。例えば、他ユーザオブジェクト1103は立ち止まっており移動をしていないが、ディスプレイ132上に表示されている。なお、他ユーザオブジェクト1103を操作するユーザのディスプレイ上では、他ユーザオブジェクト1103は表示されていない状態である。
【0115】
ここで、
図11では、一人称視点で生成された仮想空間画像が表示されている。すなわち、ディスプレイ132上に表示された操作子601には移動操作が入力されておらず、ユーザオブジェクト502は透明な状態にある。しかし、他のユーザのディスプレイ上では、ユーザオブジェクト502は透明ではなく、表示された状態になる。
【0116】
他ユーザオブジェクト1104は、移動中のオブジェクトである。他ユーザオブジェクト1104のユーザによって、他ユーザオブジェクト1104に対して移動又はその他の行動をさせるための操作がなされた場合、移動後の他ユーザオブジェクト1104の位置やその他行動を特定するための情報が、サーバ20を介して、ユーザオブジェクト502のユーザのユーザ端末10に送信される。その情報に基づいて、制御部190は、仮想空間501における他ユーザオブジェクト1104の移動や行動を制御する。
【0117】
以下、仮想空間501に動画を再生するための動画再生領域を設けた場合の動画再生に係る処理について説明する。
図12は、本開示の第1の実施の形態に従う動画再生に係る処理の一例を示すフローチャートである。
【0118】
まず、ステップS1210において、制御部190は、仮想空間501に動画再生領域(例えば、スクリーンオブジェクト)を配置する。また、ステップS1220において、制御部190は、仮想空間501にトリガ領域を設定する。トリガ領域は、動画再生領域の近傍に設定されることが好ましい。
【0119】
ユーザオブジェクト502がトリガ領域内に侵入しない場合(ステップS1230において「No」)、プログラム151を終了するための入力操作を受け付けたこと等に応じて、一連の処理を終了する。
【0120】
移動操作がされることによってユーザオブジェクト502がトリガ領域内に侵入した場合(ステップS1230において「Yes」)、ステップS1240において、制御部190は、動画再生領域において動画の再生を開始する。動画の再生形式は、サーバ20から動画情報を都度取得するストリーミング形式でもよいし、記憶部150に動画情報を予めダウンロードしておくダウンロード形式であってもよい。動画の再生は、音声の出力を伴ってなされることが好ましい。
【0121】
トリガ領域が設定された動画再生領域における動画の再生は、他のユーザとは同期しないことが好ましい。すなわち、ユーザオブジェクト502がトリガ領域に侵入していない場合、他のユーザの他ユーザオブジェクトがトリガ領域に侵入したとしても、該トリガ領域に対応する動画再生領域において動画の再生を開始しないことが好ましい。なお、この場合、他のユーザのディスプレイ132上では、動画が再生されることになる。
【0122】
なお、一部の動画については、他のユーザとは同期させて動画の再生を行ってもよい。一部の動画は、特に制限されないが、例えば、リアルタイムで実施、放送、又は配信されているコンテンツ(例えば、スポーツの試合等)などである。このような構成によって、他のユーザとの一体感をもって動画を楽しむことができる。
【0123】
動画再生領域を選択するための選択操作(例えば、タップ操作やダブルタップ操作)がされた場合(ステップS1250において「Yes」)、ステップS1260において、制御部190は、選択された動画再生領域において再生されていた動画を全画面表示する。ステップS1250における処理は、全画面表示を終了するための操作がされる等の終了条件が満たされるまで継続される。終了条件が満たされた場合は、動画再生領域における再生に戻る。
【0124】
動画再生領域を選択するための選択操作がされない場合(ステップS1250においてNo)、動画再生領域における再生が継続される。また、ユーザオブジェクト502がトリガ領域外へと移動していない状態において(ステップS1270において「No」)、動画再生領域における再生が継続される。
【0125】
ユーザオブジェクト502がトリガ領域外に移動した場合(ステップS1270において「Yes」)、ステップS1280において、制御部190は、動画再生領域における動画の再生を停止する。また、ステップS1290において、制御部190は、動画における再生が停止された停止位置を記憶する。ユーザオブジェクト502が再びトリガ領域に侵入した場合は、記憶された停止位置を参照し、前回の続きから動画の再生が開始されうる。
【0126】
以下、
図13から
図15を用いて、動画再生に係る処理について詳述する。
図13は、本開示の第1の実施の形態に従う仮想空間501の一例を示す模式図である。
図13の例では、仮想空間501に、ユーザオブジェクト502と、スクリーンオブジェクト1301a及び1301bとが配置され、トリガ領域1302a及び1302bが設定されている。
【0127】
スクリーンオブジェクト1301a及び1301bは、動画再生領域の一例であり、例えば、スクリーンの形状を模した仮想オブジェクトである。スクリーンオブジェクト1301a及び1301bにおいて再生される動画は、互いに異なる。
【0128】
トリガ領域1302aは、スクリーンオブジェクト1301aに対応する領域であり、トリガ領域1302bは、スクリーンオブジェクト1301bに対応する領域である。例えば、ユーザオブジェクト502がトリガ領域1302a内に侵入した場合、スクリーンオブジェクト1301aにおいて動画の再生が開始される。
【0129】
図14は、本開示の第1の実施の形態に従う表示画面の一例を示す模式図である。
図14の(a)は、ユーザオブジェクト502がトリガ領域1302a内を移動している状態を示す図である。ユーザオブジェクト502がトリガ領域1302a内に位置することに基づいて、スクリーンオブジェクト1301aでは、動画の再生が行われている。なお、
図14の(a)では、移動操作がされている状態であるため、ディスプレイ132に表示されている仮想空間画像は、三人称視点に基づくものである。
【0130】
図14の(b)は、ユーザオブジェクト502がトリガ領域1302a内で停止した状態を示す図である。ユーザオブジェクト502がトリガ領域1302a内に位置することに基づいて、スクリーンオブジェクト1301aでは、動画の再生が継続されている。また、
図14の(b)では、移動操作がされていない状態であるため、ディスプレイ132に表示されている仮想空間画像は、一人称視点に基づくものに変更され、ユーザオブジェクト502は非表示になっている。
【0131】
図14の(a)の状態では、スクリーンオブジェクト1301aの一部が、ユーザオブジェクト502に隠れてしまって視認できないが、
図14の(b)のように一人称視点に変更することで、ユーザは、スクリーンオブジェクト1301aの全てを視認することが可能になる。
【0132】
図15は、本開示の第1の実施の形態に従う動画を全画面表示した場合の表示画面の一例を示す模式図である。
図15は、例えば、
図14の(b)に示す状態でスクリーンオブジェクト1301aに対するタップ操作がされた場合の例である。
【0133】
図15の例では、ディスプレイ132上に、
図14の(b)の状態においてスクリーンオブジェクト1301aで再生されていた動画が全画面表示されている。また、ディスプレイ132の下部には、一時停止ボタン1501、早送りボタン1502、巻き戻しボタン1503、及びシークバー1504が表示されている。これらのボタンは、動画の操作UI(User Interface)の一例である。これらの操作UIは、一定時間の経過によって透明になることが好ましい。
図15の例では、全画面表示をするにあたって、ディスプレイ132の向きが縦向きから横向きへと変更されているが、縦向きのままで全画面表示をしてもよい。
図15の状態で全画面表示の終了条件が満たされた場合、例えば、
図14の(b)に示す状態に戻る。
【0134】
なお、画像生成部196は、ユーザオブジェクト502の移動操作の有無に応じて、仮想空間画像を一人称視点の画像と三人称視点の画像との間の切り替えを行う構成に限定されず、他の所定条件が満たされる場合に当該切り替えを行う構成であってもよい。
【0135】
例えば、仮想空間画像においてユーザオブジェクト502が他のオブジェクトに重畳したとする。この場合、画像生成部196は、ユーザオブジェクト502の移動操作の有無に関わらず、所定条件が満たされたと判断して、仮想空間画像を三人称視点の画像から一人称視点の画像へ切り替えてもよい。
【0136】
また、例えば、仮想空間画像においてユーザオブジェクト502が特定のエリアに移動してきたとする。この場合、画像生成部196は、ユーザオブジェクト502の移動操作の有無に関わらず、所定条件が満たされたと判断して、仮想空間画像を一人称視点の画像から三人称視点の画像へ切り替えてもよい。
【0137】
本開示の第1の実施の形態に係る内容を列記すると以下の通りである。
【0138】
(項目1-1)
プロセッサ及びメモリを備える第1コンピュータにより実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
仮想空間を生成するステップと、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置するステップと、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成するステップと、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるステップと、を実行させ、
前記仮想空間画像を生成するステップにおいて、
前記移動操作がされていない場合、前記仮想カメラは、前記仮想空間画像が前記ユーザオブジェクトの一人称視点の画像となるように位置を制御され、
前記移動操作がされている場合、前記仮想カメラは、前記仮想空間画像が前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像となるように位置を制御される、
プログラム。
これにより、映像酔いを生じにくくするとともに、仮想空間への没入感や仮想空間内の視認性の低下を抑制することができる。具体的には、ユーザオブジェクトの移動時にはユーザオブジェクトが表示される三人称視点になるので、一人称視点の場合よりも映像酔いが生じにくくなる。また、ユーザオブジェクトが移動していない時は一人称視点になるので、三人称視点の場合よりも仮想空間への没入感が向上し、仮想空間内の視認性が向上する。また、一人称視点と三人称視点の切り替えが移動操作の有無に基づいて自動でなされることにより、ユーザの利便性が向上する。
【0139】
(項目1-2)
前記移動操作がされていない場合、前記仮想空間画像を生成するステップでは、前記ユーザオブジェクトの少なくとも一部を非表示にした状態で前記仮想空間画像を生成する、
項目1-1に記載のプログラム。
これにより、一人称視点におけるユーザの視認性を向上させることができる。また、ユーザオブジェクトの全部を透明にすることで、仮想カメラによってユーザオブジェクトの内部が表示されるという現実では有りえないような表示がなされることを抑制できる。
【0140】
(項目1-3)
前記ユーザオブジェクトを前記仮想カメラが向く方向へ移動させる移動操作が開始された場合、前記仮想空間画像を生成するステップでは、
前記ユーザオブジェクトと前記仮想カメラとの距離が所定の第1距離に達するまでは、前記ユーザオブジェクトを移動させ、かつ、前記仮想カメラを移動させずに前記仮想空間画像を生成し、
前記ユーザオブジェクトと前記仮想カメラとの距離が所定の第1距離に達した後は、前記ユーザオブジェクトの移動に連動するように前記仮想カメラを移動させて前記仮想空間画像を生成する、
項目1-1または項目1-2に記載のプログラム。
これにより、一人称視点から三人称視点へと変更する場合において、ユーザの違和感を生じにくくすることができる。
【0141】
(項目1-4)
前記ユーザオブジェクトを前記仮想カメラが向く方向とは反対の方向へ移動させる移動操作が開始された場合、前記仮想空間画像を生成するステップにおいて、
前記ユーザオブジェクトと前記仮想カメラとの距離が所定の第2距離に達するまでは、前記ユーザオブジェクトを移動させ、かつ、前記仮想カメラを前記ユーザオブジェクトの移動速度よりも早い移動速度で前記反対の方向側へと移動させて前記仮想空間画像を生成し、
前記ユーザオブジェクトと前記仮想カメラとの距離が所定の第2距離に達した後は、前記移動操作に基づいて前記ユーザオブジェクトを移動させ、かつ、前記ユーザオブジェクトの移動に連動するように前記ユーザオブジェクトの移動速度と同じ移動速度で前記仮想カメラを移動させて前記仮想空間画像を生成する、
項目1-1から項目1-3のいずれか一項に記載のプログラム。
これにより、一人称視点から三人称視点へと変更する場合において、ユーザの違和感を生じにくくすることができる。
【0142】
(項目1-5)
前記仮想空間画像を生成するステップにおいて、
前記ユーザオブジェクトの移動開始から所定の時間が経過するまで、前記ユーザオブジェクトを透明から不透明の状態へとフェードイン処理して前記仮想空間画像を生成し、
前記ユーザオブジェクトの移動終了から所定の時間が経過するまで、前記ユーザオブジェクトを不透明から透明の状態へとフェードアウト処理して前記仮想空間画像を生成する、
項目1-1から項目1-4のいずれか一項に記載のプログラム。
これにより、視点変更の前後において、ユーザの違和感を生じにくくすることができる。
【0143】
(項目1-6)
前記仮想空間画像を生成するステップにおいて、前記移動操作の開始及び終了のうちの少なくとも一方から所定の時間が経過するまで、前記仮想空間画像の視認性を低下させる処理を実行する、
項目1-1から項目1-5のいずれか一項に記載のプログラム。
これにより、視点変更の前後において、ユーザの違和感を生じにくくすることができる。また、映像酔いを更に抑制することが可能になる。
【0144】
(項目1-7)
前記配置するステップは、さらに、前記仮想空間に動画再生領域を配置することを含み、
前記仮想空間には、前記動画再生領域において動画の再生を開始するためのトリガ領域が設定されており、
前記プログラムは、前記プロセッサに、さらに、
前記ユーザオブジェクトが前記トリガ領域に位置する場合に、前記動画再生領域において前記動画を再生するステップを実行させる、
項目1-1から項目1-6のいずれか一項に記載のプログラム。
これにより、ユーザオブジェクトがトリガ領域内に位置する場合に自動で動画を再生し、ユーザオブジェクトがトリガ領域外に出た場合に自動で動画を停止することができるので、結果として、ユーザの利便性を向上させることができる。また、仮想空間内で動画が見られることを認識させるとともに、興味のある動画か否かの判断をし易くさせる。例えば、360度空間が展開されるケースでは、進行方向の視点に動画再生領域がない場合、動画に気づくことが難しい。そのため、動画の自動再生、特に音声が伴うことでより動画視聴ができることを認識させることが可能であるまた、項目1-7のプログラムは、前提として、移動操作がされていない場合に一人称視点とするものなので、動画の視認性を向上させることができる。
【0145】
(項目1-8)
前記動画再生領域を選択する操作がされた場合、前記再生するステップにおいて、前記動画を全画面表示で再生する、
項目1-7に記載のプログラム。
これにより、動画の視認性を更に向上させることができる。また、動画視聴時の操作性を向上することができる。仮に、動画再生領域内に操作UIを配置しても、仮想カメラが向いている角度や、動画再生領域との距離次第で操作UIを選択することが困難になるが、全画面表示にすることでこれらの問題を解消し、動画視聴時の操作性を向上させることができる。
【0146】
(項目1-9)
前記第1コンピュータは、第2コンピュータと通信接続が可能であり、
前記プログラムは、前記プロセッサに、さらに、
前記第1コンピュータのユーザとは異なる他のユーザが操作する他ユーザオブジェクトに関する他ユーザオブジェクト情報を、前記第2コンピュータから受信するステップを実行させ、
前記配置するステップは、さらに、前記他ユーザオブジェクト情報に基づいて、前記仮想空間に前記他ユーザオブジェクトを配置することを含む、
項目1-1から項目1-8のいずれか一項に記載のプログラム。
これにより、他のユーザとの交流を実現することができる。また、項目1-9のプログラムは、前提として、移動操作がされていない場合に一人称視点とするものなので、他ユーザとの交流時の没入感や他ユーザオブジェクトの視認性を向上することができる。また、項目1-9のプログラムは、前提として、移動操作がされている場合に三人称視点とするものなので、自分のユーザオブジェクトと他ユーザオブジェクトとの位置関係が把握しやすく、結果として、自分のユーザオブジェクトを望んだ位置へと移動させやすくなる。
【0147】
(項目1-10)
プロセッサ及びメモリを備えるコンピュータにより実行される方法であって、
前記方法は、前記プロセッサに、
仮想空間を生成するステップと、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置するステップと、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成するステップと、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるステップと、を実行させることを含み、
前記仮想空間画像を生成するステップにおいて、
前記移動操作がされていない場合、前記仮想カメラは、前記仮想空間画像が前記ユーザオブジェクトの一人称視点の画像となるように位置を制御され、
前記移動操作がされている場合、前記仮想カメラは、前記仮想空間画像が前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像となるように位置を制御される、
方法。
これにより、映像酔いを生じにくくするとともに、仮想空間への没入感や仮想空間内の視認性の低下を抑制することができる。
【0148】
(項目1-11)
プロセッサ及びメモリを備える情報処理装置であって、
前記プロセッサは、
仮想空間を生成し、
前記仮想空間に仮想カメラ及びユーザオブジェクトを配置し、
前記仮想カメラに基づいて、前記仮想カメラから前記仮想空間内を撮像した画像である仮想空間画像を生成し、
前記ユーザオブジェクトを移動させるための移動操作がされたことに基づいて、前記仮想空間内において前記ユーザオブジェクトを移動させるものであり、
前記仮想空間画像の生成は、
前記移動操作がされていない場合、前記仮想カメラを、前記仮想空間画像が前記ユーザオブジェクトの一人称視点の画像となるように位置を制御してなされ、
前記移動操作がされている場合、前記仮想カメラの位置を、前記仮想空間画像が前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像となるように制御してなされる、
情報処理装置。
これにより、映像酔いを生じにくくするとともに、仮想空間への没入感や仮想空間内の視認性の低下を抑制することができる。
【0149】
[第2の実施の形態]
(比較例の説明)
図16は、本開示の第2の実施の形態の比較例に従う表示画面の一例を示す模式図である。ここでは、比較例に係るユーザ端末は、第1の実施の形態と同様に、ユーザオブジェクト502の移動操作の有無に応じて、仮想空間画像を一人称視点の画像と三人称視点の画像との間で切り替える構成であるとする。
【0150】
例えば、ユーザオブジェクト502が、看板オブジェクト1302の前へ移動してきたとする。この場合、比較例に係るユーザ端末では、
図16の(a)に示すように、ユーザオブジェクト502の少なくとも一部を含む三人称視点の画像が、仮想空間画像としてディスプレイ132に表示される。このときの仮想空間501における仮想カメラ503は、例えば、ユーザオブジェクト502の視点位置からユーザオブジェクト502の後方側へ所定距離だけ離れた箇所に位置する。
【0151】
また、
図16の(a)に示す表示画面がディスプレイ132に表示されている状況において、ユーザが、ユーザオブジェクト502の移動操作を終了させたとする。この場合、比較例に係るユーザ端末では、
図16の(b)に示すように、ユーザオブジェクト502の一人称視点の画像が、仮想空間画像としてディスプレイ132に表示される。このときの仮想空間501における仮想カメラ503の位置は、ユーザオブジェクト502の視線位置である。
【0152】
このように、仮想空間画像が三人称視点の画像から一人称視点の画像へ切り替えられた場合、仮想空間501における仮想カメラ503は、当該仮想カメラ503の視線方向へ移動する。このため、仮想空間画像の全体が拡大されて、看板オブジェクト1302など、ユーザオブジェクト502以外の他のオブジェクトが鮮明に映る。しかしながら、当該他のオブジェクトが他人の著作物である場合には、他人の著作物が鮮明に映る画像の複製等を容易に行うことができてしまう。
【0153】
これに対して、第2の実施の形態に係るユーザ端末10における制御部190は、後述のような構成により、上記課題を解決する。
【0154】
(ユーザ端末の構成)
図17は、本開示の第2の実
施の形態に従う表示画面の一例を示す模式図である。
図17の(a)は、
図16の(a)と同様に、ユーザオブジェクト502が看板オブジェクト1302の前へ移動してきた際に生成される仮想空間画像を示している。
図17の(b)は、ユーザオブジェクト502が看板オブジェクト1302の前で停止した際に生成される仮想空間画像を示している。
【0155】
図17を参照して、第2の実施の形態に係る制御部190は、第1の実施の形態に係る制御部190と同様に、所定条件が満たされた際に、仮想空間画像を一人称視点の画像と三人称視点の画像との間で切り替える。
【0156】
ここでは、一例として、制御部190における画像生成部196は、ユーザオブジェクト502の移動操作が行われている場合、
図17の(a)に示すように、仮想空間画像として三人称視点の画像を生成する。また、画像生成部196は、ユーザオブジェクト502の移動操作が行われていない場合、
図17の(b)に示すように、仮想空間画像として一人称視点の画像を生成する。
【0157】
画像生成部196は、一人称視点の画像を生成する際、当該画像(以下、「生成予定画像」と称する)に特定のオブジェクトが含まれるか否かを判断する。
【0158】
より詳細には、例えば、
図2に示す仮想空間情報152には、1または複数の特定のオブジェクトが予め登録されている。具体的には、静的なオブジェクトが、特定のオブジェクトとして登録されている。
【0159】
静的なオブジェクトには、キャラクタ、模様、文字又は記号等、もしくはこれらの組み合わせにより表現された、ポスター、垂れ幕、旗、看板、及び掲示に供するオブジェクトが含まれる。すなわち、静的なオブジェクトは、外的な応力が加えられた場合等を除いて、基本的には自立して動作しないものであり、例えば、建物や電柱に張られたり、立て看板のように道に置かれたりするものである。
【0160】
なお、特定のオブジェクトには、動的なオブジェクトに付された静的なオブジェクトも含まれる。例えば、バルーン等の浮遊物に付された静的なオブジェクト、及び、周期的又は所定のルートを移動するよう制御されるロボット型又は車型の移動オブジェクトに付された静的なオブジェクトも、特定のオブジェクトに含まれる。また、例えば、いわゆるNPC(ノンプレイヤキャラ)に所持又は装備された静的なオブジェクトも、特定のオブジェクトに含まれる。
図17に示す看板オブジェクト1302は、特定のオブジェクトとして仮想空間情報152に登録されているとする。
【0161】
また、ユーザオブジェクト502には、一のプレイヤが操作するプレイヤオブジェクトと、当該一のプレイヤとは異なる他のプレイヤ又はコンピュータが操作する他のプレイヤオブジェクトとが含まれてもよい。この場合、他のプレイヤオブジェクトが特定のオブジェクトとして登録されてもよい。
【0162】
画像生成部196は、例えば、一人称視点の画像に切り替える直前の三人称視点の画像に対して画像処理を行い、さらに仮想空間情報152を参照して、当該三人称視点の画像に特定のオブジェクトが含まれるか否かを判断する。そして、画像生成部196は、当該三人称視点の画像に特定のオブジェクトが含まれると判断した場合、生成予定画像においても特定のオブジェクトが含まれると判断する。
【0163】
また、画像生成部196は、三人称視点の画像を生成していない状態では、仮想空間情報152に含まれる配置情報、及びユーザオブジェクト502の位置情報を参照して、生成予定画像に特定のオブジェクトが含まれるか否かを判断してもよい。
【0164】
また、画像生成部196は、生成予定画像に特定のオブジェクトが含まれると判断した場合、当該生成予定画像において特定のオブジェクトが所定の表示態様で表示されるように、当該特定のオブジェクトに所定の処理を施す。
【0165】
例えば、画像生成部196は、特定のオブジェクトの視認性が低下するような処理を施す。具体的には、モザイク処理、ボカシ処理、画質を変更する処理、画素数を変更する処理、色彩を変更する処理、明度を変更する処理、または彩度を変更する処理などが所定の処理として施される。画像生成部196は、生成予定画像に特定のオブジェクトが複数含まれる場合、各特定のオブジェクトに対して所定の処理を施す。
【0166】
なお、画像生成部196は、所定の処理として、特定のオブジェクトの少なくとも一部を予め定められた他のオブジェクトに置き換える処理、または特定のオブジェクトの少なくとも一部に対して予め定められた他のオブジェクトを重畳して表示させる処理などを施しても良い。予め定められた他のオブジェクトは、例えば、スタンプ画像やマスク画像などである。
【0167】
図17の(b)では、一例として、看板オブジェクト1302に対してモザイク処理が施された一人称視点の画像が、仮想空間画像としてディスプレイ132に表示されている。
【0168】
また、
図17の(b)に示す一人称視点の画像が表示されている状況において、ユーザオブジェクト502の移動操作が開始されたとする。この場合、画像生成部196は、
図17の(a)に示すように、看板オブジェクト1302を通常の表示態様に戻して、三人称視点の画像を生成する。
【0169】
(プログラムの動作例)
次に、第2の実施の形態に従うプログラムの動作の流れを説明する。
図18は、本開示の第2の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
図18に示すように、まず、制御部190は、仮想空間情報152を参照し、仮想空間501、仮想カメラ503及び仮想オブジェクトを生成する(ステップS510)。
【0170】
次に、制御部190は、仮想空間情報152に含まれる配置情報を参照し、仮想空間501に仮想オブジェクト及び仮想カメラ503を配置する(ステップS520)。仮想カメラ503の初期位置は、例えば、ユーザオブジェクト502の視点位置からユーザオブジェクト502の後方側へ所定距離だけ離れた位置である。
【0171】
次に、制御部190は、ユーザオブジェクト502の移動操作が行われている場合(ステップS530において「YES」)、三人称視点での仮想空間画像を生成し、生成した仮想空間画像をディスプレイ132に表示する(ステップS540)。
【0172】
一方、制御部190は、ユーザオブジェクト502の移動操作が行われていない場合(ステップS530において「NO」)、一人称視点の画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する(ステップS550)。
【0173】
そして、制御部190は、生成予定画像に特定のオブジェクトが含まれると判断した場合(ステップS550において「YES」)、当該特定のオブジェクトに対して所定の処理を施した一人称視点の画像を仮想空間画像として生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS560)。
【0174】
一方、制御部190は、生成予定画像に特定のオブジェクトが含まれないと判断した場合(ステップS550において「NO」)、所定の処理を施さない一人称視点の通常の画像を仮想空間画像として生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS570)。
【0175】
なお、制御部190は、一人称視点の画像の生成時において所定の処理を施す構成に限らず、所定の処理を施していない一人称視点の画像を生成した後に、当該画像に含まれる特定のオブジェクトに対して所定の処理を施してもよい。
【0176】
本開示の第2の実施の形態に係る内容を列記すると以下の通りである。
(項目2-1)
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替えさせ、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム。
このような構成により、仮想空間画像に他人の著作物である特定のオブジェクトが含まれる場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0177】
(項目2-2)
前記特定のオブジェクトは、静的なオブジェクトである、項目2-1に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い静的なオブジェクトが鮮明に映り込むことを防ぐことができる。
【0178】
(項目2-3)
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、項目2-1または項目2-2に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い他のプレイヤオブジェクトが鮮明に映り込むことを防ぐことができる。
【0179】
前記所定の表示態様での表示として、前記特定のオブジェクトの視認性を低下させる、項目2-1から項目2-3のいずれか1項に記載のプログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像に含まれる場合であっても、複雑な処理を施すことなく、当該著作物が仮想空間画像に鮮明に映り込むことを防ぐことができる。
【0180】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
所定条件が満たされる際に、前記仮想空間画像を、前記ユーザオブジェクトの一人称視点の画像と、前記ユーザオブジェクトの少なくとも一部を含む三人称視点の画像との間で切り替え、
前記仮想空間画像として前記一人称視点の画像を生成する際に、前記仮想空間画像に前記特定のオブジェクトが含まれるときは、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム。
このような構成により、仮想空間画像に他人の著作物である特定のオブジェクトが含まれる場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0181】
[第3の実施の形態]
上述した第2の実施の形態では、仮想空間画像として一人称視点の画像が生成される際、仮想空間画像に含まれる特定のオブジェクトを所定の表示態様で表示する。これに対して、第3の実施の形態では、仮想空間画像における特定のオブジェクトの表示サイズに応じて、当該特定のオブジェクトを所定の表示態様で表示する。
【0182】
図19は、本開示の第3の実施の形態に従う表示画面の一例を示す模式図である。
図19の(a)は、
図17の(a)と同様に、ユーザオブジェクト502が看板オブジェクト1302の前へ移動してきた際に生成される仮想空間画像を示している。
図19の(b)は、ユーザオブジェクト502が看板オブジェクト1302の前へさらに近づいた際に生成される仮想空間画像を示している。
【0183】
図2及び
図19を参照して、第3の実施の形態に係る画像生成部196は、第2の実施の形態に係る画像生成部196と同様に、仮想空間画像を生成する際、仮想空間画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する。
【0184】
そして、画像生成部196は、生成予定画像に特定のオブジェクトが含まれると判断した場合、当該生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断する。以下、表示サイズが所定のサイズより大きいか否かの判断例について詳細に説明する。
【0185】
(a)表示サイズが所定のサイズより大きいか否かの判断例1
例えば、
図2に示す仮想空間情報152には、第2の実施の形態と同様に、1または複数の特定のオブジェクトが登録されている。特定のオブジェクトとしては、第2の実施の形態と同様に、静的なオブジェクトが登録されている。
図19に示す看板オブジェクト1302は、特定のオブジェクトとして仮想空間情報152に登録されているとする。なお、第2の実施の形態と同様に、他のプレイヤオブジェクトが特定のオブジェクトとして登録されてもよい。
【0186】
さらに、仮想空間情報152には、各特定のオブジェクトのサイズ情報が登録されている。具体的には、特定のオブジェクトごとに、仮想空間501における当該特定のオブジェクトの高さや幅などがサイズ情報として登録されている。
【0187】
画像生成部196は、サイズ情報を参照して、例えば、生成予定画像における特定のオブジェクトの表示倍率を算出し、算出した表示倍率が第2閾値以上であるか否かを判断する。そして、画像生成部196は、算出した表示倍率が第2閾値以上である場合、当該特定のオブジェクトの表示サイズが所定のサイズより大きいと判断する。
【0188】
そして、この場合、画像生成部196は、当該生成予定画像において特定のオブジェクトが所定の表示態様で表示されるように、当該特定のオブジェクトに所定の処理を施す。すなわち、画像生成部196は、特定のオブジェクトの視認性が低下するような処理、具体的には、モザイク処理、ボカシ処理、画質を変更する処理、画素数を変更する処理、色彩を変更する処理、明度を変更する処理、または彩度を変更する処理などを施す。
【0189】
図19の(a)に示す仮想空間画像において、看板オブジェクト1302の表示倍率が第2閾値より小さいとする。この場合、画像生成部196は、看板オブジェクト1302に対して所定の処理を施すことなく、通常の仮想空間画像を生成する。
【0190】
一方、
図19の(b)に示すように、ユーザオブジェクト502及び仮想カメラ503が看板オブジェクト1302に近づくように移動することにより、看板オブジェクト1302の表示倍率が第2閾値以上になったとする。この場合、画像生成部196は、看板オブジェクト1302に対して所定の処理を施した仮想空間画像を生成する。
【0191】
なお、制御部190は、特定のオブジェクトを含む仮想空間画像を生成する際、所定の処理を施した仮想空間画像を生成する構成に限らず、所定の処理を施していない仮想空間画像を生成した後に、当該仮想空間画像に含まれる特定のオブジェクトに対して所定の処理を施してもよい。
【0192】
(b)表示サイズが所定のサイズより大きいか否かの判断例2
画像生成部196は、生成予定画像に対する特定のオブジェクトの占有率が第1閾値以上であるか否かを判断することにより、当該特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断してもよい。第1閾値は、例えば30%などである。
【0193】
より詳細には、画像生成部196は、仮想空間画像に特定のオブジェクトが含まれると判断した場合、例えば、所定の処理を施していない仮想空間画像を生成する。そして、画像生成部196は、生成した仮想空間画像に対して画像解析処理を行い、当該仮想空間画像に対する特定のオブジェクトの占有率を算出する。
【0194】
そして、画像生成部196は、算出した占有率が第1閾値以上であると判断した場合、当該特定のオブジェクトの表示サイズが所定のサイズより大きいと判断する。この場合、画像生成部196は、仮想空間画像における当該特定のオブジェクトに対して所定の処理を施す。これにより、
図19の(b)に示すような仮想空間画像がディスプレイ132に表示される。
【0195】
なお、画像生成部196は、判断例1及び判断例2の両方を行う構成であってもよいし、いずれか一方を行う構成であってもよい。
【0196】
判断例1では、ユーザオブジェクト502との距離が近い特定のオブジェクトほど、表示倍率が第2閾値以上になりやすく、表示サイズが所定のサイズより大きいと判断されやすい。これに対して、判断例2では、仮想空間501におけるサイズが大きい特定のオブジェクトほど、仮想空間画像に対する占有率が第1閾値以上になりやすく、表示サイズが所定のサイズより大きいと判断されやすい。
【0197】
なお、ユーザオブジェクト502と特定のオブジェクトとの距離が近いことにより、当該特定のオブジェクトの表示倍率が第2閾値以上であり、かつ仮想空間画像に対する当該特定のオブジェクトの占有率が第1閾値以上である場合もある。このような場合、当該特定のオブジェクトは、判断例1または判断例2において、表示サイズが所定のサイズより大きいと判断される。
【0198】
(プログラムの動作例)
次に、第3の実施の形態に従うプログラムの動作の流れを説明する。
図20は、本開示の第3の実施の形態に従うプログラムの動作の流れの一例を示すフローチャートである。
図20に示すステップS610及びステップS620の動作は、
図18に示すステップS510及びステップS520の動作と同様であるため、ここでの詳細な説明は繰り返さない。
【0199】
次に、制御部190は、仮想空間画像である生成予定画像に特定のオブジェクトが含まれるか否かを判断する(ステップS630)。
【0200】
そして、制御部190は、生成予定画像に特定のオブジェクトが含まれると判断した場合(ステップS630において「YES」)、当該生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きいか否かを判断する(ステップS640)。
【0201】
そして、制御部190は、生成予定画像における特定のオブジェクトの表示サイズが所定のサイズより大きい、と判断した場合(ステップS640において「YES」)、当該特定のオブジェクトに対して所定の処理を施した仮想空間画像を生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS650)。
【0202】
一方、制御部190は、生成予定画像に特定のオブジェクトが含まれないと判断した場合(ステップS630において「NO」)、所定の処理を施さない通常の仮想空間画像を生成する。そして、制御部190は、生成した仮想空間画像をディスプレイ132に表示する(ステップS660)。
【0203】
また、制御部190は、生成予定画像に特定のオブジェクトが含まれ、生成予定画像における当該特定のオブジェクトの表示サイズが所定のサイズ以下である、と判断したとする(ステップS640において「NO」)。この場合においても同様に、制御部190は、所定の処理を施さない通常の仮想空間画像を生成し、生成した仮想空間画像をディスプレイ132に表示する(ステップS660)。
【0204】
以上、本開示に係る第1から第3の実施の形態について詳細に説明したが、プログラムの動作に支障が生じない限り、各実施の形態の説明において制御部190が実行していた処理の一部を制御部290が担当してもよく、制御部290が実行していた処理の少なくとも一部を制御部190が担当してもよい。
【0205】
例えば、仮想空間501や仮想オブジェクトの生成、仮想空間画像の生成を制御部290が実行する、いわゆるクラウド型のシステムを実現するプログラムとしてもよい。また、サーバ20を備えずに、いわゆるスタンドアローン型のプログラムとしてもよい。また、サーバ20を備えずに、ユーザ端末同士でP2P通信をすることで、同一の仮想空間501内に複数のユーザオブジェクトが存在可能なように構成してもよい。
【0206】
また、本開示の第1から第3の実施の形態の2つ以上が組み合わされてもよい。例えば、第2の実施の形態と第3の実施の形態とを組み合わせることにより、制御部190は、一人称視点の画像に特定のオブジェクトが含まれ、かつ当該画像における特定のオブジェクトの表示サイズが所定のサイズより大きい際に、特定のオブジェクトに対して所定の処理を施してもよい。
【0207】
本開示の第3の実施の形態に係る内容を列記すると以下の通りである。
(項目3-1)
コンピュータにより実行されるプログラムであって、
前記プログラムは、前記コンピュータを、
仮想空間を生成する手段と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する手段と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する手段、として機能させ、
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示させる、
プログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像において所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【0208】
(項目3-2)
前記仮想空間画像を生成する手段として、
前記仮想空間画像に対する前記特定のオブジェクトの占有率が第1閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、項目3-1に記載のプログラム。
このような構成により、例えば、仮想空間においてサイズが大きい他人の著作物が存在する場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。
【0209】
(項目3-3)
前記仮想空間画像を生成する手段として、
前記仮想空間画像における前記特定のオブジェクトの表示倍率が第2閾値以上である際に、前記特定のオブジェクトの表示サイズが前記所定のサイズより大きいとして、前記特定のオブジェクトを前記所定の表示態様で表示させる、項目3-1または項目3-2に記載のプログラム。
このような構成により、例えば、ユーザオブジェクトが他人の著作物に近づくことにより、仮想空間画像において当該著作物が所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。
【0210】
(項目3-4)
前記特定のオブジェクトは、静的なオブジェクトである、項目3-1から項目3-3のいずれか1項に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い静的なオブジェクトが鮮明に映り込むことを防ぐことができる。
【0211】
(項目3-5)
前記ユーザオブジェクトには、一のプレイヤが操作するプレイヤオブジェクトと、前記一のプレイヤとは異なる他のプレイヤ又は前記コンピュータが操作する他のプレイヤオブジェクトとを含み、
前記特定のオブジェクトは、前記他のプレイヤオブジェクトである、項目3-1から項目3-4のいずれか1項に記載のプログラム。
このような構成により、仮想空間画像において、他人の著作物である可能性の高い他のプレイヤオブジェクトが鮮明に映り込むことを防ぐことができる。
【0212】
(項目3-6)
前記所定の表示態様での表示として、前記特定のオブジェクトの視認性を低下させる、項目3-1から項目3-5のいずれか1項に記載のプログラム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像に含まれる場合であっても、複雑な処理を施すことなく、当該著作物が仮想空間画像に鮮明に映り込むことを防ぐことができる。
【0213】
1または複数の情報処理装置を備える情報処理システムであって、
仮想空間を生成する処理と、
前記仮想空間に仮想カメラ、ユーザオブジェクト及び特定のオブジェクトを配置する処理と、
前記仮想カメラに基づいて、前記仮想空間の画像である仮想空間画像を生成する処理と、を行い、
前記仮想空間画像を生成する処理において、
前記仮想空間画像における前記特定のオブジェクトの表示サイズが所定のサイズより大きい際に、前記特定のオブジェクトを所定の表示態様で表示する、
情報処理システム。
このような構成により、他人の著作物である特定のオブジェクトが仮想空間画像において所定のサイズよりも大きく映る場合であっても、当該著作物が鮮明に映ることを避けるような表示態様で仮想空間画像を生成することができる。これにより、仮想空間画像において他人の著作物が鮮明に映り込むことを防ぐことができる。
【符号の説明】
【0214】
1:システム、10:ユーザ端末、20:サーバ、30:ネットワーク、130:タッチスクリーン、150:(ユーザ端末の)記憶部、190:(ユーザ端末の)制御部、250:(サーバの)記憶部、290:(サーバの)制御部、501:仮想空間、502:ユーザオブジェクト、503:仮想カメラ