JP2017097568A - プログラム、コンピュータ装置、及び、プログラム実行方法 - Google Patents

プログラム、コンピュータ装置、及び、プログラム実行方法 Download PDF

Info

Publication number
JP2017097568A
JP2017097568A JP2015228182A JP2015228182A JP2017097568A JP 2017097568 A JP2017097568 A JP 2017097568A JP 2015228182 A JP2015228182 A JP 2015228182A JP 2015228182 A JP2015228182 A JP 2015228182A JP 2017097568 A JP2017097568 A JP 2017097568A
Authority
JP
Japan
Prior art keywords
pixel
virtual space
objects
image
region
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.)
Granted
Application number
JP2015228182A
Other languages
English (en)
Other versions
JP6100874B1 (ja
Inventor
陽文 藤田
Akifumi Fujita
陽文 藤田
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.)
Square Enix Co Ltd
Original Assignee
Square Enix 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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2015228182A priority Critical patent/JP6100874B1/ja
Application granted granted Critical
Publication of JP6100874B1 publication Critical patent/JP6100874B1/ja
Publication of JP2017097568A publication Critical patent/JP2017097568A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】
生成されるフィールドについて、形状の同一性をある程度維持しつつ、バリエーションを持たせることのできる、プログラム、コンピュータ装置、及び、プログラム実行方法を提供することを目的とする。
【解決手段】
仮想空間にオブジェクトを自動的に配置することができるプログラムで、コンピュータ装置を、仮想空間内に配置可能な属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段、仮想空間の生成に用いられる対象画像を構成する画素の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段、前記対応関係にしたがって、対象画像を構成する画素に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段として機能させるプログラム。
【選択図】 図2

Description

