WO2011016362A1 - 画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム - Google Patents

画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム Download PDF

Info

Publication number
WO2011016362A1
WO2011016362A1 PCT/JP2010/062574 JP2010062574W WO2011016362A1 WO 2011016362 A1 WO2011016362 A1 WO 2011016362A1 JP 2010062574 W JP2010062574 W JP 2010062574W WO 2011016362 A1 WO2011016362 A1 WO 2011016362A1
Authority
WO
WIPO (PCT)
Prior art keywords
orientation
end point
moving
image
virtual space
Prior art date
Application number
PCT/JP2010/062574
Other languages
English (en)
French (fr)
Inventor
祐一 浅見
Original Assignee
株式会社コナミデジタルエンタテインメント
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 株式会社コナミデジタルエンタテインメント filed Critical 株式会社コナミデジタルエンタテインメント
Publication of WO2011016362A1 publication Critical patent/WO2011016362A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Definitions

  • the first object can move freely in the virtual space.
  • the movement of the position of the end point of the second object is not free.
  • the position of the end point of the second object changes only within a preset movable region.
  • An information recording medium records a program that causes a computer to function as a storage unit, a movement unit, and a generation unit.
  • the storage unit stores the position and orientation of the first object arranged in the virtual space, and the position and orientation of the second object arranged in the virtual space and connected to the first object at a predetermined connection point. To do.
  • the moving unit moves the position and orientation of the stored first object.
  • the generation unit generates an image representing the first object and the second object based on the stored position and orientation of the first object and the stored position and orientation of the second object.
  • the moving unit is fixed relative to the first object, and the position of the end point of the second object is included in a predetermined movable area that does not intersect the first object. Move the position and orientation further.
  • the CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 has a storage area called a register (not shown) that allows high-speed access.
  • the CPU 101 can perform various operations on the registers using an ALU (Arithmetic Logic Unit) (not shown).
  • the operations to be performed include arithmetic operations such as addition, subtraction, multiplication, and division, logical operations such as logical sum, logical product, and logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation.
  • the audio processing unit 109 converts audio data read from the DVD-ROM into an analog audio signal and outputs it from a connected speaker (not shown). Further, under the control of the CPU 101, the sound processing unit 109 generates sound effects and music data to be generated during the progress of the game. Then, the sound processing unit 109 outputs sound corresponding to the generated sound effect and music data from the speaker.
  • the movable area 550 is centered on the connecting point 330 may be a part or the whole of a circle.
  • the length of the radius of the movable region 550 may be the distance between the connection point 330 and the end point 340 when the first object 310 and the second object 320 are stationary.
  • Endpoint 340 is movable on a track represented by the arc connecting the point 551 and the other point 552. The end point 340 can move over the arcuate movable region 550 as if sliding on a laid rail.
  • the CPU 101 arranges the end point 840C at a position closest to the half line 1090 in the movable area 850C as shown in FIG. .
  • the ponytail does not simply move in parallel with the movement of the head, but it flies in the opposite direction as if inertial force works.
  • the image generation apparatus 200 can express more natural hair movement without calculating a strict inertia force.
  • a part of the second object 820C does not overlap with the first object 810C.
  • FIG. 13 is a diagram showing each object at a certain time T, each object at a time T + ⁇ T, and each object at a time T + 2 ⁇ ⁇ T.
  • the CPU 101 updates the second object information 252 using the obtained position and orientation of the second object 820C.
  • a program for operating a computer as all or part of the image generating apparatus 200 is stored and distributed in a computer-readable recording medium such as a memory card, CD-ROM, DVD, or MO (MagnetoeOptical disk). This may be installed in another computer and operated as the above-described means, or the above-described steps may be executed.
  • a computer-readable recording medium such as a memory card, CD-ROM, DVD, or MO (MagnetoeOptical disk).

Abstract

 仮想空間には、互いに連結点で連結される第1オブジェクトと第2オブジェクトが配置される。画像生成装置(200)は、記憶部(201)、移動部(202)、生成部(203)を備える。記憶部(201)は、第1オブジェクトの位置及び向きと、第2オブジェクトの位置及び向きと、を記憶する。移動部(202)は、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない移動可能領域に、第2オブジェクトの端点の位置が含まれるように、第1オブジェクトの位置及び/又は向きと、第2オブジェクトの位置及び/又は向きを移動する。生成部(203)は、第1オブジェクトと第2オブジェクトを表す画像を生成する。

Description

画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム
 本発明は、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現するために好適な画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラムに関する。
 近年、コンピュータグラフィックスの分野における技術が発達し、より精密でよりリアルなシミュレーション画像を作成できるようになってきている。例えば特許文献1に開示されているクロスシミュレーション関連技術においては、毛髪・布・衣服等の柔軟な物体が、複数の四角形ポリゴンで構成され、必要に応じてポリゴンの形状の変換が行われる。そして、ポリゴンの頂点を仮想的な質点として、隣り合う質点の間を仮想的なバネで連結したモデルにより、その形状を求める。この際には、所定の更新間隔時間(典型的には、垂直同期割り込み周期)おきに微分方程式を数値積分して解くことになる。
 ここで、更新間隔時間とは、数値積分の分野では「ステップ時間」「時間刻み幅」とも呼ばれ、微小時間であることが必要とされる。しかしながら、「微小」の程度は適用分野に応じて様々である。更新間隔時間が短いほど、シミュレーションの誤差は小さくなるが、数値積分に要する計算量が多くなる。また、質点の数が増えるほど、毛髪等の形状を正確にシミュレートできるようになる。しかしながら、質点の数を増やすと、数値積分に要する計算量が多くなる。
 例えば、プレイヤーなどに操作されるキャラクターに髪の毛などのオブジェクトが連結されている場合に、キャラクターの動きに合わせて髪の毛が揺れる様子を正確にシミュレートしようとすると、ポリゴンの演算量が増える。また、この場合、頭と髪の毛との衝突判定が必要となるため、画像生成にかかる処理の負荷は増大する。
