(57)【特許請求の範囲】
【請求項１】
各種プログラムを実行するプログラム実行装置と、使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも１つの操作装置と、前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムを、
あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記画面表示手段は、
選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする記録媒体。
【請求項２】
請求項１記載の記録媒体において、
前記第１のウィンドウ画面は、
前記１以上の視点のうち、任意の視点に切り換えるための第３のウィンドウ画面と、前記オブジェクトを少なくとも前記切り換えられた視点から見て示す第４のウィンドウ画面とを有することを特徴とする記録媒体。
【請求項３】
請求項１又は２記載の記録媒体において、
前記第２のウィンドウ画面は、
前記動作データを設定すべきフレームを決定するための第５のウィンドウ画面と、決定されたフレームにおける動作データを設定するための第６のウィンドウ画面とを有することを特徴とする記録媒体。
【請求項４】
請求項１〜３のいずれか１項に記載の記録媒体において、
前記第２のウィンドウ画面は、
前記第１のウィンドウ画面に表示されている前記オブジェクトを構成する１以上のパーツを選択するための第７のウィンドウ画面を有することを特徴とする記録媒体。
【請求項５】
請求項１〜４のいずれか１項に記載の記録媒体において、
前記画面表示手段は、
外部の記憶装置に対し、前記動作データファイルをアクセスするための第８のウィンドウ画面を表示する手段を有することを特徴とする記録媒体。
【請求項６】
請求項１〜５のいずれか１項に記載の記録媒体において、
前記画面表示手段は、
設定された任意のフレームのうち、第１のフレームにおける動作データと第２のフレームにおける動作データに基づいて、第１のフレームと第２のフレーム間に存する１以上のフレームの動作データを補間処理する手段を有することを特徴とする記録媒体。
【請求項７】
各種プログラムを実行するプログラム実行装置と、使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも１つの操作装置と、前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムを、
あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムにおいて、
前記画面表示手段は、
選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム。
【請求項８】
各種プログラムを実行するプログラム実行装置と、
使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも１つの操作装置と、
前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムにおいて、
あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段を有し、
前記画面表示手段は、
選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム実行システム。
【請求項９】
少なくとも使用者による操作要求を出力する操作装置と画像を表示するための表示装置が接続可能とされ、各種プログラムを実行するプログラム実行装置において、
あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段を有し、
前記画面表示手段は、
選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム実行装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
プログラム実行装置、操作装置、表示装置等を有するプログラム実行システムで使用されるプログラムやデータが記録された記録媒体と、プログラム自体と、前記プログラム実行システムと、前記プログラム実行装置に関する。
【０００２】
【従来の技術】
ビデオゲーム機を含むエンタテインメント装置のような情報機器（エンタテインメントシステム）として、例えばＣＤ−ＲＯＭ等の記録媒体に格納されたゲーム内容をテレビジョン受像機の画面上に表示させながら、操作装置で操作してゲームを進行させるものがある。
【０００３】
このエンタテインメントシステムにおけるエンタテインメント装置と操作装置との間は、通常、シリアルインターフェースで接続され、エンタテインメント装置からクロックが送られると、そのクロックに同期して操作装置から使用者の操作に対応したキースイッチ情報等を送るようになっている。
【０００４】
また、最近では、操作装置内に外部（例えばエンタテインメント装置）からの要求によって使用者に振動を与える振動発生手段を設けるようにして、例えばゲームの進行中において、使用者の操作に応答するように種々の振動を使用者に与えるようにしたシステムが開発され、実用化に至っている。
【０００５】
【発明が解決しようとする課題】
ところで、ビデオゲーム等に登場するオブジェクトにおいては、予めその動作が決まっており、使用者（ユーザ）が前記オブジェクトの動作を決めることはない。
【０００６】
その理由は、動作データファイルの作成が非常に面倒であることが１つの原因となっている。即ち、動作データファイルを作成する作業としては、オブジェクトの動作状態をフレーム単位に設定し、登録する作業が主体となるが、１フレームが１／６０（秒）であることから、オブジェクトに対し、たった１秒の動作を行わせる場合にも、６０フレーム分の動作データが必要となる。
【０００７】
しかし、オブジェクトの動きをユーザが簡単に設定できるようにすれば、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ（プログラマ等）においても、簡単に動作データが作成できれば、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができるという利点がある。
【０００８】
本発明はこのような課題を考慮してなされたものであり、オブジェクトの動作データファイルをＧＵＩ（グラフィカル・ユーザ・インターフェイス）を用いて簡単に作成することができる記録媒体、プログラム、プログラム実行システム及びプログラム実行装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る記録媒体は、各種プログラムを実行するプログラム実行装置と、使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも１つの操作装置と、前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムを、あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記画面表示手段は、選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
また、本発明に係るプログラムは、上述したプログラム実行システムを、あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムにおいて、前記画面表示手段は、選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
また、本発明に係るプログラム実行システム及びプログラム実行装置は、あるオブジェクトを１以上の視点から見たときの状態を表示する第１のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第２のウィンドウ画面とを表示する画面表示手段を有し、前記画面表示手段は、選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
【００１０】
これにより、使用者（ユーザ）は、第１のウィンドウ画面に表示されたオブジェクトの動作状態を確認しながら、第２のウィンドウ画面を用い、操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成することができる。
【００１１】
この場合、ユーザは、任意のフレームにおける動作状態を入力するだけでよいため、例えばオブジェクトの動きが切り換わるときの状態を任意のフレームに入力すれば、簡単に前記オブジェクトの動作データファイルが作成されることになる。
また、選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することから、例えば走るや歩くなどの連続動作に関するアニメーションを簡単に作成することができる。
【００１２】
なお、第１及び第２のウィンドウ画面は、ウィンドウ画面であることから、背景上、空いた箇所に表示させることができると共に、操作入力によって表示装置の画面上を自由に移動させることができ、しかも、自由に閉じる（消去する）こともできる。
【００１３】
このように、本発明においては、オブジェクトの動作データファイルをＧＵＩ（グラフィカル・ユーザ・インターフェイス）を用いて簡単に作成することができる。そのため、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ（プログラマ等）においても、簡単に動作データファイルを作成できるため、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができる。
【００１４】
そして、前記第１のウィンドウ画面は、前記１以上の視点のうち、任意の視点に切り換えるための第３のウィンドウ画面と、前記オブジェクトを少なくとも前記切り換えられた視点から見て示す第４のウィンドウ画面とを有するようにしてもよい。
【００１５】
この場合、ユーザは、第３のウィンドウ画面を用いて視点を切り換え、その切り換わった視点からオブジェクトがどのような形態となっているかを第４のウィンドウ画面を見ながら容易に確認することができる。
【００１６】
また、前記第２のウィンドウ画面は、前記動作データを設定すべきフレームを決定するための第５のウィンドウ画面と、決定されたフレームにおける動作データを設定するための第６のウィンドウ画面とを有するようにしてもよい。
【００１７】
この場合、第５のウィンドウ画面を用いて、動作データを作成すべきフレームを自由に選択することができ、更に、第６のウィンドウ画面を用いて、前記選択されたフレームに対して容易に動作データを書き込むことができる。
【００１８】
また、前記第２のウィンドウ画面は、前記第１のウィンドウ画面に表示されている前記オブジェクトを構成する１以上のパーツを選択するための第７のウィンドウ画面を有するようにしてもよい。
【００１９】
これにより、ポリゴン単位ではなく、ポリゴンよりも大きな構成単位であるパーツ毎に動作データを作成することができるため、動作データの作成時間を大幅に短縮することができ、しかも、オブジェクトの動きを容易に把握することができる。
【００２０】
また、前記画面表示手段は、外部の記憶装置に対し、前記動作データファイルをアクセスするための第８のウィンドウ画面を表示する手段を有するようにしてもよい。
【００２１】
これにより、予め作成した動作データファイルあるいはユーザが作成した動作データファイルを外部の記憶装置を通じて自由にアクセスすることが可能になる。この場合、外部の記憶装置を携帯可能な例えばメモリカードやＣＤ−Ｒ、ＤＶＤ−Ｒ等で構成すれば、いつでも誰でも前記動作データファイルを参照することができる。
【００２２】
また、前記画面表示手段は、設定された任意のフレームのうち、第１のフレームにおける動作データと第２のフレームにおける動作データに基づいて、第１のフレームと第２のフレーム間に存する１以上のフレームの動作データを補間処理する手段を有するようにしてもよい。
【００２３】
これにより、ユーザは、第１のフレームにおける動作データと第２のフレームにおける動作データを入力するだけで、その間の複数のフレームにおける動作データが自動的に作成されることとなるため、動作データファイルの作成をより簡単にすることができ、いままで専門家しか行わなかったアニメーション作成をエンドユーザや専門家以外の者も簡単に行うことが可能となり、アニメーション作成の普及に貢献することができる。
【００２８】
【発明の実施の形態】
本発明に係るプログラム実行システム及びプログラム実行装置をエンタテインメントシステムに適用した実施の形態例と、本発明に係る記録媒体及びプログラムを前記エンタテインメントシステムで実行されるプログラムやデータが記録された記録媒体及びプログラムに適用した実施の形態例について図１〜図３４を参照しながら説明する。
【００２９】
まず、本実施の形態に係るエンタテインメントシステム１０は、基本的には、図１に示すように、各種プログラムを実行させるエンタテインメント装置１２と、該エンタテインメント装置１２に対して着脱自在とされるメモリカード１４と、エンタテインメント装置１２に対して着脱自在とされた操作装置（コントローラ）１６と、エンタテインメント装置１２からの映像・音声信号が供給されるテレビ受像機等の表示装置であるモニタ（ディスプレイ）１８とから構成される。
【００３０】
エンタテインメント装置１２は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光ディスク２０等の大容量記憶媒体に記録されているプログラムを読み出して、使用者（例えば、ユーザ、ゲームプレイヤ等）からの指示に応じてゲーム等を実行するためのものである。なお、ゲームの実行とは、主として、コントローラ１６からの入力をコネクタ１５を通じて受け、モニタ１８上における表示や音声を制御しながらゲームの進行を制御することをいう。
【００３１】
このエンタテインメント装置１２は、図１に示すように、扁平な直方体を重ねた形状を有しており、前面パネルには、プログラム・データの記録媒体である光ディスク２０が装着されるディスク装着部としての前後に移動するディスクトレイ２２と、現在実行中のプログラム等を任意にリセット等するためのリセットスイッチ２４と、ディスクトレイ２２を引き出すためのオープンボタン２６と、メモリカード１４の２つの差込口３０と、コントローラ１６のコネクタ１５が差し込まれる２つのコントローラ端子３２等とが配置され、背面側には、電源スイッチ２８、映像と音声の出力端子であり、ＡＶ（audio visual）ケーブルを介してモニタ１８と接続される図示していないＡＶマルチ出力端子等が配置されている。
【００３２】
エンタテインメント装置１２は、コンピュータゲーム（ビデオゲーム）のプログラムやデータが記録されたＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体である光ディスク２０から当該プログラムを読み取り、それを実行することによりモニタ１８にキャラクタやシーンを表示させる制御機能のほか、他の光ディスク２０であるＤＶＤ（digital video disk）による映画の再生およびＣＤＤＡ（compact disk digital audio）による音楽の再生等の各種制御機能が内蔵されている。また、通信ネットワーク等を介して通信により得られるプログラムを実行する機能も有する。ゲームプログラムの実行中には、表示装置としてのモニタ１８上にエンタテインメント装置１２が生成した３次元コンピュータグラフィックス映像が表示される。
【００３３】
この場合、コントローラ１６からの信号も、エンタテインメント装置１２の上記制御機能の１つによって処理され、その内容がモニタ１８の画面上の、例えばキャラクタの動き、シーンの切り替えなどに反映されるようになっている。
【００３４】
コントローラ１６は、上面の中央左右に第１、第２操作部５１、５２が設けられ、側面には第３、第４操作部５３、５４が設けられ、上面の手前側左右には、アナログ操作を行うためのそれぞれがジョイスティックである左側のジョイスティック７０と右側のジョイスティック７２とが設けられている。
【００３５】
第１操作部５１は、たとえばモニタ１８の画面に表示されたキャラクタ等に動作を与えるための押圧操作部であり、光ディスク２０に記録されているプログラム等によりその機能が設定され、キャラクタ等を上下左右等に動かす機能を有する４つの操作キー（方向キーともいう。）５１ａ、５１ｂ、５１ｃ、５１ｄから構成されている。方向キー５１ａは上方向キー、方向キー５１ｂは下方向キー、方向キー５１ｃは左方向キー、方向キー５１ｄは右方向キーともいう。
【００３６】
第２操作部５２は、押圧操作用の円柱状をした４個の操作ボタン５２ａ、５２ｂ、５２ｃ、５２ｄを有し、各操作ボタン５２ａ〜５２ｄの頭部には、それぞれ「△」、「○」、「×」、「□」の識別マークが付けられている。各操作ボタン５２ａ〜５２ｄは、それぞれ△ボタン５２ａ、○ボタン５２ｂ、×ボタン５２ｃ、□ボタン５２ｄともいう。
【００３７】
この第２操作部５２の各操作ボタン５２ａ〜５２ｄは、光ディスク２０に記録されたプログラム等によりその機能が設定され、各操作ボタン５２ａ〜５２ｄに、たとえばキャラクタ等の左腕、右腕、左足、右足を動かす機能が割り付けられる。
【００３８】
第３、第４操作部５３、５４は、ほぼ同じ構造を有しており、ともに上下に並ぶ押圧操作用の２個の操作ボタン（Ｌ１ボタンともいう。）５３ａ、操作ボタン（Ｌ２ボタンともいう。）５３ｂ、および操作ボタン（Ｒ１ボタンともいう。）５４ａ、操作ボタン（Ｒ２ボタンともいう。）５４ｂを備えている。これら第３、第４操作部５３、５４も、光ディスク２０に記録されたプログラムによりその機能が設定され、たとえばキャラクタに特殊な動作をさせる機能が割り付けられる。
【００３９】
左右のジョイスティック７０、７２は、それぞれ操作軸を中心に３６０゜方向に傾動、回転可能とされる可変抵抗器等の信号入力素子を備えており、傾動、回転に応じてアナログ値が出力される。また、この左右のジョイスティック７０、７２は、図示していない弾性部材により中立位置に復帰するようになっている。なお、左右のジョイスティック７０、７２は、それぞれ下方に押圧することによって、ジョイスティック７０、７２の傾動、回転に伴うアナログ値とは別の信号が出力される。つまり、左右のジョイスティック７０、７２は、押圧操作用の第５、第６操作部としての操作ボタン（Ｌ３ボタン）７０ａ、（Ｒ３ボタン）７２ａの機能を有している。
【００４０】
左右のジョイスティック７０、７２を回転、傾動操作することにより、たとえばキャラクタ等を回転させながら移動させ、あるいは速度を可変しながら移動させ、さらには状態を変更させる等のアナログ的な動きを行うことを可能とする指令信号を入力することが可能となる。
【００４１】
図１において、左右のジョイスティック７０、７２は、前記第１及び第２操作部５１、５２と切り換えて使用可能となる。その切換えは、アナログモードスイッチ７４により行う。アナログモードスイッチ７４により左右のジョイスティック７０、７２が選択されると、表示部７６が点灯して、左右のジョイスティック７０、７２の選択状態を表示するようになっている。
【００４２】
左右のジョイスティック７０、７２を操作することによって得られるアナログ入力値は、図３に示すように、垂直方向について上から下に向けて「０」〜「２５５」とされ、水平方向について左から右に向けて「０」〜「２５５」とされている。
【００４３】
コントローラ１６には、上記のほかにゲーム等の開始を指示するスタートボタン（スタートスイッチ）７８や、ゲーム開始に際してゲームの難易度等を選択するためのセレクトボタン（選択スイッチ）８０などが設けられている。
【００４４】
次に、図２のブロック図を参照して、図１に示したエンタテインメント装置１２の内部構成とその一般的な動作について説明する。
【００４５】
このエンタテインメント装置１２は、該エンタテインメント装置１２を制御するＣＰＵ４０１に対して、半導体メモリとしてのＲＡＭ（メインメモリ）４０２及びバス４０３がそれぞれ接続されて構成されている。
【００４６】
前記バス４０３には、グラフィックシンセサイザー（ＧＳ）４０４、インプットアウトプットプロセッサ（ＩＯＰ）４０９がそれぞれ接続される。ＧＳ４０４には、フレームバッファ、Ｚバッファおよびテクスチャメモリ等を含むＲＡＭ（画像メモリ）４０５と、このＲＡＭ４０５中のフレームバッファへの描画機能を含むレンダリング機能を有するレンダリングエンジン４０６とが含まれる。
【００４７】
このように構成されるＧＳ４０４には、例えばデジタルＲＧＢ信号等をＮＴＳＣ標準テレビジョン方式に変換するためのエンコーダ４０７を介して、外部機器としてのモニタ１８が接続される。
【００４８】
ＩＯＰ４０９には、光ディスク２０に記録されているデータを再生し、デコードするためのドライバ（ＤＲＶ）４１０、サウンド生成系４１２、フラッシュメモリからなる外部メモリとしてのメモリカード１４、コントローラ１６およびオペレーティング・システム等の記録されたＲＯＭ４１６がそれぞれ接続される。サウンド生成系４１２は、増幅器４１３を介して、外部機器としてのスピーカ４１４およびモニタ１８に接続され、音声信号を供給する。
【００４９】
サウンド生成系４１２は、ＣＰＵ４０１からの指示に基づいて、楽音、効果音等を発生する音声処理装置（Sound Processing Unit：ＳＰＵ）４２０と、このＳＰＵ４２０により発生された楽音、効果音等を記憶しているサウンドバッファ４２２とを有する。ＳＰＵ４２０によって発生される楽音、効果音等の信号は、スピーカ４１４やモニタ１８の音声端子に供給され、これらスピーカ４１４やモニタ１８のスピーカから楽音、効果音等として出力（発音）するようになっている。
【００５０】
ここで、ＳＰＵ４２０は、例えば１６ビットの音声データを４ビットの差分信号として適応予測符号化（ＡＤＰＣＭ：Adaptive Differential PCM）された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ４２２に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ４２２に記憶されている波形データを変調させて再生する変調機能等を備えている。
【００５１】
このような機能を備えるサウンド生成系４１２は、ＣＰＵ４０１からの指示によってサウンドバッファ４２２に記録された波形データに基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【００５２】
また、メモリカード１４は、たとえばＣＰＵもしくはゲートアレイおよびフラッシュメモリからなるカード型の外部記憶装置であって、図２に示されたエンタテインメント装置１２に対し、その差込口３０を介して着脱自在となっており、ゲームの途中状態が記憶されたり、ＤＶＤ再生用のプログラム等が記憶されている。
【００５３】
コントローラ１６は、搭載された複数のボタンの押圧により、指令（２値指令または多値指令）をエンタテインメント装置１２に与えるためのものである。また、ドライバ４１０は、ＭＰＥＧ（moving picture experts group）標準に基づいてエンコードされた画像をデコードするためのデコーダを備えている。
【００５４】
次に、この実施の形態に係るエンタテインメントシステム１０が有する特徴的な機能、即ち、例えば光ディスク２０やメモリカード１４のようなランダムアクセス可能な記録媒体、さらにはネットワークによってエンタテインメント装置１２に提供されるプログラムによって実現される機能について図４〜図３４を参照しながら説明する。
【００５５】
この機能は、あるオブジェクトについてアニメーション表示するための動作データファイルを作成するもの、即ち、アニメーション作成ツールであって、例えば図４に示すように、あるオブジェクト２００を１以上の視点（本実施の形態では３つの視点）から見たときの状態をそれぞれ表示する第１のウィンドウ画面２０２と、コントローラ１６からの操作入力に基づいてオブジェクト２００の任意のフレームにおける動作状態を設定して該オブジェクト２００の動作データファイルを作成するための第２のウィンドウ画面２０４を表示するというものである。
【００５６】
第１のウィンドウ画面２０２は、３つの視点のうち、任意の視点に切り換えるためのカメラ設定画面２１０と、オブジェクト２００を３つの視点からそれぞれ表示する３つのグラフィック画面２１２Ａ〜２１２Ｃ（図５参照）とを有する。もちろん、３つのグラフィック画面２１２Ａ〜２１２Ｃをすべて表示するのではなく、３つのグラフィック画面２１２Ａ〜２１２Ｃのうち、オブジェクト２００を切り換えられた視点から表示する１つのグラフィック画面のみを表示するようにしてもよい。図４では第１のグラフィック画面２１２Ａを表示した例を示す。また、以下の説明では、３つのグラフィック画面２１２Ａ〜２１２Ｃを総称してグラフィック画面２１２と記す。
【００５７】
一方、第２のウィンドウ画面２０４は、動作データを設定すべきフレームを決定するためのキーファイル設定画面２２０と、決定されたフレームにおける動作データを設定するための回転角設定画面２２２及び移動量設定画面２２４と、光源の色や位置を設定するための光源設定画面２２６（図６参照）と、グラフィック画面２１２に表示されているオブジェクト２００を構成する複数のパーツを選択するためのパーツ選択画面２２８とを有する。
【００５８】
これらウィンドウ画面２０２、２０４は、背景画面（背景部分）２３０上、空いた箇所に表示させることができると共に、操作入力によってモニタ１８の画面上を自由に移動させることができ、しかも、自由に閉じる（消去する）こともできる。
【００５９】
ここで、本実施の形態に係るアニメーション作成ツールの使用方法、即ち、これらウィンドウ画面２０２、２０４を見ながら動作データファイルを作成する手順の一例について説明する。
【００６０】
まず、１つのオブジェクト２００を３Ｄ画像でアニメーション表示する場合、オブジェクト２００を構成する複数のパーツ毎の情報が登録されたパーツ情報テーブル２４０（図７参照）と、各パーツを構成するポリゴンの頂点データ等が格納された複数のポリゴンデータファイル２４２（図８参照）と、各パーツの動きをフレーム順次に記録した複数の動作データファイル２４４（図９参照）とが使用される。
【００６１】
パーツ情報テーブル２４０は、図７に示すように、１つのオブジェクト２００を構成するパーツの数に相当するレコードを有し、各レコードには、対応するパーツのパーツ名、基準座標（回転の支点となる座標）、回転の動作点の初期座標（基準座標からみた相対座標）、テクスチャテーブルのアドレス及びポリゴンデータファイルのアドレス等が登録されている。
【００６２】
動作データファイル２４４は、図９に示すように、各パーツ毎に用意され、予め設定された最大フレームの数に相当するレコードを有し、各レコードには、基準座標と該基準座標からみた動作点の相対座標が格納されるようになっている。初期段階では、各動作データファイルの全てのレコードには、それぞれ対応するパーツの基準座標と動作点の初期座標（いずれもパーツ情報テーブルに登録された座標）が格納される。
【００６３】
ポリゴンデータファイル２４２は、図８に示すように、各パーツ毎に用意され、当該パーツを構成するポリゴンの数に相当するレコードを有し、各レコードには、ポリゴンの頂点データやテクスチャポインタ等が登録されている。頂点データのうち、各頂点の座標情報は、対応するパーツにおける前記動作点からみた相対座標として設定されている。
【００６４】
そして、アニメーション作成ツールを起動すると、モニタ１８の画面上には、初期画面が表示される。この初期画面としては、例えば図４に示すように、第１のグラフィック画面２１２Ａ（オブジェクト２００を第１のカメラ視点から見て示す画面）、カメラ設定画面２１０、パーツ選択画面２２８、回転角設定画面２２２、移動量設定画面２２４及びキーファイル設定画面２２０を含めたものがある。
【００６５】
次に、各画面の表示部分以外の背景部分２３０にカーソル２５０を合わせて、例えば×ボタン５２ｃを操作することで、図１０に示すように、ウィンドウ画面の選択を示す帯２５２とメモリカード１４の操作を示す帯２５４を有する第１のドロップメニュー画面２５６が表示され、メモリカード１４の操作を示す帯２５４にカーソル２５０を合わせることで、図１１に示すように、メモリカードアクセス画面２６０が表示される。
【００６６】
差込口３０にメモリカード１４が挿入されている場合は、該メモリカード１４からパーツ情報テーブル２４０、ポリゴンデータファイル２４２や動作データファイル２４４に関するファイル名が読み出されてメモリカードアクセス画面２６０の枠内に表示される。
【００６７】
そして、ファイルを読み込む場合は、読み込みたいファイル名にカーソル２５０を合わせて、例えば○ボタン５２ｂを操作することでファイル名が選択され、更に、カーソル２５０を移動させてメモリカードアクセス画面２６０の下部に表示されているアイコンのうち、「ＬＯＡＤ」のアイコン２６２にカーソル２５０を合わせて、例えば○ボタン５２ｂを操作することで前記選択されたファイル名に対応するパーツ情報テーブル２４０、ポリゴンデータファイル２４２や動作データファイル２４４がエンタテインメント装置１２のメインメモリ４０２に読み込まれる。
【００６８】
なお、メモリカードアクセス画面２６０の下部に表示されている「ＬＯＡＤ」以外のアイコンについて概略説明すると、「ＳＡＶＥ」のアイコン２６４は、エンタテインメント装置１２のメインメモリ４０２に格納されている動作データファイル２４４をメモリカード１４に保存するために使用される。このとき、保存にあたっては、図示しないファイル名の入力画面が表示されるため、該入力画面の案内に沿って文字等を入力することで、簡単にファイル名を入力することができる。
【００６９】
「ＣＨＥＣＫ」のアイコン２６６は、メモリカード１４内にどのようなファイルが格納されているかをチェックするために使用される。「ＣＡＮＣＥＬ」のアイコン２６８は、このメモリカードアクセス画面２６０を消去する際に使用される。
【００７０】
また、モニタ１８の画面に表示されるウィンドウ画面は、前記初期画面に含まれるいくつかのウィンドウ画面のほかに、図５に示すような第２のグラフィック画面２１２Ｂ（オブジェクト２００を第２のカメラ視点から見て示す画面）及び第３のグラフィック画面２１２Ｃ（オブジェクト２００を第３のカメラ視点から見て示す画面）並びに図６に示すような光源設定画面２２６がある。
【００７１】
これらのウィンドウ画面を表示する場合は、図１０に示す第１のドロップメニュー画面２５６を表示させ、ウィンドウ画面の選択を示す帯２５２にカーソル２５０を合わせることで、図１２に示すように、各種ウィンドウ画面の種類が表示された第２のドロップメニュー画面２７０が表示されるため、これらの中から任意に選択すればよい。
【００７２】
また、各グラフィック画面２１２Ａ〜２１２Ｃにおいてオブジェクト２００を表示させる場合には、図５や図１４に示すように、地面２７２を表示させた方がオブジェクト２００の動作を認識しやすい場合がある。そこで、グラフィック画面２１２において地面２７２を表示させる場合は、任意のグラフィック画面２１２のカーソル２５０を合わせて、例えば×ボタン５２ｃを操作することで、図１３に示すように、地面２７２の表示／非表示を示す第３のドロップメニュー画面２７４が表示されるため、該当する項目にカーソル２５０を合わせて例えば○ボタン５２ｂを操作すればよい。
【００７３】
地面２７２の表示を選択した場合は、更に、図１４に示すように、地面２７２の高さを設定するためのサブウィンドウ画面２７６が表示される。地面２７２の高さを設定する方法は、高さの値が表示されている部分にカーソル２５０を合わせて例えば○ボタン５２ｂや×ボタン５２ｃを操作することで、地面２７２の高さを設定することができる。ここでは、○ボタン５２ｂを操作することで地面２７２が上昇し、×ボタン５２ｃを操作することで地面２７２が下降する設定となっている。
【００７４】
上述したように、メモリカード１４からオブジェクト２００のパーツ情報テーブル２４０及びポリゴンデータファイル２４２等を読み込んだ段階で、現在表示されているグラフィック画面、例えば第１のグラフィック画面２１２Ａ上に、第１のカメラ視点から見たオブジェクト２００の状態が表示されることになる。
【００７５】
このオブジェクト２００の３Ｄ画像の表示、特に、動作データファイル２４４を読み込まない場合における表示は、まず、パーツ情報テーブル２４０の各レコードに登録されている動作点の初期座標を、各動作データファイル２４４が格納される部分の全てのレコードに格納して初期段階の動作データファイル２４４を作成する。
【００７６】
その後、各パーツの基準座標と各動作データファイル２４４の０レコード目に格納された動作点の初期座標から各パーツの配置位置を決定し、更に、各パーツ毎のポリゴンデータファイル２４２に格納されたポリゴン情報から各パーツを構成するポリゴンの配置を決定し、これらポリゴンについて、光学特性や質感表現を行い、更にスクリーン座標として透視変換し、更に必要であればテクスチャマッピングを行うことで画像メモリ４０５にオブジェクト２００の３Ｄ画像が表示されることになる。
【００７７】
このオブジェクト２００の３Ｄ画像の表示と同時に、オブジェクト２００を構成する複数のパーツに関する名称（パーツ名）がパーツ選択画面２２８に表示される。図４の例では、人間の形をしたオブジェクト２００が走っている途中の状態を示す。
【００７８】
次に、カーソル２５０を移動させて、キーファイル設定画面２２０の「ＣＦ」における近傍の枠２８０にカーソル２５０を合わせ、続けて○ボタン５２ｂや×ボタン５２ｃを操作して、例えば「０」に設定する。これによって、０フレーム目が選択されることになる。
【００７９】
次に、パーツ選択画面２２８に表示された複数の名称のうち、任意の名称にカーソル２５０を合わせて例えば○ボタン５２ｂを操作することで、対応するパーツが選択され、同時に、グラフィック画面２１２に表示されているオブジェクト２００のうち、選択されたパーツの部分に該パーツが選択されたことを示す半透明のサブオブジェクト２８２が表示されることになる。このサブオブジェクト２８２は、選択されたパーツの外形形状を少し拡大したような形を有し、青色の半透明を呈している。このサブオブジェクト２８２の表示によって、どの部分が選択されたかを一見して認識することができる。
【００８０】
次に、回転角設定画面２２２のＸ、Ｙ及びＺの枠にそれぞれカーソル２５０を合わせて、例えば○ボタン５２ｂや×ボタン５２ｃを操作することで、数値を入力する。これらの数値は、例えばＸについてみると、選択したパーツにおいて、基準座標を支点にしてＸ軸を中心に動作点を回転させる場合の回転角を示す。Ｙ及びＺについても同様である。動作点が回転されることで、そのパーツを構成するポリゴンの頂点データが書き換えられ、当該パーツは、基準座標を支点として回転することとなる。
【００８１】
そして、○ボタン５２ｂを操作することで、回転角が正方向に進み、これによってグラフィック画面２１２に表示されているオブジェクト２００のうち、前記選択されたパーツが前記選択された軸を中心に右回りし、×ボタン５２ｃを操作することで、回転角が負方向に進み、前記選択されたパーツが前記選択された軸を中心に左回りする。
【００８２】
なお、移動量設定画面２２４は、選択されたパーツの基準座標を任意の方向に移動させる場合に使用される。また、光源設定画面２２６は、Ｘ、Ｙ及びＺに関する数値を変更することで、光源の位置が設定され、Ｒ、Ｇ及びＢに関する数値を変更することで、光源の発色が設定されるようになっている。これによって、太陽光、蛍光灯や白熱電灯等に似せた光源とすることが可能となる。
【００８３】
例えば、前記各種数値の変更の際において、オブジェクト２００の表示位置や拡大率等を変更する場合は、カメラ設定画面２１０を用いて行うことができる。例えば、カメラ設定画面２１０における１番上のアイコン２９０は、オブジェクト２００の表示位置や拡大率を変更する対象のグラフィック画面２１２を選択するために使用され、該アイコン２９０にカーソル２５０を合わせて例えば○ボタン５２ｂを操作することで、「ＣＡＭＥＲＡ１」→「ＣＡＭＥＲＡ２」→「ＣＡＭＥＲＡ３」→「ＣＡＭＥＲＡ１」というように切り換わるようになっている。
【００８４】
ここで、「ＣＡＭＥＲＡ１」とした場合は、第１のグラフィック画面２１２Ａを選択したことを示し、「ＣＡＭＥＲＡ２」とした場合は、第２のグラフィック画面２１２Ｂを選択したことを示し、「ＣＡＭＥＲＡ３」とした場合は、第３のグラフィック画面２１２Ｃを選択したことを示す。
【００８５】
そして、回転を示すアイコン２９２にカーソル２５０を合わせた状態で、例えば方向キー５１ａ〜５１ｄ、ジョイスティック７０及び７２を操作することで、現在選択中のグラフィック画面２１２における視点が、予め設定された軌跡に沿って移動することになる。この場合、方向キーが４つあることから、１つのグラフィック画面２１２に対して、それぞれ４つの軌跡が用意されている。
【００８６】
拡大率を示すアイコン２９４は、オブジェクト２００の表示に関する拡大率を変更するために使用される。拡大率を示すアイコン２９４にカーソル２５０を合わせた状態で、例えば左方向キー５１ｃを操作することで、オブジェクト２００が縮小表示され、右方向キー５１ｄを操作することでオブジェクト２００が拡大表示されるようになっている。なお、デフォルトを示すアイコン２９６は、視点の座標や拡大率を初期値に復帰させる場合に使用される。
【００８７】
視点の位置や拡大率について個別に設定したい場合は、それぞれＸ、Ｙ、Ｚ、Ｐ等の数値を直接変更させることで簡単に設定することができる。なお、Ｘ、Ｙ及びＺは視点の座標を示し、Ｐは拡大率を示す。
【００８８】
一方、キーファイル設定画面２２０には、時間軸３００を象徴する線図と、上述した「ＣＲ」を含むアイコン群とがあり、アイコン群は、上述した「ＣＦ」のほかに、「ＲＰ」、再生関係のアイコン群並びに拡張機能関係のアイコン群（「Ｒ」、「Ｄ」、「Ｃ」、「Ｍ」、「Ｆ」及び「Ｈ」を示すアイコン群）がある。
【００８９】
「ＣＦ」は、上述したように、フレームを選択するために使用されるが、「ＲＰ」は、再生するフレームの範囲を設定するために使用される。
【００９０】
例えば、「ＲＰ」の近傍に表示されている２つの数字のうち、左側の数字は、再生開始のフレーム番号であり、右側の数字は、再生終了のフレーム番号である。
【００９１】
時間軸３００の上部には、前記再生開始のフレーム番号に対応する箇所に再生開始のフレームを示すマーク３０２と前記再生終了のフレーム番号に対応する箇所に再生終了のフレームを示すマーク３０４が表示されるようになっている。
【００９２】
再生関係のアイコン群は、再生フレームを再生開始フレームに戻すことを示すアイコン３０６と、逆再生を示すアイコン３０８と、停止を示すアイコン３１０と、通常の再生を示すアイコン３１２と、再生フレームを再生終了フレームに進めることを示すアイコン３１４とを有する。
【００９３】
「Ｒ」アイコン３１６は、動作データファイル２４４のうち、「ＣＦ」に示されたフレーム番号に対応するレコードに動作データ（設定中の動作データ）を記録するために使用される。「Ｒ」アイコン３１６を操作することで、時間軸３００の上部のうち、「ＣＦ」に示されたフレーム番号に対応する部分に記録したことを示すマーク３１８が表示される。
【００９４】
また、前記「Ｒ」アイコン３１６を操作（カーソル２５０をアイコンに合わせて○ボタン５２ｂを操作）することで、記録したフレーム間における複数のフレームにおける動作データが、補間処理されて自動的に作成されて記録されることになる。
【００９５】
例えば図１５に示すように、各動作データファイル２４４の０レコード目（０フレーム目）に、オブジェクト２００が例えば走る格好であって、かつ、右手を前にしている状態を示す動作データを記録し、１０レコード目（１０フレーム目）にオブジェクト２００が走る途中の格好を示す動作データを記録したとき、各動作データファイル２４４の０フレームと１０フレームの間にある１フレームから９フレームまでに、０フレーム目の状態から１０フレーム目の状態に連続して移る過程（この場合、９ステップ）の動作データが補間処理によって作成されることになる。
【００９６】
更に、各動作データファイル２４４の２０レコード目（２０フレーム目）に、オブジェクト２００が例えば走る格好であって、かつ、左手を前にしている状態を示す動作データを記録した段階で、各動作データファイルの１０フレームと２０フレームの間にある１１フレームから１９フレームまでに、１０フレーム目の状態から２０フレーム目の状態に連続して移る過程（この場合も、９ステップ）の動作データが補間処理によって作成されることになる。
【００９７】
この段階で、各動作データファイル２４４には、オブジェクト２００が右手を前にした状態から左手を前にした状態まで連続して走る動作についての動作データが記録されることになる。
【００９８】
次に、「Ｄ」アイコン３１９は、動作データファイル２４４のうち、「ＣＦ」に示されたフレーム番号に対応するレコードに登録されている動作データを削除するために使用される。
【００９９】
「Ｃ」アイコン３２０は、動作データファイル２４４に登録された全ての動作データを削除するために使用され、「Ｍ」アイコン３２２は、時間軸３００を拡大・縮小表示するために使用される。
【０１００】
例えば図４では、時間軸３００として０フレームから１４４フレームまでが表示されているが、この状態で「Ｍ」アイコン３２２を正方向に１回操作（カーソル２５０を合わせて例えば○ボタン５２ｂを操作）すると、時間軸３００は、０フレームから９６フレームまでの拡大表示となる。同様に、更に「Ｍ」アイコン３２２を正方向に１回操作すると、時間軸３００は、０フレームから４８フレームまでの拡大表示となり、これ以上、「Ｍ」アイコン３２２を操作しても拡大表示は行われなくなる。
【０１０１】
反対に、時間軸３００として０フレームから４８フレームまでが表示されている状態で「Ｍ」アイコン３２２を負方向に１回操作（カーソル２５０を合わせて例えば×ボタン５２ｃを操作）すると、時間軸３００は、０フレームから９６フレームまでの縮小表示となる。同様に、更に「Ｍ」アイコン３２２を負方向に１回操作すると、時間軸は、０フレームから１４４フレームまでの縮小表示となる。
【０１０２】
「Ｆ」アイコン３２４は、「ＲＰ」で示す２つのフレーム間で挟まれた複数のフレームにおける動作データについてそれぞれ左右反転を設定する際に使用される。この「Ｆ」アイコン３２４は、他のアイコンと連携して使用され、例えば、「Ｆ」アイコン３２４を操作（カーソル２５０を当該「Ｆ」アイコン３２４に合わせて○ボタン５２ｂを操作）して特定のフレーム間についての左右反転を設定した後に、「ＣＦ」にて書き込む先頭フレームを設定し、更に、「Ｒ」アイコン３１６を操作することで、動作データファイル２４４のうち、「ＣＦ」で示すフレームから前記左右反転後の動作データが記録されることになる。
【０１０３】
例えば、図１５に示すように、動作データファイル２４４の０レコード（０フレーム）から２０レコード（２０フレーム）にかけて、オブジェクト２００が走っている状態の動作データ、例えば右手を前にした状態から左手を前にした状態の動作データが記録されている場合を想定する。
【０１０４】
このとき、「ＲＰ」にて０と２０を選択し、続けて「Ｆ」アイコン３２４を操作する。この段階で、０フレームから２０フレームの動作データについて左右反転がなされた動作データが作成され、ワークファイルに格納される。
【０１０５】
次いで、「ＣＦ」にて、前記左右反転された動作データを書き込むべき先頭フレームを設定し、続いて「Ｒ」アイコン３１６を操作することによって、前記ワークファイルに格納されていた左右反転後の動作データが、動作データファイル２４４のうち、「ＣＦ」にて設定されたフレーム以降に格納されることになる。例えば２０フレームを設定した場合には、２０フレームから４０フレームに書き込まれることになる。
【０１０６】
その結果、「ＲＰ」にて０と４０を設定して、例えば通常の再生を示すアイコン３１２を操作すれば、グラフィック画面２１２において、オブジェクト２００が走る格好のアニメーション表示が行われることになる。
【０１０７】
更に、この機能では、カーソル２５０の移動速度を簡単な操作で変更できるようになっている。例えば、方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２だけを操作することで、カーソル２５０が通常の速度で移動し、例えばＲ１ボタン５４ａを同時に操作しながら方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２を操作することで、カーソル２５０が例えば２倍の速度で移動するようになっている。もちろん、この逆でもかまわない。
【０１０８】
次に、上述の機能を実現するためのソフトウエアについて図１６〜図３４を参照しながら説明する。
【０１０９】
このソフトウエアは、上述したように、例えば光ディスク２０やメモリカード１４のようなランダムアクセス可能な記録媒体、さらにはネットワークによって、エンタテインメント装置１２に提供されるようになっている。ここでは、光ディスク２０からエンタテインメント装置１２に読み込まれて動作する場合を想定して説明を進める。
【０１１０】
即ち、これらソフトウエアは、例えば予めエンタテインメント装置１２にて再生される特定の光ディスク２０から所定の処理を経てエンタテインメント装置１２のＲＡＭ４０２にダウンロードされることによって、ＣＰＵ４０１上で動作されるようになっている。
【０１１１】
そして、このソフトウエアは、まず、図１７のステップＳ１において、ウィンドウ情報テーブル５００（図１６参照）の初期設定を行う。この初期設定は、モニタ１８の画面上に図４に示す初期画面を表示するために行われる。ウィンドウ情報テーブル５００は、例えば図１６に示すように、各レコードに、ウィンドウ画面の種別と、表示範囲と、優先度が格納される。優先度の高いものほど前面に表示されるようになっている。
【０１１２】
次に、ステップＳ２において、カーソル２５０の表示座標の初期設定を行う。この設定は、カーソル２５０を例えばモニタ１８の画面の中央に表示させることなどである。続いて、ステップＳ３において、図４に示すように、モニタ１８の画面上に初期画面を表示する。
【０１１３】
次に、ステップＳ４において、コントローラ１６からの操作入力を待ち、操作入力があった段階で、次のステップＳ５に進み、現在のカーソル２５０の座標を読み出す。続いて、ステップＳ６において、メモリカードアクセス画面２６０が表示されているか否かを判別する。メモリカードアクセス画面２６０が表示されていなければ、次のステップＳ７に進み、方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２の操作入力があるか否かを判別する。方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２の操作入力があれば、次のステップＳ８に進み、Ｒ１ボタン５４ａが操作されているか否かを判別する。操作されていれば、次のステップＳ９に進み、カーソル２５０の移動ベクトル（この場合、高速移動）に基づいてカーソル２５０の移動先の座標を求める。
【０１１４】
一方、ステップＳ８において、Ｒ１ボタン５４ａが操作されていないと判別された場合は、ステップＳ１０に進み、カーソル２５０の移動ベクトル（この場合、通常速度の移動）に基づいてカーソル２５０の移動先の座標を求める。
【０１１５】
次に、ステップＳ１１において、○ボタン５２ｂが操作されているか否かを判別する。操作されていれば、図１８のステップＳ１２に進み、ウィンドウ情報テーブル５００に基づいて、現在のカーソル２５０の座標の位置に対応するウィンドウ画面を検索する。
【０１１６】
ウィンドウ画面があれば、次のステップＳ１３を介してステップＳ１４に進み、ウィンドウ情報テーブル５００のうち、対応するウィンドウ画面の表示範囲を移動先のカーソル２５０の座標に基づいて書き換え、更に、優先度を最優先を示す値に書き換える。
【０１１７】
一方、図１７のステップＳ７において、方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２でないと判別された場合は、図１９のステップＳ１５に進み、ウィンドウ情報テーブル５００の内容（表示範囲の情報）に基づいて、現在のカーソル２５０の座標の位置に対応するウィンドウ画面を検索する。
【０１１８】
次に、ステップＳ１６において、検索された内容が、動作データの設定関係か否かを判別する。つまり、現在のカーソル２５０の座標の位置に対応するウィンドウ画面が回転角設定画面２２２、移動量設定画面２２４又は光源設定画面２２６であるかどうかを判別する。
【０１１９】
動作データの設定関係であれば、次のステップＳ１７に進み、動作データ設定処理に入る。この動作データ設定処理は、まず、図２１のステップＳ１０１において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面が回転角設定画面２２２であるか否かを判別する。
【０１２０】
回転角設定画面２２２であれば、次のステップＳ１０２に進み、回転角設定処理に入る。この回転角設定処理は、まず、図２２のステップＳ２０１において、パーツの選択が済んでいるか否かを判別する。パーツの選択が済んでいれば、次のステップＳ２０２に進み、Ｘ、Ｙ又はＺに関する回転角の変更か否かを判別する。回転角の変更であれば、次のステップＳ２０３に進み、当該パーツに対応する動作データファイル２４４のうち、選択した軸に関する回転角の今回の変更値に基づいて、当該フレームに対応するレコードの動作点の座標を変更する。
【０１２１】
なお、後述するメモリカードアクセス処理において、パーツ情報テーブル２４０やポリゴンデータファイル２４２を読み込んで、動作データファイル２４４を読み込まなかった場合は、各動作データファイル２４４の全レコードには、読み込まれたパーツ情報テーブル２４０に登録されているパーツ毎の基準座標と動作点の座標がそれぞれ格納される。従って、上述のようなテーブル等の読込みが終了した段階では、どのフレームを選択しても、オブジェクト２００は、同じ状態（初期状態）で表示されることになる。
【０１２２】
前記ステップＳ２０２において、回転角の変更でないと判別された場合は、ステップＳ２０４に進み、個別初期化要求であるか否かを判別する。個別初期化であれば、次のステップＳ２０５に進み、選択した軸に関する回転角を初期値にし、当該パーツに対応する動作データファイル２４４のうち、当該フレームに対応するレコードの動作点の座標を、前記回転角の初期値への変更に基づいて変更する。
【０１２３】
前記ステップＳ２０４において、個別初期化でないと判別された場合は、ステップＳ２０６に進み、３軸（Ｘ、Ｙ、Ｚ）に関する回転角を共に初期値にし、当該パーツに対応する動作データファイル２４４のうち、当該フレームに対応するレコードの動作点の座標をローディング直後の値に戻す。
【０１２４】
前記ステップＳ２０３、ステップＳ２０５又はステップＳ２０６での処理が終了した段階、あるいは前記ステップＳ２０１においてパーツが選択されていないと判別された場合は、この回転角設定処理が終了する。
【０１２５】
図２１のルーチンの説明に戻り、前記ステップＳ１０１において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面が回転角設定画面２２２でないと判別された場合は、ステップＳ１０３に進み、移動量設定画面２２４であるか否かを判別する。移動量設定画面２２４であれば、次のステップＳ１０４に進み、移動量設定処理に入る。
【０１２６】
この移動量設定処理は、まず、図２３のステップＳ３０１において、パーツの選択が済んでいるか否かを判別する。パーツの選択が済んでいれば、次のステップＳ３０２に進み、Ｘ、Ｙ又はＺに関する移動量の変更か否かを判別する。移動量の変更であれば、次のステップＳ３０３に進み、当該パーツに対応する動作データファイル２４４のうち、選択した軸に関する移動量の今回の変更値に基づいて、当該フレームに対応するレコードの基準座標を変更する。
【０１２７】
前記ステップＳ３０２において、移動量の変更でないと判別された場合は、ステップＳ３０４に進み、個別初期化要求であるか否かを判別する。個別初期化要求であれば、次のステップＳ３０５に進み、選択した軸に関する移動量を初期値にし、当該パーツに対応する動作データファイル２４４のうち、当該フレームに対応するレコードの基準座標を、前記移動量の初期値への変更に基づいて変更する。
【０１２８】
前記ステップＳ３０４において、個別初期化でないと判別された場合は、ステップＳ３０６に進み、３軸（Ｘ、Ｙ、Ｚ）に関する移動量を共に初期値にし、当該パーツに対応する動作データファイル２４４のうち、当該フレームに対応するレコードの基準座標をローディング直後の値に戻す。
【０１２９】
前記ステップＳ３０３、ステップＳ３０５又はステップＳ３０６での処理が終了した段階、あるいは前記ステップＳ３０１においてパーツが選択されていないと判別された場合は、この移動量設定処理が終了する。
【０１３０】
図２１のルーチンの説明に戻り、前記ステップＳ１０３において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面が移動量設定画面２２４でないと判別された場合は、ステップＳ１０５に進み、光源設定画面２２６であるか否かを判別する。光源設定画面２２６であれば、次のステップＳ１０６に進み、光源設定処理に入る。
【０１３１】
この光源設定処理は、まず、図２４のステップＳ４０１において、光源位置（Ｘ、Ｙ及びＺ座標）の設定か否かを判別する。光源位置の設定であれば、次のステップＳ４０２に進み、光源の位置を、入力されたＸ、Ｙ及びＺ座標の位置に設定する。
【０１３２】
前記ステップＳ４０１において、光源位置の設定でない、即ち、光源発色の設定であると判別された場合は、ステップＳ４０３に進み、光源の発色に関する情報を、入力されたＲ、Ｇ及びＢの値に基づいて設定する。
【０１３３】
前記ステップＳ４０２又はステップＳ４０３での処理が終了した段階で、この光源設定処理が終了する。
【０１３４】
図２１のルーチンの説明に戻り、前記ステップＳ１０５において、現在のカーソルの座標の位置に対応するウィンドウ画面が光源設定画面２２６でないと判別された場合は、ステップＳ１０７に進み、操作入力に応じたその他の処理を行う。
【０１３５】
前記ステップＳ１０２、ステップＳ１０４、ステップＳ１０６又はステップＳ１０７での処理が終了した段階で、この動作データ設定処理が終了する。
【０１３６】
図１９のメインルーチンの説明に戻り、前記ステップＳ１６において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面が動作データの設定関係でないと判別された場合は、ステップＳ１８に進み、選択されたウィンドウ画面がパーツ選択画面２２８であるか否かを判別する。
【０１３７】
パーツ選択画面２２８であれば、次のステップＳ１９に進み、パーツ選択画面２２８に表示されている複数のパーツ名のうち、現在のカーソル２５０の座標の位置に対応するパーツ名を確保する。
【０１３８】
前記ステップＳ１８において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面がパーツ選択画面２２８でないと判別された場合は、ステップＳ２０に進み、選択されたウィンドウ画面がキーファイル設定画面２２０であるか否かを判別する。
【０１３９】
キーファイル設定画面２２０であれば、次のステップＳ２１に進み、キーファイル設定処理に入る。このキーファイル設定処理は、図２５に示すように、まず、ステップＳ５０１において、今回の選択がフレームの設定であるか否かを判別する。フレームの設定であれば、次のステップＳ５０２に進み、○ボタン５２ｂや×ボタン５２ｃの操作入力に応じて現在のフレーム番号を変更する。
【０１４０】
前記ステップＳ５０１において、フレームの設定でないと判別された場合は、ステップＳ５０３に進み、再生すべきフレームの範囲の設定であるか否かを判別する。フレームの範囲の設定であれば、左側の入力欄に対する○ボタン５２ｂや×ボタン５２ｃの操作入力に応じて再生開始のフレーム番号を変更し、右側の入力欄に対する○ボタン５２ｂや×ボタン５２ｃの操作入力に応じて再生終了のフレーム番号を変更する。
【０１４１】
前記ステップＳ５０３において、フレームの範囲の設定でないと判別された場合は、ステップＳ５０５に進み、再生関係であるか否かを判別する。再生関係であれば、次のステップＳ５０６に進み、再生処理を行う。
【０１４２】
この再生処理は、操作対象が通常の再生を示すアイコン３１２であれば、再生フラグに再生を示すビット情報をセットし、操作対象が停止を示すアイコン３１０であれば、再生フラグに停止を示すビット情報をセットする。
【０１４３】
また、操作対象がアイコン３０６であれば、再生フラグに再生を示すビット情報をセットし、かつ、現在のフレーム番号を再生開始フレームの番号とする。操作対象がアイコン３１４であれば、再生フラグに再生を示すビット情報をセットし、かつ、現在のフレーム番号を再生終了フレームの番号とする。
【０１４４】
前記ステップＳ５０５において、再生関係でないと判別された場合、即ち、拡張機能関係である場合は、次のステップＳ５０７に進み、拡張機能処理に入る。この拡張機能処理では、フレーム情報テーブル５０２が使用される。このフレーム情報テーブル５０２は、図２６に示すように、動作データファイル２４４のうち、ユーザが動作データを記録したフレーム番号を格納するためのもので、各レコードには、フレーム番号と左右反転の判別ビットが登録されるようになっている。特に、０レコード目には、フレーム番号「０」が格納されている。
【０１４５】
そして、この拡張機能処理は、図２７に示すように、まず、ステップＳ６０１において、操作対象が「Ｒ」アイコン３１６であるか否かを判別する。
【０１４６】
「Ｒ」アイコン３１６であれば、次のステップＳ６０２に進み、左右反転を選択中か否かを判別する。左右反転の選択中であれば、次のステップＳ６０３に進み、全てのパーツに関する動作データファイル２４４のうち、現在のフレーム番号に対応するレコードから、「ＲＰ」で設定した範囲に関する全てのパーツに関する動作データ（左右反転後の動作データ）を格納する。
【０１４７】
次に、ステップＳ６０４において、現在のフレーム番号をフレーム情報テーブル５０２の空いたレコードに登録し、次いで、該レコードに左右反転を示す判別ビットを「１」にセットする。
【０１４８】
前記ステップＳ６０２において、左右反転を選択中でないと判別された場合は、ステップＳ６０５に進み、現在のフレーム番号をフレーム情報テーブル５０２の空いたレコードに格納する。
【０１４９】
前記ステップＳ６０１において、操作対象が「Ｒ」アイコン３１６でないと判別された場合は、ステップＳ６０６に進み、操作対象が「Ｄ」アイコン３１９であるか否かを判別する。「Ｄ」アイコン３１９であれば、次のステップＳ６０７に進み、フレーム情報テーブル５０２から現在のフレーム番号を削除する。
【０１５０】
前記ステップＳ６０４、ステップＳ６０５又はステップＳ６０７での処理が終了した段階で、ステップＳ６０８に進み、フレーム情報テーブル５０２のレコードの並びをフレーム番号順に並び替える。
【０１５１】
その後、ステップＳ６０９において、補間処理に入る。この補間処理は、図２９に示すように、まず、ステップＳ７０１において、フレーム番号の読み出しに使用されるインデックスレジスタｉに初期値「１」を格納して、該インデックスレジスタｉを初期化する。
【０１５２】
次に、ステップＳ７０２において、フレーム情報テーブル５０２の（ｉ−１）レコード目に格納されているフレーム番号を読み出してレジスタＲ１に格納する。その後、ステップＳ７０３において、フレーム情報テーブル５０２のｉレコード目に格納されているフレーム番号を読み出してレジスタＲ２に格納する。
【０１５３】
次に、ステップＳ７０４において、処理が終了したか否かを判別する。この判別は、レジスタＲ２に格納されているフレーム番号が無効であってＥＯＦ（エンド・オブ・ファイル）を示すものであるかどうかで行われる。
【０１５４】
レジスタＲ２に格納されているフレーム番号が有効である場合は、次のステップＳ７０５に進み、当該フレーム番号に対応する動作データが左右反転を示すものか否かを判別する。この判別は、当該レコードの判別ビットに「１」がセットされているかどうかで行われる。
【０１５５】
左右反転でなければ、次のステップＳ７０６に進み、指定されたフレーム間に２つ以上のフレームを含むか否かを判別する。この判別は、レジスタＲ２に格納されたフレーム番号からレジスタＲ１に格納されたフレーム番号を差し引いた値が２以上であるかどうかで行われる。
【０１５６】
前記フレーム間に２つ以上のフレームがある場合は、次のステップＳ７０７に進み、レジスタＲ１に格納されたフレーム番号に対応する動作データと、レジスタＲ２に格納されたフレーム番号に対応する動作データに基づいて、これらフレーム間に存在する複数のフレームの動作データを補間処理する。
【０１５７】
前記ステップＳ７０７での処理が終了した段階、あるいは前記ステップ７０６においてフレーム間に２つ以上のフレームがないと判別された場合、あるいは前記ステップＳ７０５において左右反転であると判別された場合は、次のステップＳ７０８に進み、インデックスレジスタｉの値を＋１更新する。
【０１５８】
その後、ステップＳ７０２に戻り、該ステップＳ７０２以降の処理を繰り返す。そして、前記ステップ７０４において、処理終了であると判別された段階で、この補間処理が終了する。
【０１５９】
図２７のルーチンの説明に戻り、前記ステップＳ６０６において、操作対象が「Ｄ」アイコン３１９でないと判別された場合は、図２８のステップＳ６１０に進み、操作対象が「Ｃ」アイコン３２０であるか否かを判別する。「Ｃ」アイコン３２０であれば、次のステップＳ６１１に進み、フレーム情報テーブル５０２を初期化する。
【０１６０】
前記ステップＳ６１０において、操作対象が「Ｃ」アイコン３２０でないと判別された場合は、ステップＳ６１２に進み、操作対象が「Ｍ」アイコン３２２であるか否かを判別する。「Ｍ」アイコン３２２であれば、次のステップＳ６１３に進み、時間軸３００の拡大表示に関する段階値を＋１更新する。この更新において、段階値が最大値を超える場合は、初期値に戻す。
【０１６１】
前記ステップＳ６１２において、操作対象が「Ｍ」アイコン３２２でないと判別された場合、即ち、「Ｆ」アイコン３２４であると判別された場合は、次のステップＳ６１４に進み、「ＲＰ」にて設定された範囲のフレームにおける動作データを確保し、次いで、ステップＳ６１５において、前記確保された動作データについて左右反転の動作データに変換する。
【０１６２】
前記ステップＳ６０９、ステップＳ６１１、ステップＳ６１３又はステップＳ６１５での処理が終了した段階で、この拡張機能処理が終了する。
【０１６３】
図２５のルーチンの説明に戻り、前記ステップＳ５０２、ステップＳ５０４、ステップＳ５０６又はステップＳ５０７での処理が終了した段階で、このキーファイル設定処理が終了する。
【０１６４】
図１９のメインルーチンの説明に戻り、前記ステップＳ２０において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面がキーファイル設定画面２２０でないと判別された場合は、ステップＳ２２に進み、選択されたウィンドウ画面がカメラ設定画面２１０であるか否かを判別する。
【０１６５】
カメラ設定画面２１０であれば、次のステップＳ２３に進み、カメラ設定処理に入る。このカメラ設定処理は、図３０に示すように、まず、ステップＳ８０１において、操作対象がカメラの選択であるか否かを判別する。カメラの選択であれば、次のステップＳ８０２に進み、○ボタン５２ｂや×ボタン５２ｃの操作入力に応じてカメラの番号を変更する。
【０１６６】
前記ステップＳ８０１において、カメラの選択でないと判別された場合は、ステップＳ８０３に進み、カメラ視点の回転（変更）であるか否かを判別する。カメラ視点の回転であれば、次のステップＳ８０４に進み、方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２が操作されているか否かを判別する。方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２が操作されていれば、次のステップＳ８０５に進み、操作方向に応じた規定の軌跡に沿ってカメラ視点を変更し、該カメラ視点の座標を求める。
【０１６７】
前記ステップＳ８０４において方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２でないと判別された場合は、Ｘ、Ｙ及びＺ座標に対する○ボタン５２ｂや×ボタン５２ｃの操作入力に応じてカメラ視点の座標を変更する。
【０１６８】
前記ステップＳ８０３において、カメラ視点の回転でないと判別された場合は、図３１のステップＳ８０７に進み、拡大縮小であるか否かを判別する。拡大縮小であれば、次のステップＳ８０８に進み、左方向キー５１ｃ又は右方向キー５１ｄが操作されているか否かを判別する。これらの方向キー５１ｃ又は５１ｄが操作されていれば、次のステップＳ８０９に進み、これらの方向キー５１ｃ又は５１ｄの操作入力に応じて拡大率（又は縮小率）を変更する。
【０１６９】
前記ステップＳ８０８において、左方向キー５１ｃ又は右方向キー５１ｄでないと判別された場合は、ステップＳ８１０において、○ボタン５２ｂや×ボタン５２ｃの操作入力に応じて拡大率（又は縮小率）を変更する。
【０１７０】
前記ステップＳ８０７において、拡大縮小でないと判別された場合は、ステップＳ８１１に進み、カメラの視点座標（Ｘ、Ｙ及びＺ）並びに拡大率（又は縮小率）をそれぞれデフォルト値に戻す。
【０１７１】
前記ステップＳ８０２、ステップＳ８０５、ステップＳ８０６、ステップＳ８０９、ステップＳ８１０又はステップＳ８１１での処理が終了した段階で、このカメラ設定処理が終了する。
【０１７２】
図１９のメインルーチンの説明に戻り、前記ステップＳ２２において、現在のカーソル２５０の座標の位置に対応するウィンドウ画面がカメラ設定画面２１０でないと判別された場合は、図２０のステップＳ２４に進み、メモリカードアクセス要求であるか否かを判別する。メモリカードアクセス要求であれば、次のステップＳ２５に進み、メモリカードアクセス画面２６０の表示要求を行う。このルーチンは、図１０に示す第１のドロップメニュー画面２５６を表示させ、更に、カーソル２５０をメモリカード１４の操作を示す帯２５４に位置させて例えば×ボタン５２ｃを操作することによって通過することとなる。
【０１７３】
前記ステップＳ２４において、メモリカードアクセス要求でないと判別された場合は、ステップＳ２６に進み、ウィンドウ画面の表示要求であるか否かを判別する。
【０１７４】
ウィンドウ画面の表示要求であれば、次のステップＳ２７に進み、ウィンドウ画面表示要求処理に入る。このウィンドウ画面表示要求処理は、まず、カーソル２５０の位置が背景画面２３０上であって、かつ、×ボタン５２ｃが操作されていれば、第１のドロップメニュー画面２５６（図１０参照）の表示要求を行う。
【０１７５】
また、この第１のドロップメニュー画面２５６が表示されている状態において、カーソル２５０の位置がウィンドウ画面の選択を示す帯２５２にあって、かつ、○ボタン５２ｂが操作されていれば、第２のドロップメニュー画面２７０（図１２参照）の表示要求を行う。
【０１７６】
この第２のドロップメニュー画面２７０が表示されている状態において、いずれかのウィンドウ画面が選択された場合には、選択されたウィンドウ画面の種類と表示すべき範囲と優先度がウィンドウ情報テーブル５００（図１６参照）に登録される。このとき、優先度は、最も前面に表示される値が設定される。
【０１７７】
なお、選択されたウィンドウ画面が既にウィンドウ情報テーブル５００に登録されている場合は、当該ウィンドウ画面の優先度として最も前面に表示される値が設定される。
【０１７８】
また、カーソル２５０がグラフィック画面２１２上にあって、かつ、×ボタン５２ｃが操作されている場合は、地面２７２の表示／非表示を示す第３のドロップメニュー画面２７４（図１３参照）の表示要求を行う。
【０１７９】
この第３のドロップメニュー画面２７４が表示されている状態において、地面２７２の表示が選択された場合は、地面２７２の高さを設定するためのサブウィンドウ画面２７６（図１４参照）の表示要求を行う。
【０１８０】
一方、前記ステップＳ２６において、ウィンドウ画面の表示要求でないと判別された場合は、ステップＳ２８に進み、地面設定処理に入る。この地面設定処理は、第３のドロップメニュー画面２７４（図１３参照）が表示されている状態において、地面２７２の表示が選択された場合は、地面２７２の表示要求を行う。更に、サブウィンドウ画面２７６が表示されている状態において、○ボタン５２ｂや×ボタン５２ｃの操作入力に応じて地面２７２の高さを設定する。また、第３のドロップメニュー画面２７４が表示されている状態において、地面２７２の消去が選択された場合は、地面２７２の消去要求を行う。
【０１８１】
他方、図１７の前記ステップＳ６において、メモリカードアクセス画面２６０が表示されていると判別された場合は、ステップＳ２９に進み、メモリカードアクセス処理に入る。
【０１８２】
このメモリカードアクセス処理は、図３２に示すように、まず、ステップＳ１００１において、差込口３０にメモリカード１４が挿入されているか否かを判別する。挿入されていれば、次のステップＳ１００２に進み、既にメモリカード１４からファイル名を読み出したか否かを判別する。新規のメモリカード１４であれば、次のステップＳ１００３に進み、メモリカード１４からパーツ情報テーブル２４０、ポリゴンデータファイル２４２、動作データファイル２４４等のファイル名を読み出す。
【０１８３】
前記ステップＳ１００３での処理が終了した段階、あるいは前記ステップＳ１００２において、既にファイル名を読み出したと判別された場合は、次のステップＳ１００４に進み、保存要求であるか否かを判別する。保存要求であれば、ステップＳ１００５において、作成された動作データファイル２４４等を入力されたファイル名と共にメモリカード１４の空いた記憶領域に保存する。
【０１８４】
前記ステップＳ１００４において、保存要求でないと判別された場合は、ステップＳ１００６において、読込み要求であるか否かを判別する。読込み要求であれば、次のステップＳ１００７に進み、読込み対象のファイルが、動作データファイル２４４であるか否かを判別する。動作データファイル２４４でなく、パーツ情報テーブル２４０、ポリゴンデータファイル２４２及びテクスチャテーブルを読み込む場合は、次のステップＳ１００８に進み、選択されたファイル名に対応するパーツ情報テーブル２４０、ポリゴンデータファイル２４２及びテクスチャテーブルをメモリカード１４から読み出して、メインメモリ４０２の空いた記憶領域に書き込む。
【０１８５】
その後、ステップＳ１００９において、読み込まれたパーツ情報テーブル２４０に登録されているパーツ毎の基準座標と動作点の座標を、動作データファイル２４４として展開される部分に格納し、初期段階の動作データファイル２４４を作成する。
【０１８６】
前記ステップＳ１００７において、動作データファイル２４４の読込みであると判別された場合は、ステップＳ１０１０において、前記選択されたファイル名に対応する動作データファイル２４４をメモリカード１４から読み出して、メインメモリ４０２の空いた記憶領域に書き込む。
【０１８７】
前記ステップＳ１００６において、読込み要求でないと判別された場合は、ステップＳ１０１１に進み、メモリカード１４のチェック要求であるか否かを判別する。チェック要求であれば、次のステップＳ１０１２に進み、メモリカード１４内に記録されている各種テーブルやファイルのファイル名を読み出す。
【０１８８】
前記ステップＳ１０１１において、メモリカード１４のチェック要求でないと判別された場合、即ち、キャンセル要求の場合は、ステップＳ１０１３に進み、メモリカードアクセス画面２６０の消去要求を行う。
【０１８９】
前記ステップＳ１００５、ステップＳ１００９、ステップＳ１０１０、ステップＳ１０１２又はステップＳ１０１３での処理が終了した段階で、このメモリカードアクセス処理が終了する。
【０１９０】
図１７〜図２０のメインルーチンの説明に戻り、前記ステップＳ１４、ステップＳ１７、ステップＳ１９、ステップＳ２１、ステップＳ２３、ステップＳ２５、ステップＳ２７、ステップＳ２８又はステップＳ２９の処理が終了した段階、又はステップＳ１３おいて、ウィンドウ画面がないと判別された場合、あるいはステップＳ１１において、○ボタン５２ｂが操作されていないと判別された場合は、ステップＳ３０に進み、画像描画処理に入る。
【０１９１】
この画像描画処理は、図３３に示すように、まず、ステップＳ１１０１において、ウィンドウ情報テーブル５００の各レコードのうち、優先度の低いレコードから順番に読み出す。
【０１９２】
次に、ステップＳ１１０２において、読み出されたレコードに登録されているウィンドウ画面の種類を判別する。
【０１９３】
種類が回転角設定画面２２２であれば、ステップＳ１１０３において、回転角設定画面２２２の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のパーツにおけるＸ軸、Ｙ軸及びＺ軸を中心とした各回転角を読み出して、該当する枠に描画する。
【０１９４】
前記種類が移動量設定画面２２４であれば、ステップＳ１１０４において、移動量設定画面２２４の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のパーツにおける基準位置のＸ、Ｙ及びＺ座標を読み出して、該当する枠に描画する。
【０１９５】
前記種類が光源設定画面２２６であれば、ステップＳ１１０５において、光源設定画面２２６の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、現在設定中の光源位置のＸ、Ｙ及びＺ座標並びにＲ、Ｇ及びＢの色データを読み出して、該当する枠にそれぞれ描画する。
【０１９６】
前記種類がパーツ選択画面２２８であれば、ステップＳ１１０６において、パーツ選択画面２２８の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、パーツ情報テーブル２４０に登録されているパーツ名を読み出して、該当する枠にそれぞれ描画する。
【０１９７】
前記種類がカメラ設定画面２１０であれば、ステップＳ１１０７において、カメラ設定画面２１０の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のカメラ番号、視点のＸ、Ｙ及びＺ座標並びに拡大率を読み出して、該当する枠にそれぞれ描画する。
【０１９８】
前記種類がキーファイル設定画面２２０であれば、ステップＳ１１０８において、キーファイル設定画面２２０の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、現在のフレーム番号、再生開始フレーム及び再生終了フレームの各番号を読み出して、該当する枠にそれぞれ描画する。また、時間軸３００に関しては、拡大表示の段階値に基づいて拡大縮小して描画する。
【０１９９】
前記種類が第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃであれば、ステップＳ１１０９において、該当するグラフィック画面２１２の画像データを読み出して、画像メモリ４０５のうち、当該レコードに登録されている表示範囲に描画し、更に、それぞれの視点からみたオブジェクト２００の３Ｄ画像を、パーツ情報テーブル２４０、ポリゴンデータファイル２４２、テクスチャテーブル及び動作データファイル２４４並びに視点の座標、光源位置、光源の発色データ及び拡大率（又は縮小率）に基づいて作成して、これら第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃのうち、選択されたグラフィック画面２１２内に描画する。このとき、動作データファイル２４４のうち、現在のフレーム番号に対応するレコードに格納されている内容を読み出して、オブジェクト２００の３Ｄ画像を描画する。
【０２００】
更に、この第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃにおいては、地面２７２の表示が選択されていれば、地面２７２の３Ｄ画像を地面２７２に関するポリゴンデータファイル２４２、テクスチャテーブル並びに視点の座標、光源位置、光源の発色データ、拡大率（又は縮小率）及び地面の高さ情報に基づいて作成して、これら第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃのうち、選択されたグラフィック画面２１２内に描画する。
【０２０１】
次に、ステップＳ１１１０において、ウィンドウ画面の描画処理が終了したか否かを判別する。この判別は、ウィンドウ情報テーブル５００から全てのレコードを読み出したかどうかで行われる。
【０２０２】
処理が終了していない場合は、前記ステップＳ１１０１に戻り、該ステップＳ１１０１以降の処理を繰り返す。そして、処理が終了した段階で、次のステップＳ１１１１に進み、ドロップメニュー画面２５６、２７０、２７４及びサブウィンドウ画面２７６の表示要求があるか否かを判別する。表示要求があれば、次のステップＳ１１１２に進み、第１〜第３のドロップメニュー画面２５６、２７０、２７４やサブウィンドウ画面２７６のうち、要求のあった画面を描画する。
【０２０３】
前記ステップＳ１１１２での処理が終了した段階、あるいはステップＳ１１１１において、ドロップメニュー画面２５６、２７０、２７４及びサブウィンドウ画面２７６の表示要求がないと判別された場合は、次のステップＳ１１１３に進み、メモリカードアクセス画面２６０の表示要求があるか否かを判別する。メモリカードアクセス画面２６０の表示要求があれば、次のステップＳ１１１４に進み、メモリカードアクセス画面２６０の画像データを読み出して画像メモリ４０５のうち、予め設定された表示範囲に描画し、更に、ファイル名が読み込まれていれば、ファイル名を描画する。
【０２０４】
前記ステップＳ１１１４での処理が終了した段階、あるいはステップＳ１１１３において、メモリカードアクセス画面２６０の表示要求がないと判別された場合は、次のステップＳ１１１５に進み、現在再生中であるか否かを判別する。この判別は、再生中フラグが再生を示す内容かどうかで行われる。再生中であれば、次のステップＳ１１１６に進み、現在のフレーム番号を＋１更新する。このとき、フレーム番号が再生終了フレームの番号よりも大きくなった場合は、再生開始フレームの番号に書き換えられる。
【０２０５】
前記ステップＳ１１１６での処理が終了した段階、あるいは前記ステップＳ１１１５において、再生中ではないと判別された場合は、この画像描画処理が終了する。
【０２０６】
図１７〜図２０のメインルーチンの説明に戻り、次のステップＳ３１において、画像メモリ４０５に描画されている画像をモニタ１８に出力して、該モニタ１８の画面上に前記画像を表示する。
【０２０７】
次に、ステップＳ３２において、このソフトウエアに対する終了要求（電源断、リセット入力等）があったか否かを判別する。終了要求がなければ、前記ステップＳ４に戻り、該ステップＳ４以降の処理を繰り返す。一方、前記ステップＳ３２において、終了要求があれば、このソフトウエアでの処理が終了する。
【０２０８】
このように、本実施の形態においては、あるオブジェクト２００を１以上の視点から見たときの状態を表示する第１のウィンドウ画面２０２と、コントローラ１６からの操作入力に基づいてオブジェクト２００の任意のフレームにおける動作状態を設定して該オブジェクト２００の動作データファイル２４４を作成するための第２のウィンドウ画面２０４とを表示するようにしている。
【０２０９】
これにより、ユーザは、第１のウィンドウ画面２０２に表示されたオブジェクト２００の動作状態を確認しながら、第２のウィンドウ画面２０４を用い、コントローラ１６からの操作入力に基づいてオブジェクト２００の任意のフレームにおける動作状態を設定して該オブジェクト２００の動作データファイル２４４を作成することができる。
【０２１０】
この場合、ユーザは、任意のフレームにおける動作状態を入力するだけでよいため、例えばオブジェクト２００の動きが切り換わるときの状態を任意のフレームに入力すれば、簡単にオブジェクト２００の動作データファイル２４４が作成されることになる。
【０２１１】
従って、本実施の形態においては、オブジェクト２００の動作データファイル２４４をＧＵＩ（グラフィカル・ユーザ・インターフェイス）を用いて簡単に作成することができる。そのため、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ（プログラマ等）においても、簡単に動作データファイル２４４が作成できるため、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができる。
【０２１２】
特に、本実施の形態においては、第１のウィンドウ画面２０２として、前記１以上の視点のうち、任意の視点に切り換えるためのカメラ設定画面２１０と、オブジェクト２００を少なくとも前記切り換えられた視点から見て示す第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃとを有するようにしている。
【０２１３】
そのため、ユーザは、カメラ設定画面２１０を用いて視点を自由に切り換え、その切り換わった視点からオブジェクト２００がどのような形態となっているかを第１〜第３のグラフィック画面２１２Ａ〜２１２Ｃを見ながら容易に確認することができる。
【０２１４】
また、第２のウィンドウ画面２０４として、動作データを設定すべきフレームを決定するためのキーファイル設定画面２２０と、決定されたフレームにおける動作データを設定するための回転角設定画面２２２及び移動量設定画面２２４とを有するようにしている。
【０２１５】
そのため、ユーザは、キーファイル設定画面２２０を用いて、動作データを作成すべきフレームを自由に選択することができ、更に、回転角設定画面２２２及び移動量設定画面２２４を用いて、前記選択されたフレームに対して容易に動作データを書き込むことができる。
【０２１６】
また、第２のウィンドウ画面２０４として、第１のウィンドウ画面２０２に表示されているオブジェクト２００を構成する１以上のパーツを選択するためのパーツ選択画面２２８を有するようにしている。
【０２１７】
これにより、ポリゴン単位ではなく、ポリゴンよりも大きな構成単位であるパーツ毎に動作データを作成することができるため、動作データの作成時間を大幅に短縮することができ、しかも、オブジェクト２００の動きを容易に把握することができる。
【０２１８】
また、本実施の形態においては、外部の記憶装置、例えばメモリカード１４等に対して、動作データファイル２４４をアクセスするためのメモリカードアクセス画面２６０を表示するようにしている。
【０２１９】
これにより、予め作成した動作データファイル２４４あるいはユーザが作成した動作データファイル２４４をメモリカード１４等を通じて自由にアクセスすることが可能になる。なお、メモリカード１４に代えて、携帯可能な例えばＣＤ−Ｒ、ＤＶＤ−Ｒ等を用いてもよい。
【０２２０】
また、本実施の形態では、設定された任意のフレームのうち、指定したフレーム間（第１のフレームと第２のフレームとの間のフレーム）の動作データを補間処理するようにしている。これにより、ユーザは、第１のフレームにおける動作データと第２のフレームにおける動作データを入力するだけで、その間の複数のフレームにおける動作データが自動的に作成されることとなるため、動作データファイル２４４の作成をより簡単にすることができ、いままで専門家しか行わなかったアニメーション作成をエンドユーザや専門家以外の者も簡単に行うことが可能となり、アニメーション作成の普及に貢献することができる。
【０２２１】
また、選択された任意の２つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列し、この再配列された動作データ群を、動作データファイル２４４のうち、任意のフレーム以降に登録するようにしている。これにより、例えば走るや歩くなどの連続動作に関するアニメーションを簡単に作成することができる。
【０２２２】
また、本実施の形態では、モニタ１８の画面上に表示されたカーソル２５０を、コントローラ１６からの方向キー５１ａ〜５１ｄ、ジョイスティック７０又は７２に関する操作入力に基づいて移動させ、更に、コントローラ１６からの特定の操作入力（例えばＲ１ボタン５４ａの操作入力）に基づいて、カーソル２５０の移動速度を変化させるようにしている。これにより、カーソル２５０の移動を別の操作子を使って簡単に切り換えることができるようになるため、操作性の向上を図ることができる。
【０２２３】
なお、この発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【０２２４】
【発明の効果】
以上説明したように、本発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置によれば、オブジェクトの動作データファイルをＧＵＩ（グラフィカル・ユーザ・インターフェイス）を用いて簡単に作成することができる。
【０２２５】
また、本発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置によれば、操作性の向上を図ることができる。
【図面の簡単な説明】
【図１】本実施の形態に係るエンタテインメントシステムを示す構成図である。
【図２】本実施の形態に係るエンタテインメントシステムの回路構成を示すブロック図である。
【図３】左右のジョイスティックの操作による垂直値及び水平値の関係を示す説明図である。
【図４】初期画面を示す説明図である。
【図５】第１〜第３のグラフィック画面を示す説明図である。
【図６】回転角設定画面、移動量設定画面及び光源設定画面を示す説明図である。
【図７】パーツ情報テーブルの内訳を示す説明図である。
【図８】ポリゴンデータファイルの内訳を示す説明図である。
【図９】動作データファイルの内訳を示す説明図である。
【図１０】第１のドロップメニュー画面を示す説明図である。
【図１１】メモリカードアクセス画面を示す説明図である。
【図１２】第２のドロップメニュー画面を示す説明図である。
【図１３】第３のドロップメニュー画面を示す説明図である。
【図１４】サブウィンドウ画面を示す説明図である。
【図１５】補間処理並びに左右反転処理の概念を示す説明図である。
【図１６】ウィンドウ情報テーブルの内訳を示す説明図である。
【図１７】本実施の形態に係るソフトウエア（アニメーション作成ツール）の処理動作を示すフローチャート（その１）である。
【図１８】アニメーション作成ツールの処理動作を示すフローチャート（その２）である。
【図１９】アニメーション作成ツールの処理動作を示すフローチャート（その３）である。
【図２０】アニメーション作成ツールの処理動作を示すフローチャート（その４）である。
【図２１】動作データ設定処理を示すフローチャートである。
【図２２】回転角設定処理を示すフローチャートである。
【図２３】移動量設定処理を示すフローチャートである。
【図２４】光源設定処理を示すフローチャートである。
【図２５】キーファイル設定処理を示すフローチャートである。
【図２６】フレーム情報テーブルの内訳を示す説明図である。
【図２７】拡張機能処理を示すフローチャート（その１）である。
【図２８】拡張機能処理を示すフローチャート（その２）である。
【図２９】補間処理を示すフローチャートである。
【図３０】カメラ設定処理を示すフローチャート（その１）である。
【図３１】カメラ設定処理を示すフローチャート（その２）である。
【図３２】メモリカードアクセス処理を示すフローチャートである。
【図３３】画像描画処理を示すフローチャート（その１）である。
【図３４】画像描画処理を示すフローチャート（その２）である。
【符号の説明】
１０…エンタテインメントシステム  １２…エンタテインメント装置
１４…メモリカード                １６…コントローラ
１８…モニタ                      ２００…オブジェクト
２０２…第１のウィンドウ画面      ２０４…第２のウィンドウ画面
２１０…カメラ設定画面
２１２、２１２Ａ〜２１２Ｃ…第１〜第３のグラフィック画面
２２０…キーファイル設定画面      ２２２…回転角設定画面
２２４…移動量設定画面            ２２６…光源設定画面
２２８…パーツ選択画面            ４０１…ＣＰＵ
４０２…メインメモリ              ４０５…ＲＡＭ（画像メモリ）
【図１】
0003682020.tif 000002
【図２】
0003682020.tif 000003
【図３】
0003682020.tif 000004
【図４】
0003682020.tif 000005
【図５】
0003682020.tif 000006
【図６】
0003682020.tif 000007
【図７】
0003682020.tif 000008
【図８】
0003682020.tif 000009
【図９】
0003682020.tif 000010
【図１０】
0003682020.tif 000011
【図１１】
0003682020.tif 000012
【図１２】
0003682020.tif 000013
【図１３】
0003682020.tif 000014
【図１４】
0003682020.tif 000015
【図１５】
0003682020.tif 000016
【図１６】
0003682020.tif 000017
【図１７】
0003682020.tif 000018
【図１８】
0003682020.tif 000019
【図１９】
0003682020.tif 000020
【図２０】
0003682020.tif 000021
【図２１】
0003682020.tif 000022
【図２２】
0003682020.tif 000023
【図２３】
0003682020.tif 000024
【図２４】
0003682020.tif 000025
【図２５】
0003682020.tif 000026
【図２６】
0003682020.tif 000027
【図２７】
0003682020.tif 000028
【図２８】
0003682020.tif 000029
【図２９】
0003682020.tif 000030
【図３０】
0003682020.tif 000031
【図３１】
0003682020.tif 000032
【図３２】
0003682020.tif 000033
【図３３】
0003682020.tif 000034
【図３４】
0003682020.tif 000035