本発明は、プログラム、コンピュータ装置、及び、プログラム実行方法に関する。
従来より、ビデオゲーム装置において、仮想世界内のフィールドの自動生成に関する技術が公開されている。公開された技術の多くは、例えば、プレイヤの状況に応じて生成されるフィールドが変化するものや、ダンジョン内に潜入するたびにランダムに迷路の形状が変化するといったものであり、複数の異なるフィールドを開発者が作成する負担を軽減し、複数のマップを自動生成することで、プレイヤの興趣を尽きさせないことを目的とするものであった。
ところで、ゲームのストーリーや世界観を維持するためには、ある程度、定まった形状のフィールドを維持しなければいけないという制約がある場合がある。例えば、新たに開発するゲームなどにおいて、過去のゲームなどでプレイヤに十分に認知されたフィールドを再現し、活用するような場合がある。ただし、フィールドの地形を固定化してしまうと、プレイヤとしては、同じフィールドで繰り返しゲームを行うことになり、飽きやすいという課題があった。また、同じゲームをプレイする全てのプレイヤが、全く同じフィールドでプレイをするため、ゲームの進め方が似通ったものとなり、面白みが低減することもあった。
本発明は、このような課題を解決するためのもので、生成されるフィールドについて、形状の同一性をある程度維持しつつ、バリエーションを持たせることのできる、プログラム、コンピュータ装置、及び、プログラム実行方法を提供することを目的とする。
非限定的な観点によると、コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラムであって、コンピュータ装置を、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段、前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段として機能させるプログラムである。
非限定的な観点によると、仮想空間にオブジェクトを自動的に配置することができるコンピュータ装置であって、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段と、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段と、前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段とを備えるコンピュータ装置である。
非限定的な観点によると、コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラム実行方法であって、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係ステップと、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当ステップと、前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置ステップとを有するプログラム実行方法である。
本発明の各実施形態により1または2以上の不足が解決される。
本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。 本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。 本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、画素情報を表す図である。 本発明の実施の形態の少なくとも1つに対応する、オブジェクト対応関係マスタテーブルを表す図である。 本発明の実施の形態の少なくとも1つに対応する、割当処理の概念を表す図である。 本発明の実施の形態の少なくとも1つに対応する、オブジェクト配置処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、隣接の概念を表す図である。 本発明の実施の形態の少なくとも1つに対応する、属性対応マスタテーブルを表す図である。
以下、添付図面を参照して、本発明の実施の形態について説明する。以下、効果に関する記載は、本発明の実施の形態の効果の一側面であり、ここに記載するものに限定されない。また、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同である。
[第一の実施の形態]
次に、本発明の第一の実施の形態の概要について説明をする。図1は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。コンピュータ装置1は、割当部101、及び、オブジェクト配置部102を少なくとも備える。
割当部101は、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる機能を有する。オブジェクト配置部102は、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置する機能を有する。
本発明の第一の実施の形態におけるプログラム実行処理について説明する。図2は、本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。
コンピュータ装置1は、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる(ステップS1)。仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置し(ステップS2)、終了する。
第一の実施の形態の一側面として、仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当て、オブジェクトを割り当てられた仮想空間内の位置又は領域に配置することにより、フィールドの同一性をある程度維持しつつ、生成されるフィールドにバリエーションをもたせることができる。
第一の実施の形態において、「コンピュータ装置」とは、例えば、デスクトップ型又はノート型パーソナルコンピュータ、タブレットコンピュータ、又は、PDA等をいい、表示画面がタッチパネルセンサを備える携帯型端末であってもよい。
「仮想空間」とは、例えば、コンピューターやコンピューターネットワーク上の仮想的な空間であって、ゲーム内の空間をいい、オブジェクトが配置される場所をいう。「オブジェクト」とは、例えば、物体であって、仮想空間に配置可能なものをいう。
「属性」とは、例えば、ある事物に属する性質・特徴であって、オブジェクトの性質又は特徴をいう。「画像」とは、例えば、コンピューターグラフィックスによって作成された図形であって、所定の数の画素を含むものをいう。「画素」とは、例えば、画像を構成する単位要素をいう。「対象画像」とは、例えば、オブジェクト配置のもととなる処理対象の画像をいう。
「対象画像を構成する画素の画像上の位置」とは、例えば、対象画像内における画素の位置であり、二軸値で表すことができる。「配置」とは、例えば、オブジェクトを仮想空間上の所定の位置に割り当てることをいう。
[第二の実施の形態]
次に、本発明の第二の実施の形態の概要について説明をする。第二の実施の形態におけるコンピュータ装置の構成は、図1のブロック図に示されるものと同じ構成を採用することができる。さらに、第二の実施の形態におけるプログラム実行処理のフローは、図2のフローチャートに示されるものと同じ構成を採用することができる。
第二の実施の形態において、画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該画素に割り当てられた仮想空間内の位置又は領域に配置するものである。
第二の実施の形態の一側面として、画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該画素に割り当てられた仮想空間内の位置又は領域に配置することにより、異なる画素間の境界において、異なる属性を有するオブジェクトの境界が直線状になることなく、地形の不自然さなくオブジェクトを配置することができる。
第二の実施の形態において、「コンピュータ装置」、「仮想空間」、「オブジェクト」、「属性」、「画像」、「画素」、「対象画像」、「対象画像を構成する画素の画像上の位置」、「仮想空間上の位置又は領域」、及び、「配置」とは、それぞれ第一の実施形態において記載した内容と同一である。
[第三の実施の形態]
次に、本発明の第三の実施の形態の概要について説明をする。第三の実施の形態におけるコンピュータ装置の構成は、図1のブロック図に示されるものと同じ構成を採用することができる。さらに、第三の実施の形態におけるプログラム実行処理のフローは、図2のフローチャートに示されるものと同じ構成を採用することができる。
第三の実施の形態において、仮想空間内の領域は、複数のオブジェクトを配置することが可能であり、画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該領域の境界から該領域の内側へ向かうにつれて、配置される数が少なくなるように配置するものである。
第三の実施の形態の一側面として、仮想空間内の領域は、複数のオブジェクトを配置することが可能で、かつ、画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該領域の境界から該領域の内側へ向かうにつれて、配置される数が少なくなるように配置することで、隣接画素の画素情報に対応するオブジェクトが、画素の境界に対応する位置の近辺に配置されるようになり、地形の不自然さもなくオブジェクトを配置することができる。
第三の実施の形態において、「コンピュータ装置」、「仮想空間」、「オブジェクト」、「属性」、「画像」、「画素」、「対象画像」、「対象画像を構成する画素の画像上の位置」、「仮想空間上の位置又は領域」、及び、「配置」とは、それぞれ第一の実施形態において記載した内容と同一である。
[第四の実施の形態]
次に、本発明の第四の実施の形態の概要について説明する。図3は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。コンピュータ装置1は、制御部11、RAM(Random Access Memory)12、ストレージ部13、サウンド処理部14、グラフィックス処理部15、DVD/CD−ROMドライブ16、通信インタフェース17、インタフェース部18とを少なくとも備え、それぞれ内部バスにより接続されている。
制御部11は、CPU(Central Processing Unit)やROM(Read Only Memory)から構成される。制御部11は、ストレージ部13や記録媒体24に格納されたプログラムを実行し、コンピュータ装置1の制御を行う。また、制御部11は時間を計時する内部タイマを備えている。RAM12は、制御部11のワークエリアである。ストレージ部13は、プログラムやデータを保存するための記憶領域である。
DVD/CD−ROMドライブ16は、DVD−ROMやCD−ROMなどのプログラムが格納された記録媒体24を装着することが可能である。記録媒体24には、例えばプログラム及びデータが記憶されている。DVD/CD−ROMドライブ16により、プログラム及びデータが記録媒体24から読み出され、RAM12にロードされる。
制御部11は、プログラム及びデータをRAM12から読み出して処理を行う。制御部11は、RAM12にロードされたプログラム及びデータを処理することで、サウンド出力の指示をサウンド処理部14に出力し、描画命令をグラフィックス処理部15に出力する。
サウンド処理部14は、スピーカであるサウンド出力装置21に接続されている。制御部11がサウンド出力の指示をサウンド処理部14に出力すると、サウンド処理部14はサウンド出力装置21にサウンド信号を出力する。
グラフィックス処理部15は表示装置22に接続されている。表示装置22は表示画面23を有している。制御部11が描画命令をグラフィックス処理部15に出力すると、グラフィックス処理部15は、フレームメモリ(フレームバッファ)19に画像を展開し、表示画面23上に画像を表示するためのビデオ信号を出力する。グラフィックス処理部15は、フレーム単位で1枚の画像の描画を実行する。画像の1フレーム時間は、例えば30分の1秒である。グラフィックス処理部15は、制御部11だけで行ってきた描画に関する演算処理の一部を受け持ち、システム全体の負荷を分散させる役割を有する。
インタフェース部18には入力部20(例えば、マウスやキーボード等)が接続され得る。ユーザによる入力部20からの入力情報はRAM12に格納され、制御部11は入力情報をもとに各種の演算処理を実行する。あるいは、インタフェース部18に記憶媒体読取装置を接続し、メモリ等からプログラム及びデータ等を読み込むことも可能である。また、タッチパネルを備えた表示装置22を入力部20とすることもできる。
通信インタフェース17は無線又は有線により通信ネットワーク2に接続が可能であり、通信ネットワーク2を介して他のコンピュータ装置との間で情報の送受信を行うことが可能である。
次に、本発明の第四の実施の形態におけるプログラム実行処理について説明する。図4は、本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。第四の実施の形態は、一例として、96×96ピクセルのビットマップ形式の画像を用いて、仮想空間にオブジェクトを配置するプログラムを挙げる。
最初に、仮想空間の大きさを表すフィールドサイズを読み込む(ステップS11)。フィールドサイズは任意の大きさを設定することができる。
次に、画像を読み込む(ステップS12)。画像は画素に関する情報を得られるものであれば形式は問わず、上述したように、ビットマップ形式を初め、JPEG形式、あるいはPNG形式であってもよい。
続いて、画像に含まれる全ての画素に関する情報を取得する(ステップS13)。ここでは、例えば、画素の位置情報、色情報、及び、属性情報を取得する。
ここで、画素に含まれる情報の取得について説明する。図5は、本発明の実施の形態の少なくとも1つに対応する、画素情報を表す図である。図5(a)は、画素の位置を説明するための図である。画像30は複数の画素から構成されており、画素はマスにより表される。画像30の左上の隅を基準点Oとし、かつ、基準点Oの縦方向に伸びる軸をx軸、横方向に伸びる軸をy軸とした場合に、画素の位置は基準点Oからx軸方向に沿って何番目であり、y軸方向に沿って何番目の画素であるかによって、x及びyを用いて表すことができる。例えば、図に示す画素31は、基準点Oからx軸方向に沿って2番目で、y軸方向でに沿って3番目の画素であり、xが2、yが3であるから、画素31の位置を(x,y)=(2,3)と表すことができる。
図5(b)は、画素情報テーブルを表す図である。画素情報テーブル40には、画素のx座標41及びy座標42に関連付けて、画素のRGBの濃度値をそれぞれ表す、R43、G44、及び、B45が記憶されている。プログラムは、各々の画素に設定されたRGBの濃度値を取得することができる。
取得した画素のRGBの濃度値と、ストレージ部13に記憶された、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を表すマスタデータとを照合し、画素に対応付けられる属性情報を取得する。
図6は、本発明の実施の形態の少なくとも1つに対応する、オブジェクト対応関係マスタテーブルを表す図である。オブジェクト対応関係マスタ50には、RGBの濃度値をそれぞれ表すR51、G52、及び、B53に関連付けて、属性54、及び、基準高さ55が記憶されている。取得した画素のRGBの濃度値に対応する、オブジェクト対応関係マスタ50のR51、G52、及びB53を抽出し、画素に関する情報として属性54及び基準高さ55を取得する。ここで、オブジェクト対応関係マスタ50に含まれるRGBの濃度値は、それぞれ特定の値であっても、範囲を有する値であってもよい。
次に、各々の画素に対応するオブジェクトを配置するための処理を行う。後述するステップS14〜S17までの処理は各々の画素について行われ、全ての画素について処理を完了するまで、繰り返し実行される。まず、処理をする対象の画素である処理対象画素を特定し(ステップS14)、処理対象画素の画像上の位置にしたがって、仮想空間内の領域を割り当てる割当てを行う(ステップS15)。
ここで、ステップS15の割当てについて説明する。図7は、割当処理の概念を表す図である。96×96ピクセルのビットマップ形式の画像を用いて、割り当て処理を行う場合、仮想空間は、X軸(仮想空間の水平面上の所定の方向に伸びる軸)方向に96分割し、Y軸(該水平面上であってX軸に垂直な方向に伸びる軸)方向に96分割した直方体状の領域(9216個の直方体状の領域)に分割することができる。つまり、仮想空間を画素数と同じ数の領域に分割することができる。分割された領域は、仮想空間において、所定の面積を有し、Z軸方向(高さ方向)に沿って、Zの値が下限から上限までの高さを有する直方体状の形状を有している。
各領域の位置は、仮想空間63の所定の点を基準点O’とした場合に、基準点O’からX軸方向に沿って何番目の領域であり、Y軸方向に沿って何番目の領域であるかによって、X及びYを用いて表すことができる。例えば、図に示す領域64は、基準点O’からX軸方向に沿って2番目で、Y軸方向に沿って3番目の画素であり、Xが2、Yが3であるから、領域64の位置は(X,Y)=(2,3)と表すことができる。
処理対象の画像は、仮想空間のXY平面に対応し、各領域は、ビットマップ形式の画像を構成する一画素が、この一領域に対応する。例えば、処理対象画素が基準点Oからx軸方向に沿ってa番目であり、y軸方向に沿ってb番目の画素である場合、この画素は、仮想空間の基準点O’からX軸方向に沿ってa番目で、Y軸方向に沿ってb番目の領域に割り当てられる。よって、画素の位置が(x,y)=(2,3)で表される画素61は、領域の位置が(X,Y)=(2,3)で表される領域64に割り当てられる。また、画素61に隣接する(x,y)=(1,3)、(3,3)、(2,2)、(2,4)で表される画素は、領域64に隣接する(X,Y)=(1,3)、(3,3)、(2,2)、(2,4)で表される領域に割り当てられる。つまり、隣接する2つの画素は、XY平面においてxy平面での位置関係を維持しつつ、仮想空間の隣接する2つの領域が割り当てられる。よって、ステップS15における割当て処理により、処理対象の画像中のそれぞれの画素の位置にしたがって、仮想空間内の領域が対応付けされるため、後の処理ステップにより、画素に対して割当てられた領域内に、その画素の色情報をもとに特定されるオブジェクトを配置することで、処理対象の画像をいわゆる地図に相当するものとした場合に、地図に対応する地形を有する仮想空間を生成することが可能となる。
次に、図4のフローチャートに戻り、オブジェクト配置処理を行う(ステップS16)。図8は、本発明の実施の形態の少なくとも1つに対応する、オブジェクト配置処理のフローチャートである。
最初に、処理対象画素に対する、ステップS15において割り当てた情報を読み込む(ステップS21)。次に、隣接画素の情報を用いて、オブジェクトを配置する領域の境界を決める。
ここで、隣接の概念について説明する。本発明の実施の形態の少なくとも1つに対応する、隣接の概念を表す図である。中心となる位置が中心位置70である場合に、隣接する位置は、上下左右の位置である位置71のみ、あるいは、左上、右上、左下、及び右下方向の位置72も含めて、隣接する位置としてもよい。ここでは、一例として、隣接する位置を、中心位置の上下左右の位置71とする。
次に、処理対象画素に隣接する画素のいずれかを特定し、隣接する画素が対応するオブジェクトが配置される位置との境界を設定する(ステップS22)。境界の設定とは、仮想空間における処理対象画素に対応する領域に、隣接画素の画素情報に対応する領域のオブジェクトを配置するものである。例えば、処理対象画素の属性が「草」であり、隣接画素の属性が「水」であるような場合に、「草原」のオブジェクトと「湖」のオブジェクトの境界が数〜数十のオブジェクトの長さにわたって直線状となると、不自然な地形となる。境界の設定をすることで、領域の境界に不自然さを生ずることなくオブジェクトを配置することができる。
より具体的には、境界の設定は、例えば、1画素に対応する領域が、立方体状のオブジェクトを一単位として、縦16オブジェクト×横16オブジェクト×高さ32オブジェクトの直方体状の領域である場合に、隣接する画素に対応する隣接領域との境界から所定の数のオブジェクト以内(例えば、3オブジェクト以内)のオブジェクトについて、隣接画素に対応するオブジェクトを配置するか否か決定するものである。
決定は任意のルールに基づいてよく、例えば、各オブジェクトに乱数の値を設定し、所定の基準を超えたオブジェクトには隣接画素に対応するオブジェクトを配置することとしてもよい。なお、隣接オブジェクトに対応するオブジェクトの数は、領域の境界から領域の内側へ向かうにつれて、少なくなるように配置されることが好ましい。
次に、領域内にオブジェクトを配置するまでの処理について説明する。例えば、1画素に対応する領域が、縦16オブジェクト×横16オブジェクト×高さ32オブジェクトの直方体状の領域である場合、XY平面を、X軸に平行に16等分に分割し、Y軸に平行に16等分に分割することで得られる16×16個の正方形状のマスの上に、マスの形状に沿ってオブジェクトを配置することができる。この場合、オブジェクトは立方体であり、立方体の一面とマスは同一形状を有する。ステップS23〜28までの処理はマスの位置毎に行われ、仮想領域内の全ての位置について、オブジェクトが配置されるまで、繰り返し実行される。例えば、基準点O’に最も近いマスから一列にX軸方向に沿って順にステップS23〜S28までの処理が実行され、続いて、最初に処理されたマスに隣接する未処理のマスから一列にX軸方向に沿って同ステップの処理を実行する、といったように、マスを一列づつ処理していくことができる。
まず、処理の対象となるマスの位置(以下、処理位置という)を特定し(ステップS23)、処理位置におけるオブジェクトの高さを算出する(ステップS24)。ここで、オブジェクトの高さとは、マス上に重ねて配置されるオブジェクトの数をいう。同じマスに配置されるオブジェクトは、画素に対応する属性を有するオブジェクトが配置される。処理位置におけるオブジェクトの高さの算出は、ステップS21において読み込んだ割当情報に含まれる、基準高さに基づいて行われる。例えば、オブジェクトの高さは、基準高さに乱数を用いて生成された値を加算する、或いは、基準高さに乱数を用いて生成された値を乗じることにより算出できる。このようにすることで、オブジェクトの高さは、画素情報に応じて特定される基準高さから所定の範囲内となり、マスの位置に応じて高さを維持しつつも、その地形に応じた高さを設定することができる。
次に、ステップS24にて算出された処理位置のオブジェクトの高さと、処理位置に隣接する隣接位置のオブジェクトの高さとの差分の絶対値を取得し、所定の範囲外か否かを判定する(ステップS25)。ステップS24によりオブジェクトの高さが、すでに設定されている隣接位置が複数ある場合は、処理位置のオブジェクトの高さと、隣接位置のオブジェクトの高さの平均との差分の絶対値を取得し、所定の範囲外か否かを判定してもよい。
高さの差分が所定の範囲外である場合には(ステップS25にてYES)、処理位置の高さを所定の範囲内に含まれるように調整する(ステップS26)。高さの調整後、あるいは、高さの差分が所定の範囲内である場合には(ステップS25にてNO)、処理位置に配置するオブジェクトを決定する(ステップS27)。なお、最初の処理位置については、隣接位置の高さが未定であるので、ステップS25、S26の処理は実行されず、ステップS24の後にステップS27が実行される。
ここで、配置されるオブジェクトについて説明する。図10は、本発明の実施の形態の少なくとも1つに対応する、属性対応マスタテーブルを表す図である。属性対応マスタテーブル80には、属性81に関連付けて、オブジェクト82が記憶されている。属性81は、オブジェクト対応関係マスタ50に記憶された属性54と対応する。すなわち、画素情報に含まれる属性であって、画素に対応する属性に基づいて、属性対応マスタテーブル80に記憶されたオブジェクト82が決定される。
図10に示すように、同一の属性81であっても、異なる表示態様のオブジェクト82が含まれ得る。例えば、属性81が「草」である場合に、オブジェクト82は、「草原」「低木」「高木」が含まれる。いずれのオブジェクト82が決定されるかは、任意のオブジェクトが決定されるようにしてもよく、予め定められた確率に基づいて決定されるようにしてもよい。
また、配置されるオブジェクトは、ステップS24において算出された、あるいは、ステップS26において調整された処理位置の高さとなるように積み上げられるものであるから、属性81が配置される高さに関する情報にしたがって分別されているものでもよい。例えば、属性81が「草」である場合に、領域の底から2オブジェクトは「粘土」、底から3〜5オブジェクトは「土」、底から6〜8オブジェクトは「砂」、そして、最上階層のオブジェクトのみが「草原」となるように配置してもよい。この場合には、属性対応マスタテーブル80に配置高さの概念を追加し得る。
図8のフローチャートに戻り、ステップS27において決定されたオブジェクトを、処理位置に配置する(ステップS28)。その後、次の位置を処理位置とし(ステップS29)、領域内の全ての位置について処理したら終了する。
続いて、図4のフローチャートに戻り、オブジェクトの配置が完了したら、次の画素を処理対象画素とし(ステップS17)、画像中の全ての画素に対して処理を完了したら、全てのオブジェクトの配置が完了し、フィールドが生成されたとして、終了する。
上述の例において、フィールドサイズが画像サイズより大きい場合を説明したが、第四の実施の形態はこれに限られない。例えば、フィールドサイズが画像サイズと同一であれば、画素と、画素に対応する領域とが対応するため、画素の情報にしたがってオブジェクトが配置され、境界の設定は行われないこととしてもよい。
あるいは、フィールドサイズが画像サイズと同一の場合には、画像サイズを縮小したうえで、オブジェクトの配置処理を行うようにしてもよい。
また、フィールドサイズが画像サイズより小さい場合には、画像サイズをフィールドサイズに適合するために、画素を統合する処理を行う。例えば、複数の画素に含まれる色彩情報を平均化する、あるいは、複数の画素に含まれる色彩情報のうち、最も含まれている数が多い色彩を代表の色彩情報とする等により、統合した新たな画素の色彩情報とし、図4のフローチャートにしたがって処理することができる。
上述の例においては、図4のフローチャートのステップS12において画像を読み込んでいるが、第四の実施の形態はこれに限られない。例えば、ゲームを開始する際に、複数の画像が用意されている中から、ユーザの操作にしたがって選択した画像を読み込むようにしてもよく、あるいは、ユーザの操作により描かれた画像を読み込むようにしてもよい。このようにすることで、ユーザは、自身が選択あるいは描画した画像と同一性をある程度維持しつつ、バリエーションをもったフィールドを生成することができる。
上述の例においては、処理位置ごとのオブジェクトの高さを算出した後に、高さを調整しているが、第四の実施の形態はこれに限られない。例えば、最初に乱数を用いて高低の差分を表すノイズフィルタを作成し、領域内の各オブジェクトの位置にフィルタを適用して、各位置のオブジェクトの高さを算出するようにしてもよい。あるいは、高さを算出せずに、領域内の全てのオブジェクトを一律に基準高さとするようにしてもよい。
第四の実施の形態において、読み込む画像を自動で生成するものであってもよい。この場合には、ストーリーや世界観を保つために動かしてはならない画素(例えば、街や城等の重要要素)に関する設定を可能としたり、自由に動かせる画素は任意に配置を変更させたりしてもよい。
第四の実施の形態において、上述した例に加えて、画素に他の情報を関連付けることも可能である。例えば、敵キャラクタのレベルに関する情報等を画素に関連付けることで、画像に含まれる画素情報を変更した際に、他の情報の更新を都度行わなければならない手間を減らすことができ、開発工数を削減することができる。
第四の実施の形態の一側面として、オブジェクトを高さ方向に重ねて配置することが可能であり、任意の数のオブジェクトが高さ方向に重ねて配置されることにより、複雑な計算をすることなく、地形の高さにバリエーションをもたせることができる。
第四の実施の形態の一側面として、オブジェクト又は画素情報に設定される基準高さに応じた、所定の範囲内の数のオブジェクトが、高さ方向に重ねて配置されることにより、同一の属性を有するオブジェクトの高さが著しく不均衡になることなく、オブジェクトを配置することができる。
第四の実施の形態の一側面として、仮想空間内の或る位置において高さ方向に重ねて配置されたオブジェクトの数と、該位置と隣接する隣接位置において高さ方向に重ねて配置されたオブジェクトの数との差が所定の範囲内となるように、直方体状のオブジェクトを配置することにより、地形の不自然さなくオブジェクトを配置することができる。
第四の実施の形態の一側面として、コンピュータ装置にオブジェクトの属性毎に、複数の種類のオブジェクトを記憶させ、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関する属性情報と、画像を構成する画素に関する画素情報との対応関係を記憶するものであり、前記対応関係にしたがって、記憶された複数のオブジェクトから、対象画像を構成する画素の画素情報に対応する属性を有する任意のオブジェクトを配置することにより、同一の画素であっても、異なる種類のオブジェクトを配置することができ、生成される地形にバリエーションをもたせることができる。
第四の実施の形態の一側面として、複数の画像からユーザの操作により選択された画像を対象画像として仮想空間にオブジェクトを配置することにより、ユーザがプレイすることのできる仮想空間にバリエーションをもたせることができる。
第四の実施の形態の一側面として、コンピュータ装置に、ユーザの操作により画像を描画する機能を備えさせ、描画された画像を対象画像として仮想空間にオブジェクトを配置することにより、ユーザは簡単な操作で、自分の好みの仮想空間を発生させるこ都が可能となる。
第四の実施の形態の一側面として、仮想世界を自動生成させるために、容易に編集可能な画像を用いることで、開発者は例えばビットマップ形式の色を変更するだけで設定を容易に変更することができ、工数を削減することができる。
第四の実施の形態の一側面として、容量の小さな画像データを用いて仮想世界を自動生成させることにより、ネットワーク通信により画像データを配信することが可能となり、通信量の削減に貢献することが可能となる。
第四の実施の形態において、「コンピュータ装置」、「仮想空間」、「オブジェクト」、「属性」、「画像」、「画素」、「対象画像」、「対象画像を構成する画素の画像上の位置」、「仮想空間上の位置又は領域」、及び、「配置」とは、それぞれ第一の実施形態において記載した内容と同一である。
第四の実施の形態において、「画像に関する情報」とは、例えば、画像データに関する情報であって、画素の位置情報、画素の色彩情報、輝度情報等をいう。「境界の設定」とは、例えば、画素に対応するオブジェクトの境界を定めることをいう。「基準高さ」とは、例えば、色彩情報に予め関連付けられた、画素に設定される情報であって、基準となる高さである。
[付記]
上で述べた実施の形態の説明は、下記の発明を、発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1] コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラムであって、
コンピュータ装置を、
仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段、
仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段、
前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段
として機能させるプログラム。
[2] オブジェクト配置手段は、さらに、該画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該画素に割り当てられた仮想空間内の位置又は領域に配置する、
[1]に記載のプログラム。
[3] 仮想空間内の領域は、複数のオブジェクトを配置することが可能であり、
オブジェクト配置手段は、該画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該領域の境界から該領域の内側へ向かうにつれて、配置される数が少なくなるように配置する、[2]に記載のプログラム。
[4] オブジェクト配置手段は、オブジェクトを高さ方向に重ねて配置することが可能であり、任意の数のオブジェクトが高さ方向に重ねて配置される、[1]〜[3]のいずれかに記載のプログラム。
[5] オブジェクト配置手段は、オブジェクト又は画素情報に設定される基準高さに応じた、所定の範囲内の数のオブジェクトが、高さ方向に重ねて配置される、[4]に記載のプログラム。
[6] オブジェクトは直方体状であり、
オブジェクト配置手段は、仮想空間内の或る位置において高さ方向に重ねて配置されたオブジェクトの数と、該位置と隣接する隣接位置において高さ方向に重ねて配置されたオブジェクトの数との差が所定の範囲内となるようにオブジェクトを配置する、[4]又は[5]に記載のプログラム。
[7] コンピュータ装置を、
オブジェクトの属性毎に、複数の種類のオブジェクトを記憶するオブジェクト記憶手段
として機能させ、
対応関係記憶手段が、仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関する属性情報と、画像を構成する画素に関する画素情報との対応関係を記憶するものであり、
オブジェクト配置手段が、前記対応関係にしたがって、オブジェクト記憶手段に記憶された複数のオブジェクトから、対象画像を構成する画素の画素情報に対応する属性を有する任意のオブジェクトを配置する、[1]〜[6]のいずれかに記載のプログラム。
[8] コンピュータ装置を、
複数の画像から少なくとも1つの画像を選択する選択手段
として機能させ、
選択手段により選択された画像を対象画像として、割当手段及びオブジェクト配置手段を実行する、[1]〜[7]のいずれかに記載のプログラム。
[9] コンピュータ装置を、
ユーザの操作により画像を描画する描画手段
として機能させ、
描画手段により描画された画像を対象画像として、割当手段及びオブジェクト配置手段を実行する、[1]〜[7]のいずれかに記載のプログラム。
[10] 仮想空間にオブジェクトを自動的に配置することができるコンピュータ装置であって、
仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段と、
仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段と、
前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段と
を備えるコンピュータ装置。
[11] コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラム実行方法であって、
仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係ステップと、
仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当ステップと、
前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置ステップと
を有するプログラム実行方法。
1 コンピュータ装置
11 制御部
12 RAM
13 ストレージ部
14 サウンド処理部
15 グラフィックス処理部
16 DVD/CD−ROMドライブ
17 通信インタフェース
18 インタフェース部
19 ビデオメモリ
20 入力部
21 サウンド出力装置
22 表示部
23 表示画面
24 記録媒体
2 通信ネットワーク
40 画素情報テーブル
50 オブジェクト対応関係マスタ
80 属性対応マスタ