特開2005-099952号公報
 しかしながら、情報処理装置は、計算資源が限定されている。したがって、情報処理装置においてこのようなシミュレーションを行う場合には、計算を簡易に済ませるため、更新時間は長いことが、また質点の数は可能な限り少ないことが望ましい。一方で、更新間隔時間が長く、質点の数が少ない場合、キャラクターが激しく動くと、髪の毛の動きが、現実とは異なる、不自然なものになるという問題が生じる。また例えば、頭と髪の毛との衝突判定を省略すると、まるで髪の毛が頭に刺さってしまうような不自然な画像になってしまうことがあった。
 本発明はこのような課題を解決するものであり、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現するために好適な画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラムを提供することを目的とする。
 以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
 本発明の第1の観点に係る画像生成装置は、記憶部、移動部、生成部を備える。
 記憶部は、仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する。
 移動部は、記憶される第1オブジェクトの位置及び向きを移動する。
 生成部は、記憶される第1オブジェクトの位置及び向きと、記憶される第2オブジェクトの位置及び向きと、に基づいて、第1オブジェクトと第2オブジェクトを表す画像を生成する。
 そして、移動部は、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない所定の移動可能領域に、第2オブジェクトの端点の位置が含まれるように、第2オブジェクトの位置及び向きを更に移動する。
 例えば、髪をポニーテールにした女性を描く場合、頭の部分が第1オブジェクトであり、結っているポニーテールの髪の部分が第2オブジェクトである。例えば、犬を描く場合、胴体部分が第1オブジェクトであり、胴体に繋がるしっぽの部分が第2オブジェクトである。所定の部位(以下「連結点」と呼ぶ)で連結される2つのオブジェクトであれば、一方が第1オブジェクトに、他方が第2オブジェクトになり得る。
 第1オブジェクトの位置あるいは向きが移動すると、第1オブジェクトに連結される第2オブジェクトの位置あるいは向きは、第1オブジェクトの移動に伴い変化する。本発明の画像生成装置は、第1オブジェクトに繋がっている第2オブジェクトの動きがより自然な動きになるような画像を生成する。
 より詳細には、仮想空間内には、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない移動可能領域が予め設定される。移動可能領域は、第2オブジェクトの端点が移動できる範囲を定義する。端点は、例えばポニーテールや犬のしっぽの先端である。移動可能領域は、第1オブジェクトと共に移動する。移動可能領域の形状や大きさは任意である。典型的には、移動可能領域は、連結点を中心とする円の一部又は全部、あるいは、連結点を中心とする球面の一部又は全部である。ただし、任意の形状、任意の大きさをもった移動可能領域を定義することができる。
 第1オブジェクトは仮想空間内で自由に移動することが可能である。一方、第2オブジェクトの端点の位置の移動は、自由ではない。第2オブジェクトの端点の位置は、予め設定された移動可能領域内でのみ変化する。そして、移動可能領域は、第1オブジェクトと交差することがない。従って、画像生成装置は、第1オブジェクトと第2オブジェクトとの衝突判定を行うことなく、第2オブジェクトが第1オブジェクトの影響を受けつつ移動する様子を表現することができる。例えば、頭を大きく動かしたときにポニーテールが頭と重なってしまう(髪が頭に“刺さってしまう”)ような不自然な画像は生成されない。本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現することができる。
 移動可能領域は、2次元の当該仮想空間における線状の領域、又は、3次元の当該仮想空間における面状の領域であってもよい。
 つまり、2次元仮想空間においては、第2オブジェクトの端点は、任意の直線又は曲線の一部分、もしくはそれらの組み合わせの形状をもつ移動可能領域内で移動する。3次元仮想空間においては、第2オブジェクトの端点は、任意の平面又は曲面の一部分、もしくはそれらの組み合わせの形状をもつ移動可能領域内で移動する。本発明の画像生成装置は、2次元仮想空間に配置されるオブジェクトが移動する様子を表す画像を生成することができる。また、本発明の画像生成装置は、3次元仮想空間に配置されるオブジェクトが移動する様子を表す画像を生成することもできる。
 移動部は、第1オブジェクトが移動されると、
(a)移動された時刻における連結点の位置から、
(b)第1オブジェクトに対する第2オブジェクトの相対的な位置が常に固定されると仮定したときの端点の位置であって、移動された時刻より所定時間だけ前の時刻における端点の位置へ、
と結ぶ半直線と、移動可能領域と、の交点の位置に、端点を配置してもよい。
 つまり、第2オブジェクトは、第1オブジェクトと一緒に移動するのではなく、まるで慣性が働くかのように、第1オブジェクトより若干遅れて移動する。その際、画像生成装置は、重力や慣性力の厳密な計算や、第1オブジェクトと第2オブジェクトの衝突判定の計算などをしなくてもよい。本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現することができる。
 移動部は、
(p)現在の時刻における連結点の位置から、
(q)現在の時刻より所定時間だけ前の時刻における端点の位置へ、
と結ぶ半直線と、移動可能領域と、の交点の位置に、端点を配置してもよい。
 本発明においても、第2オブジェクトは、第1オブジェクトと一緒に移動するのではなく、まるで慣性が働くかのように、第1オブジェクトより若干遅れて移動する。そして、画像生成装置は、重力や慣性力の厳密な計算や、第1オブジェクトと第2オブジェクトの衝突判定の計算などをしなくてもよい。
 移動可能領域は、連結点を中心とする円の一部、若しくは、連結点を中心とする球面の一部であってもよい。
 そして、移動部は、交点が存在しない場合、移動可能領域のうち半直線に最も近い位置に、端点を配置してもよい。
 例えば、移動可能領域の形状が、円や球面の一部である場合、移動後の連結点(例えば頭を移動した後のポニーテールの結び目)から、所定時間前の端点(例えばX秒前にポニーテールの先端があった位置)へ結ぶ半直線と、移動後の移動可能領域と、の交点が存在しない可能性がある。このような場合には、移動可能領域のうち、求めた半直線に最も近い部分に端点が配置される。端点は、あくまで移動可能領域内で移動するものとする。本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現することができる。
 本発明のその他の観点に係る画像生成方法は、記憶部、移動部、生成部を有する画像生成装置において実行される画像生成方法であって、移動ステップと生成ステップを備える。
 記憶部には、仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で第1オブジェクトと連結される第2オブジェクトの位置及び向きと、が記憶される。
 移動ステップでは、移動部が、記憶される第1オブジェクトの位置及び向きを移動する。
 生成ステップでは、生成部が、記憶される第1オブジェクトの位置及び向きと、記憶される第2オブジェクトの位置及び向きと、に基づいて、第1オブジェクトと第2オブジェクトを表す画像を生成する。
 また、移動ステップでは、移動部が、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない所定の移動可能領域に、第2オブジェクトの端点の位置が含まれるように、第2オブジェクトの位置及び向きを更に移動する。
 本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現することができる。
 本発明のその他の観点に係る情報記録媒体は、コンピュータを、記憶部、移動部、生成部として機能させるプログラムを記録する。
 記憶部は、仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する。
 移動部は、記憶される第1オブジェクトの位置及び向きを移動する。
 生成部は、記憶される第1オブジェクトの位置及び向きと、記憶される第2オブジェクトの位置及び向きと、に基づいて、第1オブジェクトと第2オブジェクトを表す画像を生成する。
 また、移動部は、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない所定の移動可能領域に、第2オブジェクトの端点の位置が含まれるように、第2オブジェクトの位置及び向きを更に移動する。
 本発明によれば、コンピュータを上述のように動作する画像生成装置として機能させることができる。
 本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、移動部、生成部として機能させる。
 記憶部は、仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する。
 移動部は、記憶される第1オブジェクトの位置及び向きを移動する。
 生成部は、記憶される第1オブジェクトの位置及び向きと、記憶される第2オブジェクトの位置及び向きと、に基づいて、第1オブジェクトと第2オブジェクトを表す画像を生成する。
 また、移動部は、第1オブジェクトに対して相対的に固定され、且つ、第1オブジェクトと交差しない所定の移動可能領域に、第2オブジェクトの端点の位置が含まれるように、第2オブジェクトの位置及び向きを更に移動する。
 本発明によれば、コンピュータを上述のように動作する画像生成装置として機能させることができる。
 また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
 上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
 本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現するために好適な画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラムを提供することができる。
