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