(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
(51)【国際特許分類】
A63F 13/55 20140101AFI20240521BHJP
A63F 13/49 20140101ALI20240521BHJP
A63F 13/533 20140101ALI20240521BHJP
A63F 13/79 20140101ALI20240521BHJP
【FI】
A63F13/55
A63F13/49
A63F13/533
A63F13/79
(21)【出願番号】P 2022171408
(22)【出願日】2022-10-26
【審査請求日】2023-05-22
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】奥田 貴洋
【審査官】鈴木 崇雅
(56)【参考文献】
【文献】特開2003-109025(JP,A)
【文献】特開2011-239936(JP,A)
【文献】特開2007-244692(JP,A)
【文献】特開2005-006990(JP,A)
【文献】特開2008-299693(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
仮想空間内において、第1の3Dモデルを有する第1のオブジェクトの姿勢を少なくとも制御させ、
操作入力に基づく第1の指示に応じて、当該第1の指示のタイミングにおける前記第1のオブジェクトの姿勢に対応する第1の姿勢データを記憶媒体に少なくとも記憶させ、
操作入力に基づく第2の指示に応じて、前記第1の3Dモデルを有する第2のオブジェクトを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置させる、ゲームプログラム。
【請求項2】
さらに前記コンピュータに、前記第1の指示に応じて、仮想カメラから見た当該第1の指示のタイミングにおける仮想空間の少なくとも一部を撮像した前記第1のオブジェクトを含む第1の画像を生成させ、
前記第1の画像を、さらに前記記憶媒体に記憶させる、請求項1に記載のゲームプログラム。
【請求項3】
前記第1の3Dモデルを示す情報と前記第1の姿勢データとを前記第1の画像と関連付けて前記記憶媒体に記憶させる、請求項2に記載のゲームプログラム。
【請求項4】
さらに前記コンピュータに、少なくとも1つの前記第1の画像を含む画像の一覧を表示させ、
前記画像の一覧を表示中における操作入力に基づく第3の指示に基づいて、前記第1の画像の1つが指定さ
れ、当該指定され
た第1の画像
が前記第2の指示によって決定された場合に、当該決定された第1の画像に対応する前記第1のオブジェクトと同じ前記第1の3Dモデルを有する前記第2のオブジェクトを、前記第1の姿勢データに基づいた姿勢で仮想空間内に配置させる、請求項2または3に記載のゲームプログラム。
【請求項5】
前記第1のオブジェクトは、前記第1の3Dモデルの制御に用いられる複数のボーンを含み、
前記第1の姿勢データは、前記第1の指示のタイミングにおける前記複数のボーンの状態を示すデータを含む、請求項1または2に記載のゲームプログラム。
【請求項6】
前記第1のオブジェクトは、所定の条件により外観が変化するアニメーションが設定され、
前記第1の指示のタイミングにおける前記第1のオブジェクトの前記アニメーションの状態に対応するアニメーション状態データを、さらに前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記第1の姿勢データに基づいた姿勢および前記アニメーション状態データに基づいた外観で前記第2のオブジェクトを前記仮想空間内に配置させる、請求項1または2に記載のゲームプログラム。
【請求項7】
さらに、前記コンピュータに、
前記第1のオブジェクトを第1のレンダリング処理によって仮想空間内に描画させ、
前記第1のレンダリング処理と異なる描画方法である第2のレンダリング処理によって仮想空間内に配置された前記第2のオブジェクトを描画させる、請求項1または2に記載のゲームプログラム。
【請求項8】
さらに前記コンピュータに、操作入力に基づいて、前記第1の姿勢データに基づく姿勢を維持した状態で、当該第2のオブジェクトを当該仮想空間内で移動させる、請求項1または2に記載のゲームプログラム。
【請求項9】
さらに前記コンピュータに、操作入力に基づいて、仮想空間内に前記第2のオブジェクトが配置される際の当該第2のオブジェクトのローカル座標を固定した状態で、当該第2のオブジェクトを当該仮想空間内で移動させる、請求項1または2に記載のゲームプログラム。
【請求項10】
前記第1の指示に応じて、前記第1の姿勢データとともに前記第1のオブジェクトに対応するキャラクタの種類を示す種類データを、さらに前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記種類データに基づく種類のキャラクタを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置させる、請求項1または2に記載のゲームプログラム。
【請求項11】
前記第1のオブジェクトは、少なくとも1つの第1の装備オブジェクトを所定の部位に装備しており、
前記第1の指示に応じて、前記第1の指示のタイミングにおける前記第1の姿勢データに加えて、さらに前記第1の装備オブジェクトの種類を示す装備データを前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記装備データに対応する第2の装備オブジェクトを前記第2のオブジェクトの前記所定の部位に装備させた状態で、当該第2
のオブジェクトを前記第1の姿勢データに基づく姿勢で仮想空間内に配置させる、請求項1または2に記載のゲームプログラム。
【請求項12】
さらに前記コンピュータに、
操作入力に基づいて、プレイヤキャラクタを仮想空間内において制御させ、
前記仮想空間内において、前記第1の装備オブジェクトを用いて前記プレイヤキャラクタに対する前記第1のオブジェクトの攻撃動作を制御させ、
前記第1の指示が前記第1のオブジェクトが前記攻撃動作中に行われた場合であっても、当該第1の指示のタイミングにおける前記第1の姿勢データおよび前記装備データを前記記憶媒体に記憶させる、請求項11に記載のゲームプログラム。
【請求項13】
さらに前記コンピュータに、前記第2のオブジェクトを包含する多面体を設定させ、
前記多面体を構成する1つの平面が仮想空間における地面と接するように、前記第1の姿勢データに基づいた姿勢で前記第2のオブジェクトを配置させる、請求項1または2に記載のゲームプログラム。
【請求項14】
プロセッサを備えたゲームシステムであって、
前記プロセッサは、
仮想空間内において、第1の3Dモデルを有する第1のオブジェクトの姿勢を少なくとも制御し、
操作入力に基づく第1の指示に応じて、当該第1の指示のタイミングにおける前記第1のオブジェクトの姿勢に対応する第1の姿勢データを記憶媒体に少なくとも記憶させ、
操作入力に基づく第2の指示に応じて、前記第1の3Dモデルを有する第2のオブジェクトを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置する、ゲームシステム。
【請求項15】
前記第1の指示のタイミングにおける前記第1のオブジェクトを含む第1の画像を、さらに前記記憶媒体に記憶させる、請求項14に記載のゲームシステム。
【請求項16】
前記第1の3Dモデルを示す情報と前記第1の姿勢データとを前記第1の画像と関連付けて前記記憶媒体に記憶させる、請求項15に記載のゲームシステム。
【請求項17】
前記プロセッサは、さらに、少なくとも1つの前記第1の画像を含む画像の一覧を表示し、
前記画像の一覧を表示中における操作入力に基づく第3の指示に基づいて、前記第1の画像の1つが指定さ
れ、当該指定され
た第1の画像
が前記第2の指示によって決定された場合に、当該決定された第1の画像に対応する前記第1のオブジェクトと同じ前記第1の3Dモデルを有する前記第2のオブジェクトを、前記第1の姿勢データに基づいた姿勢で仮想空間内に配置させる、請求項
15または
16に記載のゲームシステム。
【請求項18】
前記第1のオブジェクトは、前記第1の3Dモデルの制御に用いられる複数のボーンを含み、
前記第1の姿勢データは、前記第1の指示のタイミングにおける前記複数のボーンの状態を示すデータを含む、請求項14または15に記載のゲームシステム。
【請求項19】
前記第1のオブジェクトは、所定の条件により外観が変化するアニメーションが設定され、
前記第1の指示のタイミングにおける前記第1のオブジェクトの前記アニメーションの状態に対応するアニメーション状態データを、さらに前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記第1の姿勢データに基づいた姿勢および前記アニメーション状態データに基づいた外観で前記第2のオブジェクトを前記仮想空間内に配置する、請求項14または15に記載のゲームシステム。
【請求項20】
前記プロセッサは、さらに、
前記第1のオブジェクトを第1のレンダリング処理によって仮想空間内に描画し、
前記第1のレンダリング処理と異なる描画方法である第2のレンダリング処理によって仮想空間内に配置された前記第2のオブジェクトを描画する、請求項14または15に記載のゲームシステム。
【請求項21】
前記プロセッサは、さらに、操作入力に基づいて、仮想空間内に前記第2のオブジェクトが配置される際の前記第1の姿勢データに基づく姿勢を維持した状態で、当該第2のオブジェクトを当該仮想空間内で移動させる、請求項14または15に記載のゲームシステム。
【請求項22】
前記プロセッサは、操作入力に基づいて、仮想空間内に前記第2のオブジェクトが配置される際の当該第2のオブジェクトのローカル座標を固定した状態で、当該第2のオブジェクトを当該仮想空間内で移動させる、請求項14または15に記載のゲームシステム。
【請求項23】
前記第1の指示に応じて、前記第1の姿勢データとともに前記第1のオブジェクトに対応するキャラクタの種類を示す種類データを、さらに前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記種類データに基づく種類のキャラクタを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置する、請求項14または15に記載のゲームシステム。
【請求項24】
前記第1のオブジェクトは、少なくとも1つの第1の装備オブジェクトを所定の部位に装備しており、
前記第1の指示に応じて、前記第1の指示のタイミングにおける前記第1の姿勢データに加えて、さらに前記第1の装備オブジェクトの種類を示す装備データを前記記憶媒体に記憶させ、
前記第2の指示に応じて、前記装備データに対応する第2の装備オブジェクトを前記第2のオブジェクトの前記所定の部位に装備させた状態で、当該第2
のオブジェクトを前記第1の姿勢データに基づく姿勢で仮想空間内に配置する、請求項14または15に記載のゲームシステム。
【請求項25】
前記プロセッサは、さらに、
操作入力に基づいて、プレイヤキャラクタを仮想空間内において制御し、
前記仮想空間内において、前記第1の装備オブジェクトを用いて前記プレイヤキャラクタに対する前記第1のオブジェクトの攻撃動作を制御し、
前記第1の指示が前記第1のオブジェクトが前記攻撃動作中に行われた場合であっても、当該第1の指示のタイミングにおける前記第1の姿勢データおよび前記装備データを前記記憶媒体に記憶させる、請求項24に記載のゲームシステム。
【請求項26】
前記プロセッサは、さらに、前記第2のオブジェクトを包含する多面体を設定し、
前記多面体を構成する1つの平面が仮想空間における地面と接するように、前記第1の姿勢データに基づいた姿勢で前記第2のオブジェクトを配置する、請求項14または15に記載のゲームシステム。
【請求項27】
プロセッサを備えたゲーム装置であって、
前記プロセッサは、
仮想空間内において、第1の3Dモデルを有する第1のオブジェクトの姿勢を少なくとも制御し、
操作入力に基づく第1の指示に応じて、当該第1の指示のタイミングにおける前記第1のオブジェクトの姿勢に対応する第1の姿勢データを記憶媒体に少なくとも記憶させ、
操作入力に基づく第2の指示に応じて、前記第1の3Dモデルを有する第2のオブジェクトを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置する、ゲーム装置。
【請求項28】
情報処理装置のプロセッサに、
仮想空間内において、第1の3Dモデルを有する第1のオブジェクトの姿勢を少なくとも制御させ、
操作入力に基づく第1の指示に応じて、当該第1の指示のタイミングにおける前記第1のオブジェクトの姿勢に対応する第1の姿勢データを記憶媒体に少なくとも記憶させ、
操作入力に基づく第2の指示に応じて、前記第1の3Dモデルを有する第2のオブジェクトを前記第1の姿勢データに基づいた姿勢で仮想空間内に配置させる、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間におけるオブジェクトを用いた処理を行うゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法に関する。
【背景技術】
【0002】
従来、仮想空間内の風景や対象物を撮像した画像を、ユーザのコレクション要素として記憶媒体に記憶することができるゲームプログラムを実行するゲーム装置がある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】「ゼルダの伝説 ブレス オブ ザ ワイルド:任天堂公式ガイドブック」、小学館、2017年5月11日、p17
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記非特許文献1で開示されたゲーム装置において記憶できるコレクション要素は、仮想空間内を仮想カメラで撮像した画像に限られていた。
【0005】
それ故に、本発明の目的は、ゲーム内において記憶できる新たなコレクション要素を提供することができるゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は例えば以下の(1)~(13)のような構成を採用し得る。
【0007】
(1)
本発明のゲームプログラムの一構成例は、情報処理装置のコンピュータに、空間内において、第1の3Dモデルを有する第1のオブジェクトの姿勢を少なくとも制御させ、操作入力に基づく第1の指示に応じて、当該第1の指示のタイミングにおける第1のオブジェクトの姿勢に対応する第1の姿勢データを記憶媒体に少なくとも記憶させ、操作入力に基づく第2の指示に応じて、第1の3Dモデルを有する第2のオブジェクトを第1の姿勢データに基づいた姿勢で仮想空間内に配置させる。
【0008】
上記(1)の構成によれば、第1のオブジェクトと同じ3Dモデルを有する第2のオブジェクトを、ユーザの操作入力に基づく第1の指示のタイミングにおける当該第1のオブジェクトに基づく姿勢で仮想空間内に配置することができるため、ユーザが意図する姿勢で仮想空間内に配置される当該第2のオブジェクトを新たなコレクション要素として楽しむことができる。
【0009】
(2)
上記(1)の構成において、さらにコンピュータに、第1の指示に応じて、仮想カメラから見た当該第1の指示のタイミングにおける仮想空間の少なくとも一部を撮像した第1のオブジェクトを含む第1の画像を生成させてもよい。この場合、第1の画像を、さらに記憶媒体に記憶させてもよい。
【0010】
上記(2)の構成によれば、ユーザが仮想空間の少なくとも一部を撮像するための操作に応じて、当該撮像によって撮像された第1の画像とともに第1の姿勢データを記録することができる。
【0011】
(3)
上記(2)の構成において、第1の3Dモデルを示す情報と第1の姿勢データとを第1の画像と関連付けて記憶媒体に記憶させてもよい。
【0012】
上記(3)の構成によれば、第1の姿勢データを選択するために、ユーザの操作入力に基づいて撮像された第1の画像を利用することができる。
【0013】
(4)
上記(2)または(3)の構成において、さらにコンピュータに、少なくとも1つの第1の画像を含む画像の一覧を表示させてもよい。画像の一覧を表示中における操作入力に基づく第3の指示に基づいて、第1の画像の1つが指定された場合に、当該指定された第1の画像に対応する第1のオブジェクトと同じ第1の3Dモデルを有する第2のオブジェクトを、第1の姿勢データに基づいた姿勢で仮想空間内に配置させてもよい。
【0014】
上記(4)の構成によれば、配置する第2のオブジェクトを選択するために、第1の画像を利用することができ、配置される第2のオブジェクトを画像で分かりやすく示すことができる。
【0015】
(5)
上記(1)乃至(4)の何れか1つの構成において、第1のオブジェクトは、第1の3Dモデルの制御に用いられる複数のボーンを含んでもよい。この場合、第1の姿勢データは、第1の指示のタイミングにおける複数のボーンの状態を示すデータを含んでもよい。
【0016】
上記(5)の構成によれば、3Dモデルの制御に用いられるボーンの状態を用いることにより、第1のオブジェクトの姿勢を第2のオブジェクトに容易に反映することができる。
【0017】
(6)
上記(1)乃至(5)の何れか1つの構成において、第1のオブジェクトは、所定の条件により外観が変化するアニメーションが設定されてもよい。第1の指示のタイミングにおける第1のオブジェクトのアニメーションの状態に対応するアニメーション状態データを、さらに記憶媒体に記憶させてもよい。第2の指示に応じて、第1の姿勢データに基づいた姿勢およびアニメーション状態データに基づいた外観で第2のオブジェクトを仮想空間内に配置させてもよい。
【0018】
上記(6)の構成によれば、第1のオブジェクトの外観も第2オブジェクトに反映することができる。
【0019】
(7)
上記(1)乃至(6)の何れか1つの構成において、さらに、コンピュータに、第1のオブジェクトを第1のレンダリング処理によって仮想空間内に描画させ、第1のレンダリング処理と異なる描画方法である第2のレンダリング処理によって仮想空間内に配置された第2のオブジェクトを描画させてもよい。
【0020】
上記(7)の構成によれば、仮想空間において、第1のオブジェクトと第2のオブジェクトとを見分けやすくすることができる。
【0021】
(8)
上記(1)乃至(7)の何れか1つの構成において、さらにコンピュータに、操作入力に基づいて、第1の姿勢データに基づく姿勢を維持した状態で、当該第2のオブジェクトを当該仮想空間内で移動させてもよい。
【0022】
上記(8)の構成によれば、ユーザの好みに合った場所に所望する方向で第2のオブジェクトを配置することができる。
【0023】
(9)
上記(1)乃至(8)の何れか1つの構成において、さらにコンピュータに、操作入力に基づいて、仮想空間内に第2のオブジェクトが配置される際の当該第2のオブジェクトのローカル座標を固定した状態で、当該第2のオブジェクトを当該仮想空間内で移動させてもよい。
【0024】
上記(9)の構成によれば、ユーザの好みに合った場所に所望する方向で第2のオブジェクトを配置することができる。
【0025】
(10)
上記(1)乃至(9)の何れか1つの構成において、第1の指示に応じて、第1の姿勢データとともに第1のオブジェクトに対応するキャラクタの種類を示す種類データを、さらに記憶媒体に記憶させてもよい。第2の指示に応じて、種類データに基づく種類のキャラクタを第1の姿勢データに基づいた姿勢で仮想空間内に配置させてもよい。
【0026】
上記(10)の構成によれば、第1のオブジェクトの種類に基づくオブジェクトを、第2のオブジェクトとして配置することができる。
【0027】
(11)
上記(1)乃至(10)の何れか1つの構成において、第1のオブジェクトは、少なくとも1つの第1の装備オブジェクトを所定の部位に装備してもよい。この場合、第1の指示に応じて、第1の指示のタイミングにおける第1の姿勢データに加えて、さらに第1の装備オブジェクトの種類を示す装備データを記憶媒体に記憶させてもよい。第2の指示に応じて、装備データに対応する第2の装備オブジェクトを第2のオブジェクトの所定の部位に装備させた状態で、当該第2オブジェクトを第1の姿勢データに基づく姿勢で仮想空間内に配置させてもよい。
【0028】
上記(11)の構成によれば、第1のオブジェクトの装備を第2のオブジェクトの装備に反映して、第2のオブジェクトを配置することができる。
【0029】
(12)
上記(11)の構成において、さらにコンピュータに、操作入力に基づいて、プレイヤキャラクタを仮想空間内において制御させ、仮想空間内において、第1の装備オブジェクトを用いてプレイヤキャラクタに対する第1のオブジェクトの攻撃動作を制御させ、第1の指示が第1のオブジェクトが攻撃動作中に行われた場合であっても、当該第1の指示のタイミングにおける第1の姿勢データおよび装備データを記憶媒体に記憶させてもよい。
【0030】
上記(12)の構成によれば、第1のオブジェクトが攻撃している様子を再現した第2のオブジェクトを配置することができる。
【0031】
(13)
上記(1)乃至(12)の何れか1つの構成において、さらにコンピュータに、第2のオブジェクトを包含する多面体を設定させ、多面体を構成する1つの平面が仮想空間における地面と接するように、第1の姿勢データに基づいた姿勢で第2のオブジェクトを配置させてもよい。
【0032】
上記(13)の構成によれば、仮想空間において、多面体形状に基づいた方向に第2のオブジェクトを配置することができる。
【0033】
また、本発明は、ゲームシステム、ゲーム装置、およびゲーム処理方法の形態で実施されてもよい。
【発明の効果】
【0034】
本発明によれば、ユーザが意図する姿勢で仮想空間内に配置される第2のオブジェクトを、新たなコレクション要素として楽しむことができる。
【図面の簡単な説明】
【0035】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図
【
図6】本体装置2の内部構成の一例を示すブロック図
【
図7】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図8】仮想空間においてプレイヤキャラクタPCと敵キャラクタECとが戦闘する様子を示すゲーム画像の一例を示す図
【
図9】仮想空間を撮像する操作指示に応じて撮像される様子を示すゲーム画像の一例を示す図
【
図10】仮想空間に出現させることが可能な敵キャラクタEC(フィギュアF)が撮像された撮像画像の一覧を示すゲーム画像の一例を示す図
【
図11】仮想空間にフィギュアFを出現させた様子を示すゲーム画像の一例を示す図
【
図12】敵キャラクタECに設定されているボーンBの一例を示す図
【
図13】敵キャラクタの装備とフィギュアの装備との関係の一例を示す図
【
図14】見た目を変化させて出現するフィギュアF1a~F1cの一例を示す図
【
図15】一部の部位が破壊された敵キャラクタEC4に対応するフィギュアF4が出現するゲーム画像の一例を示す図
【
図16】フィギュアFに設定される多面体の一例を示す図
【
図17】本体装置2のDRAM85に設定されるデータ領域の一例を示す図
【
図18】ゲームシステム1で実行されるゲーム処理の一例を示すフローチャート
【
図19】
図18のステップS124における通常ゲーム処理の一例を示すサブルーチン
【
図20】
図19のステップS146における撮像モード処理の一例を示すサブルーチン
【
図21】
図18のステップS128におけるフィギュア配置処理の一例を示すサブルーチン
【発明を実施するための形態】
【0036】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(
図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0037】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0038】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。
図1および
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0039】
図3は、本体装置2の一例を示す六面図である。
図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0040】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0041】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0042】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0043】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、
図6に示すスピーカ88)を備えている。
図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0044】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0045】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0046】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0047】
図4は、左コントローラ3の一例を示す六面図である。
図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、
図1および
図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0048】
左コントローラ3は、アナログスティック32を備える。
図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0049】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0050】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0051】
図5は、右コントローラ4の一例を示す六面図である。
図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0052】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
【0053】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0054】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、
図3に示す構成の他、
図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0055】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0056】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0057】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0058】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0059】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0060】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0061】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0062】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0063】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0064】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0065】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0066】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0067】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0068】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0069】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0070】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0071】
通信制御部101は、各入力部(具体的には、各ボタン103、および、アナログスティック32)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0072】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
【0073】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0074】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0075】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0076】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0077】
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ等の外部表示装置に画像(および音声)を出力可能である。以下の説明では、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いて説明する。なお、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いる場合、左コントローラ3および右コントローラ4が本体装置2に固定された態様(例えば、本体装置2、左コントローラ3、および右コントローラ4が1つの筐体で一体化された態様)のゲームシステム1が用いられてもかまわない。
【0078】
ゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、あるいは本体装置2のタッチパネル13に対するタッチ操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームプレイが行われる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作に応じて、仮想空間内で動作するプレイヤキャラクタPCを用いたゲームプレイが可能となる。
【0079】
図8~
図16を用いてゲームシステム1において行われるゲーム処理の概要について説明する。なお、
図8は、仮想空間においてプレイヤキャラクタPCと敵キャラクタECとが戦闘する様子を示すゲーム画像の一例を示す図である。
図9は、仮想空間を撮像する操作指示に応じて撮像される様子を示すゲーム画像の一例を示す図である。
図10は、仮想空間に出現させることが可能な敵キャラクタEC(フィギュアF)が撮像された撮像画像の一覧を示すゲーム画像の一例を示す図である。
図11は、仮想空間にフィギュアFを出現させた様子を示すゲーム画像の一例を示す図である。
図12は、敵キャラクタECに設定されているボーンBの一例を示す図である。
図13は、敵キャラクタの装備とフィギュアの装備との関係の一例を示す図である。
図14は、見た目を変化させて出現するフィギュアF1a~F1cの一例を示す図である。
図15は、一部の部位が破壊された敵キャラクタEC4に対応するフィギュアF4が出現するゲーム画像の一例を示す図である。
図16は、フィギュアFに設定される多面体の一例を示す図である。
【0080】
図8において、仮想空間にプレイヤキャラクタPCおよび敵キャラクタECが配置されているゲーム画像が表示されている。プレイヤキャラクタPCは、ユーザの移動操作入力に基づいて仮想空間内を動作する。また、仮想空間内には、複数種類の敵キャラクタECが配置されており、それぞれの敵キャラクタECの動作がプロセッサ81によって自動制御される。なお、本実施例においては、ゲーム画像が本体装置2のディスプレイ12に表示されるものとするが、本体装置2に接続される他の表示装置に表示されてもよい。
【0081】
プレイヤキャラクタPCは、ユーザ操作に応じて、敵キャラクタECを攻撃するアクションを行うことができる。一例として、ユーザ操作に応じて、武器オブジェクトを用いたプレイヤキャラクタPCによる攻撃アクションを行う制御が可能である。
【0082】
また、上記自動制御により、敵キャラクタECもプレイヤキャラクタPCを攻撃するアクションを行うことができる。一例として、敵キャラクタECは、装備している武器オブジェクトを用いた攻撃アクションを行うことが可能である。本実施例では、敵キャラクタECが装備できる武器オブジェクトとして、敵キャラクタECが片手で扱うことができる武器オブジェクト、敵キャラクタECが両手で扱うことができる武器オブジェクト、および敵キャラクタECが遠距離攻撃できる武器オブジェクト等が用意されている。例えば、敵キャラクタECが片手で扱うことができる武器オブジェクトとして、
図8に例示されている片手剣Waの他、杖や棍棒等がある。敵キャラクタECが両手で扱うことができる武器オブジェクトとして、両手剣、斧等がある。そして、敵キャラクタECが遠距離攻撃可能となる武器オブジェクトとして、弓矢等がある。本実施例では、敵キャラクタECは、準備されている武器オブジェクトの1つを装備して攻撃アクションに用いることができる。また、敵キャラクタECは、上記武器オブジェクトを装備していない場合であっても、敵キャラクタECの身体(例えば、腕や足)を用いた攻撃アクションも可能である。
【0083】
また、敵キャラクタECは、上記武器オブジェクトの他、プレイヤキャラクタPC等の他のキャラクタからの攻撃を防御する鎧等の防具オブジェクトや、物を運搬する籠等の運搬具オブジェクトを装備することが可能である。本実施例では、敵キャラクタECは、上記武器オブジェクトに加えて防具オブジェクトや運搬具オブジェクトを同時に装備することができる。
【0084】
なお、敵キャラクタECは、仮想空間のフィールド上等に置かれている装備オブジェクトを装備することが可能であってもよい。この場合、プレイヤキャラクタPCが敵キャラクタEC付近に当該敵キャラクタECに装備させたい装備オブジェクトを置くことにより、当該装備オブジェクトを敵キャラクタECが装備することもあるため、ユーザが所望する装備オブジェクトを敵キャラクタECに装備させることも可能となる。
【0085】
また、他の実施例では、敵キャラクタECが複数の武器オブジェクトを装備して攻撃アクションに用いてもよい。この場合、敵キャラクタECは、上記複数の武器オブジェクトに加えて防具オブジェクトや運搬具オブジェクトを同時に装備することができてもよい。
【0086】
本実施例では、プレイヤキャラクタPCから見た仮想空間内の風景を撮像して、ユーザのコレクション要素として記録することができる。例えば、
図9に示すように、撮像モードに切り替えるユーザ操作入力に応じて、プレイヤキャラクタPCがカメラを用いて仮想空間内を撮像するアクションを開始し、ゲーム画像が当該カメラを介してプレイヤキャラクタPCが仮想空間を見た視界に切り替えられる。プレイヤキャラクタPCは、ユーザの移動操作入力に応じて、上記撮像モードにおいても仮想空間内で移動したり向きを変えたりすることができ、当該移動や向きの変化に応じて上記視界も移動させることができる。
【0087】
上記撮像モードにおいて、ユーザの撮像操作入力が行われた場合、当該操作入力時点で表示されている仮想空間の範囲、すなわち上記視界を示す撮像画像が、ユーザのコレクション要素として記憶媒体(例えば、DRAM85)に記録される。そして、上記撮像画像内に敵キャラクタECが含まれている場合、当該敵キャラクタECに対応するフィギュアFを仮想空間内に出現させるためのフィギュア生成データが、当該撮像画像と関連付けられて上記記憶媒体に記憶される。ここで、フィギュアFは、上記敵キャラクタECの3Dモデルと同じ3Dモデルを有し、上記撮像された時点における敵キャラクタECと同じ姿勢および同じ外観で仮想空間に配置されるオブジェクトである。典型的には、フィギュアFは、撮像された敵キャラクタと同じ外観を有するオブジェクトであるが、敵キャラクタECの状態、種類、装備等により、その外観の一部が異なっていてもよい。なお、フィギュアFの詳細およびフィギュアFを生成するためのフィギュア生成データについては、後述する。
【0088】
本実施例においては、上記撮像画像内に複数の敵キャラクタECが含まれている場合、当該複数の敵キャラクタECの代表となる1つの敵キャラクタECをフィギュアFの生成対象として、当該敵キャラクタECに対するフィギュア生成データが記憶される。例えば、仮想カメラに最も近い位置の敵キャラクタECをフィギュアFの生成対象としてもよいし、撮像画像の中央に最も近い位置の敵キャラクタECをフィギュアFの生成対象としてもよいし、撮像画像内に占める面積が最も大きい敵キャラクタECをフィギュアFの生成対象としてもよいし、これらの条件を複数満たす敵キャラクタECをフィギュアFの生成対象としてもよい。
【0089】
ユーザは、プレイヤキャラクタPCが敵キャラクタECとの戦闘中を含め、様々な場面において上記撮像モードに移行して、当該敵キャラクタECを被写体とした撮像画像をコレクション要素として記録することができる。したがって、ユーザは、敵キャラクタECがプレイヤキャラクタPCに対して攻撃している状態であっても、上記撮像モードに移行して仮想空間内を撮像することにより、当該攻撃中の敵キャラクタECをコレクション要素として記憶することができる。
【0090】
ユーザは、上記撮像画像と当該撮像画像に関連付けられたフィギュア生成データとの組を、複数記憶することができる。そして、
図10に示すように、記憶された撮像画像およびフィギュア生成データの複数の組は、ユーザの操作指示に応じて、当該撮像画像の一覧(リスト画像)を表示することにより確認することができる。
図10に示す一例では、敵キャラクタEC1のフィギュア生成データが関連付けられた撮像画像IM1、敵キャラクタEC2のフィギュア生成データが関連付けられた撮像画像IM2、敵キャラクタEC3のフィギュア生成データが関連付けられた撮像画像IM3、および敵キャラクタEC4のフィギュア生成データが関連付けられた撮像画像IM4がそれぞれリスト状に表示されている。なお、記憶可能な撮像画像およびフィギュア生成データの組の数に制限があってもよい。
【0091】
図11に示すように、上記撮像画像の一覧を表示中において、撮像画像の1つを指定するユーザ操作入力に基づいて、当該指定された撮像画像に含まれる生成対象の敵キャラクタECと同じ3Dモデルを有するフィギュアFが、当該撮像画像に関連付けられているフィギュア生成データに基づいた姿勢で仮想空間内に出現する。ここで、後述により明らかとなるが、フィギュア生成データは、撮像された敵キャラクタECに対応して出現させるフィギュアFの種類を示す情報、撮像画像を撮像した時点における敵キャラクタECの姿勢や外観を示す情報等を含んでおり、当該情報に基づいたフィギュアFが仮想空間に出現する。
図11の例では、
図9に例示する敵キャラクタECを撮像した撮像画像が指定されることにより、当該敵キャラクタECと同じ3Dモデルを有するフィギュアFが、当該撮像された敵キャラクタECと同じ姿勢および同じ外観で、仮想空間内に出現している。このように、本実施例では、撮像画像だけでなく、当該撮像画像における被写体となった敵キャラクタECと同じ3Dモデルを有するフィギュアFを、新たなコレクション要素として仮想空間内に出現させることができる。
【0092】
撮像画像の一覧から1つの撮像画像が選択された場合、当該撮像画像に対応するフィギュアFは、仮想空間内に設定された所定の出現位置から出現する。例えば、上記出現位置は、プレイヤキャラクタPCの近傍となる位置でもよいし、仮想空間内に設定された所定の範囲内(例えば、
図11に示す範囲A内)でもよい。後述により明らかとなるが、ユーザは、一旦出現したフィギュアFを仮想空間内で移動することも可能であり、フィギュアFの当該移動先についても、上述した出現位置内に制限されてもよい。
【0093】
また、仮想空間内に出現させるフィギュアFの数に制限があってもよい。ユーザによって、上記制限を超える出現が指示された場合、ユーザに既出現フィギュアFの何れかを消去する操作を促してもよいし、最初に出現しているフィギュアFを自動的に消去してもかまわない。このようにフィギュアFの出現数に制限を設けることにより、当該出現による処理負荷を軽減することができる。
【0094】
次に、撮像画像と関連付けて記録されるフィギュア生成データについて説明する。フィギュア生成データは、撮像画像を撮像した時点における敵キャラクタECの姿勢に対応する姿勢データとして、敵キャラクタECやフィギュアFに設定される複数のボーンの状態を示すデータ(ボーンデータ)を含んでいる。
【0095】
例えば、
図12に示すように、敵キャラクタECは、3Dモデルの制御に用いられる複数のボーンBを含んでいる。ボーンBは、敵キャラクタECの形状を定めるための骨組みとなるものである。複数のボーンBを囲むように敵キャラクタECの表面が形成される。複数のボーンBのそれぞれを動かしたり変形させたりすることで、敵キャラクタEC全体が動いたり変形したりする。例えば、構成されている複数のボーンBそれぞれについて、1つ上に設定されているボーンを親ボーンと呼び、親ボーンを移動/回転/拡大縮小すれば、当該親ボーンの下に設定されている子ボーンも同様に移動/回転/拡大縮小されることにより、敵キャラクタEC全体が動いたり変形したりする。
【0096】
ボーンBは、親ボーンとの接続箇所となるヘッド、子ボーンとの接続箇所となるテール、およびヘッドおよびテールを繋ぐボディによって構成されている。フィギュア生成データに含まれるボーンデータは、敵キャラクタECのローカル座標における、各ボーンBの位置および方向を示す。一例として、ボーンデータは、基本ボーンBOをローカル座標の原点として、親ボーンから子ボーンへの相対的な位置および姿勢(例えば、子ボーンのヘッド、テール、およびボディの位置および方向)を、親ボーンから子ボーンに向かって並べたデータである。
【0097】
本実施例では、敵キャラクタECを被写体とする撮像画像が撮像された場合、当該撮像された状態における敵キャラクタECを構成する複数のボーンBのボーンデータを取得し、当該撮像画像とともにフィギュア生成データの一部として記録される。そして、敵キャラクタECと同じ3Dモデルを有するフィギュアFを作成する場合、当該敵キャラクタECに対して取得されて記録されたボーンデータに基づくボーン構成と同じボーン構成を有するフィギュアFを仮想空間に出現させる。これにより、敵キャラクタECと同じ3Dモデルを有するフィギュアFは、敵キャラクタECと同じボーン構成を有するオブジェクトとなり、敵キャラクタECと同じ姿勢を維持した状態で仮想空間内に出現する。
【0098】
敵キャラクタECの装備オブジェクト(例えば、
図12に示す片手剣Wa)については、当該装備オブジェクトを装備する敵キャラクタECの部位が定まることにより、当該部位の姿勢や位置に応じて当該装備オブジェクトの姿勢や位置が決まる場合、敵キャラクタECの装備オブジェクトの種類と装備されている部位とがそれぞれフィギュア生成データの一部として記録される。これにより、敵キャラクタECと同じ3Dモデルを有するフィギュアFにおいても、敵キャラクタECと同じ部位に同じ装備オブジェクトをそれぞれ配置することにより、敵キャラクタECと同じ姿勢および位置に同じ装備オブジェクトを配置することができる。他の例においては、敵キャラクタECの装備オブジェクトの種類および装備されている部位に加えて、当該装備オブジェクトの姿勢を示すデータもフィギュア生成データの一部として記録されてもよい。例えば、装備オブジェクト自体が変形したり動いたりすることにより、装備する敵キャラクタECの部位だけでは装備オブジェクトの姿勢や位置が定まらない場合、敵キャラクタECを撮像したタイミングにおける当該装備オブジェクトの姿勢を示すデータを用いることによって、敵キャラクタECが装備する装備オブジェクトの状態をより正確に反映したフィギュアFを出現させることができる。
【0099】
なお、上述した説明では、フィギュアFの装備オブジェクトが、敵キャラクタECと同じ装備オブジェクトとなる例を用いたが、敵キャラクタECの装備オブジェクトとは異なるものが装備されてもよい。例えば、
図13に示すように、敵キャラクタECが多数の種類の装備オブジェクトを装備可能である場合、当該装備オブジェクトの代表となる装備オブジェクトをフィギュアFが装備して出現してもよい。一例として、敵キャラクタECが片手で扱うことができる武器オブジェクトとして、片手剣、杖、および棍棒等を装備可能であれば、敵キャラクタECが何れの武器オブジェクトを装備している場合であっても、フィギュアFは、当該武器オブジェクトの代表として片手剣を装備した状態で出現する。また、敵キャラクタECが両手で扱うことができる武器オブジェクトとして、両手剣、斧等を装備可能であれば、敵キャラクタECが何れの武器オブジェクトを装備している場合であっても、フィギュアFは、当該武器オブジェクトの代表として両手剣を装備した状態で出現する。このように、フィギュアFが装備可能な装備オブジェクトの種類を敵キャラクタECより絞り込んで限定することにより、フィギュアFを生成するための処理負荷を軽減することができる。
【0100】
また、本実施例のフィギュア生成データは、撮像した敵キャラクタECに対応して出現させるフィギュアFの種類を設定するためのデータ(種類データ)を含んでいる。種類データは、撮像した敵キャラクタECをフィギュアFとして復元するためのデータであり、オブジェクトを生成するための基本のボーン構成、3Dメッシュ、テクスチャ等を示す3Dモデルデータ、または当該3Dモデルデータを取得可能なデータを含んでいる。上記種類データは、撮像した敵キャラクタECの種類を示すデータ、すなわち敵キャラクタECの3Dモデルデータを取得可能なデータでもよいし、出現させるフィギュアFの種類を示すデータ、すなわちフィギュアFの3Dモデルデータを取得可能なデータでもよい。
【0101】
なお、フィギュアFを出現させるために撮像された敵キャラクタECの装備オブジェクトの種類と装備されている部位は、上記フィギュア生成データの一部として記録されることなく、当該フィギュアFの上記種類データと関連付けられた装備の種類毎の固定データとして予め設定されていてもよい。この場合、敵キャラクタECに装備オブジェクトが装備されている部位は、撮像時に記録するのではなく、装備の種類毎の固定データがフィギュアFの種類データと関連付けられて予め保存され、当該撮像時は敵キャラクタECが装備オブジェクトを装備しているか否かが判定される。そして、装備オブジェクトを敵キャラクタECが装備していた場合、フィギュアFの生成の際に、フィギュアFの種類データと関連付けられた装備の種類毎の固定データが参照されて、敵キャラクタECが装備していた装備オブジェクトに基づいた装備オブジェクト(例えば、同じ装備オブジェクトや当該装備オブジェクトの代表となる装備オブジェクト)を装備したフィギュアFを出現させる。
【0102】
本実施例においては、撮像した敵キャラクタECの種類と、当該敵キャラクタECに対応して出現するフィギュアFの種類とが同じであってもよいし、当該敵キャラクタECに対応して出現するフィギュアFの種類が敵キャラクタECの種類と類似するが厳密には異なるものであってもよい。例えば、敵キャラクタECが相対的に多数に細分化された種類の1つに設定される場合、当該細分化された種類の代表となる代表種がフィギュアFの種類として設定されてもよい。例えば、敵の種類「オーガ」を細分化した標準タイプのオーガE0、特殊タイプAのオーガEA、特殊タイプBのオーガEB、特殊タイプCのオーガEC等から敵キャラクタECの種類が設定可能であるとき、敵キャラクタECが何れの種類の「オーガ」に設定されている場合であっても、種類「オーガ」の代表種となる標準タイプのオーガE0にフィギュアFの種類が設定されてもよい。
【0103】
また、本実施例のフィギュア生成データは、撮像画像を撮像した時点における敵キャラクタECの外観を示す外観制御データとして、敵キャラクタECのアニメーション状態を示すデータ(アニメーションデータ)を含んでいる。例えば、仮想空間において敵キャラクタEC1の外観がアニメーションで変化する場合、撮像画像の撮像時点における当該外観の状況(例えば、マテリアル状態)に応じたアニメーションデータがフィギュア生成データの一部として記録される。
【0104】
図14に示すように、敵キャラクタEC1が、外観変化前の初期状態となる敵キャラクタEC1aの状態から、当該外観変化の中間状態となる敵キャラクタEC1abの状態を経て、当該外観変化の最終状態となる敵キャラクタEC1bの状態まで、アニメーションによりその外観が変化するものとする。例えば、上記アニメーションは、複数の静止画(フレーム)によって構成され、当該フレームを順に再生することにより上記外観の変化が表現される。この場合、本実施例では、敵キャラクタEC1を撮像した時点で再生されているアニメーションのフレームを示すデータをアニメーションデータとして記録する。
【0105】
なお、本実施例では、上記アニメーションによる敵キャラクタECの外観の変化は、単に仮想空間における時間経過に基づいて進行してもよい。また、他の実施例では、上記アニメーションによる敵キャラクタECの外観の変化は、仮想空間内の気温や天候等の周辺環境の変化、他のキャラクタとの戦闘や接触、敵キャラクタEC自身の爆発や変色等による変化に基づいて進行してもよい。
【0106】
敵キャラクタEC1に対応するフィギュアF1を出現させる際は、記録されたアニメーションデータが示す上記同じアニメーションのフレームを再生することにより、フィギュアF1においても当該フレームにおける外観の状況を再現する。一例として、フィギュアF1の表面の描画においてシェーダによる処理が行われる場合、当該シェーダに上記フレームの外観状況と同じパラメータを適用することにより、敵キャラクタEC1と同じ外観がフィギュアF1でも再現される。このように敵キャラクタEC1を撮像した時点のアニメーションデータをフィギュアF1に適用することにより、外観変化初期状態の敵キャラクタEC1aに対応して同じ外観変化初期状態のフィギュアF1aが出現し、外観変化中間状態の敵キャラクタEC1abに対応して同じ外観変化中間状態のフィギュアF1abが出現し、外観変化最終状態の敵キャラクタEC1bに対応して同じ外観変化最終状態のフィギュアF1bが出現する。
【0107】
なお、上述した説明では、敵キャラクタECの外観を示す外観制御データとして、アニメーションデータを用いたが、当該外観制御データとして他のパラメータを示すデータが記録されてもよい。例えば、敵キャラクタECに適用されているシェーダのパラメータ自体を上記外観制御データとして記録してもよいし、敵キャラクタECに適用されるテクスチャの種類を上記外観制御データとして記録してもよい。後者の例として、敵キャラクタECに適用されるテクスチャの種類が、仮想空間の周辺環境(例えば、配置されている地形の種類、気温、天候)等により変化する場合が考えられる。一例として、このような敵キャラクタECに対応するフィギュアFを出現させる場合、撮像時点で適用されている敵キャラクタECのテクスチャの種類を示すデータを外観制御データとして記録し、当該テクスチャと同じテクスチャを適用したフィギュアFを出現させてもよい。この場合、フィギュアFが出現する場所の周辺環境とは無関係に、敵キャラクタECが撮像された場所の周辺環境に基づいたテクスチャが適用されたフィギュアFが出現することになる。他の例として、上記周辺環境で変化するテクスチャが適用される敵キャラクタECが撮像された場合は、当該タイプのテクスチャが適用されている旨の情報を外観制御データとして記録し、当該タイプの敵キャラクタECに対応するフィギュアFを出現させる場合に、フィギュアFの出現場所における周辺環境等に応じたテクスチャを適用したフィギュアFを出現させてもよい。この場合、敵キャラクタECが撮像された場所の周辺環境とは無関係に、フィギュアFが出現する場所の周辺環境に基づいたテクスチャが適用されたフィギュアFが出現することになる。
【0108】
また、本実施例では、仮想空間における敵キャラクタECに対応して出現するフィギュアFのサイズは、当該敵キャラクタECと同じ、すなわち等倍でなくてもよく、当該敵キャラクタECより所定の倍率で縮小されたフィギュアFが出現してもよいし、当該敵キャラクタECより所定の倍率で拡大されたフィギュアFが出現してもよい。何れの場合であっても、フィギュアFを出現させる際の倍率を示すサイズデータが、当該フィギュアFの種類データと関連付けられて予め保存される。さらに、敵キャラクタECの装備オブジェクトも同じ倍率で拡大/縮小されてもよい。この場合、敵キャラクタECの装備オブジェクトを拡大/縮小してフィギュアFの装備オブジェクトとして出現させる際の倍率を示す装備オブジェクトのデータも、上記サイズデータの一部として保存されてもよい。
【0109】
なお、本実施例のフィギュア生成データは、撮像画像を撮像した時点における敵キャラクタECの部位の有無や状態を示す部位状態データを含んでもよい。例えば、本実施例では、仮想空間において、敵キャラクタECの一部分が破壊されたり変形したりすることがあり、当該一部分の有無や状態を示す部位状態データがフィギュア生成データの一部として記録されてもよい。
【0110】
例えば、
図15に示すように、敵キャラクタEC4は、その背中から隆起している部位P1およびP2を有している。そして、敵キャラクタEC4は、他のキャラクタとの戦闘や接触等による影響や、周辺環境の変化等により、部位P2が欠損した状態(
図15においては破線で欠損している状態を示している)となっている。このように部位P2が欠損した状態の敵キャラクタEC4が撮像された撮像画像が記録された場合、当該撮像時点において部位P2が欠損していることを示す部位状態データがフィギュア生成データの一部として記録される。
【0111】
部位P2が欠損した敵キャラクタEC4に対応するフィギュアF4を出現させる際は、記録された部位状態データが示す部位状態をフィギュアF4に反映させることにより、出現するフィギュアF4においても敵キャラクタEC4の部位状態を再現する。一例として、
図15に示すように、部位P2が欠損した敵キャラクタEC4に対応するフィギュアF4は、上記部位状態データに基づいて、部位P2が欠損した状態を反映して部位P1に対応する部位のみがその背中から隆起した外観で出現する。
【0112】
図16に示すように、フィギュア生成データに基づいたフィギュアFは、仮想空間における範囲A上で起立して配置されるように、当該フィギュアFを包含する多面体Cを設定し、当該多面体Cを構成する1つの平面Cbが仮想空間における地面と接するように配置される。
【0113】
例えば、多面体Cは、フィギュアFを出現させる際に、フィギュアFを構成する複数のボーンBを包み込む形状の当たり判定形状(コリジョン)として設定される。そして、撮像画像に撮像された敵キャラクタECと同じ姿勢で仮想空間における範囲A上でフィギュアFが起立するように、多面体Cの底面(平面Cb)が設定される。典型的には、平面Cbは、上記姿勢でフィギュアFを配置した場合に仮想空間の水平に延びる平面であり、その直上方向にフィギュアFの重心Gが配置される(すなわち、重心Gの仮想空間における重力方向に平面Cbが配置される)ように形成される。これにより、平面Cbが仮想空間における地面と接するように多面体Cを配置した場合、当該多面体Cに内包されるフィギュアAは、撮像された敵キャラクタECと同じ姿勢で起立して配置される。また、フィギュアFの足部に当たり判定を設けた場合と比較して、フィギュアFが立っている場合、多面体Cの底面(平面Cb)が当たり判定の箇所となるため、フィギュアFが転倒しにくくなる。フィギュアFの足部に当たり判定を設けた場合等はフィギュアFの姿勢によっては立ちにくい姿勢が考えられるが、多面体Cを当たり判定の形状とすることで、フィギュアFの転倒を抑制することができる。
【0114】
なお、多面体Cは、敵キャラクタECの撮像を契機として、敵キャラクタECに対して設定されてもよい。この場合、敵キャラクタECに対して設定された多面体Cの情報は、キャラクタ生成データの一部として記録され、フィギュアFを出現させる際に当該キャラクタ生成データに含まれる情報に基づいて、フィギュアFの多面体Cが設定されてもよい。
【0115】
仮想空間内に出現後、フィギュアFは、フィギュアF自体では動作することができない。すなわち、フィギュアFは、仮想空間内に出現後、当該出現の際に用いられたフィギュア生成データに基づく姿勢や外観を維持した状態で、仮想空間内に置かれた状態となる。これにより、フィギュアFは、仮想空間内に出現する際のフィギュアFの各部位のローカル座標を固定した状態で、仮想空間内に置かれた状態となる。
【0116】
本実施例においては、仮想空間内にフィギュアFを出現させた後、ユーザの操作入力に応じて当該フィギュアFを仮想空間内で移動可能としてもよい。一例として、出現させたフィギュアFは、仮想空間における範囲A内において、ユーザの操作入力に応じて移動させることができる。上記移動では、フィギュアFの位置を移動させたり、フィギュアFの方向をロール、ピッチ、およびヨー回転させたりすることができる。ただし、フィギュアFを移動させる場合であっても、出現の際に用いられたフィギュア生成データに基づく姿勢や外観が維持され、フィギュアFの各部位のローカル座標も固定した状態となるため、フィギュアFは、その姿勢や外観が固定された状態で移動することになる。これによって、フィギュアFを仮想空間における任意の位置に移動させることができるため、ユーザの好みに合った場所に所望する方向でフィギュアFを飾ることができる。
【0117】
なお、上記移動後にフィギュアFが仮想空間内で置かれる状態は、フィギュアFに設定されている多面体Cと仮想空間の地面との位置関係に基づいて制御されてもよい。例えば、多面体Cの平面Cbが仮想空間の地面と接するようにフィギュアFが上記移動後に置かれた場合、出現時と同様に撮像画像に撮像された敵キャラクタECと同じ姿勢で起立して配置される。また、多面体Cを構成する平面Cbとは異なる平面が仮想空間の地面と接するようにフィギュアFが上記移動後に置かれた場合、出現時より倒れてフィギュアFが配置されたり、出現時とは上下逆となってフィギュアFが配置されたりすることもあり得る。
【0118】
また、敵キャラクタECを描画するレンダリング処理と、当該敵キャラクタECに対応するフィギュアFを描画するレンダリング処理とが異なっていてもよい。例えば、フィギュアFをレンダリングして描画する処理では、敵キャラクタECよりも光沢を高めるために敵キャラクタECを描画するレンダリング処理よりラフネス値を下げてもよい。一例として、敵キャラクタECをトゥーンレンダリング処理により描画し、フィギュアFを物理ベースレンダリング処理(非金属の物理ベース)により描画してもよい。このように敵キャラクタECを描画するレンダリング処理と、当該敵キャラクタECに対応するフィギュアFを描画するレンダリング処理とが異なることにより、仮想空間内で敵キャラクタECとフィギュアFとを見分けやすくすることができる。
【0119】
次に、
図17を参照して、ゲームシステム1で実行される具体的な処理の一例について説明する。
図17は、本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、
図17に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【0120】
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、左コントローラ3および/または右コントローラ4や本体装置2から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
【0121】
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、DRAM85には、操作データDa、プレイヤキャラクタデータDb、敵キャラクタデータDc、フィギュアデータDd、フィギュア生成データDe、撮像データDf、仮想カメラデータDg、撮像モードフラグデータDh、フィギュア配置フラグデータDi、および画像データDj等が記憶される。
【0122】
操作データDaは、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、タッチパネル)からの入力に関する情報(具体的には、操作に関する情報)が含まれている。本実施例では、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ操作データを取得しており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記操作データが取得される周期毎に更新されてもよい。
【0123】
プレイヤキャラクタデータDbは、仮想空間に配置されているプレイヤキャラクタPCの配置位置、配置方向、および配置姿勢や、仮想空間における動作や状態等を示すデータである。
【0124】
敵キャラクタデータDcは、仮想空間に配置されている敵キャラクタECそれぞれの配置位置、配置方向、および配置姿勢や、仮想空間における動作や状態等を示すデータである。
【0125】
フィギュアデータDdは、仮想空間に配置されるフィギュアFの配置位置、配置方向、および配置姿勢等を示すデータである。
【0126】
フィギュア生成データDeは、撮像された敵キャラクタECに対応するフィギュアFを出現させるためのデータである。
【0127】
撮像データDfは、ユーザの撮像操作入力に応じて撮像された仮想空間の撮像画像群および当該撮像画像にフィギュア生成データを関連付けるためのデータである。
【0128】
仮想カメラデータDgは、仮想空間に配置されている仮想カメラの位置、方向、画角等を示すデータである。
【0129】
撮像モードフラグデータDhは、撮像モードである場合にオンに設定される撮像モードフラグを示すデータである。フィギュア配置フラグデータDiは、フィギュアFを仮想空間に配するイベントが行われている場合にオンに設定されるフィギュア配置フラグを示すデータである。
【0130】
画像データDjは、表示画面(例えば、本体装置2のディスプレイ12)に画像(例えば、プレイヤキャラクタPCの画像、敵キャラクタECの画像、フィギュアFの画像、各種オブジェクトの画像、仮想空間のフィールドの画像、背景画像等)を表示するためのデータである。
【0131】
次に、
図18~
図21を参照して、本実施例における情報処理の一例であるゲーム処理の詳細な一例を説明する。
図18は、ゲームシステム1で実行されるゲーム処理の一例を示すフローチャートである。
図19は、
図18のステップS124における通常ゲーム処理の一例を示すサブルーチンである。
図20は、
図19のステップS146における撮像モード処理の一例を示すサブルーチンである。
図21は、
図18のステップS128におけるフィギュア配置処理の一例を示すサブルーチンである。本実施例においては、
図18~
図21に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、
図18~
図21に示すゲーム処理が開始されるタイミングは任意である。
【0132】
なお、
図18~
図21に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、
図18~
図21に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
【0133】
図18において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化して、各データを更新する。一例として、プロセッサ81は、初期状態の仮想空間におけるデフォルト位置に所定の姿勢のプレイヤキャラクタPC、敵キャラクタEC、および仮想カメラを配置して、プレイヤキャラクタデータDb、敵キャラクタデータDc、および仮想カメラデータDgを更新する。
【0134】
次に、プロセッサ81は、左コントローラ3、右コントローラ4、および/または本体装置2から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
【0135】
次に、プロセッサ81は、フィギュア配置フラグデータDiを参照して、フィギュア配置フラグがオンに設定されているか否かを判定する(ステップS123)。そして、プロセッサ81は、フィギュア配置フラグがオフに設定されている場合、ステップS124に処理を進める。一方、プロセッサ81は、フィギュア配置フラグがオンに設定されている場合、ステップS128に処理を進める。
【0136】
ステップS124において、プロセッサ81は、通常ゲーム処理を行い、ステップS125に処理を進める。以下、
図19を参照して、上記ステップS124における通常ゲーム処理について説明する。
【0137】
図19において、プロセッサ81は、撮像モードフラグデータDhを参照して、撮像モードフラグがオンに設定されているか否かを判定する(ステップS141)。そして、プロセッサ81は、撮像モードフラグがオフに設定されている場合、ステップS142に処理を進める。一方、プロセッサ81は、撮像モードフラグがオンに設定されている場合、ステップS146に処理を進める。
【0138】
ステップS142において、プロセッサ81は、プレイヤキャラクタ動作制御処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、操作データDaに基づいて、プレイヤキャラクタPCの動作を設定する。一例として、プロセッサ81は、操作データDaが示す操作入力および仮想空間における仮想的な物理演算(例えば、慣性の法則や重力の法則)等に基づいて、プレイヤキャラクタPCの位置、方向、姿勢、動作、および状態等を設定して、プレイヤキャラクタデータDbを更新する。
【0139】
上記ステップS142で行われるプレイヤキャラクタ動作制御処理の一例として、操作データDaに基づいて、既に仮想空間内に配置されているフィギュアFを移動させたり、フィギュアFの方向を回転させたりしてもよい。この場合、プロセッサ81は、フィギュアデータDdが示すフィギュアFの姿勢や外観を維持した状態で当該フィギュアFを移動させ、移動後の位置に基づいてフィギュアデータDdを更新する。
【0140】
次に、プロセッサ81は、仮想カメラ制御処理を行い(ステップS143)、次のステップに処理を進める。一例として、プロセッサ81は、プレイヤキャラクタPCが視野の所定位置に含まれるように、仮想カメラの位置および/または姿勢を変化させ、当該変化後の仮想カメラの位置および姿勢を用いて、仮想カメラデータDgを更新する。他の例として、プロセッサ81は、所定のアルゴリズムに基づいて、仮想カメラの位置および/または姿勢を変化させ、当該変化後の仮想カメラの位置および姿勢を用いて、仮想カメラデータDgを更新する。
【0141】
次に、プロセッサ81は、撮像モードを開始するか否かを判定する(ステップS144)。例えば、プロセッサ81は、上記ステップS142において、ユーザの操作入力に応じて、プレイヤキャラクタPCが仮想空間を撮像する動作を開始する制御が行われた場合、上記ステップS144において肯定判定する。そして、プロセッサ81は、プレイヤキャラクタPCが仮想空間を撮像する動作を開始する制御が行われた場合、ステップS145に処理を進める。一方、プロセッサ81は、プレイヤキャラクタPCが仮想空間を撮像する動作を開始する制御が行われていない場合、ステップS147に処理を進める。
【0142】
ステップS145において、プロセッサ81は、撮像モードフラグをオンに設定して、ステップS147に処理を進める。例えば、プロセッサ81は、撮像モードフラグをオンに設定して、撮像モードフラグデータDhを更新する。
【0143】
一方、上記ステップS141において撮像モードフラグがオンに設定されていると判定された場合、プロセッサ81は、撮像モード処理を行い(ステップS146)、ステップS147に処理を進める。以下、
図20を参照して、上記ステップS146における撮像モード処理について説明する。
【0144】
図20において、プロセッサ81は、プレイヤキャラクタ動作制御処理を行い(ステップS151)、次のステップに処理を進める。例えば、プロセッサ81は、操作データDaに基づいて、プレイヤキャラクタPCの動作を設定する。一例として、プロセッサ81は、操作データDaが示す操作入力および仮想空間における仮想的な物理演算(例えば、慣性の法則や重力の法則)等に基づいて、プレイヤキャラクタPCの位置、方向、姿勢、動作、および状態等を設定して、プレイヤキャラクタデータDbを更新する。
【0145】
次に、プロセッサ81は、仮想カメラ制御処理を行い(ステップS152)、次のステップに処理を進める。一例として、プロセッサ81は、プレイヤキャラクタPCの一人称視点となるように、仮想カメラの位置および/または姿勢を変化させ、当該変化後の仮想カメラの位置および姿勢を用いて、仮想カメラデータDgを更新する。この仮想カメラから見た仮想空間を表示することにより、プレイヤキャラクタPCがカメラを介して見ている仮想空間を示す主観視点のゲーム画像が表示画面に表示される。
【0146】
次に、プロセッサ81は、操作データDaを参照して、ユーザによる撮像操作入力が行われたか否かを判定する(ステップS152)。そして、プロセッサ81は、ユーザによる撮像操作入力が行われた場合、ステップS153に処理を進める。一方、プロセッサ81は、ユーザによる撮像操作入力が行われていない場合、ステップS157に処理を進める。
【0147】
ステップS153において、プロセッサ81は、撮像画像を記録し、次のステップに処理を進める。例えば、プロセッサ81は、表示されている仮想空間を示す画像を、新たな撮像画像として撮像データDfに追加する。
【0148】
次に、プロセッサ81は、上記ステップS153において記録された撮像画像の被写体として、敵キャラクタECが撮像されているか否かを判定する(ステップS154)。例えば、プロセッサ81は、撮像画像内に撮像されている敵キャラクタECが占める面積が所定の面積以上の場合に、上記ステップS154において肯定判定する。そして、プロセッサ81は、敵キャラクタECが撮像されている場合、ステップS155に処理を進める。一方、プロセッサ81は、敵キャラクタECが撮像されていない場合、ステップS156に処理を進める。
【0149】
ステップS155において、プロセッサ81は、フィギュア生成データを記録して、ステップS156に処理を進める。例えば、プロセッサ81は、上記ステップS153において記録された撮像画像からフィギュアFの生成対象となる敵キャラクタECを抽出し、当該抽出された敵キャラクタECに基づくフィギュア生成データを設定して、フィギュア生成データDeに追加する。また、プロセッサ81は、上記ステップS153において記録された撮像画像に生成されたフィギュア生成データを関連付けて、撮像データDfを更新する。なお、フィギュア生成データの設定方法については、
図12~
図15を用いて説明した方法と同様であるため、ここでは詳細な説明を省略する。
【0150】
ステップS156において、プロセッサ81は、撮像モードを終了するか否かを判定する。例えば、プロセッサ81は、ユーザによる撮像操作入力が行われた場合や撮像モードを終了させる操作入力が行われた場合、上記ステップS156において肯定判定する。そして、プロセッサ81は、撮像モードを終了する場合、ステップS157に処理を進める。一方、プロセッサ81は、撮像モードを終了しない場合、当該サブルーチンによる処理を終了する。
【0151】
ステップS157において、プロセッサ81は、撮像モードフラグをオフに設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、撮像モードフラグをオフに設定して、撮像モードフラグデータDhを更新する。
【0152】
図19に戻り、ステップS147において、プロセッサ81は、敵キャラクタ動作制御処理を行い、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ゲームプログラムにおいて予め定められたルールに従って、仮想空間に配置されている敵キャラクタECそれぞれの動作を制御して、敵キャラクタデータDcを更新する。
【0153】
図18に戻り、上記ステップS124における通常ゲーム処理の後、プロセッサ81は、フィギュア配置イベントを開始するか否かを判定する(ステップS125)。例えば、プロセッサ81は、上記ステップS142において、ユーザの操作入力に応じて、プレイヤキャラクタPCが仮想空間にフィギュアを配置する動作を開始する制御が行われた場合、上記ステップS125において肯定判定する。そして、プロセッサ81は、フィギュア配置イベントを開始する場合、ステップS126に処理を進める。一方、プロセッサ81は、フィギュア配置イベントを開始しない場合、ステップS129に処理を進める。
【0154】
ステップS126において、プロセッサ81は、記録されている撮像画像の一覧(リスト画像)を生成し、次のステップに処理を進める。例えば、プロセッサ81は、撮像データDfに記録されている撮像画像を一覧にしたゲーム画像(
図10参照)を生成する処理を行う。
【0155】
次に、プロセッサ81は、フィギュア配置フラグをオンに設定して(ステップS127)、ステップS129に処理を進める。例えば、プロセッサ81は、フィギュア配置フラグをオンに設定して、フィギュア配置フラグデータDiを更新する。
【0156】
一方、上記ステップS123においてフィギュア配置フラグがオンに設定されていると判定された場合、プロセッサ81は、フィギュア配置処理を行い(ステップS128)、ステップS129に処理を進める。以下、
図21を参照して、上記ステップS128におけるフィギュア配置処理について説明する。
【0157】
図21において、プロセッサ81は、表示されている撮像画像の一覧(リスト画像)から撮像画像を選択する処理を行い(ステップS161)、次のステップに処理を進める。例えば、プロセッサ81は、操作データDaに基づいて、表示されている撮像画像の一覧から撮像画像の1つを指定、または当該指定している撮像画像を変更する。なお、プロセッサ81は、当該指定している撮像画像が区別されるように、カーソルを付与したり、当該指定されている撮像画像の表示態様が他の撮像画像と異なるように設定したりしてもよい。また、プロセッサ81は、操作データDaに基づいて、表示されている撮像画像の一覧をスクロールしてもよい。
【0158】
次に、プロセッサ81は、撮像画像の指定が決定されたか否かを判定する(ステップS162)。例えば、プロセッサ81は、操作データDaが撮像画像の指定を決定する操作を示している場合、上記ステップS162において肯定判定する。そして、プロセッサ81は、撮像画像の指定が決定された場合、ステップS163に処理を進める。一方、プロセッサ81は、撮像画像の指定が決定されていない場合、当該サブルーチンによる処理を終了する。
【0159】
ステップS163において、プロセッサ81は、撮像画像の一覧(リスト画像)の表示を終了させ、次のステップに処理を進める。
【0160】
次に、プロセッサ81は、決定された撮像画像に関連するフィギュアFを生成して仮想空間に配置させる処理を行い(ステップS164)、次のステップに処理を進める。例えば、プロセッサ81は、撮像データDfを参照して、フィギュア生成データDeから決定された撮像画像に関連付けられているフィギュア生成データを抽出する。そして、プロセッサ81は、抽出されたフィギュア生成データに基づいて、フィギュアFを仮想空間内に出現させ、当該出現したフィギュアFの位置および姿勢に基づいて、フィギュアデータDdを更新する。なお、フィギュア生成データに基づいてフィギュアFを出現させる方法については、
図11~
図16を用いて説明した方法と同様であるため、ここでは詳細な説明を省略する。
【0161】
なお、プロセッサ81は、決定された撮像画像にフィギュア生成データが関連付けられていない場合、上記ステップS164においては、当該決定された撮像画像を所定の条件を充足するまで継続表示させる処理を行ってもよい。当該所定の条件としては、ユーザによって継続表示を終了させる操作が行われることや、所定の時間が経過すること等がある。
【0162】
次に、プロセッサ81は、フィギュア配置フラグをオフに設定して(ステップS165)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、フィギュア配置フラグをオフに設定して、フィギュア配置フラグデータDiを更新する。
【0163】
図18に戻り、ステップS129において、プロセッサ81は、表示制御処理を行い、次のステップに処理を進める。一例として、プロセッサ81は、プレイヤキャラクタデータDb、敵キャラクタデータDc、およびフィギュアデータDd等に基づいて、仮想空間にプレイヤキャラクタPC、敵キャラクタEC、およびフィギュアF等の各オブジェクトをそれぞれ配置する。また、プロセッサ81は、仮想カメラデータDgに基づいて、表示画像を生成するための仮想カメラの位置および/または姿勢を設定し、当該仮想カメラを仮想空間に配置する。そして、設定した仮想カメラから見た仮想空間の画像を生成して、当該仮想空間画像をディスプレイ12に表示する制御を行う。他の例として、プロセッサ81は、上記ステップS126、S161、およびS164の処理において、撮像画像の一覧や撮像画像の1つが表示画像として設定されている場合、当該表示画像をディスプレイ12に表示する制御を行う。
【0164】
次に、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS130)。上記ステップS130においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ81は、ゲーム処理を終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS130の一連の処理は、ステップS130で処理を終了すると判定されるまで繰り返し実行される。
【0165】
このように、本実施例においては、ユーザの操作入力に基づいて仮想空間を撮像した撮像画像において被写体となった敵キャラクタECと同じ3Dモデルを有するフィギュアFを、敵キャラクタECに基づく姿勢で仮想空間内に出現させることができるため、ユーザが意図する姿勢で配置された当該フィギュアFを新たなコレクション要素として楽しむことができる。
【0166】
なお、本実施例において記録される撮像画像および当該撮像画像に関連するフィギュア生成データは、他の情報処理装置へ送信可能に構成されてもよい。例えば、ゲームシステム1のユーザが上記第1の通信態様または上記第2の通信態様を用いて、他の情報処理装置との間で上記撮像画像とフィギュア生成データとの組を送受信することにより、送信先の装置においても当該フィギュア生成データに基づくフィギュアFを仮想空間内に出現させることが可能となり、ユーザ間で新たなコレクション要素を送り合うことも可能となる。
【0167】
また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。
【0168】
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1で行われる例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、サーバ、他の情報処理装置、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0169】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0170】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0171】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0172】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【産業上の利用可能性】
【0173】
以上のように、本発明は、ゲーム内において記憶できる新たなコレクション要素を提供することができるゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法等として利用することができる。
【符号の説明】
【0174】
1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
11…ハウジング
12…ディスプレイ
13…タッチパネル
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部