Claims (8)

  1. コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラムであって、
    コンピュータ装置を、
    仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段、
    仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段、
    前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段
    として機能させるプログラム。
  2. オブジェクト配置手段は、さらに、該画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該画素に割り当てられた仮想空間内の位置又は領域に配置する、請求項1に記載のプログラム。
  3. 仮想空間内の領域は、複数のオブジェクトを配置することが可能であり、
    オブジェクト配置手段は、該画素に隣接する隣接画素の画素情報に対応するオブジェクトを、該領域の境界から該領域の内側へ向かうにつれて、配置される数が少なくなるように配置する、請求項2に記載のプログラム。
  4. オブジェクト配置手段は、オブジェクトを高さ方向に重ねて配置することが可能であり、任意の数のオブジェクトが高さ方向に重ねて配置される、請求項1〜3のいずれかに記載のプログラム。
  5. オブジェクト配置手段は、オブジェクト又は画素情報に設定される基準高さに応じた、所定の範囲内の数のオブジェクトが、高さ方向に重ねて配置される、請求項4に記載のプログラム。
  6. オブジェクトは直方体状であり、
    オブジェクト配置手段は、仮想空間内の或る位置において高さ方向に重ねて配置されたオブジェクトの数と、該位置と隣接する隣接位置において高さ方向に重ねて配置されたオブジェクトの数との差が所定の範囲内となるようにオブジェクトを配置する、請求項4又は5に記載のプログラム。
  7. 仮想空間にオブジェクトを自動的に配置することができるコンピュータ装置であって、
    仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係記憶手段と、
    仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当手段と、
    前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置手段と
    を備えるコンピュータ装置。
  8. コンピュータ装置において実行され、仮想空間にオブジェクトを自動的に配置することができるプログラム実行方法であって、
    仮想空間内に配置することのできる属性の異なる複数のオブジェクトについて、各オブジェクトに関するオブジェクト情報と、画像を構成する画素に関する画素情報との対応関係を記憶する対応関係ステップと、
    仮想空間の生成に用いられる対象画像を構成する画素の画像上の位置にしたがって、画素毎に仮想空間内の位置又は領域を割り当てる割当ステップと、
    前記対応関係にしたがって、対象画像を構成する画素の画素情報に対応するオブジェクトを、割り当てられた仮想空間内の位置又は領域に配置するオブジェクト配置ステップと
    を有するプログラム実行方法。
