JP2019212062A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2019212062A
JP2019212062A JP2018108168A JP2018108168A JP2019212062A JP 2019212062 A JP2019212062 A JP 2019212062A JP 2018108168 A JP2018108168 A JP 2018108168A JP 2018108168 A JP2018108168 A JP 2018108168A JP 2019212062 A JP2019212062 A JP 2019212062A
Authority
JP
Japan
Prior art keywords
camera
image
light source
captured image
shooting direction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018108168A
Other languages
English (en)
Inventor
松田 剛
Tsuyoshi Matsuda
剛 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Games Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sega Games Co Ltd filed Critical Sega Games Co Ltd
Priority to JP2018108168A priority Critical patent/JP2019212062A/ja
Publication of JP2019212062A publication Critical patent/JP2019212062A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】拡張現実画像を見たユーザーに対して与える違和感を低減する。【解決手段】本発明は、現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得部と、角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定部と、取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを設定する光源設定部と、前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成部を備えた情報処理装置である。【選択図】図12

Description

本発明は、情報処理装置及びプログラムに関する。
現実空間をデジタルカメラによって撮影された撮像画像(撮影画像、現実画像)に対して、仮想空間に配置されたオブジェクトを仮想カメラから見たときの仮想画像を重畳することにより、仮想空間のオブジェクトが現実空間に存在するかのような重畳画像(合成画像)をディスプレイに表示する拡張現実(AR:Augmented Reality)と呼ばれる技術を用いてゲームを制御する情報処理装置が知られている(たとえば、特許文献1)。
特許第4869430号公報
この拡張現実の技術(AR技術)によって撮像画像に仮想画像を重畳した拡張現実画像をディスプレイに表示する際に、仮想空間において光源からオブジェクトへ照射される光の方向が現実空間のものと異なると、光の当たり具合によるオブジェクトの陰影や色彩も現実空間のものと異なって表示されることがあった。そのため、拡張現実画像を見たユーザーに対して違和感を与えてしまう場合があった。
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、拡張現実画像を見たユーザーに対して与える違和感を低減することにある。
上記課題を解決するための本発明の主たる発明は、
現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得部と、
角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定部と、
取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを設定する光源設定部と、
前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、
生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成部と、
を備えたことを特徴とする情報処理装置である。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
本実施形態に係る情報処理システムの一例を示す構成図である。 本実施形態に係るサーバー装置20の一例を示すハードウェア構成図である。 本実施形態に係るクライアント端末10の一例を示すハードウェア構成図である。 本実施形態に係るサーバー装置20の一例を示す機能ブロック図である。 キャラクター情報の一例を示す構成図である。 ユーザー情報の一例を示す構成図である。 出現キャラクター情報の一例を示す構成図である。 パターン画像情報の一例を示す構成図である。 本実施形態に係るクライアント端末10の一例を示す機能ブロック図である。 拡張現実画像について説明する図である。 カメラ座標系、基準物体座標系、及びスクリーン座標系の関係を示す図である。 平行光源ベクトルの設定に関する動作例(具体例1)を説明するフローチャートである。 カメラの撮影方向が上向きである場合の光源方向ベクトルについて説明する図である。 カメラの撮影方向が下向きである場合の影方向ベクトル及び光源方向ベクトルについて説明する図である。 平行光源ベクトルの設定に関する動作例(具体例2)を説明するフローチャートである。 撮影時の撮影データの一例を示す構成図である。 平行光源ベクトルの設定に関する動作例(具体例3)を説明するフローチャートである。 明方向ベクトル、暗方向ベクトル、及び平行光源ベクトルについて説明する図である。 出現キャラクターの設定に関する動作例を説明するフローチャートである。
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
即ち、現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得部と、
角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定部と、
取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを設定する光源設定部と、
前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、
生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成部と、
を備えたことを特徴とする情報処理装置である。
このような情報処理装置によれば、拡張現実画像を見たユーザーに対して与える違和感を低減することが可能となる。
また、かかる情報処理装置であって、
撮像画像に重畳表示される仮想空間のオブジェクトをユーザーがカメラの撮影方向を変えながら探し出すゲームの進行を制御するゲーム進行部と、
をさらに備え、
前記撮像画像取得部は、前記ユーザーによる前記ゲームのプレイ動作を利用して、カメラによって撮影された撮像画像を取得し、
前記撮影方向特定部は、前記ユーザーによる前記ゲームのプレイ動作時における前記カメラの撮影方向を特定することとしても良い。
このような情報処理装置によれば、撮影動作を強要せずとも、ゲームをプレイするユーザー自らカメラの撮影方向を変えながら周囲を撮影することになるので、周囲の光源を含んだ撮像画像を取得し易くなる。
また、かかる情報処理装置であって、
前記光源設定部は、
特定された前記撮影方向が上方向である際に、前記撮像画像に高輝度の画像領域が含まれているか否かを判定し、
前記撮像画像に高輝度の画像領域が含まれている場合には、特定された前記撮影方向を現実空間における光源の向きに設定することとしても良い。
このような情報処理装置によれば、カメラの撮影方向が上向きである際には、カメラが撮影した撮像画像の中に現実空間の光源が含まれている可能性が高いため、撮像画像の中から高輝度の画像領域を検索した方が効率的であり、また撮影方向をそのまま光源の向きに設定することができる。
また、かかる情報処理装置であって、
前記光源設定部は、
特定された前記撮影方向が下方向又は水平である際に、前記撮像画像に低輝度の画像領域が含まれているか否かを判定し、
前記撮像画像に低輝度の画像領域が含まれている場合には、特定された前記撮影方向とは反対方向に現実空間における光源の向きを設定することとしても良い。
このような情報処理装置によれば、カメラの撮影方向が下方向又は水平である際には、カメラが撮影した撮像画像の中に現実空間の光源よりも影が含まれている可能性が高いため、撮像画像の中から低輝度の画像領域を検索した方が効率的であり、また撮影方向の反対方向を光源の向きに設定することができる。
また、かかる情報処理装置であって、
撮像画像取得部は、現実空間のカメラによって撮影された複数の撮像画像を取得し、
前記光源設定部は、
複数の撮像画像の中から、高輝度の画像領域が含まれている第1撮像画像と、低輝度の画像領域が含まれている第2撮像画像を特定し、
前記第1撮像画像の撮影時における前記カメラの撮影方向と、前記第2撮像画像の撮影時における前記カメラの撮影方向とに基づいて、現実空間における光源の向きを設定することとしても良い。
このような情報処理装置によれば、現実空間の明るい所を撮影したときの撮影方向と暗い所を撮影したときの撮影方向を用いて、現実空間の光源の向きを推定することができる。
次に、コンピューターを、
現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得手段、
角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定手段、
取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを決定する光源設定手段、
前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、
生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成手段、
として機能させるためのプログラムである。
このようなプログラムによれば、拡張現実画像を見たユーザーに対して与える違和感を低減することが可能となる。
===実施形態===
以下では、本発明の実施形態に係る情報処理装置、プログラム、及び情報処理システムについて詳細に説明する。なお、本発明はAR技術を利用したゲームを採用する情報処理装置、プログラム、及び情報処理システム等に広く適用できる。
<<システム構成>>
図1は、本実施形態に係る情報処理システム1の一例を示す構成図である。図1に示すように、本実施形態に係る情報処理システム1は、1台以上のクライアント端末10とサーバー装置20とがネットワークNを介して接続されている。
クライアント端末10は、ユーザーが操作するスマートフォンなどのデジタルカメラ(以下、単に「カメラ」とも呼ぶ)の機能を備えた端末装置である。サーバー装置20は、クライアント端末10でユーザーにより行われるゲームの管理や制御、ゲーム内での課金処理等を行う。ネットワークNは、インターネット等であって、移動無線基地局などを含む。
なお、図1の情報処理システム1は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば、サーバー装置20は、複数のコンピューターに分散して構成してもよい。また、サーバー装置20がクライアント端末10の機能の一部を担ってもよいし、クライアント端末10がサーバー装置20の機能の一部を担ってもよい。
<<ハードウェア構成>>
<サーバー装置>
図2は、本実施形態に係るサーバー装置20の一例を示すハードウェア構成図である。本実施形態に係るサーバー装置20は、例えば図2に示すハードウェア構成のコンピューター50により実現される。なお、コンピューター50は情報処理装置の一例である。
コンピューター50は、図2に示すように、CPU51、RAM52、ROM53、通信インタフェース54、入力装置55、表示装置56、外部インタフェース57、及びHDD58などを備えており、それぞれがバスラインBで相互に接続されている。なお、入力装置55及び表示装置56は必要なときに接続して利用する形態であってもよい。
CPU51は、ROM53やHDD58などの記憶装置からプログラムやデータをRAM52上に読み出し、読み出したプログラムやデータに基づく各種処理を実行することによって、コンピューター全体の制御や機能を実現する演算装置である。
RAM52は、プログラムやデータを一時保持するための揮発性の半導体メモリ(記憶装置)の一例であり、CPU51が各種処理を実行する際のワークエリアとしても利用される。
ROM53は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM53には、コンピューター50の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。
通信インタフェース54は、コンピューター50をネットワークNに接続するためのインタフェースである。これにより、コンピューター50は通信インタフェース54を介してデータ通信を行うことができる。
入力装置55は、管理者が各種信号を入力するのに用いる装置である。本実施形態における入力装置55は、例えば、キーボード、マウス、タッチパネルなどの操作装置である。
表示装置56は、管理者に対して各種情報を画面表示するための装置である。本実施形態における表示装置56は、例えば、液晶や有機ELなどのディスプレイである。
外部インタフェース57は、外部装置とデータ通信可能に接続するためのインタフェースである。これにより、コンピューター50は外部インタフェース57を介して記録媒体の読み取り及び/又は書き込みを行うことができる。外部装置は、例えば、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリなどの記録媒体である。
HDD58は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピューター全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションなどがある。
なお、HDD58に替えて、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用してもよい。
本実施形態に係るサーバー装置20は、上述したハードウェア構成のコンピューター50においてプログラムを実行することにより、後述するような各種処理を実現できる。
<クライアント端末>
図3は、本実施形態に係るクライアント端末10の一例を示すハードウェア構成図である。本実施形態に係るクライアント端末10は、例えば図3に示すハードウェア構成のコンピューター60により実現される。なお、コンピューター60は情報処理装置の一例である。
コンピューター60は、図3に示すように、CPU61と、RAM62と、ROM63と、通信インタフェース64と、カメラユニット65と、入力装置66と、表示装置67と、外部インタフェース68と、HDD69と、センサー群70などを備えており、それぞれがバスラインBによって相互に接続されている。このコンピューター60については、カメラユニット65及びセンサー群70を除き、図2に示すコンピューター50と同じ構成である。
カメラユニット65は、CCDやCOMS等の撮像素子を有するカメラを用いて現実空間を撮影することによって撮像画像を生成する撮像装置である。
センサー群70は、ジャイロセンサーやGPSセンサーなどの各種センサーを含む検出器群である。ジャイロセンサーは、クライアント端末10の向きや傾きを検出する角度検出センサーである。GPSセンサーは、GPS衛星からの電波を検出する位置検出センサーである。
本実施形態に係るクライアント端末10は、上述したハードウェア構成のコンピューター60においてプログラムを実行することにより、後述するような各種処理を実現することができる。
<<ソフトウェア構成>>
<サーバー装置>
図4は、本実施形態に係るサーバー装置20の一例を示す機能ブロック図である。本実施形態に係るサーバー装置20は、例えば図4に示す機能ブロックにより実現される。
本実施形態に係るサーバー装置20は、プログラムを実行することにより、サーバー制御部200、サーバー記憶部220、及びサーバー通信部240を実現する。
サーバー制御部200は、サーバー装置20における各種処理を実行する機能を有する。このサーバー制御部200は、ゲーム管理部201、及び出現設定部202を含む。
ゲーム管理部201は、クライアント端末10から送信されたリクエストに応答して、クライアント端末10にてユーザーが行うゲームの管理や制御を行なう。
出現設定部202は、ゲームをプレイするユーザーに対して出現させる出現キャラクターを設定する処理を実行する。本実施形態に係る出現設定部202は、ユーザーが現在位置する地域に対応付けられた出現キャラクターを設定する。
サーバー記憶部220は、各種ゲームに関する情報を記憶する機能を有する。このサーバー記憶部220は、キャラクター情報記憶部221、ユーザー情報記憶部222、出現キャラクター情報記憶部223、及びパターン画像情報記憶部224を含む。
キャラクター情報記憶部221は、コンテンツ情報記憶部の一例であって、コンテンツの一例としてのキャラクターに関するキャラクター情報(コンテンツ情報)を記憶している。キャラクター情報記憶部221が記憶するキャラクター情報は、以下に示す各種データによって構成されている。
図5は、キャラクター情報の一例を示す構成図である。図5に示すキャラクター情報は、項目としてキャラクターID、名称、獲得率、属性、レア度、能力パラメーター等を有する。キャラクターIDは、各種キャラクターを一意に識別するための情報である。名称は、キャラクター名を示す情報である。獲得率は、そのキャラクターを獲得できる確率を示す情報である。ここでは、レア度の高いキャラクターであるほど低い獲得率が設定されている。属性は、そのキャラクターが持つ属性を示す情報である。ここでは、現実空間の屋内で出現するキャラクターに対して「屋内」の属性が設定され、現実空間の屋外で出現するキャラクターに対して「屋外」の属性が設定されている。レア度は、キャラクターのレアリティ(希少価値)を示す情報である。ここでは、複数階級のレア度のうちのいずれかの階級が初期設定されている。本実施形態では、レア度「1」〜「5」までの5段階の設定が可能である。能力パラメーターは、キャラクターが持つ能力(レベル等)を示すパラメーター情報である。ここでは、各種パラメーターの初期値が設定されている。
ユーザー情報記憶部222は、ゲームをプレイする各ユーザーに関するユーザー情報を記憶している。ユーザー情報記憶部222が記憶するユーザー情報は、以下に示す各種データによって構成されている。
図6は、ユーザー情報の一例を示す構成図である。図6に示すユーザー情報は、項目としてユーザーID、ランク、所持キャラクター、ゲームポイント、回復アイテム等を有する。ユーザーIDは、ユーザーを一意に識別するための情報である。ランクは、現時点におけるユーザーのゲームレベルを示す情報である。所持キャラクターは、キャラクター情報記憶部221が記憶するキャラクター情報に設定された複数キャラクターのうち、現時点においてユーザーが獲得し所持する1又は複数の各種キャラクターを示す情報である。ここでは、図中にて括弧書きで示すように、現時点における所持キャラクターの能力パラメーターも併せて設定されている。ゲームポイントは、現時点においてユーザーが所持するポイント量を示す情報である。このゲームポイントは、ゲームプレイ時などに消費される。アイテムは、現時点においてユーザーが所持するアイテム数を示す情報である。
出現キャラクター情報記憶部223は、現実空間の地図上に対応付けて設定された仮想空間の出現キャラクターに関する出現キャラクター情報を記憶している。出現キャラクター情報記憶部223が記憶する出現キャラクター情報は、以下に示す各種データによって構成されている。
図7は、出現キャラクター情報の一例を示す構成図である。図7に示す出現キャラクター情報は、項目として地域ID、地域名、エリアデータ、出現キャラクター等を有する。地域IDは、現実空間の地図全体を緯度・経度に基づいて一定の網目状に区分した地域を一意に識別するための情報である。地域名は、地域の名称を示す情報である。エリアデータは、その地域の範囲を緯度・経度などで示す情報である。出現キャラクターは、その地域にて出現可能に設定された1又は複数のキャラクターを示す情報である。
パターン画像情報記憶部224は、現実空間の様子をパターン化したパターン画像を記憶している。パターン画像情報記憶部224が記憶するパターン画像情報は、以下に示す各種データによって構成されている。
図8は、パターン画像情報の一例を示す構成図である。図8に示すパターン画像情報は、項目としてパターンID、属性、パターン画像等を有する。属性は、パターン画像の持つ属性を示す情報である。ここでは、現実空間の屋内をカメラで撮影したパターン画像に対して「屋内」の属性が設定され、現実空間の屋外をカメラで撮影したパターン画像に対して「屋外」の属性が設定されている。パターン画像は、現実空間の屋内・屋外をカメラで撮影した撮像画像である。ここでは、例えば絨毯、床などの屋内に関する様々なパターン画像や、例えば草むら、土、水などの屋外に関する様々なパターン画像が設定されている。
サーバー通信部240は、ネットワークNを介してクライアント端末10との通信を行う機能を有する。
<クライアント端末>
図9は、本実施形態に係るクライアント端末10の一例を示す機能ブロック図である。本実施形態に係るクライアント端末10は、例えば図9に示す機能ブロックにより実現される。
本実施形態に係るクライアント端末10は、プログラムを実行することにより、クライアント制御部100と、クライアント記憶部120と、クライアント通信部140と、操作受付部150と、画面表示部160を実現する。
クライアント制御部100は、クライアント端末10における各種処理を実行する機能を有する。このクライアント制御部100は、ゲーム進行部101と、撮像画像取得部102と、撮影方向特定部103と、光源設定部104と、画像生成部105を含む。
ゲーム進行部101は、クライアント端末10がユーザーから受け付けたゲーム操作に基づき、クライアント端末10でプレイ可能な各種ゲームの進行を制御する。本実施形態に係るゲーム進行部101は、撮像画像に重畳表示される仮想空間のオブジェクトをユーザーがカメラの撮影方向を変えながら探し出すゲームの進行を制御する。
撮像画像取得部102は、現実空間のカメラ(クライアント端末10が備えるカメラ)によって撮影された撮像画像を取得する。本実施形態に係る撮像画像取得部102は、ユーザーのゲームプレイ動作(オブジェクトを探し出すためにカメラの撮影方向を変える動作)を利用して、カメラによって撮影された様々な方向の撮像画像を取得する。
撮影方向特定部103は、撮影時におけるカメラの撮影方向を特定する。本実施形態に係る撮影方向特定部103は、角度検出センサーからの検出信号に基づいて、ユーザーによるゲームのプレイ動作時におけるカメラの撮影方向を特定する。
光源設定部104は、撮像画像取得部102によって取得された撮像画像、及び、撮影方向特定部103によって特定された撮影方向に基づいて、現実空間における光源の向きを決定し、仮想空間の平行光源の方向ベクトルを設定する。
画像生成部105は、カメラによって撮影された撮像画像に対し、仮想空間に配置されたオブジェクトを仮想カメラから見たときの仮想画像を重畳することにより、仮想空間のオブジェクトが現実空間に存在するかのような拡張現実画像をフレーム毎(例えば、1/60秒毎)に生成する。また、画像生成部105は、光源処理などの補間処理や、オブジェクトにテクスチャをマッピングするための処理等も行なう。
クライアント記憶部120は、インストールされたアプリケーション(ゲームアプリ等)やクライアント端末10において必要となる各種プログラム・データを記憶する。クライアント通信部140は、サーバー装置20との通信を行う。画面表示部160は、画像生成部105によって生成された拡張現実画像を取得して画面表示を行う。
<<システム概要>>
本実施形態に係る情報処理システム1の概要について説明する。図10は、拡張現実画像について説明する図である。
本実施形態に係る情報処理システム1にて提供されるゲームは、AR技術を利用したゲームである。そのため、図10に示すように、撮像画像と仮想画像との重畳表示によって、仮想空間のキャラクターが現実空間に存在するかのような拡張現実画像が、ゲームをプレイするユーザーのクライアント端末10に表示される。
本実施形態では、現実空間の様々な地域に対応付けて仮想空間の出現キャラクターが設定されている。そのため、ゲームをプレイするユーザーは、自分のクライアント端末10を持ち歩きながら、出現キャラクターとの遭遇を期待しつつ、現実空間の様々な地域を移動する。
そして、ゲームをプレイするユーザーは、現実空間の地域において出現キャラクターと遭遇するために、クライアント端末10が備えるカメラを様々な方向に向けて周囲を見ながら、その出現キャラクターを探す出す必要がある。
そのようにして探し出した結果、出現キャラクターに遭遇することができた場合には、例えば図10に示すように、仮想空間の出現キャラクター502が現実空間の物体501と共に拡張現実画像としてクライアント端末10に表示されることになる。
このような拡張現実画像がクライアント端末10に表示された際に、仮想空間において光源から出現キャラクターへ照射される光の方向が現実空間のもの(現実空間の光源からから照射される光の方向)と異なると、光の当たり具合による出現キャラクターの陰影や色彩も現実空間のものと異なって表示されるため、ゲームをプレイするユーザーに対して違和感を与えてしまう。
そこで、本実施形態においては、ゲームをプレイするユーザーが出現キャラクターを探す出すためにクライアント端末10のカメラを様々な方向に向けることになるので、このようなユーザーのゲームプレイ動作を利用して、例えばクライアント端末10のカメラが撮影した現実空間の光源を含む撮像画像を取得する。そして、カメラがこの撮像画像を撮影したときのクライアント端末10の姿勢(回転角)から、現実空間における光源の方向を決定する。そして、その決定された光源方向に基づき仮想空間に平行光源の方向ベクトルを設定することによって、現実空間における光の方向と仮想空間における光の方向が近似するようにした。これにより、このようにして設定された平行光源の方向ベクトルを用いて出現キャラクターの影などがレンダリングされることになるため、拡張現実画像がクライアント端末10に表示された際には、ゲームをプレイするユーザーに対して与える違和感を低減することが可能となる。
<<動作>>
<拡張現実画像の生成>
図11は、カメラ座標系、基準物体座標系、及びスクリーン座標系の関係を示す図である。
カメラを原点Ocとする3次元座標(Xc、Yc、Zc)をカメラ座標系と表現し、物体を原点Oとする3次元座標(X、Y、Z)を基準物体座標系と表現し、投影面(スクリーン面)の中心を原点Osとする2次元座標(Xs、Ys)をスクリーン座標系と表現する。
カメラ座標系のXcYc平面は、投影面(スクリーン面)と平行である。カメラ座標系のZc方向は、投影面(スクリーン座標系の原点Os)に垂直に下した方向であり、カメラの撮影方向に一致している。
カメラ座標系は、仮想空間の仮想カメラを原点とするビュー座標系に対応しており、カメラ座標系の原点に位置するカメラの撮影方向は、仮想カメラの視線方向に一致している。また、基準物体座標系は、仮想空間のオブジェクトが配置されるワールド座標系に対応している。すなわち、AR技術では、現実空間と仮想空間を対応させることで、仮想空間のオブジェクトが現実空間に存在するかのような表現が可能となる。
現実空間において基準となる物体(例えば、テーブルなど)をカメラで撮影することによって、その物体を撮像画像に含めることができる。AR技術では、このときの撮像画像について画像認識や空間認識を行なうことによって、カメラと物体の位置関係(つまり、カメラ座標系と基準物体座標系の位置関係)を算出することができる。
画像生成部105は、カメラと物体の位置関係から算出される座標変換行列を用いることにより、基準物体座標系(X、Y、Z)に配置させた仮想空間のオブジェクトをカメラ座標系(Xc、Yc、Zc)へ座標変換を行なう。さらに、カメラ座標系(Xc、Yc、Zc)に配置された仮想空間のオブジェクトをスクリーン座標系(Xs、Ys、Zs)へ座標変換を行なう。
このように座標変換を繰り返すことにより、仮想空間のオブジェクトを2次元画像(仮想画像)として生成することができる。そして、画像生成部105は、その生成された仮想空間のオブジェクトの仮想画像と、カメラによって撮像された物体の撮像画像を重畳することによって、図10に示すような拡張現実画像を生成することが可能となる。
<平行光源ベクトルの設定>
[具体例1]
図12は、平行光源ベクトルの設定に関する動作例(具体例1)を説明するフローチャートである。
クライアント端末10の画像生成部105は、ゲームアプリが起動されると、カメラの撮影方向を変えながら出現キャラクターを探し出すゲームの開始をユーザーに知らせるゲーム画面を生成して画面表示部160に表示させる(ステップS11)。
次に、クライアント端末10の撮像画像取得部102は、この出現キャラクターを探し出すゲームのプレイ動作(出現キャラクターを探し出すためにカメラの撮影方向を変える動作)がユーザーによって行われている際に、ゲームをプレイするユーザーの周囲環境(現実空間)をカメラが撮影した撮像画像を取得する(ステップS12)。
ここでは、例えば、上記のゲーム画面からカメラ画面に切り替わったタイミングで最初の撮像画像を取得する。なお、上記のゲーム画面からカメラ画面に切り替えるユーザーの操作が行われた際に、撮像画像を取得してもよい。また、ゲームアプリ起動後から所定時間経過後の撮像画像や、出現キャラクターが設定されている地域にユーザーが位置してから所定時間経過後の撮像画像を取得してもよい。
次に、クライアント端末10の撮影方向特定部103は、ジャイロセンサーからの検出信号に基づいて、ステップS12の処理においてカメラが撮影したときのカメラの回転角度を特定する(ステップS13)。
ここでは、ジャイロセンサーからの検出信号に基づいて、カメラ座標系(Xc、Yc、Zc)におけるXc方向を軸とする回転角度α(Xc軸周りの角度α)と、Yc方向を軸とする回転角度β(Yc軸周りの角度β)と、Zc方向を軸とする回転角度γ(Zc軸周りの角度γ)を特定する。
次に、クライアント端末10の光源設定部104は、ステップS13の処理において特定したカメラの回転角度に基づいて、カメラの撮影方向が上向きであるか否かを判定する(ステップS14)。
例えば、Xc軸周りの角度αが1〜179度までの範囲であれば、カメラの撮影方向が上向きであると判定し、それ以外の範囲であれば、カメラの撮影方向が下向き又は水平であると判定する。その他、Xc軸周りの角度αが45〜135度までの範囲であれば、カメラの撮影方向が上向きであると判定し、それ以外の範囲であれば、カメラの撮影方向が下向き又はほぼ水平であると判定してもよい。
次に、クライアント端末10の光源設定部104は、カメラの撮影方向が上向きであると判定した場合には(ステップS14:YES)、撮像画像に対応する各画素のRGB値を用いて各画素の輝度値を求め、その輝度値が所定の閾値(高輝度画素判定用の閾値)を超える高輝度画素が撮像画像に含まれているか否かを判定する(ステップS15)。
カメラの撮影方向が上向きである場合には、カメラが撮影した撮像画像の中に現実空間の光源が含まれている可能性が高い。そして、撮像画像の中に現実空間の光源が含まれている場合には、その画像領域に対応する画素の輝度値は極めて高くなるので、高輝度画素として抽出することができる。
次に、クライアント端末10の光源設定部104は、カメラが撮影した撮像画像の中に高輝度画素が含まれていると判定された場合には(ステップS15:YES)、ステップS13の処理において特定したカメラの回転角度に基づいて、カメラ座標系の原点から現実空間の光源へ向かう光源方向ベクトルを決定する(ステップS16)。
図13は、カメラの撮影方向が上向きである場合の光源方向ベクトルについて説明する図である。ここでは、図13に示すように、カメラの撮影方向が上向きであるときのカメラ座標系(X'c、Y'c、Z'c)は、元のカメラ座標系(Xc、Yc、Zc)をXc軸周りの角度α(反時計回り)だけ傾けたものであったものとする。この場合には、このカメラ座標系(X'c、Y'c、Z'c)におけるZ'c方向は、上向きに傾いたときのカメラの撮影方向となる。そのため、このカメラの撮影方向から見える視界には、現実空間の光源が存在することになるので、その撮影方向の方向ベクトルを光源方向ベクトルとして決定する。
次に、クライアント端末10の光源設定部104は、このようにして決定された光源方向ベクトルを用いて、仮想空間における平行光源ベクトル(光源が無限遠に存在すると仮定した場合の平行光源から放射される平行光の方向ベクトル)を設定する(ステップS17)。ここでは、光源方向ベクトルの逆ベクトルを正規化したものを、仮想空間における平行光源ベクトルとして設定する。
その一方で、クライアント端末10は、カメラが撮影した撮像画像の中に高輝度画素が含まれていないと判定された場合には(ステップS15:NO)、上述したステップS12の処理に戻り、所定のタイミングでカメラが再び撮影した他の撮像画像を取得して、それ以降の処理を繰り返し行う。
次に、クライアント端末10の光源設定部104は、上述したステップS14の処理においてカメラの撮影方向が上向きでない(つまり、カメラの撮影方向が下向き又は水平である)と判定した場合には(ステップS14:NO)、撮像画像に対応する各画素のRGB値を用いて各画素の輝度値を求め、その輝度値が所定の閾値(低輝度画素判定用の閾値)まで達しない低輝度画素が撮像画像に含まれているか否かを判定する(ステップS18)。
カメラの撮影方向が下向き又は水平である場合には、カメラが撮影した撮像画像の中に現実空間の光源が含まれている可能性が低いが、現実空間に存在する物体の影が含まれている可能性が高い。そして、撮像画像の中に現実空間の影が含まれている場合には、その画像領域に対応する画素の輝度値は極めて低くなるので、低輝度画素として抽出することができる。また、撮像画像が現実空間の光源の真逆の方向を撮影した撮像画像である場合にも、その撮像画像に対応する何れかの画素の輝度値は極めて低くなるので、低輝度画素として抽出することができる。
次に、クライアント端末10の光源設定部104は、カメラが撮影した撮像画像の中に低輝度画素が含まれていると判定された場合には(ステップS18:YES)、ステップS13の処理において特定したカメラの回転角度に基づいて、カメラ座標系の原点から現実空間の影へ向かう影方向ベクトルを決定する(ステップS19)。
図14は、カメラの撮影方向が下向きである場合の影方向ベクトル及び光源方向ベクトルについて説明する図である。ここでは、図14に示すように、カメラの撮影方向が下向きであるときのカメラ座標系(X'c、Y'c、Z'c)は、元のカメラ座標系(Xc、Yc、Zc)をXc軸周りの角度α(時計回り)だけ傾けたものであったものとする。この場合には、このカメラ座標系(X'c、Y'c、Z'c)におけるZ'c方向は、下向きに傾いたときのカメラの撮影方向となる。そのため、このカメラの撮影方向から見える視界には、現実空間の影が存在することになるので、その撮影方向の方向ベクトルを影方向ベクトルとして決定する。
次に、クライアント端末10の光源設定部104は、このようにして影方向ベクトルが決定されると、その決定された影方向ベクトルを用いて、カメラ座標系の原点から現実空間の光源へ向かう光源方向ベクトルを決定する(ステップS16)。
ここでは、図14に示すように、上述したステップ19の処理によって決定された影方向ベクトルをXcZc平面に投影した投影ベクトルを求め、さらにその投影ベクトルをXc軸周り(反時計回り)に180度回転させた回転ベクトルを求める。その後、その回転ベクトルをXc軸周り(時計回り)の一定角度θ(例えば、80度)だけ回転させた方向ベクトルを光源方向ベクトルとして決定する。つまり、影方向ベクトルと光源方向ベクトルが、互いにほぼ反対方向を向くように設定されることになる。
次に、クライアント端末10の光源設定部104は、このようにして決定された光源方向ベクトルを用いて、仮想空間における平行光源ベクトル(光源が無限遠に存在すると仮定した場合の平行光源から放射される平行光の方向ベクトル)を設定する(ステップS17)。ここでは、光源方向ベクトルの逆ベクトルを正規化したものを、仮想空間における平行光源ベクトルとして設定する。
その一方で、クライアント端末10は、カメラが撮影した撮像画像の中に低輝度画素が含まれていないと判定された場合には(ステップS18:NO)、上述したステップS12の処理に戻り、所定のタイミングでカメラが再び撮影した他の撮像画像を取得して、それ以降の処理を繰り返し行う。
このようにして仮想空間に設定された平行光源ベクトルを用いてシャドウマッピングを行なうことで、出現キャラクターに対して影をつけたり、またこの平行光源ベクトルと出現キャラクターを構成するポリゴンの各頂点に設定された法線ベクトルとの内積を求め、各頂点の内積に応じて各頂点の頂点色を設定したりすることで、仮想空間の出現キャラクターに対して現実空間の光源に応じた色彩や陰影をつけることができるようになる。
そのため、撮像画像と仮想画像を重畳した拡張現実画像がクライアント端末10に表示されたとしても、出現キャラクターの陰影や色彩が現実空間のもの(現実空間の物体の陰影や色彩)に近似するようになるので、ゲームをプレイするユーザーに対して与える違和感を低減することが可能となる。
[具体例2]
図15は、平行光源ベクトルの設定に関する動作例(具体例2)を説明するフローチャートである。図16は、撮影時の撮影データの一例を示す構成図である。この具体例2では、撮像画像の中に現実空間の光源や影が含まれていない場合であっても、平行光源ベクトルを設定することができるため、何時までも出現キャラクターが表示できないという状況に陥ることがない。
図15に示すように、先ず、クライアント端末10の画像生成部105は、ゲームアプリが起動されると、カメラの撮影方向を変えながら出現キャラクターを探し出すゲームの開始をユーザーに知らせるゲーム画面を生成して画面表示部160に表示させる(ステップS31)。
次に、クライアント端末10の撮像画像取得部102は、この出現キャラクターを探し出すゲームのプレイ動作(出現キャラクターを探し出すためにカメラの撮影方向を変える動作)がユーザーによって行われている際に、ゲームをプレイするユーザーの周囲環境(現実空間)をカメラが撮影した撮像画像を取得する(ステップS32)。
ここでは、例えば、上記のゲーム画面からカメラ画面に切り替わったタイミングで撮像画像の取得を開始する。なお、上記のゲーム画面からカメラ画面に切り替えるユーザーの操作が行われた際に、撮像画像の取得を開始してもよい。
次に、クライアント端末10の撮影方向特定部103は、ジャイロセンサーからの検出信号に基づいて、ステップS32の処理においてカメラが撮影したときのカメラの回転角度を特定する(ステップS33)。
ここでは、ジャイロセンサーからの検出信号に基づいて、カメラ座標系(Xc、Yc、Zc)におけるXc方向を軸とする回転角度α(Xc軸周りの角度α)と、Yc方向を軸とする回転角度β(Yc軸周りの角度β)と、Zc方向を軸とする回転角度γ(Zc軸周りの角度γ)を特定する。
次に、クライアント端末10の光源設定部104は、上述したステップS32の処理によって取得された撮像画像と、上述したステップS33の処理によって特定されたカメラの回転角度を関連付けて、クライアント記憶部120に記憶する(ステップS34)。
ここでは、図16に示すように、撮像画像とカメラと回転角度を関連付けて撮影時刻毎にクライアント記憶部120に記憶する。すなわち、ユーザーによるゲームプレイ動作が継続している際、そのユーザーの周囲環境を一定時間(例えば、1/60秒)ごとにカメラで繰り返し撮影すると共に、撮影時刻に対応付けて各々の撮像画像とカメラの回転角度などを撮影データとしてクライアント記憶部120に記憶している。
次に、クライアント端末10の光源設定部104は、所定条件が成立したか否かを判定する(ステップS35)。
本実施形態では、例えば、ゲームアプリが起動してから所定時間が経過したことを所定条件とすることができる。また例えば、出現キャラクターが設定されたいずれかの地域にユーザーが位置してから所定時間が経過したことを所定条件とすることもできる。他にも例えば、出現キャラクターの出現場所を見つけたユーザーが出現キャラクターを表示するための操作を行ったことを所定条件とすることもできる。
次に、クライアント端末10の光源設定部104は、所定条件が成立していないと判定した場合には(ステップS35:NO)、上述したステップS32の処理に戻り、再びカメラが撮影した他の撮像画像を取得して、それ以降の処理を繰り返し行う。
その一方で、クライアント端末10の光源設定部104は、所定条件が成立したと判定した場合には(ステップS35:YES)、これまでに取得された撮像画像の中で最も輝度値が高い画素が含まれる撮影画像を特定する(ステップS36)。
具体的には、クライアント端末10の光源設定部104は、図16に示す撮影データを参照して、これまでに取得された撮像画像毎に、撮像画像に対応する各画素のRGB値を用いて各画素の輝度値を求める。そして、その複数の撮像画像の中から、その輝度値が最も高い最高輝度画素を含んだ撮像画像を特定する。
次に、クライアント端末10の光源設定部104は、上述したステップS36の処理において特定した最高輝度画素を含んだ撮像画像の撮影時におけるカメラの回転角度に基づいて、カメラの撮影方向が上向きであるか否かを判定する(ステップS37)。
例えば、Xc軸周りの角度αが1〜179度までの範囲であれば、カメラの撮影方向が上向きであると判定し、それ以外の範囲であれば、カメラの撮影方向が下向き又は水平であると判定する。その他、Xc軸周りの角度αが45〜135度までの範囲であれば、カメラの撮影方向が上向きであると判定し、それ以外の範囲であれば、カメラの撮影方向が下向き又はほぼ水平であると判定してもよい。
次に、クライアント端末10の光源設定部104は、カメラの撮影方向が上向きであると判定した場合には(ステップS37:YES)、上述したステップS33の処理において特定したカメラの回転角度に基づいて、カメラ座標系の原点から現実空間の光源へ向かう光源方向ベクトルを決定する(ステップS38)。ここでは、図12に示すステップS16の処理と同様にして処理する。
次に、クライアント端末10の光源設定部104は、上述したステップS38の処理によって決定された光源方向ベクトルを用いて、仮想空間における平行光源ベクトル(光源が無限遠に存在すると仮定した場合の平行光源から放射される平行光の方向ベクトル)を設定する(ステップS39)。ここでは、図12に示すステップS17の処理と同様にして処理する。
その一方で、クライアント端末10の光源設定部104は、上述したステップS37の処理においてカメラの撮影方向が上向きでない(つまり、カメラの撮影方向が下向き又は水平である)と判定した場合には(ステップS37:NO)、これまでに取得された撮像画像の中で最も輝度値が低い画素が含まれる撮影画像を特定する(ステップS40)。
具体的には、クライアント端末10の光源設定部104は、図16に示す撮影データを参照して、これまでに取得された撮像画像毎に、撮像画像に対応する各画素のRGB値を用いて各画素の輝度値を求める。そして、その複数の撮像画像の中から、その輝度値が最も低い最低輝度画素を含んだ撮像画像を特定する。
次に、クライアント端末10の光源設定部104は、上述したステップS33の処理において特定したカメラの回転角度に基づいて、カメラ座標系の原点から現実空間の影へ向かう影方向ベクトルを決定する(ステップS41)。ここでは、図12に示すステップS19の処理と同様にして処理する。
次に、クライアント端末10の光源設定部104は、上述したステップS42の処理によって決定された影方向ベクトルを用いて、カメラ座標系の原点から現実空間の光源へ向かう光源方向ベクトルを決定する(ステップS39)。ここでは、図12に示すステップS16の処理と同様にして処理する。
このようにして仮想空間に設定された平行光源ベクトルを用いてシャドウマッピングを行なうことで、出現キャラクターに対して影をつけたり、またこの平行光源ベクトルと出現キャラクターを構成するポリゴンの各頂点に設定された法線ベクトルとの内積を求め、各頂点の内積に応じて各頂点の頂点色を設定したりすることで、仮想空間の出現キャラクターに対して現実空間の光源に応じた色彩や陰影をつけることができるようになる。
そのため、撮像画像と仮想画像を重畳した拡張現実画像がクライアント端末10に表示されたとしても、出現キャラクターの陰影や色彩が現実空間のもの(現実空間の物体の陰影や色彩)に近似するようになるので、ゲームをプレイするユーザーに対して与える違和感を低減することが可能となる。
[具体例3]
図17は、平行光源ベクトルの設定に関する動作例(具体例3)を説明するフローチャートである。なお以下では、図17に示すステップS51〜ステップS55までの処理は、図15に示すステップS31〜ステップS35までの処理と同じであるため、具体的な説明を省略する。この具体例3では、撮像画像の中に現実空間の光源や影が含まれていない場合であっても、平行光源ベクトルを設定することができるため、何時までも出現キャラクターが表示できないという状況に陥ることがない。
クライアント端末10の光源設定部104は、所定条件が成立したと判定した場合には(ステップS55:YES)、これまでに取得された撮像画像の中で最も輝度値が高い画素が含まれる撮影画像(第1撮像画像)を特定する(ステップS56)。ここでは、図15に示すステップS36の処理と同様にして処理する。
次に、クライアント端末10の光源設定部104は、上述したステップS56の処理において特定した最高輝度画素を含んだ撮像画像の撮影時におけるカメラの回転角度に基づいて、カメラ座標系の原点から撮影方向へ向かう明方向ベクトルを決定する(ステップS57)。
図18は、明方向ベクトル、暗方向ベクトル、及び平行光源ベクトルについて説明する図である。ここでは、図16に示す撮影データに基づき、最高輝度画素を含んだ撮像画像の撮影時が撮影時刻T1であったものとする。そして、図18に示すように、撮影時刻T1のときのカメラ座標系(X'c、Y'c、Z'c)は、元のカメラ座標系(Xc、Yc、Zc)をXc軸周りの角度α1(反時計回り)だけ傾けたものであったものとする。この場合には、このカメラ座標系(X'c、Y'c、Z'c)におけるZ'c方向は、上向きに傾いたときのカメラの撮影方向となる。そのため、このカメラの撮影方向から見える視界には、現実空間の明るい空間や物体が存在することになるので、その撮影方向の方向ベクトルを明方向ベクトルとして決定する。
次に、クライアント端末10の光源設定部104は、これまでに取得された撮像画像の中で最も輝度値が低い画素が含まれる撮影画像(第2撮像画像)を特定する(ステップS58)。ここでは、図15に示すステップS40の処理と同様にして処理する。
次に、クライアント端末10の光源設定部104は、上述したステップS56の処理において特定した最低輝度画素を含んだ撮像画像の撮影時におけるカメラの回転角度に基づいて、カメラ座標系の原点から撮影方向へ向かう暗方向ベクトルを決定する(ステップS59)。
ここでは、図16に示す撮影データに基づき、最低輝度画素を含んだ撮像画像の撮影時が撮影時刻T2であったものとする。そして、図18に示すように、撮影時刻T2のときのカメラ座標系(X“c、Y“c、Z“c)は、元のカメラ座標系(Xc、Yc、Zc)をXc軸周りの角度α2(時計回り)だけ傾けたものであったものとする。この場合には、このカメラ座標系(X“c、Y“c、Z“c)におけるZ“c方向は、下向きに傾いたときのカメラの撮影方向となる。そのため、このカメラの撮影方向から見える視界には、現実空間の暗い空間や物体が存在することになるので、その撮影方向の方向ベクトルを暗方向ベクトルとして決定する。
次に、クライアント端末10の光源設定部104は、上述したステップS57の処理によって決定された明方向ベクトルと、上述したステップS59の処理によって決定された暗方向ベクトルを用いて、仮想空間における平行光源ベクトル(光源が無限遠に存在すると仮定した場合の平行光源から放射される平行光の方向ベクトル)を設定する(ステップS60)。
ここでは、図18に示すように、上述したステップS59の処理によって決定された暗方向ベクトルと、上述したステップS57の処理によって決定された明方向ベクトルとの差を算出することによって、平行光源ベクトルを設定する。このように、現実空間の光源から放射される光が明るい所から暗い所へ向かって進行することから推測して、仮想空間の平行光源ベクトルを設定することができる。
このようにして仮想空間に設定された平行光源ベクトルを用いてシャドウマッピングを行なうことで、出現キャラクターに対して影をつけたり、またこの平行光源ベクトルと出現キャラクターを構成するポリゴンの各頂点に設定された法線ベクトルとの内積を求め、各頂点の内積に応じて各頂点の頂点色を設定したりすることで、仮想空間の出現キャラクターに対して現実空間の光源に応じた色彩や陰影をつけることができるようになる。
そのため、撮像画像と仮想画像を重畳した拡張現実画像がクライアント端末10に表示されたとしても、出現キャラクターの陰影や色彩が現実空間のもの(現実空間の物体の陰影や色彩)に近似するようになるので、ゲームをプレイするユーザーに対して与える違和感を低減することが可能となる。
<出現キャラクターの設定>
図19は、出現キャラクターの設定に関する動作例を説明するフローチャートである。
クライアント端末10のゲーム進行部101は、ゲームアプリが起動されると、ゲームをプレイするユーザーの周囲環境をカメラが撮影した撮像画像を取得する共に、GPSセンサーがGPS衛星からの電波を検出することによって自分の位置情報を取得すると、その取得された撮像画像と位置情報をサーバー装置20に送信する(ステップS21)。
サーバー装置20のゲーム管理部201は、クライアント端末10から送信された撮像画像と位置情報を受信すると、出現キャラクターを設定する処理を出現設定部202に対して依頼する。サーバー装置20の出現設定部202は、ゲーム管理部201からの依頼を受けると、出現キャラクター情報記憶部223が記憶する出現キャラクター情報を参照して、その受信したクライアント端末10の位置情報からクライアント端末10が現在位置する地域を特定する(ステップS22)。
サーバー装置20の出現設定部202は、クライアント端末10が現在位置する地域を特定すると、出現キャラクター情報記憶部223が記憶する出現キャラクター情報を参照して、その特定された地域に対応付けられた出現キャラクターを取得する。そして、キャラクター情報記憶部221が記憶するキャラクター情報に設定された複数のキャラクターの中から、その特定された地域の出現キャラクターを抽出する(ステップS23)。
サーバー装置20の出現設定部202は、そのクライアント端末10から受信した撮像画像、及び、パターン画像情報記憶部224が記憶するパターン画像情報を参照して、ゲームをプレイするユーザーの周囲環境に合った属性(屋内・屋外)を特定する(ステップS24)。
ここでは、クライアント端末10から受信した撮像画像を解析して、パターン画像情報に設定された各種のパターン画像との一致度に基づいて、ゲームをプレイするユーザーの周囲環境に合った属性を特定する。例えば、撮像画像を解析した結果、「草むら」のパターン画像との一致度が極めて高い場合には、ユーザーの周囲環境が「屋外」であるものとして特定する。
サーバー装置20の出現設定部202は、このようにしてゲームをプレイするユーザーの周囲環境に合った属性が特定されると、キャラクター情報記憶部221が記憶するキャラクター情報を参照して、上述したステップS23の処理によって抽出された出現キャラクターの中から、上述したステップS24の処理によって特定された属性と同じ属性を持つ出現キャラクターを選択し、そのユーザーが現在位置する地域の出現キャラクターとして設定する(ステップS25)。
その後、サーバー装置20の出現設定部202は、その設定された出現キャラクターのキャラクター情報を、ゲームをプレイするユーザーのクライアント端末10に送信する。そして、クライアント端末10のゲーム進行部101は、サーバー装置20から送信された出現キャラクターのキャラクター情報を受信すると、その出現キャラクターを拡張現実画像として表示させる前に先立って、出現キャラクターの獲得率に基づきユーザーに獲得させるか否かの事前決定を行なう。
なお、クライアント端末10のゲーム進行部101は、ユーザーに獲得させると決定された場合には、ユーザーが出現キャラクターを見つけたことを条件として、その出現キャラクターをユーザーに獲得させてもよい。また、クライアント端末10のゲーム進行部101は、ユーザーに獲得させると決定された場合には、ユーザーが出現キャラクターを見つけ、さらに捕まえるためのアイテムを使用したことを条件として、その出現キャラクターをユーザーに獲得させてもよい。
このように、ゲームをプレイするユーザーは、自分のクライアント端末10を持ち歩きながら或る地域内に移動すると、そのときのユーザーの周囲環境に合った属性を持つ出現キャラクターと遭遇することが可能となる。
===その他の実施形態===
前述の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、前述の各具体例は、適宜組合せてもよい。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
<出現キャラクターの獲得>
前述の実施形態では、出現キャラクターに設定された獲得率に基づいて、その出現キャラクターをユーザーが獲得できるか否かを決定する場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、出現キャラクターとの対戦で勝利したことを条件として、その出現キャラクターをユーザーに獲得させてもよい。
<カメラの撮影方向>
前述の実施形態(具体例1、具体例2)では、平行光源ベクトルを設定するにあたり、カメラの撮影方向が上向きであるか、又は、下向き(又は水平)であるか否かを判定した上で、それぞれの判定結果に合わせて異なる処理を実行する場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、かかる判定を省略して、カメラの撮影方向がどの向きであるか否かに関わらず同じ処理を実行してもよい。
<出現キャラクターの表示>
前述の実施形態では、本願発明の特徴的な方法によって仮想空間に平行光源ベクトルを設定することによって、例えばシャドウマッピングを行なった際に、仮想空間の出現キャラクターに対して現実空間の光源に応じた色彩や陰影をつけることができるようになる。すなわち、仮想空間に平行光源ベクトルを設定した後に、現実空間の光源に応じた色彩や陰影がつけられた仮想空間の出現キャラクターを含む拡張現実画像がクライアント端末10に表示されることになる。
1 情報処理システム
10 クライアント端末
20 サーバー装置
50 コンピューター
51 CPU
52 RAM
53 ROM
54 通信インタフェース
55 入力装置
56 表示装置
57 外部インタフェース
58 HDD
60 コンピューター
61 CPU
62 RAM
63 ROM
64 通信インタフェース
65 カメラユニット
66 入力装置
67 表示装置
68 外部インタフェース
69 HDD
70 センサー群
100 クライアント制御部
101 ゲーム進行部
102 撮像画像取得部
103 撮影方向特定部
104 光源設定部
105 画像生成部
120 クライアント記憶部
140 クライアント通信部
150 操作受付部
160 画面表示部
200 サーバー制御部
201 ゲーム管理部
202 出現設定部
220 サーバー記憶部
221 キャラクター情報記憶部
222 ユーザー情報記憶部
223 出現キャラクター情報記憶部
224 パターン画像情報記憶部
240 サーバー通信部
501 物体
502 出現キャラクター
B バスライン
N ネットワーク