本発明の画像生成装置が実現される典型的な情報処理装置の概要構成を示す図である。 画像生成装置の機能的な構成を説明するための図である。 第1オブジェクト、第2オブジェクト、連結点、端点を説明するための図である。 ポリゴンを用いた3次元画像モデルによる第1オブジェクト、第2オブジェクト、連結点、端点を説明するための図である。 移動可能領域を説明するための図である。 移動可能領域を説明するための図である。 第1オブジェクトに対する第2オブジェクトの相対的な位置が常に固定されると仮定したときの端点の位置を説明するための図である。 第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。 第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。 第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。 第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。 画像生成処理を説明するためのフローチャートである。 実施形態2において、第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。 実施形態2において、第1オブジェクトと第2オブジェクトが移動する様子を説明するための図である。
(実施形態1)
 本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
 図1は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
 情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD-ROM(Digital Versatile Disk - Read Only Memory)ドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
 ゲーム用のプログラムおよびデータを記憶したDVD-ROMをDVD-ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。
 CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域を備える。CPU 101は、レジスタに対してALU(Arithmetic Logic Unit)(図示せず)を用いて、各種演算を行うことができる。行われる演算は、例えば、加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などである。さらに、CPU 101は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように構成されていてもよい。また、CPU 101は、コプロセッサを備えることにより、高速演算を実現してもよい。
 ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録されている。IPLが実行されることにより、DVD-ROMに記録されたプログラムは、RAM 103に読み出される。次いで、CPU 101による当該プログラムの実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録されている。
 RAM 103は、データやプログラムを一時的に記憶する。RAM 103には、DVD-ROMから読み出されたプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設ける。CPU 101は、当該変数に格納された値に対して直接ALUを作用させて演算してもよい。また、CPU 101は、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をRAM 103に書き戻してもよい。
 コントローラ105は、インターフェース104を介して接続される。コントローラ105は、プレイヤーがダンスゲームやサッカーゲームなどのゲームの実行の際に行う操作入力を受け付ける。インターフェース104には、複数のコントローラ105が接続されていてもよい。
 外部メモリ106は、インターフェース104を介して着脱自在に接続される。外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが記憶される。外部メモリ106は書き換え可能である。プレイヤがコントローラ105を介して必要な指示入力を行うと、これらのデータは適宜外部メモリ106に記録される。
 DVD-ROMドライブ107に装着されるDVD-ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD-ROMドライブ107は、装着されたDVD-ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出す。読み出されたプログラムやデータは、RAM 103等に一時的に記憶される。
 画像処理部108は、まず、DVD-ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理する。次いで、画像処理部108は、加工処理により得た画像情報を、フレームメモリ(図示せず)に記録する。フレームメモリは、画像処理部108に搭載されている。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
 画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
 また、レンダリング画像を得る演算を高速実行することも可能である。レンダリング画像は、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰した画像である。レンダリング画像は、仮想3次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法などによりレンダリングすることにより得られる。
 さらに、CPU 101と画像演算プロセッサが協調動作することにより、フォント情報にしたがって、文字列を2次元画像として描画することが可能である。なお、フォント情報は、文字の形状を定義する。文字列を表す画像は、フレームメモリや各ポリゴン表面へ描画される。
 また、ゲームの画像などの情報が、DVD-ROMに用意されていてもよい。DVD-ROMに用意された画像情報を、フレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
 音声処理部109は、DVD-ROMから読み出した音声データをアナログ音声信号に変換し、接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、音声処理部109は、ゲームの進行の中で発生させるべき効果音や楽曲データを生成する。そして、音声処理部109は、生成した効果音や楽曲データに対応する音声をスピーカから出力させる。
 音声処理部109は、DVD-ROMに記録された音声データがMIDIデータである場合には、音源データを参照して、MIDIデータをPCMデータに変換する。なお、音声処理部109は、MIDI音源データを有する。また、当該音声データがADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、音声処理部109は、これを展開してPCMデータに変換する。PCMデータを、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカーに出力することにより、音声出力が可能となる。
 NIC 110は、インターネット接続機器(図示せず)と、CPU 101との仲立ちを行うインターフェースである。NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続させるために用いられる。インターネット接続機器は、LAN(Local Area Network)を構成する際に用いられる10BASE-T/100BASE-T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等である。
 このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置が、ROM 102、RAM 103、外部メモリ106、DVD-ROMドライブ107に装着されるDVD-ROM等と同じ機能を果たすように構成することも可能である。
 次に、上記構成を有する情報処理装置100により実現される、本実施形態の画像生成装置200の機能的な構成について説明する。
 図2は、本実施形態の画像生成装置200の機能的な構成を示す図である。画像生成装置200は、記憶部201、移動部202、生成部203を備える。
 図3は、画像生成装置200が扱う仮想空間内に配置される第1オブジェクト310と第2オブジェクト320を表す図である。仮想空間にはグローバル座標系が定義される。例えば、髪をポニーテールにした女性を表す画像を生成する場合において、第1オブジェクト310が頭の部分であり、第2オブジェクト320がポニーテールの髪の部分である。
 第1オブジェクト310と第2オブジェクト320は連結点330で連結される。図3において、第1オブジェクト310(頭)と第2オブジェクト320(ポニーテール)は、厳密には“点”ではなく、ある程度の幅をもった“領域(結び目)”で連結される。ただし、以下の説明においては、本発明をより理解しやすいように、連結“点”という表現を用いる。上述のように、第1オブジェクト310と第2オブジェクト320は連結点330で連結される。したがって、第1オブジェクト310の位置が移動すると、第2オブジェクト320の位置も移動することになる。詳細は後述する。
 端点340は、第2オブジェクト320の先端部分(ポニーテールの最も髪が長い部分)である。端点340は、典型的には、第1オブジェクト310と第2オブジェクト320とが静止している状況において、第2オブジェクト320のうち、第1オブジェクト310から最も離れている点である。
 ここで、第1オブジェクト310、第2オブジェクト320等について、更に詳しく説明する。図4は、ポリゴンを用いた3次元モデルによる第1オブジェクト310、第2オブジェクト320、連結点330、端点340を簡略的に表した図である。
 第1オブジェクト310は、複数の制御点410を網目状に結んでできる多角形(典型的には三角形や四角形)の集合体である。制御点410は、第1オブジェクト310の骨格(以下「ボーン」415という。)に予め対応付けられている。同様に、第2オブジェクト320は、複数の制御点420を網目状に結んでできる多角形の集合体である。制御点420は、第2オブジェクト320のボーン425に予め対応付けられている。
 制御点410,420の数、制御点410,420同士の連結の仕方、ボーン415,425の数、ボーン415,425と制御点410,420との関連付けの仕方は、いずれも任意である。
 第1オブジェクト310を構成する制御点410(又は第2オブジェクト320を構成する制御点420)のうちのいずれか1つ以上が連結点330となる。また、第2オブジェクト320を構成する制御点420のうちのいずれか1つが端点340となる。
 CPU 101は、第1オブジェクト310の位置及び/又は形状を変化させることができる。CPU 101は、第1オブジェクト310の位置及び/又は形状を、制御点410が対応付けられているボーン415の位置を移動させることにより変化させてもよい。あるいは、CPU 101は、制御点410の位置を直接移動させることにより、第1オブジェクト310の位置及び/又は形状を変化させてもよい。また、CPU 101は、ボーン415を回転させることにより、第1オブジェクト310を回転させることができる。
 同様に、CPU 101は、第2オブジェクト320の位置及び/又は形状を変化させることができる。CPU 101は、第2オブジェクト320の位置及び/又は形状を、制御点420が対応付けられているボーン425の位置を移動させることにより、変化させてもよい。あるいは、CPU 101は、制御点420の位置を直接移動させることにより、第2オブジェクト320の位置及び/又は形状を変化させてもよい。また、CPU 101は、ボーン425を回転させることにより、第2オブジェクト320を回転させたりすることができる。ただし、第2オブジェクト320は、連結点330の移動の影響を受けながら移動することになる。
 次に、画像生成装置200の記憶部201、移動部202、生成部203の詳細について説明する。
 記憶部201は、第1オブジェクト310の位置及び向きを表す第1オブジェクト情報251と、第2オブジェクト320の位置及び向きを表す第2オブジェクト情報252と、を記憶する。CPU 101とRAM 103が協働して記憶部201として機能する。
 第1オブジェクト310の位置は、例えば、グローバル座標系における第1オブジェクト310を代表する点の座標値によって表される。代表する点とは、典型的には、第1オブジェクト310の重心点である。例えば図3において、第1オブジェクト310の位置は、第1オブジェクト310(頭)の中心点350で表されてもよい。あるいは、第1オブジェクト310の位置は、第1オブジェクト310を構成する制御点410の全部又は一部の座標値によって表されてもよい。第2オブジェクト320の位置についても同様である。
 第1オブジェクト310の向きは、例えば、図3におけるベクトル370の向きである。ベクトル370の始点は、グローバル座標系における第1オブジェクト310を代表する点(例えば“頭”の中心点350)の位置であってもよい。また、ベクトル370の終点は、第1オブジェクト310の所定の点(例えば“鼻の先端”の点360)の位置であってもよい。
 第2オブジェクト320の向きは、連結点330から端点340へと結ぶベクトル380の向きである。ただし、連結点330から第2オブジェクト320内の任意の点へと結ぶベクトルの向きを、第2オブジェクト320の向きとしてもよい。
 移動部202は、記憶部201に記憶される第1オブジェクト情報251が示す第1オブジェクト310の位置と向きを移動させる。また、移動部202は、移動後の第1オブジェクト310の位置と向きで第1オブジェクト情報251を更新する。また、移動部202が第1オブジェクト310の位置及び/又は向きを移動させると、第2オブジェクト320の位置及び/又は向きも移動する。CPU 101とRAM 103が協働して移動部202として機能する。
 ここで、第2オブジェクト320の位置と向きを移動する処理について、図5を用いて詳しく説明する。図5は、3次元仮想空間内に配置される第1オブジェクト310(頭)を真上(Z方向)から見下ろした様子を表す図である。
 CPU 101は、所定の移動可能領域550を仮想空間内に設定する。移動可能領域550は、第1オブジェクト310に対して相対的に固定され、且つ、第1オブジェクト310と交差しない。移動可能領域550は、モニター等に表示されない論理的な領域である。CPU 101は、移動可能領域550に第2オブジェクト320の端点340の位置が含まれるように、第2オブジェクト320の位置及び向きを移動する。
 例えば、図5に示すように、移動可能領域550は、連結点330を中心とする、円の一部又は全部であってもよい。移動可能領域550の半径の長さは、第1オブジェクト310と第2オブジェクト320が静止した状態における連結点330と端点340との距離であってもよい。端点340は、点551と他の点552とを結ぶ弧で表される軌道上を移動可能である。端点340は、弧の形状をした移動可能領域550上を、まるで敷かれたレール上を滑るかのように、移動することができる。
 また例えば、図6に示すように、移動可能領域550は、連結点330を中心とする球面の一部又は全部であってもよい。移動可能領域550の半径の長さは、第1オブジェクト310と第2オブジェクト320が静止した状態における連結点330と端点340との距離であってもよい。端点340は、曲面の形状をした移動可能領域550上を、まるでお皿(ボウル)の上を転がるかのように、移動することができる。
 図7は、第1オブジェクト310に対する第2オブジェクト320の相対的な位置が常に固定されていると仮定したとき、ある時刻T1から後の時刻T2にかけて、第1オブジェクト310と第2オブジェクト320が平行移動する様子を表す図である。第1オブジェクト310が移動すると、連結点330と移動可能領域550も共に移動する。第1オブジェクト310が移動すると、連結点330と移動可能領域550も同じ量だけ移動する。線分710は、連結点330が移動する軌跡を表す。線分720は、端点340が描く軌跡を表す。線分720の長さと向きは、線分710の長さと向きと同じである。
 しかし、第1オブジェクト310(頭)に対して第2オブジェクト320(ポニーテール)を常に固定したまま移動すると、不自然な画像になってしまう恐れがある。そこで、本発明では、第2オブジェクト320上の端点340の位置は、移動可能領域550上で動くこととしている。
 図8等を用いて具体的に説明する。図8は、ある時刻Tにおける各オブジェクトと、時刻T+ΔTにおける各オブジェクトと、時刻T+2×ΔTにおける各オブジェクトと、を表す図である。所定時刻ΔTは、典型的には、垂直同期割り込み(VSYNC)の時間間隔である。
 時刻t=Tにおいて、第1オブジェクト810Aと第2オブジェクト820Aは静止している。連結点830A、端点840A、移動可能領域850Aも静止している。
 次に、時刻t=T+ΔTにおいて、CPU 101は、