JP2015228182A 2015-11-20 2015-11-20 プログラム、コンピュータ装置、及び、プログラム実行方法 Active JP6100874B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015228182A JP6100874B1 (ja) 2015-11-20 2015-11-20 プログラム、コンピュータ装置、及び、プログラム実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015228182A JP6100874B1 (ja) 2015-11-20 2015-11-20 プログラム、コンピュータ装置、及び、プログラム実行方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017032530A Division JP2017097925A (ja) 2017-02-23 2017-02-23 プログラム、コンピュータ装置、及び、プログラム実行方法

Publications (2)

Publication Number Publication Date
JP6100874B1 JP6100874B1 (ja) 2017-03-22
JP2017097568A true JP2017097568A (ja) 2017-06-01

Family

ID=58363206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015228182A Active JP6100874B1 (ja) 2015-11-20 2015-11-20 プログラム、コンピュータ装置、及び、プログラム実行方法

Country Status (1)

Country Link
JP (1) JP6100874B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020190565A1 (en) * 2019-03-19 2020-09-24 Highwire Games Llc Dynamic 3d environment generation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205522A (ja) * 2008-02-28 2009-09-10 Namco Bandai Games Inc プログラム、情報記憶媒体、情報変換システム
JP2012065760A (ja) * 2010-09-22 2012-04-05 Nintendo Co Ltd 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
JP2012104023A (ja) * 2010-11-12 2012-05-31 Nintendo Co Ltd 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205522A (ja) * 2008-02-28 2009-09-10 Namco Bandai Games Inc プログラム、情報記憶媒体、情報変換システム
JP2012065760A (ja) * 2010-09-22 2012-04-05 Nintendo Co Ltd 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
JP2012104023A (ja) * 2010-11-12 2012-05-31 Nintendo Co Ltd 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020190565A1 (en) * 2019-03-19 2020-09-24 Highwire Games Llc Dynamic 3d environment generation