Claims (6)

  1. 現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得部と、
    角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定部と、
    取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを設定する光源設定部と、
    前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、
    生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成部と、
    を備えたことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    撮像画像に重畳表示される仮想空間のオブジェクトをユーザーがカメラの撮影方向を変えながら探し出すゲームの進行を制御するゲーム進行部と、
    をさらに備え、
    前記撮像画像取得部は、前記ユーザーによる前記ゲームのプレイ動作を利用して、カメラによって撮影された撮像画像を取得し、
    前記撮影方向特定部は、前記ユーザーによる前記ゲームのプレイ動作時における前記カメラの撮影方向を特定する、
    ことを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    前記光源設定部は、
    特定された前記撮影方向が上方向である際に、前記撮像画像に高輝度の画像領域が含まれているか否かを判定し、
    前記撮像画像に高輝度の画像領域が含まれている場合には、特定された前記撮影方向を現実空間における光源の向きに設定する、
    ことを特徴とする情報処理装置。
  4. 請求項1又は2に記載の情報処理装置であって、
    前記光源設定部は、
    特定された前記撮影方向が下方向又は水平である際に、前記撮像画像に低輝度の画像領域が含まれているか否かを判定し、
    前記撮像画像に低輝度の画像領域が含まれている場合には、特定された前記撮影方向とは反対方向に現実空間における光源の向きを設定する、
    ことを特徴とする情報処理装置。
  5. 請求項1又は2に記載の情報処理装置であって、
    撮像画像取得部は、現実空間のカメラによって撮影された複数の撮像画像を取得し、
    前記光源設定部は、
    複数の撮像画像の中から、高輝度の画像領域が含まれている第1撮像画像と、低輝度の画像領域が含まれている第2撮像画像を特定し、
    前記第1撮像画像の撮影時における前記カメラの撮影方向と、前記第2撮像画像の撮影時における前記カメラの撮影方向とに基づいて、現実空間における光源の向きを設定する、
    ことを特徴とする情報処理装置。
  6. コンピューターを、
    現実空間のカメラによって撮影された撮像画像を取得する撮像画像取得手段、
    角度検出センサーからの検出信号に基づいて、撮影時における前記カメラの撮影方向を特定する撮影方向特定手段、
    取得された前記撮像画像及び特定された前記撮影方向に基づいて、現実空間における光源の向きを決定する光源設定手段、
    前記カメラに対応させて仮想空間に設定された仮想カメラから前記撮影方向を見たときの仮想画像であって、設定された前記光源の向きに基づいて仮想空間に設定されたオブジェクトの色彩及び陰影を反映させて表示した仮想画像を生成し、かつ、
    生成された前記仮想画像及び取得された前記撮像画像を重畳することによって拡張現実画像を生成する画像生成手段、
    として機能させるためのプログラム。
