(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166993
(43)【公開日】2024-11-29
(54)【発明の名称】情報処理プログラム、情報処理方法、及び情報処理装置
(51)【国際特許分類】
G06T 19/00 20110101AFI20241122BHJP
G06F 3/04815 20220101ALI20241122BHJP
A63F 13/53 20140101ALI20241122BHJP
A63F 13/52 20140101ALI20241122BHJP
A63F 13/525 20140101ALI20241122BHJP
【FI】
G06T19/00 A
G06F3/04815
A63F13/53
A63F13/52
A63F13/525
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023083475
(22)【出願日】2023-05-19
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年6月8日 https://youtu.be/XMD2wOSmwZMにて公開 令和4年6月8日 https://store-jp.nintendo.com/list/software/70010000038434.htmlにて公開 令和4年6月9日 https://topics.nintendo.co.jp/article/f1d04c49-2efb-4058-8a8c-355faa091a38にて公開 令和4年6月14日 ttps://twitter.com/FireEmblemMusou/status/1536543956569272321にて公開 令和4年6月23日 週刊ファミ通2022年7月7日号No.1751、第17頁にて公開 令和4年6月24日 https://youtu.be/S_3fsJKx0eUにて公開 令和4年6月24日 https://store-jp.nintendo.com/list/software/HAC_P_A3JMA_JPN.html
(71)【出願人】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】塩水流 幹洋
(72)【発明者】
【氏名】長富 介謙
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050CA01
5B050EA26
5B050FA02
5B050FA05
5E555AA24
5E555AA27
5E555AA76
5E555BA01
5E555BA04
5E555BA20
5E555BB01
5E555BB04
5E555BB20
5E555BC04
5E555BE16
5E555CA02
5E555CA17
5E555CA18
5E555CB01
5E555CC01
5E555DA01
5E555DB32
5E555DC19
5E555DC84
5E555DD06
5E555EA07
5E555EA14
5E555FA00
(57)【要約】
【課題】本開示は、仮想カメラの注視点がオブジェクトモデルの姿勢の変化に追従する場合に比べて、仮想カメラのカメラワークを良くすることを目的とする。
【解決手段】情報処理プログラムは、コンピュータに、ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示し、ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置し、前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する、処理を実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示し、
ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置し、
前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する、
処理を実行させるための情報処理プログラム。
【請求項2】
前記コンピュータに、
前記第2オブジェクトモデルが有する、前記仮想空間におけるオブジェクトモデルの姿勢を制御するための仮想骨格に前記仮想カメラの注視点を設定する、
処理を実行させるための請求項1に記載の情報処理プログラム。
【請求項3】
前記コンピュータに、
前記仮想カメラの画角に前記第1オブジェクトモデルの所定部分が含まれる位置を前記仮想カメラの注視点に設定する、
処理を実行させるための請求項1に記載の情報処理プログラム。
【請求項4】
前記コンピュータに、
前記ユーザが視認できない態様である透明な前記第2オブジェクトモデルを、前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置する、
処理を実行させるための請求項1に記載の情報処理プログラム。
【請求項5】
前記コンピュータに、
前記仮想空間において前記第1オブジェクトモデルが移動した場合、前記第1オブジェクトモデルに追従して前記第2オブジェクトモデルを前記一定の姿勢を維持した状態で移動させる、
処理を実行させるための請求項1に記載の情報処理プログラム。
【請求項6】
ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示し、
ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置し、
前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する、
処理をコンピュータが実行する情報処理方法。
【請求項7】
ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示させる表示制御部と、
ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置する配置部と、
前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する設定部と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理プログラム、情報処理方法、及び情報処理装置に関する。
【背景技術】
【0002】
特許文献1には、プレーヤの操作入力に対するプレー状況を、没入感を損なうことなく認識させることが可能なゲームシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1に記載されているようなゲームシステムにおいては、キャラクター及びギミック等のオブジェクトを示したオブジェクトモデルが仮想空間に表示されることがある。また、当該仮想空間では、オブジェクトモデルを撮影する仮想カメラの視点で映像が表示されることがある。
【0005】
ここで、仮想カメラの注視点をオブジェクトモデルに設定した場合は、オブジェクトモデルの姿勢の変化、例えばオブジェクトモデルの呼吸に応じて胸部が上下する等の姿勢の変化に伴って注視点が移動することがある。例えば、注視点をオブジェクトモデルの胸部に設定するようなカメラワークを行う場合、オブジェクトモデルの姿勢の変化により注視点が移動すると、注視点の移動に従って画面が揺れる等のカメラワークが悪化する問題点があった。
【0006】
そこで、本開示は、仮想カメラの注視点がオブジェクトモデルの姿勢の変化に追従する場合に比べて、仮想カメラのカメラワークを良くすることができる情報処理プログラム、情報処理方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の態様の情報処理プログラムは、コンピュータに、ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示し、ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置し、前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する、処理を実行させる。
【0008】
第2の態様の情報処理プログラムは、第1の態様の情報処理プログラムであって、前記コンピュータに、前記第2オブジェクトモデルが有する、前記仮想空間におけるオブジェクトモデルの姿勢を制御するための仮想骨格に前記仮想カメラの注視点を設定する、処理を実行させる。
【0009】
第3の態様の情報処理プログラムは、第1又は第2の態様の情報処理プログラムであって、前記コンピュータに、前記仮想カメラの画角に前記第1オブジェクトモデルの所定部分が含まれる位置を前記仮想カメラの注視点に設定する、処理を実行させる。
【0010】
第4の態様の情報処理プログラムは、第1から第3の何れかの態様の情報処理プログラムであって、前記コンピュータに、前記ユーザが視認できない態様である透明な前記第2オブジェクトモデルを、前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置する、処理を実行させる。
【0011】
第5の態様の情報処理プログラムは、第1から第4の何れかの態様の情報処理プログラムであって、前記コンピュータに、前記仮想空間において前記第1オブジェクトモデルが移動した場合、前記第1オブジェクトモデルに追従して前記第2オブジェクトモデルを前記一定の姿勢を維持した状態で移動させる、処理を実行させる。
【0012】
第6の態様の情報処理方法は、ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示し、ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置し、前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する、処理をコンピュータが実行する。
【0013】
第7の態様の情報処理装置は、ユーザが視認できる態様でオブジェクトを示した第1オブジェクトモデルを仮想空間に表示させる表示制御部と、ユーザが視認できない態様で前記オブジェクトを示した第2オブジェクトモデルを前記仮想空間において前記第1オブジェクトモデルに少なくとも一部を重ねて配置する配置部と、前記仮想空間で所定の動作を行う前記第1オブジェクトモデルを撮影する仮想カメラの注視点を、前記仮想空間で一定の姿勢を維持する前記第2オブジェクトモデルに設定する設定部と、を備える。
【発明の効果】
【0014】
本開示に係る情報処理プログラム、情報処理方法、及び情報処理装置では、仮想カメラの注視点がオブジェクトモデルの姿勢の変化に追従する場合に比べて、仮想カメラのカメラワークを良くすることができる。
【図面の簡単な説明】
【0015】
【
図1】情報処理装置のハードウェア構成を示すブロック図である。
【
図2】情報処理装置の機能構成の例を示すブロック図である。
【
図3】設定処理の流れを示すフローチャートである。
【
図4】キャラクターモデルを説明するための第1の説明図である。
【
図5】キャラクターモデルを説明するための第2の説明図である。
【
図6】キャラクターモデルを説明するための第3の説明図である。
【発明を実施するための形態】
【0016】
以下、本実施形態に係る情報処理装置10について説明する。
図1は、情報処理装置10のハードウェア構成を示すブロック図である。情報処理装置10は、例えば、家庭用ゲーム機、携帯ゲーム機、業務用ゲーム機、スマートフォン、タブレット端末、及びパーソナルコンピュータ等である。本実施形態は、一例として、情報処理装置10を「家庭用ゲーム機」とする。情報処理装置10は「コンピュータ」の一例である。
【0017】
図1に示すように、情報処理装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、ディスプレイ15、スピーカ16、外部I/F(InterFace)17、通信I/F18、及び入力I/F19を備えている。各構成は、バス20を介して相互に通信可能に接続されている。
【0018】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。
【0019】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。
【0020】
ストレージ14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリ等の記憶装置により構成され、各種プログラム及び各種データを格納する。
【0021】
ディスプレイ15は、一例として、液晶ディスプレイであり、各種の情報を表示する。本実施形態では、ディスプレイ15は情報処理装置10と一体である。しかし、これに限らず、ディスプレイ15は情報処理装置10と別体であってもよい。また、本実施形態では、ディスプレイ15はタッチパネルを有していない。しかし、これに限らず、ディスプレイ15はタッチパネルを一体的に有していてもよい。スピーカ16は、各種の音を出力する。
【0022】
外部I/F17は、外部機器を情報処理装置10に接続するためのインターフェースである。当該外部機器は、一例として、記録媒体30である。
【0023】
記録媒体30は、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、USB(Universal Serial Bus)メモリ、又はSDメモリカード等が用いられる。記録媒体30には、情報処理装置10で所定のゲームを実行するためのゲームプログラム30Aが格納されている。CPU11は、外部I/F17を介して記録媒体30からゲームプログラム30Aを読み出し、RAM13を作業領域としてゲームプログラム30Aを実行する。なお、ゲームプログラム30Aは、記録媒体30に格納されていることに限定されず、情報処理装置10のストレージ14に予め記憶されていてもよいし、ネットワークを介して情報処理装置10にダウンロード可能であってもよい。ゲームプログラム30Aは「情報処理プログラム」の一例である。
【0024】
通信I/F18は、情報処理装置10をネットワークに接続するためのインターフェースである。通信I/F18には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
【0025】
入力I/F19は、入力装置40に接続するためのインターフェースである。入力装置40は、操作ボタン及び方向キー等を有するコントローラ、マウス、及びキーボード等であり、各種の入力を行うために使用される。ユーザは、入力装置40を用いてゲームの操作を行う。ユーザが入力装置40を用いて行った入力操作の内容を示す操作情報は、RAM13に格納される。本実施形態では、入力装置40は情報処理装置10と別体である。しかし、これに限らず、入力装置40は情報処理装置10と一体であってもよい。また、入力装置40は、情報処理装置10から着脱可能であってもよい。また、入力装置40の数は1つ又は複数でもよい。
【0026】
次に、情報処理装置10の機能構成について説明する。
図2は、情報処理装置10の機能構成の例を示すブロック図である。
【0027】
図2に示すように、情報処理装置10のCPU11は、機能構成として、受付部11A、制御部11B、配置部11C、及び設定部11Dを有する。各機能構成は、CPU11が記録媒体30に格納されたゲームプログラム30Aを読み出し、実行することにより実現される。
受付部11Aは、ユーザからの入力装置40を用いた入力操作を受け付ける。
【0028】
制御部11Bは、受付部11Aが受け付けたユーザの入力操作及びゲームプログラム30Aに定義された情報等に基づいて、ゲームの進行及びゲーム空間の表示態様を制御する。ゲーム空間は、情報処理装置10のディスプレイ15に表示される仮想空間である。制御部11Bは「表示制御部」の一例である。
【0029】
例えば、所定のイベントが発生するイベントシーンにゲームの進行が移った場合、制御部11Bは、ユーザが視認できる態様でキャラクターを示した表示用のキャラクターモデル(以下、「表示用キャラモデル」とする)をゲーム空間に表示させる。キャラクターは「オブジェクト」の一例であり、キャラクターモデルは「オブジェクトモデル」の一例である。
【0030】
本実施形態は、ユーザが視認できる態様として、表示用キャラモデル100(
図4及び
図5参照)をフルカラーでゲーム空間に表示している。キャラクターは、ゲームに登場する人間、動物、ロボット、機械又は架空の生物等であり、その種類は特に限定されない。なお、表示用キャラモデル100は「第1オブジェクトモデル」の一例である。
【0031】
上記のイベントシーンにおいて、配置部11Cは、ユーザが視認できない態様で上記キャラクターを示した参照用のキャラクターモデル(以下、「参照用キャラモデル」とする)をゲーム空間において表示用キャラモデル100に少なくとも一部を重ねて配置する。本実施形態では、配置部11Cは、ゲーム空間において表示用キャラモデル100及び参照用キャラモデル200(
図4及び
図5参照)を同じ位置に配置することで、参照用キャラモデル200を表示用キャラモデル100に重ねて配置している。
【0032】
本実施形態では、配置部11Cは、制御部11Bがゲーム空間に表示した表示用キャラモデル100と同様のキャラクターモデルを透明化することで、ユーザが視認できない態様の参照用キャラモデル200を生成している。なお、参照用キャラモデル200は「第2オブジェクトモデル」の一例である。
【0033】
ここで、表示用キャラモデル100は、ゲーム空間で所定の動作を行うキャラクターモデルであり、参照用キャラモデル200は、ゲーム空間で一定の姿勢を維持するキャラクターモデルである。所定の動作は、顔に手を添える又は首を傾げる等といった移動を伴わない所作、及び、踊り又は戦闘アクション等の移動を伴う所作の双方を含む。姿勢は、ゲーム空間における一の座標上での身体の構えである。したがって、「姿勢の変化」は、顔に手を添える又は首を傾げる等といった移動を伴わない所作の変化であり、「姿勢の維持」は、その場での身体の構えを変化させないことである。そして、参照用キャラモデル200は、ゲーム空間に配置された際の身体の構えを変化させないことで、一定の姿勢を維持する。
【0034】
また、表示用キャラモデル100及び参照用キャラモデル200が配置されるゲーム空間には、ゲーム空間における位置を定義するための座標系であるワールド座標系が設定されている。例えば、表示用キャラモデル100及び参照用キャラモデル200等のキャラクターモデルの位置は、ワールド座標系上で特定することができる。本実施形態では、配置部11Cは、表示用キャラモデル100及び参照用キャラモデル200のワールド座標系における3次元座標値を同じ値に制御する。これにより、表示用キャラモデル100及び参照用キャラモデル200は、ゲーム空間において同じ位置に配置される。
【0035】
さらに、配置部11Cは、ゲーム空間において表示用キャラモデル100が移動した場合、表示用キャラモデル100に追従して参照用キャラモデル200を一定の姿勢を維持した状態で移動させる。この場合、配置部11Cは、ワールド座標系における3次元座標値が同じ値になるように、参照用キャラモデル200の3次元座標値を表示用キャラモデル100の3次元座標値と同様に変化させる。これにより、ゲーム空間において表示用キャラモデル100が移動した場合、参照用キャラモデル200は、一定の姿勢を維持した状態で表示用キャラモデル100に追従して移動する。
【0036】
設定部11Dは、表示用キャラモデル100を撮影する仮想カメラの注視点を参照用キャラモデル200に設定する。仮想カメラの注視点とは、仮想カメラの撮影領域の中心点を示す座標である。
【0037】
本実施形態では、設定部11Dは、参照用キャラモデル200が有する、ゲーム空間におけるキャラクターモデルの姿勢を制御するためのボーン50(
図4及び
図5参照)に仮想カメラの注視点を設定する。ボーン50は、キャラクターの頭、首、脊椎、腕、手、腰、及び脚部等にそれぞれ設けられる。また、表示用キャラモデル100は、参照用キャラモデル200と同じ構成のボーン50を有している。なお、ボーン50は、骨格を有する人間及び動物等のキャラクターを示したキャラクターモデルに限らず、ロボット及び架空の生物等の骨格を有しないようなキャラクターを示したキャラクターモデルについても設けることが可能である。ボーン50は仮想カメラの注視点が設定される「仮想骨格」の一例である。
【0038】
ここで、表示用キャラモデル100及び参照用キャラモデル200は、それぞれの3次元モデルにボーン50を設定するリギング作業が完了している。これにより、表示用キャラモデル100及び参照用キャラモデル200それぞれの位置を原点とするローカル座標系におけるボーン50の座標が特定可能となる。なお、上記リギング作業は、公知のリギング処理を用いて行われる。そして、リギング作業が完了した表示用キャラモデル100は、特定のボーン50を動かすと当該ボーン50に対応するパーツが動く構成となるため、ゲーム空間で所定の動作を行うことができる。
【0039】
また、本実施形態では、設定部11Dは、仮想カメラの画角に表示用キャラモデル100の頭が含まれる位置を仮想カメラの注視点に設定する。ここで、仮想カメラには、仮想カメラの位置を原点とするカメラ座標系が設定されている。カメラ座標系は、仮想カメラの光軸と平行なX軸と、X軸と垂直なY軸及びZ軸とからなる。頭は「所定部分」の一例である。
【0040】
設定部11Dは、仮想カメラで表示用キャラモデル100を撮影する際、ワールド座標系における参照用キャラモデル200の座標をカメラ座標系の座標に変換して、ゲーム空間における仮想カメラの位置を決定する。一例として、仮想カメラは、注視点から所定距離だけ離れた位置に配置される。当該所定距離は、参照用キャラモデル200の座標、注視点の座標、及び仮想カメラの画角等に応じて変化する。また、設定部11Dは、参照用キャラモデル200の正面側から仮想カメラの光軸が注視点を向くように、仮想カメラを配置する。そして、仮想カメラは、注視点を中心とし所定距離を直径とする球面状のカメラ範囲が設定されており、当該カメラ範囲内を移動して表示用キャラモデル100を撮影することができる。
【0041】
一例として、設定部11Dは、参照用キャラモデル200の頭から首にかけての位置に設けられたボーン50に仮想カメラの注視点を設定する。これにより、本実施形態では、仮想カメラの画角に表示用キャラモデル100の頭が含まれることとなり、ゲーム空間に表示用キャラモデル100の頭、具体的には、顔が表示される。
【0042】
図3は、情報処理装置10が仮想カメラの注視点を設定する設定処理の流れを示すフローチャートである。CPU11が記録媒体30からゲームプログラム30Aを読み出して、RAM13に展開して実行することにより、設定処理が行われる。一例として、
図3に示す設定処理は、上記のイベントシーンにゲームの進行が移った場合に実行される。
【0043】
図3に示すステップS10において、CPU11は、表示用キャラモデル100をゲーム空間に表示させる。そして、CPU11は、ステップS11に進む。
【0044】
ステップS11において、CPU11は、参照用キャラモデル200をゲーム空間において表示用キャラモデル100に重ねて配置する。本実施形態では、CPU11は、ゲーム空間において表示用キャラモデル100及び参照用キャラモデル200を同じ位置に配置する。そして、CPU11は、ステップS12に進む。
【0045】
ステップS12において、CPU11は、仮想カメラの注視点を参照用キャラモデル200に設定する。本実施形態では、CPU11は、仮想カメラの画角に表示用キャラモデル100の頭が含まれる位置となる参照用キャラモデル200のボーン50に注視点を設定する。そして、CPU11は、設定処理を終了する。
【0046】
次に、
図4及び
図5を用いて、ゲームに登場するキャラクターモデルについて説明する。
【0047】
図4は、キャラクターモデルを説明するための第1の説明図である。
図4は、人間のキャラクターを示したキャラクターモデルとして、表示用キャラモデル100及び参照用キャラモデル200を図示している。また、
図4では、表示用キャラモデル100及び参照用キャラモデル200は同じ姿勢をしているため、表示用キャラモデル100及び参照用キャラモデル200が重なった状態となっている。
【0048】
上記のように、表示用キャラモデル100及び参照用キャラモデル200は、ボーン50を有している。一例として、表示用キャラモデル100及び参照用キャラモデル200は、ボーン51からボーン60の10個のボーン50を有している。なお、表示用キャラモデル100及び参照用キャラモデル200は同じ構成のボーン50を有しているため、それぞれのボーン50は共通の参照符号としている。
【0049】
ボーン51は、表示用キャラモデル100及び参照用キャラモデル200の頭から首にかけての位置に設けられている。ボーン52は、表示用キャラモデル100及び参照用キャラモデル200の首から左肩にかけての位置に設けられている。ボーン53は、表示用キャラモデル100及び参照用キャラモデル200の首から右肩にかけての位置に設けられている。ボーン54は、表示用キャラモデル100及び参照用キャラモデル200の脊椎に相当する位置に設けられている。
【0050】
ボーン55は、表示用キャラモデル100及び参照用キャラモデル200の左腕に相当する位置に設けられている。ボーン56は、表示用キャラモデル100及び参照用キャラモデル200の右腕に相当する位置に設けられている。ボーン57は、表示用キャラモデル100及び参照用キャラモデル200の左腰に相当する位置に設けられている。
【0051】
ボーン58は、表示用キャラモデル100及び参照用キャラモデル200の右腰に相当する位置に設けられている。ボーン59は、表示用キャラモデル100及び参照用キャラモデル200の左脚に相当する位置に設けられている。ボーン60は、表示用キャラモデル100及び参照用キャラモデル200の右脚に相当する位置に設けられている。
【0052】
また、ボーン50同士(例えば、ボーン51とボーン52及びボーン53同士)は、接続部Jを介して接続されている。上記のボーン50の構成により、例えば、表示用キャラモデル100のボーン55を上下に動かすことで、表示用キャラモデル100の左腕を上下に動かすことができる。
【0053】
また、
図4は、ゲーム空間に設定された座標系として、ワールド座標系300、ローカル座標系400、ローカル座標系500、及びカメラ座標系600を示している。
【0054】
ワールド座標系300は、上記のように、ゲーム空間における位置を定義するための座標系である。ワールド座標系300は、ゲーム空間における地面と平行なX軸及びZ軸と、X軸及びZ軸と垂直なY軸とからなる。表示用キャラモデル100及び参照用キャラモデル200の位置は、ワールド座標系300上で特定することができる。そして、表示用キャラモデル100は、ユーザからの入力操作に基づいて又はゲームの進行に基づいて自動的に、ワールド座標系300のX軸方向及びZ軸方向にゲーム空間内を移動することができる。なお、上記のように、表示用キャラモデル100が移動した場合は、表示用キャラモデル100に追従して参照用キャラモデル200も一定の姿勢を維持した状態で移動する。
【0055】
ローカル座標系400は、表示用キャラモデル100の位置を原点とするものであり、ローカル座標系400を用いて表示用キャラモデル100の向き及び姿勢等を制御することができる。ローカル座標系400は、表示用キャラモデル100の体軸と平行なY軸と、Y軸と垂直なX軸及びZ軸とからなる。例えば、表示用キャラモデル100は、ローカル座標系400のY軸方向を中心とする回転方向に向きを変化させることができる。また、表示用キャラモデル100は、頭、腕、及び脚等の可動部位を動かすことで直立した状態から屈んだ状態になる等、姿勢を変化させることができる。
【0056】
ローカル座標系500は、参照用キャラモデル200の位置を原点とするものであり、ローカル座標系500を用いて参照用キャラモデル200の向き及び姿勢等を制御することができる。ローカル座標系500は、参照用キャラモデル200の体軸と平行なY軸と、Y軸と垂直なX軸及びZ軸とからなる。例えば、参照用キャラモデル200は、ワールド座標系300のZ軸とローカル座標系500のZ軸とが平行になる向きに配置される。また、参照用キャラモデル200は、ゲーム空間に配置された際の状態から頭、腕、及び脚等の可動部位を動かさないことで直立の姿勢を維持する。
【0057】
カメラ座標系600は、上記のように、仮想カメラの位置を原点とする座標系である。カメラ座標系600は、仮想カメラの光軸と平行なX軸と、X軸と垂直なY軸及びZ軸とからなる。
【0058】
ここで、
図4では、一例として、参照用キャラモデル200のボーン51上、具体的には、ボーン51上における上下方向の中央となる位置に仮想カメラの注視点Pが設定されている。仮想カメラは、参照用キャラモデル200の正面側からカメラ座標系600のX軸が注視点Pを向くように配置されている。なお、仮想カメラの画角に表示用キャラモデル100の頭が含まれる位置であれば、ボーン51上に設定する注視点Pの位置は限定されない。本実施形態では、一例として、参照用キャラモデル200の頭から首にかけての位置に設けられたボーン50上における上下方向の中央となる位置を注視点とする設定が行われている。
【0059】
図5は、キャラクターモデルを説明するための第2の説明図である。具体的には、
図5は、
図4に示す状態から表示用キャラモデル100の姿勢が変化した場合を示している。本実施形態では、ゲーム空間における表示用キャラモデル100の姿勢は、ユーザからの入力操作に基づいて又は時間経過に伴う予め決まった繰り返し動作に基づいて自動的に変化する。なお、
図5では、表示用キャラモデル100を実線で示し、参照用キャラモデル200を二点鎖線で示している。また、
図5では、説明の便宜上、参照用キャラモデル200を二点鎖線で示しているが、実際のゲーム空間においてはユーザが参照用キャラモデル200を視認することはできない。さらに、
図5では、説明の便宜上、表示用キャラモデル100のボーン50及びローカル座標系400の図示を省略している。
【0060】
一例として、
図5では、表示用キャラモデル100がユーザからの入力操作に基づくモーションを実行することで、
図4に示す直立の姿勢から体軸が傾いた姿勢へと変化している。このように、上記のイベントシーンに登場する表示用キャラモデル100は、ユーザからの入力操作に応じたモーションを、当該入力操作に連動してほぼリアルタイムに実行する。
【0061】
これに対し、
図5において、参照用キャラモデル200は、
図4に示す直立の姿勢を維持している。そのため、注視点Pの位置は、
図4と
図5とで変化していない。このように、表示用キャラモデル100及び参照用キャラモデル200が配置されるゲーム空間では、表示用キャラモデル100の動作に伴って注視点Pが移動することがない。
【0062】
ここで、仮に仮想カメラの注視点が表示用キャラモデル100に設定された場合は、表示用キャラモデル100の姿勢の変化に伴って注視点が移動することがある。例えば、表示用キャラモデル100の呼吸に応じて胸部が上下することに伴って注視点が移動することがある。注視点が移動した場合は、例えば、画面に表示される映像が揺れてユーザにいわゆる映像酔いを起こさせるおそれがある。また、移動後の注視点の位置によっては、表示用キャラモデル100の一部分が仮想カメラの画角から外れるおそれがある。これらのように、注視点がキャラクターモデルの姿勢の変化に追従する場合は、仮想カメラのカメラワークが悪化する問題点があった。
【0063】
そこで、情報処理装置10では、CPU11は、ユーザが視認できる態様で表示用キャラモデル100をゲーム空間に表示させ、ユーザが視認できない態様で参照用キャラモデル200をゲーム空間において表示用キャラモデル100に重ねて配置する。そして、CPU11は、ゲーム空間で所定の動作を行う表示用キャラモデル100を撮影する仮想カメラの注視点を、ゲーム空間で一定の姿勢を維持する参照用キャラモデル200に設定する。このように、情報処理装置10では、一定の姿勢を維持する参照用キャラモデル200に注視点を設定することで、注視点の移動を防止している。そのため、情報処理装置10では、仮想カメラの注視点がキャラクターモデルの姿勢の変化に追従する場合に比べて、仮想カメラのカメラワークを良くすることができる。
【0064】
また、情報処理装置10では、CPU11は、参照用キャラモデル200が有するボーン50に仮想カメラの注視点を設定する。上記のように、参照用キャラモデル200はリギング作業が完了しているため、ローカル座標系500におけるボーン50の座標が特定可能となる。これにより、情報処理装置10では、キャラクターモデルの体格から仮想カメラの注視点となる座標を算出する場合に比べて、当該注視点の設定に要する計算量を削減することができる。
【0065】
また、情報処理装置10では、CPU11は、仮想カメラの画角に表示用キャラモデル100の頭が含まれる位置を仮想カメラの注視点に設定する。これにより、情報処理装置10では、上記のイベントシーンにおいて表示用キャラモデル100の頭をユーザに見せることができる。
【0066】
また、情報処理装置10では、CPU11は、ユーザが視認できない態様である透明な参照用キャラモデル200を、ゲーム空間において表示用キャラモデル100に少なくとも一部を重ねて配置する。これにより、情報処理装置10では、例えば、背景色と同色にして参照用キャラモデル200をユーザが視認できない態様とする場合に比べて、参照用キャラモデル200の配置に要する計算量を削減することができる。
【0067】
また、情報処理装置10では、CPU11は、ゲーム空間において表示用キャラモデル100が移動した場合、表示用キャラモデル100に追従して参照用キャラモデル200を一定の姿勢を維持した状態で移動させる。これにより、情報処理装置10では、表示用キャラモデル100が移動しても表示用キャラモデル100の姿勢の変化に追従して画面に表示される映像を揺らすことなく、表示用キャラモデル100を表示し続けることができる。
【0068】
さらに、情報処理装置10では、所定のボーン50に仮想カメラの注視点を設定することで、当該注視点を複数のキャラクターモデルで共通の座標に設定する場合に比べて、仮想カメラのカメラワークを良くすることができる。以下、
図6を用いて、当該効果の詳細を説明する。
【0069】
図6は、キャラクターモデルを説明するための第3の説明図である。具体的には、
図6は、表示用キャラモデル100及び参照用キャラモデル200と体格が異なる人間のキャラクターを示した表示用キャラモデル110及び参照用キャラモデル210を図示している。一例として、表示用キャラモデル110及び参照用キャラモデル210は、表示用キャラモデル100及び参照用キャラモデル200に比べて、身長が高くかつ恰幅が良い。このように、表示用キャラモデル100,110及び参照用キャラモデル200,210が配置される上記のイベントシーンは、種類又は体格等が異なるキャラクターを示した複数のキャラクターモデルが登場可能となっている。
【0070】
なお、
図6では、表示用キャラモデル110及び参照用キャラモデル210は同じ姿勢をしているため、表示用キャラモデル110及び参照用キャラモデル210が重なった状態となっている。
【0071】
図6に示すように、表示用キャラモデル110及び参照用キャラモデル210は、ボーン50を有している。一例として、表示用キャラモデル110及び参照用キャラモデル210は、ボーン61からボーン70の10個のボーン50を有している。なお、表示用キャラモデル110及び参照用キャラモデル210は同じ構成のボーン50を有しているため、それぞれのボーン50は共通の参照符号としている。
【0072】
ボーン61は、表示用キャラモデル110及び参照用キャラモデル210の頭から首にかけての位置に設けられている。ボーン62は、表示用キャラモデル110及び参照用キャラモデル210の首から左肩にかけての位置に設けられている。ボーン63は、表示用キャラモデル110及び参照用キャラモデル210の首から右肩にかけての位置に設けられている。ボーン64は、表示用キャラモデル110及び参照用キャラモデル210の脊椎に相当する位置に設けられている。
【0073】
ボーン65は、表示用キャラモデル110及び参照用キャラモデル210の左腕に相当する位置に設けられている。ボーン66は、表示用キャラモデル110及び参照用キャラモデル210の右腕に相当する位置に設けられている。ボーン67は、表示用キャラモデル110及び参照用キャラモデル210の左腰に相当する位置に設けられている。
【0074】
ボーン68は、表示用キャラモデル110及び参照用キャラモデル210の右腰に相当する位置に設けられている。ボーン69は、表示用キャラモデル110及び参照用キャラモデル210の左脚に相当する位置に設けられている。ボーン70は、表示用キャラモデル110及び参照用キャラモデル210の右脚に相当する位置に設けられている。
【0075】
ここで、ボーン50は、キャラクターモデルの種類又は体格等に応じた特有の構成を用いることが多い。そのため、体格が異なる表示用キャラモデル110及び参照用キャラモデル210と表示用キャラモデル100及び参照用キャラモデル200とでは、ボーン50の構成が異なっている。例えば、表示用キャラモデル110及び参照用キャラモデル210の各ボーン50の寸法は、表示用キャラモデル100及び参照用キャラモデル200の各ボーン50の寸法よりも長くなっている。
【0076】
また、
図6は、ゲーム空間に設定された座標系として、ワールド座標系300、ローカル座標系410、ローカル座標系510、及びカメラ座標系600を示している。なお、ワールド座標系300及びカメラ座標系600は、
図4及び
図5と同様のため説明を省略する。
【0077】
ローカル座標系410は、表示用キャラモデル110の位置を原点とするものであり、ローカル座標系410を用いて表示用キャラモデル110の向き及び姿勢等を制御することができる。ローカル座標系410は、表示用キャラモデル110の体軸と平行なY軸と、Y軸と垂直なX軸及びZ軸とからなる。
【0078】
ローカル座標系510は、参照用キャラモデル210の位置を原点とするものであり、ローカル座標系510を用いて参照用キャラモデル210の向き及び姿勢等を制御することができる。ローカル座標系510は、参照用キャラモデル210の体軸と平行なY軸と、Y軸と垂直なX軸及びZ軸とからなる。
【0079】
ここで、
図6では、一例として、参照用キャラモデル210のボーン61上、具体的には、ボーン61上における上下方向の中央となる位置に仮想カメラの注視点Pが設定されている。上記のように、本実施形態では、参照用キャラモデル200,210の頭から首にかけての位置に設けられたボーン50上における上下方向の中央となる位置を注視点とする設定が行われている。そのため、本実施形態では、参照用キャラモデル200と参照用キャラモデル210とで体格が異なっても同様に、頭から首にかけての上下方向の中央となる位置に注視点Pが設定される。
【0080】
仮に、体格の異なる複数のキャラクターモデルで共通の座標を注視点に設定した場合は、上記のイベントシーンに登場するキャラクターモデルによってはユーザに見せたい部分が画面に表示されないことが生じ得る。これに対し、本実施形態では、注視点を所定のボーン50に設定することでキャラクターモデル毎の差異を吸収して、上記のイベントシーンにおいてキャラクターモデルの同様の部分をユーザに見せることができる。
【0081】
(その他)
上記実施形態では、
図3に示す設定処理が行われる仮想空間をゲーム空間としたが、当該仮想空間はこれに限定されない。例えば、設定処理が行われる仮想空間は、キャラクターモデルが登場するSNS(Social Networking Service)における仮想空間であってもよい。
【0082】
上記実施形態では、
図3に示す設定処理は、所定のイベントが発生するイベントシーンにゲームの進行が移った場合に実行されることとしたが、設定処理の実行タイミングはこれに限定されない。例えば、設定処理は、ユーザからの入力操作に基づいて表示用キャラモデル100,110が敵のキャラクターと戦う(バトルする)バトルシーンにゲームの進行が移った場合に実行されてもよい。
【0083】
上記実施形態では、表示用キャラモデル100,110をユーザが視認できる態様としてフルカラーでゲーム空間に表示したが、表示用キャラモデル100,110の表示態様はこれに限定されない。例えば、ユーザが視認できる態様であれば、表示用キャラモデル100,110をモノクロで表示してもよい。
【0084】
上記実施形態では、参照用キャラモデル200,210をユーザが視認できない態様として表示用キャラモデル100,110と同様のキャラクターモデルを透明化することで生成したが、参照用キャラモデル200,210の生成方法はこれに限定されない。例えば、表示用キャラモデル100,110と同様のキャラクターモデルを背景色と同色にしてゲーム空間に配置することで、ユーザが視認できない態様の参照用キャラモデル200,210を生成してもよい。また、表示用キャラモデル100,110と同様のキャラクターモデルをゲーム空間内に描画しないで、単にゲーム空間に存在することを表す情報として、参照用キャラモデル200,210を生成してもよい。さらに、イベントシーンに登場するキャラクターにユーザが視認できるキャラクターモデルを設定しないで、単にゲーム空間に存在することを表す情報として、参照用キャラモデル200,210を生成してもよい。
【0085】
上記実施形態では、表示用キャラモデル100,110の頭を「所定部分」の一例としたが、「所定部分」はこれに限定されない。例えば、表示用キャラモデル100,110の胴体、腕、又は脚等の頭以外の部分を「所定部分」の一例としてもよい。
【0086】
上記実施形態では、仮想カメラのカメラワークが悪くなる具体例として、ユーザに映像酔いを起こさせるおそれがあること、及び、表示用キャラモデル100,110の一部分が仮想カメラの画角から外れるおそれがあることを示した。しかし、当該具体例は上記実施形態で示したものに限定されない。例えば、仮想カメラの視点でディスプレイ15に表示される映像が表示用キャラモデル100,110に埋まること及びゲーム制作者の意図しない映像がディスプレイ15に表示されること等も仮想カメラのカメラワークが悪くなる具体例に含まれる。
【0087】
上記実施形態では、CPU11は、表示用キャラモデル100,110及び参照用キャラモデル200,210のワールド座標系における3次元座標値を同じ値に制御することで、参照用キャラモデル200,210をゲーム空間において表示用キャラモデル100,110に重ねて配置した。しかし、参照用キャラモデル200,210を表示用キャラモデル100,110に重ねて配置することは、ワールド座標系における3次元座標値を同じ値にすることに限定されない。例えば、表示用キャラモデル100,110と参照用キャラモデル200,210との少なくとも一部が重なって配置されていればよい。或いは、ワールド座標系における、3次元座標値を構成する3つの1次元座標値のうち、2つの1次元座標値を同じ値とし、残りの1つの1次元座標値が多少異なっていてもよい。換言すると、上下左右平面、前後左右平面及び上下前後平面の2次元座標値を同じ値にして、残りの1次元座標値が所定範囲内において多少ずれていてもよい。例えば、
図4に示すワールド座標系300の場合は、参照用キャラモデル200を表示用キャラモデル100に重ねて配置する際、表示用キャラモデル100及び参照用キャラモデル200のX軸方向及びY軸方向の2次元座標値を同じ値にすれば、Z軸方向の座標値は所定範囲内で異なっていてもよい。この場合、仮想カメラの位置を原点とした表示用キャラモデル100の位置を参照用キャラモデル200の位置よりも手前側に配置することが想定される。具体的には、ワールド座標系300における仮想カメラの位置から見て、表示用キャラモデル100のZ軸方向の座標値が参照用キャラモデル200のZ軸方向の座標値よりも所定量手前側に位置するように設定される。
【0088】
上記実施形態では、CPU11は、ゲーム空間において表示用キャラモデル100,110が移動した場合、表示用キャラモデル100,110に追従して参照用キャラモデル200,210を一定の姿勢を維持した状態で移動させることとした。しかし、常に、表示用キャラモデル100,110の移動に参照用キャラモデル200,210を追従させることに限定されない。例えば、CPU11は、表示用キャラモデル100,110のワールド座標系における3次元座標値を構成する3つの1次元座標値のうち、少なくとも1つの1次元座標値の変化量が閾値以上となった場合に限って参照用キャラモデル200,210を追従させてもよい。また、上記条件に変えて又は加えて、表示用キャラモデル100,110のワールド座標系における移動方向が所定方向である場合に限って参照用キャラモデル200,210を追従させてもよい。さらに、上記条件に変えて又は加えて、表示用キャラモデル100,110のワールド座標系における移動速度が所定値未満である場合に限って参照用キャラモデル200,210を追従させてもよい。
【0089】
上記実施形態では、キャラクターを「オブジェクト」の一例としたが、「オブジェクト」はこれに限定されない。例えば、ゲーム空間に配置される兵器及び扉等のギミックを「オブジェクト」の一例として上記実施形態の構成を適用してもよい。
【0090】
なお、上記実施形態でCPU11がソフトウェア(プログラム)を読み込んで実行した設定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、設定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【符号の説明】
【0091】
10 情報処理装置(コンピュータの一例)
30A ゲームプログラム(情報処理プログラムの一例)
50 ボーン(仮想骨格の一例)
100,110 表示用キャラモデル(第1オブジェクトモデルの一例)
200,210 参照用キャラモデル(第2オブジェクトモデルの一例)