(a1)時刻t=T+ΔTにおける連結点830Bの位置と、
(b1)第1オブジェクト810Bに対する第2オブジェクト820Bの相対的な位置が常に固定されると仮定したときの端点の位置であって、時刻t=T+ΔTより所定時間ΔTだけ前の時刻(すなわちt=T)における端点840Aの位置と、
を取得する。
 そして、CPU 101は、
(c1)連結点830Bから端点840Aへと結ぶ半直線870と、
(d1)時刻t=T+ΔTにおける移動可能領域850Bと、
の交点の位置に、端点840Bを配置する。
 この結果、第2オブジェクト820Bのうち連結点830Bの近くの部分は、第1オブジェクト810Bと一緒に移動する。端点840Bの近くの部分は、少し遅れ気味に第1オブジェクト810Bに付いていくように移動する。
 更に、時刻t=T+2×ΔTにおいて、CPU 101は、
(a2)時刻t=T+2×ΔTにおける連結点830Cの位置と、
(b2)第1オブジェクト810Cに対する第2オブジェクト820Cの相対的な位置が常に固定されると仮定したときの端点の位置であって、時刻t=T+2×ΔTより所定時間ΔTだけ前の時刻(すなわちt=T+ΔT)における端点880(以下「仮想的な端点」ともいう。)の位置と、
を取得する。
 そして、CPU 101は、