JP2018108168A 2018-06-05 2018-06-05 情報処理装置及びプログラム Pending JP2019212062A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018108168A JP2019212062A (ja) 2018-06-05 2018-06-05 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108168A JP2019212062A (ja) 2018-06-05 2018-06-05 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2019212062A true JP2019212062A (ja) 2019-12-12

Family

ID=68845372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108168A Pending JP2019212062A (ja) 2018-06-05 2018-06-05 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2019212062A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11034610B2 (en) 2014-10-08 2021-06-15 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
JP7016438B1 (ja) 2021-03-29 2022-02-18 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
WO2023142264A1 (zh) * 2022-01-28 2023-08-03 歌尔股份有限公司 一种图像显示方法、装置、ar头戴设备及存储介质
WO2024090065A1 (ja) * 2022-10-26 2024-05-02 富士フイルム株式会社 情報処理装置、方法及びプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11034610B2 (en) 2014-10-08 2021-06-15 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11148968B2 (en) 2014-10-08 2021-10-19 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11168021B2 (en) 2014-10-08 2021-11-09 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11174194B2 (en) 2014-10-08 2021-11-16 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11319244B2 (en) 2014-10-08 2022-05-03 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11384010B2 (en) 2014-10-08 2022-07-12 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11634357B2 (en) 2014-10-08 2023-04-25 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
US11952306B2 (en) 2014-10-08 2024-04-09 Corning Incorporated High strength glass-ceramics having petalite and lithium silicate structures
JP7016438B1 (ja) 2021-03-29 2022-02-18 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
JP2022152443A (ja) * 2021-03-29 2022-10-12 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
WO2023142264A1 (zh) * 2022-01-28 2023-08-03 歌尔股份有限公司 一种图像显示方法、装置、ar头戴设备及存储介质
WO2024090065A1 (ja) * 2022-10-26 2024-05-02 富士フイルム株式会社 情報処理装置、方法及びプログラム