Also Published As

Publication number Publication date
JP6100874B1 (ja) 2017-03-22

Similar Documents

Publication Publication Date Title
US8466363B2 (en) Sound generation processing apparatus, sound generation processing method and a tangible recording medium
US20150018103A1 (en) Location-based leaderboard
CN108339270A (zh) 游戏场景中静态组件的处理方法、渲染方法及装置
US10621761B2 (en) Computer-readable recording medium, computer apparatus, and computer processing method for placing object in virtual space and displaying placed object according to display mode
US11865452B2 (en) Map generation method and apparatus, electronic device, and computer storage medium
CN110047123A (zh) 一种地图渲染方法、装置、存储介质及计算机程序产品
US10719985B2 (en) Model object building method, server, and system
CN109499067B (zh) 一种地形纹理的绘制方法及装置、电子设备、存储介质
JP3889394B2 (ja) 画像描画装置及び方法、プログラム並びに記録媒体
JP6947889B2 (ja) プログラム、コンピュータ装置、及び、プログラム実行方法
US20190060754A1 (en) Storage medium, information processing apparatus, image processing method, and information processing system
WO2022127275A1 (zh) 模型切换方法和装置、电子设备和存储介质
JP6100874B1 (ja) プログラム、コンピュータ装置、及び、プログラム実行方法
CN114130022A (zh) 虚拟场景的画面显示方法、装置、设备、介质及程序产品
KR101982652B1 (ko) 내비게이션 장치, 3차원 루프 구조 출력 방법 및 데이터베이스 생성 방법
JP2017097925A (ja) プログラム、コンピュータ装置、及び、プログラム実行方法
CN112274932B (zh) 游戏资源数据处理方法及装置、存储介质、计算机设备
JP6674921B2 (ja) プログラム、コンピュータ装置、及び、実行方法
CN115228083A (zh) 一种资源渲染方法及装置
CN115496876B (zh) 一种建筑物建模方法、地图渲染方法、装置和设备
WO2024103954A1 (zh) 虚拟对局的界面显示方法、装置、设备、介质及程序产品
JP2009238192A (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP3934096B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6039042B1 (ja) 描画処理プログラム、描画処理装置、描画処理方法、発音処理プログラム、発音処理装置、及び、発音処理方法
CN115457230A (zh) 一种建筑物建模方法、地图渲染方法、装置和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170223

R150 Certificate of patent or registration of utility model

Ref document number: 6100874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250