(c2)連結点830Cから仮想的な端点880へと結ぶ半直線890と、
(d2)時刻t=T+2×ΔTにおける移動可能領域850Cと、
の交点の位置に、端点840Cを配置する。すなわち、第2オブジェクト820Cの位置と向きが求まる。CPU 101は、求められた第2オブジェクト820Cの位置と向きを用いて、第2オブジェクト情報252を更新する。
 つまり、ポニーテールは、頭の移動に合わせて単純に平行移動するのではなく、慣性力が働くかのように逆向きになびく。画像生成装置200は、厳密な慣性力を計算することなく、より自然な髪の動きを表現することができる。
 上記の処理において、半直線890と移動可能領域850Cとの交点が存在しない場合、図9に示すように、CPU 101は、移動可能領域850Cのうち半直線890に最も近い位置に、端点840Cを配置するものとする。仮に、移動可能領域850Cを設けない場合、第2オブジェクト900の一部は、第1オブジェクト810Cと重なることになる。したがって、この場合、まるで髪が頭に刺さってしまっているかのような不自然な画像になってしまう。移動可能領域850A,850B,850Cの位置や形状は、第1オブジェクト810A,810B,810Cと第2オブジェクト820A,820B,820Cの形状を考慮し、互いに重なることのないように予め定義されることが望ましい。
 CPU 101は、図8,図9に示す方法とは異なる他の方法で、第2オブジェクト820A,820B,820Cを移動させることもできる。他のひとつの方法について説明する。図10は、ある時刻Tにおける各オブジェクトと、時刻T+ΔTにおける各オブジェクトと、時刻T+2×ΔTにおける各オブジェクトと、を表す図である。
 時刻t=Tにおいて、第1オブジェクト810Aと第2オブジェクト820Aは静止している。連結点830A、端点840A、移動可能領域850Aも静止している。
 次に、時刻t=T+ΔTにおいて、CPU 101は、
(p1)時刻t=T+ΔTにおける連結点830Bの位置と、
(q1)現在時刻t=T+ΔTより所定時間ΔTだけ前の時刻(すなわちt=T)における端点840Aの位置と、
を取得する。
 そして、CPU 101は、
(r1)連結点830Bから端点840Aへと結ぶ半直線870と、
(s1)時刻t=T+ΔTにおける移動可能領域850Bと、
の交点の位置に、端点840Bを配置する。ここまでは、上述の方法と同じである。
 更に、時刻t=T+2×ΔTにおいて、CPU 101は、
(p2)時刻t=T+2×ΔTにおける連結点830Cの位置と、
(q2)現在時刻t=T+2×ΔTより所定時間ΔTだけ前の時刻(すなわちt=T+ΔT)における端点840Bの位置と、
を取得する。
 そして、CPU 101は、