Similar Documents

Publication Publication Date Title
US11270419B2 (en) Augmented reality scenario generation method, apparatus, system, and device
JP6602889B2 (ja) 移動体装置ローカリゼーションのためのエリア記述ファイルのクラウドソーシングによる作成および更新
US8933965B2 (en) Method for calculating light source information and generating images combining real and virtual images
JP2019212062A (ja) 情報処理装置及びプログラム
US11158291B2 (en) Image display method and apparatus, storage medium, and electronic device
US20180225880A1 (en) Method and Apparatus for Providing Hybrid Reality Environment
US10607567B1 (en) Color variant environment mapping for augmented reality
US10777010B1 (en) Dynamic environment mapping for augmented reality
US10573060B1 (en) Controller binding in virtual domes
CN108434735B (zh) 虚拟物品显示方法、装置、电子装置及存储介质
WO2022083452A1 (zh) 虚拟对象的二维形象展示方法、装置、设备及存储介质
US20200380724A1 (en) Personalized scene image processing method, apparatus and storage medium
JP2009009266A (ja) 画像処理プログラムおよび画像処理装置
JP2021535806A (ja) 仮想環境の観察方法、デバイス及び記憶媒体
WO2020042494A1 (zh) Vr场景截图方法、设备及存储介质
US10740957B1 (en) Dynamic split screen
JP2022505999A (ja) 拡張現実データの提示方法、装置、機器および記憶媒体
CN110737326A (zh) 虚拟对象的显示方法、装置、终端设备及存储介质
CN111544897A (zh) 基于虚拟场景的视频片段显示方法、装置、设备及介质
CN110833695A (zh) 基于虚拟场景的业务处理方法、装置、设备及存储介质
US20240100425A1 (en) Method for Displaying Skill Effect in Game
WO2022166173A1 (zh) 视频资源处理方法、装置、计算机设备、存储介质及程序
TWI764366B (zh) 基於光通信裝置的互動方法和系統
CN111589134A (zh) 虚拟环境画面的显示方法、装置、设备及存储介质
CN109804408B (zh) 一致的球面照片和视频朝向校正