(r2)連結点830Cから端点840Bへと結ぶ半直線1090と、
(s2)時刻t=T+2×ΔTにおける移動可能領域850Cと、
の交点の位置に、端点840Cを配置する。CPU 101は、求められた第2オブジェクト820Cの位置と向きを用いて、第2オブジェクト情報252を更新する。
 半直線1090と移動可能領域850Cとの交点が存在しない場合、図11に示すように、CPU 101は、移動可能領域850Cのうち半直線1090に最も近い位置に、端点840Cを配置するものとする。
 この方法においても、ポニーテールは、頭の移動に合わせて単純に平行移動するのではなく、慣性力が働くかのように逆向きになびく。画像生成装置200は、厳密な慣性力を計算することなく、より自然な髪の動きを表現することができる。そして、第2オブジェクト820Cの一部が、第1オブジェクト810Cと重なってしまうことがない。
 生成部203は、第1オブジェクト310と第2オブジェクト320を表す画像を生成する。画像は、記憶部201に記憶される第1オブジェクト情報251が示す第1オブジェクト310の位置及び向き、及び記憶部201に記憶される第2オブジェクト情報252が示す第2オブジェクト320の位置に基づいて生成される。生成された画像はモニターに表示される。生成部203はVSYNCのタイミングで繰り返し画像を生成する。すると、第1オブジェクト310と第2オブジェクト320が仮想空間内を移動する様子を表すアニメーションが作成される。CPU 101とRAM 103と画像処理部108が協働して生成部203として機能する。
 次に、本実施形態の画像生成装置の上記各部が実行する画像生成処理について、図12のフローチャートを用いて説明する。この画像生成処理は、VSYNCなどの定期的なタイミングで繰り返し行われる。
 まず、CPU 101は、所定時間ΔT内に第1オブジェクト310の位置及び/又は向きが移動したか否かを判別する(ステップS1201)。
 第1オブジェクト310が移動していない場合(ステップS1201;NO)、CPU 101は画像生成処理を終了する。
 第1オブジェクト310が移動した場合(ステップS1201;YES)、CPU 101は、移動後の連結点330の位置と、移動後の移動可能領域550の位置と、を取得する(ステップS1202)。CPU 101は、取得した連結点330の位置を用いて第1オブジェクト情報251を更新する。
 CPU 101は、第1オブジェクト310に対する第2オブジェクト320の相対的な位置が常に固定されると仮定したときの端点の位置であって、所定時間ΔTだけ前の時刻における端点(仮想的な端点)の位置を取得する(ステップS1203)。
 CPU 101は、移動後の連結点330から所定時間ΔT前の仮想的な端点へ結ぶ半直線を求める(ステップS1204)。
 あるいは、CPU 101は、まず、ステップS1203において現在時刻より所定時間ΔT前の端点330の位置を取得してもよい。この場合、CPU 101は、次いで、ステップS1204において移動後の連結点330から現在時刻より所定時間ΔT前の端点330へ結ぶ半直線を求める。
 CPU 101は、ステップS1202で取得した移動可能領域550と、ステップS1204で求めた半直線と、の交点を求める(ステップS1205)。
 交点が存在する場合(ステップS1206;YES)、CPU 101は、ステップS1205で求めた交点の位置に端点340を配置する(ステップS1207)。CPU 101は、求めた端点340の位置を用いて第2オブジェクト情報252を更新する。
 一方、交点が存在しない場合(ステップS1206;NO)、CPU 101は、ステップS1202で取得した移動可能領域550上の最も半直線に近い位置に端点340を配置する(ステップS1208)。CPU 101は、求めた端点340の位置を用いて第2オブジェクト情報252を更新する。
 そして、CPU 101は、画像処理部108を制御して、第1オブジェクト310と第2オブジェクト320を表す画像を生成してモニターに表示する(ステップS1209)。
 以上の処理が繰り返し行われることにより、第1オブジェクト310と第2オブジェクト320の位置や向きが移動する様子を表すアニメーションが生成される。
 本実施形態によれば、第1オブジェクト310と第2オブジェクト320の当たり判定(衝突判定)の処理を行うことなく、第1オブジェクト310と第2オブジェクト320が移動する様子を表す画像を生成することができる。したがって、例えば、第1オブジェクト310と第2オブジェクト320とが重なってしまうような不自然な画像になることを避けることができる。
 一般に、オブジェクト同士の当たり判定は、オブジェクトの形状が複雑になるほど、負荷の重い処理になる傾向にある。しかし、本発明によれば、当たり判定処理、重力の厳密な計算、慣性力の厳密な計算等をすることなく、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現することができる。ただし、重力や慣性力等の計算を行った上で上述の画像生成処理を行うこともできる。
(実施形態2)
 次に、本発明のその他の実施形態について説明する。図8~11では、第1オブジェクト810A,810B,810Cの位置が移動したときに、第2オブジェクト820A,820B,820Cの位置と向きを移動させる処理を説明した。本実施形態では、第1オブジェクト810A,810B,810Cの位置と向きが移動したときに、第2オブジェクト820A,820B,820Cの位置と向きを移動させる処理を説明する。
 図13は、ある時刻Tにおける各オブジェクトと、時刻T+ΔTにおける各オブジェクトと、時刻T+2×ΔTにおける各オブジェクトと、を表す図である。
 時刻t=Tにおいて、第1オブジェクト810Aと第2オブジェクト820Aは静止している。連結点830A、端点840A、移動可能領域850Aも静止している。
 次に、時刻t=T+ΔTにおける第1オブジェクト810Bの向きは、時刻t=Tにおける第1オブジェクト810Aの向きと比べて、角度θ1だけ変化している。CPU 101は、
(a’1)時刻t=T+ΔTにおける連結点830Bの位置と、
(b’1)第1オブジェクト810Bに対する第2オブジェクト820Bの相対的な位置が常に固定されると仮定したときの端点の位置であって、時刻t=T+ΔTより所定時間ΔTだけ前の時刻(すなわちt=T)における端点840Aの位置と、
を取得する。
 そして、CPU 101は、
(c’1)連結点830Bから端点840Aへと結ぶ半直線1370と、
(d’1)時刻t=T+ΔTにおける移動可能領域850Bと、
の交点の位置に、端点840Bを配置する。
 更に、時刻t=T+2×ΔTにおける第1オブジェクト810Cの向きは、時刻t=T+ΔTにおける第1オブジェクト810Cの向きと比べて、更に角度θ2だけ変化している。CPU 101は、
(a’2)時刻t=T+2×ΔTにおける連結点830Cの位置と、
(b’2)第1オブジェクト810Cに対する第2オブジェクト820Cの相対的な位置が常に固定されると仮定したときの端点の位置であって、時刻t=T+2×ΔTより所定時間ΔTだけ前の時刻(すなわちt=T+ΔT)における仮想的な端点1380の位置と、
を取得する。
 そして、CPU 101は、
(c’2)連結点830Cから仮想的な端点1380へと結ぶ半直線1390と、
(d’2)時刻t=T+2×ΔTにおける移動可能領域850Cと、
の交点の位置に、端点840Cを配置する。すなわち、第2オブジェクト820Cの位置と向きが求まる。CPU 101は、求められた第2オブジェクト820Cの位置と向きを用いて、第2オブジェクト情報252を更新する。
 半直線1390と移動可能領域850Cとの交点が存在しない場合、CPU 101は、移動可能領域850Cのうち半直線1390に最も近い位置に、端点840Cを配置するものとする。
 CPU 101は、図13に示す方法とは異なる他の方法で、第2オブジェクト820A,820B,820Cを移動させることもできる。図14は、ある時刻Tにおける各オブジェクトと、時刻T+ΔTにおける各オブジェクトと、時刻T+2×ΔTにおける各オブジェクトと、を表す図である。
 時刻t=Tにおいて、第1オブジェクト810Aと第2オブジェクト820Aは静止している。連結点830A、端点840A、移動可能領域850Aも静止している。
 次に、時刻t=T+ΔTにおいて、CPU 101は、
(p’1)時刻t=T+ΔTにおける連結点830Bの位置と、
(q’1)現在時刻t=T+ΔTより所定時間ΔTだけ前の時刻(すなわちt=T)における端点840Aの位置と、
を取得する。
 そして、CPU 101は、
(r’1)連結点830Bから端点840Aへと結ぶ半直線1470と、
(s’1)時刻t=T+ΔTにおける移動可能領域850Bと、
の交点の位置に、端点840Bを配置する。
 更に、時刻t=T+2×ΔTにおいて、CPU 101は、
(p’2)時刻t=T+2×ΔTにおける連結点830Cの位置と、
(q’2)現在時刻t=T+2×ΔTより所定時間ΔTだけ前の時刻(すなわちt=T+ΔT)における端点840Bの位置と、
を取得する。
 そして、CPU 101は、
(r’2)連結点830Cから端点840Bへと結ぶ半直線1490と、
(s’2)時刻t=T+2×ΔTにおける移動可能領域850Cと、
の交点の位置に、端点840Cを配置する。CPU 101は、求められた第2オブジェクト820Cの位置と向きを用いて、第2オブジェクト情報252を更新する。
 半直線1490と移動可能領域850Cとの交点が存在しない場合、CPU 101は、移動可能領域850Cのうち半直線1490に最も近い位置に、端点840Cを配置するものとする。
 第1オブジェクト810A,810B,810Cと第2オブジェクト820A,820B,820Cの移動は平面的な移動に限られず、立体的な移動でもよい。簡単に言えば、画像生成装置200が表現することができる動きは、キャラクターが左右に頭を振ったときのポニーテールの動きに限られない。例えば、キャラクターが上下に頭を振ったときのポニーテールの動きや、キャラクターが立ったりしゃがんだりしたときのポニーテールの動きも、自然に且つ簡単に表現することができる。
 本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
 上記の説明では、CPU 101は、3次元の仮想空間に配置されるオブジェクトを表す画像を生成している。しかしながら、CPU 101は、2次元の仮想空間に配置されるオブジェクトを表す画像を生成することもできる。簡単に言えば、図5を、2次元仮想空間内に配置される第1オブジェクト310等を表す画像とみなしてもよい。なお、図5は、3次元仮想空間内に配置される第1オブジェクト310等を真上(Z方向)から見下ろした画像である。
 2次元仮想空間においては移動可能領域550は線状の領域であればよい。また、3次元仮想空間においては移動可能領域550は面状の領域であればよい。
 移動可能領域550の形状や大きさは任意である。しかしながら、移動可能領域550が連結点330を中心とする円もしくは球面に設定されている場合、連結点330と端点340(もしくは仮想的な端点880)との交点をより簡単に求めることができる。ただし、円もしくは球面の中心は連結点330でなくてもよい。
 第1オブジェクト310と第2オブジェクト320は、頭と髪に限られず、任意の形状、任意の大きさをもつオブジェクトであってもよい。例えば、第1オブジェクト310が犬の胴体であり、第2オブジェクト320が犬のしっぽであるとする。この場合、本発明により、犬が走ってしっぽが揺れる様子を表す画像を簡単に生成することができる。その際、胴体の部分としっぽの部分との当たり判定を行う必要がない。そして、例えば犬が複雑な動きあるいは俊敏な動きをしたとき、犬の胴体にしっぽが突き刺さってしまうような不自然な画像になることがない。
 上記の画像生成装置200の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、CD-ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
 さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
 なお、本願については、日本国特許願 特願2009-184068号を基礎とする優先権を主張し、当該基礎出願の内容をすべて本願にとりこむものとする。
 以上説明したように、本発明によれば、互いに繋がったオブジェクトの動きをより自然に且つ簡単に表現するために好適な画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラムを提供することができる。
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD-ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200 画像生成装置
201 記憶部
202 移動部
203 生成部
251 第1オブジェクト情報
252 第2オブジェクト情報
310,810A,810B,810C 第1オブジェクト
320,820A,820B,820C 第2オブジェクト
330,830A,830B,830C 連結点
340,840A,840B,840C 端点
350 中心点
360 所定の点
370,380 ベクトル
410,420 制御点
415,425 ボーン
550,850A,850B,850C 移動可能領域
551,552 点
710 線分(連結点が描く軌跡)
720 線分(端点が描く軌跡)
870,890,1090,1370,1390,1490 半直線
880,1380 仮想的な端点

Claims (8)

  1.  仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で前記第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する記憶部(201)と、
     前記記憶される第1オブジェクトの位置及び向きを移動する移動部(202)と、
     前記記憶される第1オブジェクトの位置及び向きと、前記記憶される第2オブジェクトの位置及び向きと、に基づいて、前記第1オブジェクトと前記第2オブジェクトを表す画像を生成する生成部(203)と、
     を備え、
     前記移動部(202)は、前記第1オブジェクトに対して相対的に固定され、且つ、前記第1オブジェクトと交差しない所定の移動可能領域に、前記第2オブジェクトの端点の位置が含まれるように、前記第2オブジェクトの位置及び向きを更に移動する、
     ことを特徴とする画像生成装置(200)。
  2.  請求項1に記載の画像生成装置(200)であって、
     前記移動可能領域は、2次元の当該仮想空間における線状の領域、又は、3次元の当該仮想空間における面状の領域である、
     ことを特徴とする画像生成装置(200)。
  3.  請求項2に記載の画像生成装置(200)であって、
     前記移動部(202)は、前記第1オブジェクトが移動されると、
    (a)移動された時刻における前記連結点の位置から、
    (b)前記第1オブジェクトに対する前記第2オブジェクトの相対的な位置が常に固定されると仮定したときの前記端点の位置であって、前記移動された時刻より所定時間だけ前の時刻における前記端点の位置へ、
    と結ぶ半直線と、前記移動可能領域と、の交点の位置に、前記端点を配置する、
     ことを特徴とする画像生成装置(200)。
  4.  請求項2に記載の画像生成装置(200)であって、
     前記移動部(202)は、
    (p)現在の時刻における前記連結点の位置から、
    (q)前記現在の時刻より所定時間だけ前の時刻における前記端点の位置へ、
    と結ぶ半直線と、前記移動可能領域と、の交点の位置に、前記端点を配置する、
     ことを特徴とする画像生成装置(200)。
  5.  請求項3に記載の画像生成装置(200)であって、
     前記移動可能領域は、前記連結点を中心とする円の一部、若しくは、前記連結点を中心とする球面の一部であり、
     前記移動部(202)は、前記交点が存在しない場合、前記移動可能領域のうち前記半直線に最も近い位置に、前記端点を配置する、
     ことを特徴とする画像生成装置(200)。
  6.  記憶部(201)、を有する画像生成装置(200)において実行される画像生成方法であって、
     前記記憶部(201)には、仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で前記第1オブジェクトと連結される第2オブジェクトの位置及び向きと、が記憶され、
     前記記憶される第1オブジェクトの位置及び向きを移動する移動ステップと、
     前記記憶される第1オブジェクトの位置及び向きと、前記記憶される第2オブジェクトの位置及び向きと、に基づいて、前記第1オブジェクトと前記第2オブジェクトを表す画像を生成する生成ステップと、
     を備え、
     前記移動ステップでは、前記第1オブジェクトに対して相対的に固定され、且つ、前記第1オブジェクトと交差しない所定の移動可能領域に、前記第2オブジェクトの端点の位置が含まれるように、前記第2オブジェクトの位置及び向きを更に移動する、
     ことを特徴とする画像生成方法。
  7.  コンピュータを、
     仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で前記第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する記憶部(201)、
     前記記憶される第1オブジェクトの位置及び向きを移動する移動部(202)、
     前記記憶される第1オブジェクトの位置及び向きと、前記記憶される第2オブジェクトの位置及び向きと、に基づいて、前記第1オブジェクトと前記第2オブジェクトを表す画像を生成する生成部(203)、
     として機能させ、
     前記移動部(202)は、前記第1オブジェクトに対して相対的に固定され、且つ、前記第1オブジェクトと交差しない所定の移動可能領域に、前記第2オブジェクトの端点の位置が含まれるように、前記第2オブジェクトの位置及び向きを更に移動する、
     ように機能させるプログラムを記録することを特徴とする、コンピュータ読み取り可能な情報記録媒体。
  8.  コンピュータを、
     仮想空間内に配置される第1オブジェクトの位置及び向きと、当該仮想空間内に配置され所定の連結点で前記第1オブジェクトと連結される第2オブジェクトの位置及び向きと、を記憶する記憶部(201)、
     前記記憶される第1オブジェクトの位置及び向きを移動する移動部(202)、
     前記記憶される第1オブジェクトの位置及び向きと、前記記憶される第2オブジェクトの位置及び向きと、に基づいて、前記第1オブジェクトと前記第2オブジェクトを表す画像を生成する生成部(203)、
     として機能させ、
     前記移動部(202)は、前記第1オブジェクトに対して相対的に固定され、且つ、前記第1オブジェクトと交差しない所定の移動可能領域に、前記第2オブジェクトの端点の位置が含まれるように、前記第2オブジェクトの位置及び向きを更に移動する、
     ことを特徴とするプログラム。
PCT/JP2010/062574 2009-08-07 2010-07-27 画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム WO2011016362A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-184068 2009-08-07
JP2009184068A JP5155262B2 (ja) 2009-08-07 2009-08-07 画像生成装置、画像生成方法、ならびに、プログラム

Publications (1)

Publication Number Publication Date
WO2011016362A1 true WO2011016362A1 (ja) 2011-02-10

Family

ID=43544258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062574 WO2011016362A1 (ja) 2009-08-07 2010-07-27 画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム

Country Status (2)

Country Link
JP (1) JP5155262B2 (ja)
WO (1) WO2011016362A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7198983B2 (ja) 2020-04-21 2023-01-05 パナソニックIpマネジメント株式会社 ボトル

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10302086A (ja) * 1997-02-26 1998-11-13 Namco Ltd 画像生成装置及び情報記憶媒体
JP2002092653A (ja) * 2000-09-20 2002-03-29 Namco Ltd ゲームシステム及び情報記憶媒体
JP2003058907A (ja) * 2001-08-09 2003-02-28 Univ Tokyo 木構造リンク系のポーズ及び動作を生成する方法
JP2007234033A (ja) * 1996-07-03 2007-09-13 Namco Bandai Games Inc 3次元ゲーム装置及び情報記憶媒体
JP2008225571A (ja) * 2007-03-08 2008-09-25 Namco Bandai Games Inc プログラム、情報記憶媒体、及び、画像生成システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3926307B2 (ja) * 2003-08-06 2007-06-06 株式会社スクウェア・エニックス 3次元画像描画装置及び方法、プログラム、並びに記録媒体
JP2010134798A (ja) * 2008-12-05 2010-06-17 Namco Bandai Games Inc プログラム、情報記憶媒体、ゲーム装置、及びゲームシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234033A (ja) * 1996-07-03 2007-09-13 Namco Bandai Games Inc 3次元ゲーム装置及び情報記憶媒体
JPH10302086A (ja) * 1997-02-26 1998-11-13 Namco Ltd 画像生成装置及び情報記憶媒体
JP2002092653A (ja) * 2000-09-20 2002-03-29 Namco Ltd ゲームシステム及び情報記憶媒体
JP2003058907A (ja) * 2001-08-09 2003-02-28 Univ Tokyo 木構造リンク系のポーズ及び動作を生成する方法
JP2008225571A (ja) * 2007-03-08 2008-09-25 Namco Bandai Games Inc プログラム、情報記憶媒体、及び、画像生成システム

Also Published As

Publication number Publication date
JP5155262B2 (ja) 2013-03-06
JP2011039619A (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
US20070216679A1 (en) Display, Displaying Method, Information Recording Medium, And Program
JP4425890B2 (ja) シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP4037889B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
KR100898671B1 (ko) 화상처리장치, 화상처리방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
JP3926307B2 (ja) 3次元画像描画装置及び方法、プログラム、並びに記録媒体
Baddam Pushing the Boundaries: Advanced Game Development in Unity
JP4019095B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
JP4187748B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
US20080095439A1 (en) Image Processing Device, Image Processing Method, Information Recording Medium, And Program
WO2011016362A1 (ja) 画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム
JP2002140730A (ja) 動画像生成方法、装置、動画像生成プログラムを記録した可読記録媒体及びビデオゲーム装置
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP5124545B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP4210293B2 (ja) シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP4413911B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2007148856A (ja) スキンの制御点の位置の計算装置、計算方法、ならびに、プログラム
JP2011065492A (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP4307469B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP4113179B2 (ja) シミュレーション装置、シミュレート方法、ならびに、プログラム
JP4068093B2 (ja) シミュレーション装置、シミュレート方法、ならびに、プログラム
JP4287479B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP5143805B2 (ja) 画像処理装置、処理方法、ならびに、プログラム
JP5100862B1 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP2009247555A (ja) 画像生成システム、プログラム及び情報記憶媒体
WO2011021504A1 (ja) ゲーム装置、ゲーム処理方法、情報記憶媒体、ならびに、プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10806361

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10806361

Country of ref document: EP

Kind code of ref document: A1