JP3682020B2 - Recording medium, program, program execution system, and program execution apparatus - Google Patents
Recording medium, program, program execution system, and program execution apparatus Download PDFInfo
- Publication number
- JP3682020B2 JP3682020B2 JP2001372838A JP2001372838A JP3682020B2 JP 3682020 B2 JP3682020 B2 JP 3682020B2 JP 2001372838 A JP2001372838 A JP 2001372838A JP 2001372838 A JP2001372838 A JP 2001372838A JP 3682020 B2 JP3682020 B2 JP 3682020B2
- Authority
- JP
- Japan
- Prior art keywords
- screen
- frame
- program execution
- window screen
- window
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
プログラム実行装置、操作装置、表示装置等を有するプログラム実行システムで使用されるプログラムやデータが記録された記録媒体と、プログラム自体と、前記プログラム実行システムと、前記プログラム実行装置に関する。
【0002】
【従来の技術】
ビデオゲーム機を含むエンタテインメント装置のような情報機器(エンタテインメントシステム)として、例えばCD−ROM等の記録媒体に格納されたゲーム内容をテレビジョン受像機の画面上に表示させながら、操作装置で操作してゲームを進行させるものがある。
【0003】
このエンタテインメントシステムにおけるエンタテインメント装置と操作装置との間は、通常、シリアルインターフェースで接続され、エンタテインメント装置からクロックが送られると、そのクロックに同期して操作装置から使用者の操作に対応したキースイッチ情報等を送るようになっている。
【0004】
また、最近では、操作装置内に外部(例えばエンタテインメント装置)からの要求によって使用者に振動を与える振動発生手段を設けるようにして、例えばゲームの進行中において、使用者の操作に応答するように種々の振動を使用者に与えるようにしたシステムが開発され、実用化に至っている。
【0005】
【発明が解決しようとする課題】
ところで、ビデオゲーム等に登場するオブジェクトにおいては、予めその動作が決まっており、使用者(ユーザ)が前記オブジェクトの動作を決めることはない。
【0006】
その理由は、動作データファイルの作成が非常に面倒であることが1つの原因となっている。即ち、動作データファイルを作成する作業としては、オブジェクトの動作状態をフレーム単位に設定し、登録する作業が主体となるが、1フレームが1/60(秒)であることから、オブジェクトに対し、たった1秒の動作を行わせる場合にも、60フレーム分の動作データが必要となる。
【0007】
しかし、オブジェクトの動きをユーザが簡単に設定できるようにすれば、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ(プログラマ等)においても、簡単に動作データが作成できれば、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができるという利点がある。
【0008】
本発明はこのような課題を考慮してなされたものであり、オブジェクトの動作データファイルをGUI(グラフィカル・ユーザ・インターフェイス)を用いて簡単に作成することができる記録媒体、プログラム、プログラム実行システム及びプログラム実行装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明に係る記録媒体は、各種プログラムを実行するプログラム実行装置と、使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも1つの操作装置と、前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムを、あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記画面表示手段は、選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
また、本発明に係るプログラムは、上述したプログラム実行システムを、あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムにおいて、前記画面表示手段は、選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
また、本発明に係るプログラム実行システム及びプログラム実行装置は、あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段を有し、前記画面表示手段は、選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする。
【0010】
これにより、使用者(ユーザ)は、第1のウィンドウ画面に表示されたオブジェクトの動作状態を確認しながら、第2のウィンドウ画面を用い、操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成することができる。
【0011】
この場合、ユーザは、任意のフレームにおける動作状態を入力するだけでよいため、例えばオブジェクトの動きが切り換わるときの状態を任意のフレームに入力すれば、簡単に前記オブジェクトの動作データファイルが作成されることになる。
また、選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することから、例えば走るや歩くなどの連続動作に関するアニメーションを簡単に作成することができる。
【0012】
なお、第1及び第2のウィンドウ画面は、ウィンドウ画面であることから、背景上、空いた箇所に表示させることができると共に、操作入力によって表示装置の画面上を自由に移動させることができ、しかも、自由に閉じる(消去する)こともできる。
【0013】
このように、本発明においては、オブジェクトの動作データファイルをGUI(グラフィカル・ユーザ・インターフェイス)を用いて簡単に作成することができる。そのため、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ(プログラマ等)においても、簡単に動作データファイルを作成できるため、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができる。
【0014】
そして、前記第1のウィンドウ画面は、前記1以上の視点のうち、任意の視点に切り換えるための第3のウィンドウ画面と、前記オブジェクトを少なくとも前記切り換えられた視点から見て示す第4のウィンドウ画面とを有するようにしてもよい。
【0015】
この場合、ユーザは、第3のウィンドウ画面を用いて視点を切り換え、その切り換わった視点からオブジェクトがどのような形態となっているかを第4のウィンドウ画面を見ながら容易に確認することができる。
【0016】
また、前記第2のウィンドウ画面は、前記動作データを設定すべきフレームを決定するための第5のウィンドウ画面と、決定されたフレームにおける動作データを設定するための第6のウィンドウ画面とを有するようにしてもよい。
【0017】
この場合、第5のウィンドウ画面を用いて、動作データを作成すべきフレームを自由に選択することができ、更に、第6のウィンドウ画面を用いて、前記選択されたフレームに対して容易に動作データを書き込むことができる。
【0018】
また、前記第2のウィンドウ画面は、前記第1のウィンドウ画面に表示されている前記オブジェクトを構成する1以上のパーツを選択するための第7のウィンドウ画面を有するようにしてもよい。
【0019】
これにより、ポリゴン単位ではなく、ポリゴンよりも大きな構成単位であるパーツ毎に動作データを作成することができるため、動作データの作成時間を大幅に短縮することができ、しかも、オブジェクトの動きを容易に把握することができる。
【0020】
また、前記画面表示手段は、外部の記憶装置に対し、前記動作データファイルをアクセスするための第8のウィンドウ画面を表示する手段を有するようにしてもよい。
【0021】
これにより、予め作成した動作データファイルあるいはユーザが作成した動作データファイルを外部の記憶装置を通じて自由にアクセスすることが可能になる。この場合、外部の記憶装置を携帯可能な例えばメモリカードやCD−R、DVD−R等で構成すれば、いつでも誰でも前記動作データファイルを参照することができる。
【0022】
また、前記画面表示手段は、設定された任意のフレームのうち、第1のフレームにおける動作データと第2のフレームにおける動作データに基づいて、第1のフレームと第2のフレーム間に存する1以上のフレームの動作データを補間処理する手段を有するようにしてもよい。
【0023】
これにより、ユーザは、第1のフレームにおける動作データと第2のフレームにおける動作データを入力するだけで、その間の複数のフレームにおける動作データが自動的に作成されることとなるため、動作データファイルの作成をより簡単にすることができ、いままで専門家しか行わなかったアニメーション作成をエンドユーザや専門家以外の者も簡単に行うことが可能となり、アニメーション作成の普及に貢献することができる。
【0028】
【発明の実施の形態】
本発明に係るプログラム実行システム及びプログラム実行装置をエンタテインメントシステムに適用した実施の形態例と、本発明に係る記録媒体及びプログラムを前記エンタテインメントシステムで実行されるプログラムやデータが記録された記録媒体及びプログラムに適用した実施の形態例について図1〜図34を参照しながら説明する。
【0029】
まず、本実施の形態に係るエンタテインメントシステム10は、基本的には、図1に示すように、各種プログラムを実行させるエンタテインメント装置12と、該エンタテインメント装置12に対して着脱自在とされるメモリカード14と、エンタテインメント装置12に対して着脱自在とされた操作装置(コントローラ)16と、エンタテインメント装置12からの映像・音声信号が供給されるテレビ受像機等の表示装置であるモニタ(ディスプレイ)18とから構成される。
【0030】
エンタテインメント装置12は、例えば、CD−ROMやDVD−ROM等の光ディスク20等の大容量記憶媒体に記録されているプログラムを読み出して、使用者(例えば、ユーザ、ゲームプレイヤ等)からの指示に応じてゲーム等を実行するためのものである。なお、ゲームの実行とは、主として、コントローラ16からの入力をコネクタ15を通じて受け、モニタ18上における表示や音声を制御しながらゲームの進行を制御することをいう。
【0031】
このエンタテインメント装置12は、図1に示すように、扁平な直方体を重ねた形状を有しており、前面パネルには、プログラム・データの記録媒体である光ディスク20が装着されるディスク装着部としての前後に移動するディスクトレイ22と、現在実行中のプログラム等を任意にリセット等するためのリセットスイッチ24と、ディスクトレイ22を引き出すためのオープンボタン26と、メモリカード14の2つの差込口30と、コントローラ16のコネクタ15が差し込まれる2つのコントローラ端子32等とが配置され、背面側には、電源スイッチ28、映像と音声の出力端子であり、AV(audio visual)ケーブルを介してモニタ18と接続される図示していないAVマルチ出力端子等が配置されている。
【0032】
エンタテインメント装置12は、コンピュータゲーム(ビデオゲーム)のプログラムやデータが記録されたCD−ROM、DVD−ROM等の記録媒体である光ディスク20から当該プログラムを読み取り、それを実行することによりモニタ18にキャラクタやシーンを表示させる制御機能のほか、他の光ディスク20であるDVD(digital video disk)による映画の再生およびCDDA(compact disk digital audio)による音楽の再生等の各種制御機能が内蔵されている。また、通信ネットワーク等を介して通信により得られるプログラムを実行する機能も有する。ゲームプログラムの実行中には、表示装置としてのモニタ18上にエンタテインメント装置12が生成した3次元コンピュータグラフィックス映像が表示される。
【0033】
この場合、コントローラ16からの信号も、エンタテインメント装置12の上記制御機能の1つによって処理され、その内容がモニタ18の画面上の、例えばキャラクタの動き、シーンの切り替えなどに反映されるようになっている。
【0034】
コントローラ16は、上面の中央左右に第1、第2操作部51、52が設けられ、側面には第3、第4操作部53、54が設けられ、上面の手前側左右には、アナログ操作を行うためのそれぞれがジョイスティックである左側のジョイスティック70と右側のジョイスティック72とが設けられている。
【0035】
第1操作部51は、たとえばモニタ18の画面に表示されたキャラクタ等に動作を与えるための押圧操作部であり、光ディスク20に記録されているプログラム等によりその機能が設定され、キャラクタ等を上下左右等に動かす機能を有する4つの操作キー(方向キーともいう。)51a、51b、51c、51dから構成されている。方向キー51aは上方向キー、方向キー51bは下方向キー、方向キー51cは左方向キー、方向キー51dは右方向キーともいう。
【0036】
第2操作部52は、押圧操作用の円柱状をした4個の操作ボタン52a、52b、52c、52dを有し、各操作ボタン52a〜52dの頭部には、それぞれ「△」、「○」、「×」、「□」の識別マークが付けられている。各操作ボタン52a〜52dは、それぞれ△ボタン52a、○ボタン52b、×ボタン52c、□ボタン52dともいう。
【0037】
この第2操作部52の各操作ボタン52a〜52dは、光ディスク20に記録されたプログラム等によりその機能が設定され、各操作ボタン52a〜52dに、たとえばキャラクタ等の左腕、右腕、左足、右足を動かす機能が割り付けられる。
【0038】
第3、第4操作部53、54は、ほぼ同じ構造を有しており、ともに上下に並ぶ押圧操作用の2個の操作ボタン(L1ボタンともいう。)53a、操作ボタン(L2ボタンともいう。)53b、および操作ボタン(R1ボタンともいう。)54a、操作ボタン(R2ボタンともいう。)54bを備えている。これら第3、第4操作部53、54も、光ディスク20に記録されたプログラムによりその機能が設定され、たとえばキャラクタに特殊な動作をさせる機能が割り付けられる。
【0039】
左右のジョイスティック70、72は、それぞれ操作軸を中心に360゜方向に傾動、回転可能とされる可変抵抗器等の信号入力素子を備えており、傾動、回転に応じてアナログ値が出力される。また、この左右のジョイスティック70、72は、図示していない弾性部材により中立位置に復帰するようになっている。なお、左右のジョイスティック70、72は、それぞれ下方に押圧することによって、ジョイスティック70、72の傾動、回転に伴うアナログ値とは別の信号が出力される。つまり、左右のジョイスティック70、72は、押圧操作用の第5、第6操作部としての操作ボタン(L3ボタン)70a、(R3ボタン)72aの機能を有している。
【0040】
左右のジョイスティック70、72を回転、傾動操作することにより、たとえばキャラクタ等を回転させながら移動させ、あるいは速度を可変しながら移動させ、さらには状態を変更させる等のアナログ的な動きを行うことを可能とする指令信号を入力することが可能となる。
【0041】
図1において、左右のジョイスティック70、72は、前記第1及び第2操作部51、52と切り換えて使用可能となる。その切換えは、アナログモードスイッチ74により行う。アナログモードスイッチ74により左右のジョイスティック70、72が選択されると、表示部76が点灯して、左右のジョイスティック70、72の選択状態を表示するようになっている。
【0042】
左右のジョイスティック70、72を操作することによって得られるアナログ入力値は、図3に示すように、垂直方向について上から下に向けて「0」〜「255」とされ、水平方向について左から右に向けて「0」〜「255」とされている。
【0043】
コントローラ16には、上記のほかにゲーム等の開始を指示するスタートボタン(スタートスイッチ)78や、ゲーム開始に際してゲームの難易度等を選択するためのセレクトボタン(選択スイッチ)80などが設けられている。
【0044】
次に、図2のブロック図を参照して、図1に示したエンタテインメント装置12の内部構成とその一般的な動作について説明する。
【0045】
このエンタテインメント装置12は、該エンタテインメント装置12を制御するCPU401に対して、半導体メモリとしてのRAM(メインメモリ)402及びバス403がそれぞれ接続されて構成されている。
【0046】
前記バス403には、グラフィックシンセサイザー(GS)404、インプットアウトプットプロセッサ(IOP)409がそれぞれ接続される。GS404には、フレームバッファ、Zバッファおよびテクスチャメモリ等を含むRAM(画像メモリ)405と、このRAM405中のフレームバッファへの描画機能を含むレンダリング機能を有するレンダリングエンジン406とが含まれる。
【0047】
このように構成されるGS404には、例えばデジタルRGB信号等をNTSC標準テレビジョン方式に変換するためのエンコーダ407を介して、外部機器としてのモニタ18が接続される。
【0048】
IOP409には、光ディスク20に記録されているデータを再生し、デコードするためのドライバ(DRV)410、サウンド生成系412、フラッシュメモリからなる外部メモリとしてのメモリカード14、コントローラ16およびオペレーティング・システム等の記録されたROM416がそれぞれ接続される。サウンド生成系412は、増幅器413を介して、外部機器としてのスピーカ414およびモニタ18に接続され、音声信号を供給する。
【0049】
サウンド生成系412は、CPU401からの指示に基づいて、楽音、効果音等を発生する音声処理装置(Sound Processing Unit:SPU)420と、このSPU420により発生された楽音、効果音等を記憶しているサウンドバッファ422とを有する。SPU420によって発生される楽音、効果音等の信号は、スピーカ414やモニタ18の音声端子に供給され、これらスピーカ414やモニタ18のスピーカから楽音、効果音等として出力(発音)するようになっている。
【0050】
ここで、SPU420は、例えば16ビットの音声データを4ビットの差分信号として適応予測符号化(ADPCM:Adaptive Differential PCM)された音声データを再生するADPCM復号機能と、サウンドバッファ422に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ422に記憶されている波形データを変調させて再生する変調機能等を備えている。
【0051】
このような機能を備えるサウンド生成系412は、CPU401からの指示によってサウンドバッファ422に記録された波形データに基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【0052】
また、メモリカード14は、たとえばCPUもしくはゲートアレイおよびフラッシュメモリからなるカード型の外部記憶装置であって、図2に示されたエンタテインメント装置12に対し、その差込口30を介して着脱自在となっており、ゲームの途中状態が記憶されたり、DVD再生用のプログラム等が記憶されている。
【0053】
コントローラ16は、搭載された複数のボタンの押圧により、指令(2値指令または多値指令)をエンタテインメント装置12に与えるためのものである。また、ドライバ410は、MPEG(moving picture experts group)標準に基づいてエンコードされた画像をデコードするためのデコーダを備えている。
【0054】
次に、この実施の形態に係るエンタテインメントシステム10が有する特徴的な機能、即ち、例えば光ディスク20やメモリカード14のようなランダムアクセス可能な記録媒体、さらにはネットワークによってエンタテインメント装置12に提供されるプログラムによって実現される機能について図4〜図34を参照しながら説明する。
【0055】
この機能は、あるオブジェクトについてアニメーション表示するための動作データファイルを作成するもの、即ち、アニメーション作成ツールであって、例えば図4に示すように、あるオブジェクト200を1以上の視点(本実施の形態では3つの視点)から見たときの状態をそれぞれ表示する第1のウィンドウ画面202と、コントローラ16からの操作入力に基づいてオブジェクト200の任意のフレームにおける動作状態を設定して該オブジェクト200の動作データファイルを作成するための第2のウィンドウ画面204を表示するというものである。
【0056】
第1のウィンドウ画面202は、3つの視点のうち、任意の視点に切り換えるためのカメラ設定画面210と、オブジェクト200を3つの視点からそれぞれ表示する3つのグラフィック画面212A〜212C(図5参照)とを有する。もちろん、3つのグラフィック画面212A〜212Cをすべて表示するのではなく、3つのグラフィック画面212A〜212Cのうち、オブジェクト200を切り換えられた視点から表示する1つのグラフィック画面のみを表示するようにしてもよい。図4では第1のグラフィック画面212Aを表示した例を示す。また、以下の説明では、3つのグラフィック画面212A〜212Cを総称してグラフィック画面212と記す。
【0057】
一方、第2のウィンドウ画面204は、動作データを設定すべきフレームを決定するためのキーファイル設定画面220と、決定されたフレームにおける動作データを設定するための回転角設定画面222及び移動量設定画面224と、光源の色や位置を設定するための光源設定画面226(図6参照)と、グラフィック画面212に表示されているオブジェクト200を構成する複数のパーツを選択するためのパーツ選択画面228とを有する。
【0058】
これらウィンドウ画面202、204は、背景画面(背景部分)230上、空いた箇所に表示させることができると共に、操作入力によってモニタ18の画面上を自由に移動させることができ、しかも、自由に閉じる(消去する)こともできる。
【0059】
ここで、本実施の形態に係るアニメーション作成ツールの使用方法、即ち、これらウィンドウ画面202、204を見ながら動作データファイルを作成する手順の一例について説明する。
【0060】
まず、1つのオブジェクト200を3D画像でアニメーション表示する場合、オブジェクト200を構成する複数のパーツ毎の情報が登録されたパーツ情報テーブル240(図7参照)と、各パーツを構成するポリゴンの頂点データ等が格納された複数のポリゴンデータファイル242(図8参照)と、各パーツの動きをフレーム順次に記録した複数の動作データファイル244(図9参照)とが使用される。
【0061】
パーツ情報テーブル240は、図7に示すように、1つのオブジェクト200を構成するパーツの数に相当するレコードを有し、各レコードには、対応するパーツのパーツ名、基準座標(回転の支点となる座標)、回転の動作点の初期座標(基準座標からみた相対座標)、テクスチャテーブルのアドレス及びポリゴンデータファイルのアドレス等が登録されている。
【0062】
動作データファイル244は、図9に示すように、各パーツ毎に用意され、予め設定された最大フレームの数に相当するレコードを有し、各レコードには、基準座標と該基準座標からみた動作点の相対座標が格納されるようになっている。初期段階では、各動作データファイルの全てのレコードには、それぞれ対応するパーツの基準座標と動作点の初期座標(いずれもパーツ情報テーブルに登録された座標)が格納される。
【0063】
ポリゴンデータファイル242は、図8に示すように、各パーツ毎に用意され、当該パーツを構成するポリゴンの数に相当するレコードを有し、各レコードには、ポリゴンの頂点データやテクスチャポインタ等が登録されている。頂点データのうち、各頂点の座標情報は、対応するパーツにおける前記動作点からみた相対座標として設定されている。
【0064】
そして、アニメーション作成ツールを起動すると、モニタ18の画面上には、初期画面が表示される。この初期画面としては、例えば図4に示すように、第1のグラフィック画面212A(オブジェクト200を第1のカメラ視点から見て示す画面)、カメラ設定画面210、パーツ選択画面228、回転角設定画面222、移動量設定画面224及びキーファイル設定画面220を含めたものがある。
【0065】
次に、各画面の表示部分以外の背景部分230にカーソル250を合わせて、例えば×ボタン52cを操作することで、図10に示すように、ウィンドウ画面の選択を示す帯252とメモリカード14の操作を示す帯254を有する第1のドロップメニュー画面256が表示され、メモリカード14の操作を示す帯254にカーソル250を合わせることで、図11に示すように、メモリカードアクセス画面260が表示される。
【0066】
差込口30にメモリカード14が挿入されている場合は、該メモリカード14からパーツ情報テーブル240、ポリゴンデータファイル242や動作データファイル244に関するファイル名が読み出されてメモリカードアクセス画面260の枠内に表示される。
【0067】
そして、ファイルを読み込む場合は、読み込みたいファイル名にカーソル250を合わせて、例えば○ボタン52bを操作することでファイル名が選択され、更に、カーソル250を移動させてメモリカードアクセス画面260の下部に表示されているアイコンのうち、「LOAD」のアイコン262にカーソル250を合わせて、例えば○ボタン52bを操作することで前記選択されたファイル名に対応するパーツ情報テーブル240、ポリゴンデータファイル242や動作データファイル244がエンタテインメント装置12のメインメモリ402に読み込まれる。
【0068】
なお、メモリカードアクセス画面260の下部に表示されている「LOAD」以外のアイコンについて概略説明すると、「SAVE」のアイコン264は、エンタテインメント装置12のメインメモリ402に格納されている動作データファイル244をメモリカード14に保存するために使用される。このとき、保存にあたっては、図示しないファイル名の入力画面が表示されるため、該入力画面の案内に沿って文字等を入力することで、簡単にファイル名を入力することができる。
【0069】
「CHECK」のアイコン266は、メモリカード14内にどのようなファイルが格納されているかをチェックするために使用される。「CANCEL」のアイコン268は、このメモリカードアクセス画面260を消去する際に使用される。
【0070】
また、モニタ18の画面に表示されるウィンドウ画面は、前記初期画面に含まれるいくつかのウィンドウ画面のほかに、図5に示すような第2のグラフィック画面212B(オブジェクト200を第2のカメラ視点から見て示す画面)及び第3のグラフィック画面212C(オブジェクト200を第3のカメラ視点から見て示す画面)並びに図6に示すような光源設定画面226がある。
【0071】
これらのウィンドウ画面を表示する場合は、図10に示す第1のドロップメニュー画面256を表示させ、ウィンドウ画面の選択を示す帯252にカーソル250を合わせることで、図12に示すように、各種ウィンドウ画面の種類が表示された第2のドロップメニュー画面270が表示されるため、これらの中から任意に選択すればよい。
【0072】
また、各グラフィック画面212A〜212Cにおいてオブジェクト200を表示させる場合には、図5や図14に示すように、地面272を表示させた方がオブジェクト200の動作を認識しやすい場合がある。そこで、グラフィック画面212において地面272を表示させる場合は、任意のグラフィック画面212のカーソル250を合わせて、例えば×ボタン52cを操作することで、図13に示すように、地面272の表示/非表示を示す第3のドロップメニュー画面274が表示されるため、該当する項目にカーソル250を合わせて例えば○ボタン52bを操作すればよい。
【0073】
地面272の表示を選択した場合は、更に、図14に示すように、地面272の高さを設定するためのサブウィンドウ画面276が表示される。地面272の高さを設定する方法は、高さの値が表示されている部分にカーソル250を合わせて例えば○ボタン52bや×ボタン52cを操作することで、地面272の高さを設定することができる。ここでは、○ボタン52bを操作することで地面272が上昇し、×ボタン52cを操作することで地面272が下降する設定となっている。
【0074】
上述したように、メモリカード14からオブジェクト200のパーツ情報テーブル240及びポリゴンデータファイル242等を読み込んだ段階で、現在表示されているグラフィック画面、例えば第1のグラフィック画面212A上に、第1のカメラ視点から見たオブジェクト200の状態が表示されることになる。
【0075】
このオブジェクト200の3D画像の表示、特に、動作データファイル244を読み込まない場合における表示は、まず、パーツ情報テーブル240の各レコードに登録されている動作点の初期座標を、各動作データファイル244が格納される部分の全てのレコードに格納して初期段階の動作データファイル244を作成する。
【0076】
その後、各パーツの基準座標と各動作データファイル244の0レコード目に格納された動作点の初期座標から各パーツの配置位置を決定し、更に、各パーツ毎のポリゴンデータファイル242に格納されたポリゴン情報から各パーツを構成するポリゴンの配置を決定し、これらポリゴンについて、光学特性や質感表現を行い、更にスクリーン座標として透視変換し、更に必要であればテクスチャマッピングを行うことで画像メモリ405にオブジェクト200の3D画像が表示されることになる。
【0077】
このオブジェクト200の3D画像の表示と同時に、オブジェクト200を構成する複数のパーツに関する名称(パーツ名)がパーツ選択画面228に表示される。図4の例では、人間の形をしたオブジェクト200が走っている途中の状態を示す。
【0078】
次に、カーソル250を移動させて、キーファイル設定画面220の「CF」における近傍の枠280にカーソル250を合わせ、続けて○ボタン52bや×ボタン52cを操作して、例えば「0」に設定する。これによって、0フレーム目が選択されることになる。
【0079】
次に、パーツ選択画面228に表示された複数の名称のうち、任意の名称にカーソル250を合わせて例えば○ボタン52bを操作することで、対応するパーツが選択され、同時に、グラフィック画面212に表示されているオブジェクト200のうち、選択されたパーツの部分に該パーツが選択されたことを示す半透明のサブオブジェクト282が表示されることになる。このサブオブジェクト282は、選択されたパーツの外形形状を少し拡大したような形を有し、青色の半透明を呈している。このサブオブジェクト282の表示によって、どの部分が選択されたかを一見して認識することができる。
【0080】
次に、回転角設定画面222のX、Y及びZの枠にそれぞれカーソル250を合わせて、例えば○ボタン52bや×ボタン52cを操作することで、数値を入力する。これらの数値は、例えばXについてみると、選択したパーツにおいて、基準座標を支点にしてX軸を中心に動作点を回転させる場合の回転角を示す。Y及びZについても同様である。動作点が回転されることで、そのパーツを構成するポリゴンの頂点データが書き換えられ、当該パーツは、基準座標を支点として回転することとなる。
【0081】
そして、○ボタン52bを操作することで、回転角が正方向に進み、これによってグラフィック画面212に表示されているオブジェクト200のうち、前記選択されたパーツが前記選択された軸を中心に右回りし、×ボタン52cを操作することで、回転角が負方向に進み、前記選択されたパーツが前記選択された軸を中心に左回りする。
【0082】
なお、移動量設定画面224は、選択されたパーツの基準座標を任意の方向に移動させる場合に使用される。また、光源設定画面226は、X、Y及びZに関する数値を変更することで、光源の位置が設定され、R、G及びBに関する数値を変更することで、光源の発色が設定されるようになっている。これによって、太陽光、蛍光灯や白熱電灯等に似せた光源とすることが可能となる。
【0083】
例えば、前記各種数値の変更の際において、オブジェクト200の表示位置や拡大率等を変更する場合は、カメラ設定画面210を用いて行うことができる。例えば、カメラ設定画面210における1番上のアイコン290は、オブジェクト200の表示位置や拡大率を変更する対象のグラフィック画面212を選択するために使用され、該アイコン290にカーソル250を合わせて例えば○ボタン52bを操作することで、「CAMERA1」→「CAMERA2」→「CAMERA3」→「CAMERA1」というように切り換わるようになっている。
【0084】
ここで、「CAMERA1」とした場合は、第1のグラフィック画面212Aを選択したことを示し、「CAMERA2」とした場合は、第2のグラフィック画面212Bを選択したことを示し、「CAMERA3」とした場合は、第3のグラフィック画面212Cを選択したことを示す。
【0085】
そして、回転を示すアイコン292にカーソル250を合わせた状態で、例えば方向キー51a〜51d、ジョイスティック70及び72を操作することで、現在選択中のグラフィック画面212における視点が、予め設定された軌跡に沿って移動することになる。この場合、方向キーが4つあることから、1つのグラフィック画面212に対して、それぞれ4つの軌跡が用意されている。
【0086】
拡大率を示すアイコン294は、オブジェクト200の表示に関する拡大率を変更するために使用される。拡大率を示すアイコン294にカーソル250を合わせた状態で、例えば左方向キー51cを操作することで、オブジェクト200が縮小表示され、右方向キー51dを操作することでオブジェクト200が拡大表示されるようになっている。なお、デフォルトを示すアイコン296は、視点の座標や拡大率を初期値に復帰させる場合に使用される。
【0087】
視点の位置や拡大率について個別に設定したい場合は、それぞれX、Y、Z、P等の数値を直接変更させることで簡単に設定することができる。なお、X、Y及びZは視点の座標を示し、Pは拡大率を示す。
【0088】
一方、キーファイル設定画面220には、時間軸300を象徴する線図と、上述した「CR」を含むアイコン群とがあり、アイコン群は、上述した「CF」のほかに、「RP」、再生関係のアイコン群並びに拡張機能関係のアイコン群(「R」、「D」、「C」、「M」、「F」及び「H」を示すアイコン群)がある。
【0089】
「CF」は、上述したように、フレームを選択するために使用されるが、「RP」は、再生するフレームの範囲を設定するために使用される。
【0090】
例えば、「RP」の近傍に表示されている2つの数字のうち、左側の数字は、再生開始のフレーム番号であり、右側の数字は、再生終了のフレーム番号である。
【0091】
時間軸300の上部には、前記再生開始のフレーム番号に対応する箇所に再生開始のフレームを示すマーク302と前記再生終了のフレーム番号に対応する箇所に再生終了のフレームを示すマーク304が表示されるようになっている。
【0092】
再生関係のアイコン群は、再生フレームを再生開始フレームに戻すことを示すアイコン306と、逆再生を示すアイコン308と、停止を示すアイコン310と、通常の再生を示すアイコン312と、再生フレームを再生終了フレームに進めることを示すアイコン314とを有する。
【0093】
「R」アイコン316は、動作データファイル244のうち、「CF」に示されたフレーム番号に対応するレコードに動作データ(設定中の動作データ)を記録するために使用される。「R」アイコン316を操作することで、時間軸300の上部のうち、「CF」に示されたフレーム番号に対応する部分に記録したことを示すマーク318が表示される。
【0094】
また、前記「R」アイコン316を操作(カーソル250をアイコンに合わせて○ボタン52bを操作)することで、記録したフレーム間における複数のフレームにおける動作データが、補間処理されて自動的に作成されて記録されることになる。
【0095】
例えば図15に示すように、各動作データファイル244の0レコード目(0フレーム目)に、オブジェクト200が例えば走る格好であって、かつ、右手を前にしている状態を示す動作データを記録し、10レコード目(10フレーム目)にオブジェクト200が走る途中の格好を示す動作データを記録したとき、各動作データファイル244の0フレームと10フレームの間にある1フレームから9フレームまでに、0フレーム目の状態から10フレーム目の状態に連続して移る過程(この場合、9ステップ)の動作データが補間処理によって作成されることになる。
【0096】
更に、各動作データファイル244の20レコード目(20フレーム目)に、オブジェクト200が例えば走る格好であって、かつ、左手を前にしている状態を示す動作データを記録した段階で、各動作データファイルの10フレームと20フレームの間にある11フレームから19フレームまでに、10フレーム目の状態から20フレーム目の状態に連続して移る過程(この場合も、9ステップ)の動作データが補間処理によって作成されることになる。
【0097】
この段階で、各動作データファイル244には、オブジェクト200が右手を前にした状態から左手を前にした状態まで連続して走る動作についての動作データが記録されることになる。
【0098】
次に、「D」アイコン319は、動作データファイル244のうち、「CF」に示されたフレーム番号に対応するレコードに登録されている動作データを削除するために使用される。
【0099】
「C」アイコン320は、動作データファイル244に登録された全ての動作データを削除するために使用され、「M」アイコン322は、時間軸300を拡大・縮小表示するために使用される。
【0100】
例えば図4では、時間軸300として0フレームから144フレームまでが表示されているが、この状態で「M」アイコン322を正方向に1回操作(カーソル250を合わせて例えば○ボタン52bを操作)すると、時間軸300は、0フレームから96フレームまでの拡大表示となる。同様に、更に「M」アイコン322を正方向に1回操作すると、時間軸300は、0フレームから48フレームまでの拡大表示となり、これ以上、「M」アイコン322を操作しても拡大表示は行われなくなる。
【0101】
反対に、時間軸300として0フレームから48フレームまでが表示されている状態で「M」アイコン322を負方向に1回操作(カーソル250を合わせて例えば×ボタン52cを操作)すると、時間軸300は、0フレームから96フレームまでの縮小表示となる。同様に、更に「M」アイコン322を負方向に1回操作すると、時間軸は、0フレームから144フレームまでの縮小表示となる。
【0102】
「F」アイコン324は、「RP」で示す2つのフレーム間で挟まれた複数のフレームにおける動作データについてそれぞれ左右反転を設定する際に使用される。この「F」アイコン324は、他のアイコンと連携して使用され、例えば、「F」アイコン324を操作(カーソル250を当該「F」アイコン324に合わせて○ボタン52bを操作)して特定のフレーム間についての左右反転を設定した後に、「CF」にて書き込む先頭フレームを設定し、更に、「R」アイコン316を操作することで、動作データファイル244のうち、「CF」で示すフレームから前記左右反転後の動作データが記録されることになる。
【0103】
例えば、図15に示すように、動作データファイル244の0レコード(0フレーム)から20レコード(20フレーム)にかけて、オブジェクト200が走っている状態の動作データ、例えば右手を前にした状態から左手を前にした状態の動作データが記録されている場合を想定する。
【0104】
このとき、「RP」にて0と20を選択し、続けて「F」アイコン324を操作する。この段階で、0フレームから20フレームの動作データについて左右反転がなされた動作データが作成され、ワークファイルに格納される。
【0105】
次いで、「CF」にて、前記左右反転された動作データを書き込むべき先頭フレームを設定し、続いて「R」アイコン316を操作することによって、前記ワークファイルに格納されていた左右反転後の動作データが、動作データファイル244のうち、「CF」にて設定されたフレーム以降に格納されることになる。例えば20フレームを設定した場合には、20フレームから40フレームに書き込まれることになる。
【0106】
その結果、「RP」にて0と40を設定して、例えば通常の再生を示すアイコン312を操作すれば、グラフィック画面212において、オブジェクト200が走る格好のアニメーション表示が行われることになる。
【0107】
更に、この機能では、カーソル250の移動速度を簡単な操作で変更できるようになっている。例えば、方向キー51a〜51d、ジョイスティック70又は72だけを操作することで、カーソル250が通常の速度で移動し、例えばR1ボタン54aを同時に操作しながら方向キー51a〜51d、ジョイスティック70又は72を操作することで、カーソル250が例えば2倍の速度で移動するようになっている。もちろん、この逆でもかまわない。
【0108】
次に、上述の機能を実現するためのソフトウエアについて図16〜図34を参照しながら説明する。
【0109】
このソフトウエアは、上述したように、例えば光ディスク20やメモリカード14のようなランダムアクセス可能な記録媒体、さらにはネットワークによって、エンタテインメント装置12に提供されるようになっている。ここでは、光ディスク20からエンタテインメント装置12に読み込まれて動作する場合を想定して説明を進める。
【0110】
即ち、これらソフトウエアは、例えば予めエンタテインメント装置12にて再生される特定の光ディスク20から所定の処理を経てエンタテインメント装置12のRAM402にダウンロードされることによって、CPU401上で動作されるようになっている。
【0111】
そして、このソフトウエアは、まず、図17のステップS1において、ウィンドウ情報テーブル500(図16参照)の初期設定を行う。この初期設定は、モニタ18の画面上に図4に示す初期画面を表示するために行われる。ウィンドウ情報テーブル500は、例えば図16に示すように、各レコードに、ウィンドウ画面の種別と、表示範囲と、優先度が格納される。優先度の高いものほど前面に表示されるようになっている。
【0112】
次に、ステップS2において、カーソル250の表示座標の初期設定を行う。この設定は、カーソル250を例えばモニタ18の画面の中央に表示させることなどである。続いて、ステップS3において、図4に示すように、モニタ18の画面上に初期画面を表示する。
【0113】
次に、ステップS4において、コントローラ16からの操作入力を待ち、操作入力があった段階で、次のステップS5に進み、現在のカーソル250の座標を読み出す。続いて、ステップS6において、メモリカードアクセス画面260が表示されているか否かを判別する。メモリカードアクセス画面260が表示されていなければ、次のステップS7に進み、方向キー51a〜51d、ジョイスティック70又は72の操作入力があるか否かを判別する。方向キー51a〜51d、ジョイスティック70又は72の操作入力があれば、次のステップS8に進み、R1ボタン54aが操作されているか否かを判別する。操作されていれば、次のステップS9に進み、カーソル250の移動ベクトル(この場合、高速移動)に基づいてカーソル250の移動先の座標を求める。
【0114】
一方、ステップS8において、R1ボタン54aが操作されていないと判別された場合は、ステップS10に進み、カーソル250の移動ベクトル(この場合、通常速度の移動)に基づいてカーソル250の移動先の座標を求める。
【0115】
次に、ステップS11において、○ボタン52bが操作されているか否かを判別する。操作されていれば、図18のステップS12に進み、ウィンドウ情報テーブル500に基づいて、現在のカーソル250の座標の位置に対応するウィンドウ画面を検索する。
【0116】
ウィンドウ画面があれば、次のステップS13を介してステップS14に進み、ウィンドウ情報テーブル500のうち、対応するウィンドウ画面の表示範囲を移動先のカーソル250の座標に基づいて書き換え、更に、優先度を最優先を示す値に書き換える。
【0117】
一方、図17のステップS7において、方向キー51a〜51d、ジョイスティック70又は72でないと判別された場合は、図19のステップS15に進み、ウィンドウ情報テーブル500の内容(表示範囲の情報)に基づいて、現在のカーソル250の座標の位置に対応するウィンドウ画面を検索する。
【0118】
次に、ステップS16において、検索された内容が、動作データの設定関係か否かを判別する。つまり、現在のカーソル250の座標の位置に対応するウィンドウ画面が回転角設定画面222、移動量設定画面224又は光源設定画面226であるかどうかを判別する。
【0119】
動作データの設定関係であれば、次のステップS17に進み、動作データ設定処理に入る。この動作データ設定処理は、まず、図21のステップS101において、現在のカーソル250の座標の位置に対応するウィンドウ画面が回転角設定画面222であるか否かを判別する。
【0120】
回転角設定画面222であれば、次のステップS102に進み、回転角設定処理に入る。この回転角設定処理は、まず、図22のステップS201において、パーツの選択が済んでいるか否かを判別する。パーツの選択が済んでいれば、次のステップS202に進み、X、Y又はZに関する回転角の変更か否かを判別する。回転角の変更であれば、次のステップS203に進み、当該パーツに対応する動作データファイル244のうち、選択した軸に関する回転角の今回の変更値に基づいて、当該フレームに対応するレコードの動作点の座標を変更する。
【0121】
なお、後述するメモリカードアクセス処理において、パーツ情報テーブル240やポリゴンデータファイル242を読み込んで、動作データファイル244を読み込まなかった場合は、各動作データファイル244の全レコードには、読み込まれたパーツ情報テーブル240に登録されているパーツ毎の基準座標と動作点の座標がそれぞれ格納される。従って、上述のようなテーブル等の読込みが終了した段階では、どのフレームを選択しても、オブジェクト200は、同じ状態(初期状態)で表示されることになる。
【0122】
前記ステップS202において、回転角の変更でないと判別された場合は、ステップS204に進み、個別初期化要求であるか否かを判別する。個別初期化であれば、次のステップS205に進み、選択した軸に関する回転角を初期値にし、当該パーツに対応する動作データファイル244のうち、当該フレームに対応するレコードの動作点の座標を、前記回転角の初期値への変更に基づいて変更する。
【0123】
前記ステップS204において、個別初期化でないと判別された場合は、ステップS206に進み、3軸(X、Y、Z)に関する回転角を共に初期値にし、当該パーツに対応する動作データファイル244のうち、当該フレームに対応するレコードの動作点の座標をローディング直後の値に戻す。
【0124】
前記ステップS203、ステップS205又はステップS206での処理が終了した段階、あるいは前記ステップS201においてパーツが選択されていないと判別された場合は、この回転角設定処理が終了する。
【0125】
図21のルーチンの説明に戻り、前記ステップS101において、現在のカーソル250の座標の位置に対応するウィンドウ画面が回転角設定画面222でないと判別された場合は、ステップS103に進み、移動量設定画面224であるか否かを判別する。移動量設定画面224であれば、次のステップS104に進み、移動量設定処理に入る。
【0126】
この移動量設定処理は、まず、図23のステップS301において、パーツの選択が済んでいるか否かを判別する。パーツの選択が済んでいれば、次のステップS302に進み、X、Y又はZに関する移動量の変更か否かを判別する。移動量の変更であれば、次のステップS303に進み、当該パーツに対応する動作データファイル244のうち、選択した軸に関する移動量の今回の変更値に基づいて、当該フレームに対応するレコードの基準座標を変更する。
【0127】
前記ステップS302において、移動量の変更でないと判別された場合は、ステップS304に進み、個別初期化要求であるか否かを判別する。個別初期化要求であれば、次のステップS305に進み、選択した軸に関する移動量を初期値にし、当該パーツに対応する動作データファイル244のうち、当該フレームに対応するレコードの基準座標を、前記移動量の初期値への変更に基づいて変更する。
【0128】
前記ステップS304において、個別初期化でないと判別された場合は、ステップS306に進み、3軸(X、Y、Z)に関する移動量を共に初期値にし、当該パーツに対応する動作データファイル244のうち、当該フレームに対応するレコードの基準座標をローディング直後の値に戻す。
【0129】
前記ステップS303、ステップS305又はステップS306での処理が終了した段階、あるいは前記ステップS301においてパーツが選択されていないと判別された場合は、この移動量設定処理が終了する。
【0130】
図21のルーチンの説明に戻り、前記ステップS103において、現在のカーソル250の座標の位置に対応するウィンドウ画面が移動量設定画面224でないと判別された場合は、ステップS105に進み、光源設定画面226であるか否かを判別する。光源設定画面226であれば、次のステップS106に進み、光源設定処理に入る。
【0131】
この光源設定処理は、まず、図24のステップS401において、光源位置(X、Y及びZ座標)の設定か否かを判別する。光源位置の設定であれば、次のステップS402に進み、光源の位置を、入力されたX、Y及びZ座標の位置に設定する。
【0132】
前記ステップS401において、光源位置の設定でない、即ち、光源発色の設定であると判別された場合は、ステップS403に進み、光源の発色に関する情報を、入力されたR、G及びBの値に基づいて設定する。
【0133】
前記ステップS402又はステップS403での処理が終了した段階で、この光源設定処理が終了する。
【0134】
図21のルーチンの説明に戻り、前記ステップS105において、現在のカーソルの座標の位置に対応するウィンドウ画面が光源設定画面226でないと判別された場合は、ステップS107に進み、操作入力に応じたその他の処理を行う。
【0135】
前記ステップS102、ステップS104、ステップS106又はステップS107での処理が終了した段階で、この動作データ設定処理が終了する。
【0136】
図19のメインルーチンの説明に戻り、前記ステップS16において、現在のカーソル250の座標の位置に対応するウィンドウ画面が動作データの設定関係でないと判別された場合は、ステップS18に進み、選択されたウィンドウ画面がパーツ選択画面228であるか否かを判別する。
【0137】
パーツ選択画面228であれば、次のステップS19に進み、パーツ選択画面228に表示されている複数のパーツ名のうち、現在のカーソル250の座標の位置に対応するパーツ名を確保する。
【0138】
前記ステップS18において、現在のカーソル250の座標の位置に対応するウィンドウ画面がパーツ選択画面228でないと判別された場合は、ステップS20に進み、選択されたウィンドウ画面がキーファイル設定画面220であるか否かを判別する。
【0139】
キーファイル設定画面220であれば、次のステップS21に進み、キーファイル設定処理に入る。このキーファイル設定処理は、図25に示すように、まず、ステップS501において、今回の選択がフレームの設定であるか否かを判別する。フレームの設定であれば、次のステップS502に進み、○ボタン52bや×ボタン52cの操作入力に応じて現在のフレーム番号を変更する。
【0140】
前記ステップS501において、フレームの設定でないと判別された場合は、ステップS503に進み、再生すべきフレームの範囲の設定であるか否かを判別する。フレームの範囲の設定であれば、左側の入力欄に対する○ボタン52bや×ボタン52cの操作入力に応じて再生開始のフレーム番号を変更し、右側の入力欄に対する○ボタン52bや×ボタン52cの操作入力に応じて再生終了のフレーム番号を変更する。
【0141】
前記ステップS503において、フレームの範囲の設定でないと判別された場合は、ステップS505に進み、再生関係であるか否かを判別する。再生関係であれば、次のステップS506に進み、再生処理を行う。
【0142】
この再生処理は、操作対象が通常の再生を示すアイコン312であれば、再生フラグに再生を示すビット情報をセットし、操作対象が停止を示すアイコン310であれば、再生フラグに停止を示すビット情報をセットする。
【0143】
また、操作対象がアイコン306であれば、再生フラグに再生を示すビット情報をセットし、かつ、現在のフレーム番号を再生開始フレームの番号とする。操作対象がアイコン314であれば、再生フラグに再生を示すビット情報をセットし、かつ、現在のフレーム番号を再生終了フレームの番号とする。
【0144】
前記ステップS505において、再生関係でないと判別された場合、即ち、拡張機能関係である場合は、次のステップS507に進み、拡張機能処理に入る。この拡張機能処理では、フレーム情報テーブル502が使用される。このフレーム情報テーブル502は、図26に示すように、動作データファイル244のうち、ユーザが動作データを記録したフレーム番号を格納するためのもので、各レコードには、フレーム番号と左右反転の判別ビットが登録されるようになっている。特に、0レコード目には、フレーム番号「0」が格納されている。
【0145】
そして、この拡張機能処理は、図27に示すように、まず、ステップS601において、操作対象が「R」アイコン316であるか否かを判別する。
【0146】
「R」アイコン316であれば、次のステップS602に進み、左右反転を選択中か否かを判別する。左右反転の選択中であれば、次のステップS603に進み、全てのパーツに関する動作データファイル244のうち、現在のフレーム番号に対応するレコードから、「RP」で設定した範囲に関する全てのパーツに関する動作データ(左右反転後の動作データ)を格納する。
【0147】
次に、ステップS604において、現在のフレーム番号をフレーム情報テーブル502の空いたレコードに登録し、次いで、該レコードに左右反転を示す判別ビットを「1」にセットする。
【0148】
前記ステップS602において、左右反転を選択中でないと判別された場合は、ステップS605に進み、現在のフレーム番号をフレーム情報テーブル502の空いたレコードに格納する。
【0149】
前記ステップS601において、操作対象が「R」アイコン316でないと判別された場合は、ステップS606に進み、操作対象が「D」アイコン319であるか否かを判別する。「D」アイコン319であれば、次のステップS607に進み、フレーム情報テーブル502から現在のフレーム番号を削除する。
【0150】
前記ステップS604、ステップS605又はステップS607での処理が終了した段階で、ステップS608に進み、フレーム情報テーブル502のレコードの並びをフレーム番号順に並び替える。
【0151】
その後、ステップS609において、補間処理に入る。この補間処理は、図29に示すように、まず、ステップS701において、フレーム番号の読み出しに使用されるインデックスレジスタiに初期値「1」を格納して、該インデックスレジスタiを初期化する。
【0152】
次に、ステップS702において、フレーム情報テーブル502の(i−1)レコード目に格納されているフレーム番号を読み出してレジスタR1に格納する。その後、ステップS703において、フレーム情報テーブル502のiレコード目に格納されているフレーム番号を読み出してレジスタR2に格納する。
【0153】
次に、ステップS704において、処理が終了したか否かを判別する。この判別は、レジスタR2に格納されているフレーム番号が無効であってEOF(エンド・オブ・ファイル)を示すものであるかどうかで行われる。
【0154】
レジスタR2に格納されているフレーム番号が有効である場合は、次のステップS705に進み、当該フレーム番号に対応する動作データが左右反転を示すものか否かを判別する。この判別は、当該レコードの判別ビットに「1」がセットされているかどうかで行われる。
【0155】
左右反転でなければ、次のステップS706に進み、指定されたフレーム間に2つ以上のフレームを含むか否かを判別する。この判別は、レジスタR2に格納されたフレーム番号からレジスタR1に格納されたフレーム番号を差し引いた値が2以上であるかどうかで行われる。
【0156】
前記フレーム間に2つ以上のフレームがある場合は、次のステップS707に進み、レジスタR1に格納されたフレーム番号に対応する動作データと、レジスタR2に格納されたフレーム番号に対応する動作データに基づいて、これらフレーム間に存在する複数のフレームの動作データを補間処理する。
【0157】
前記ステップS707での処理が終了した段階、あるいは前記ステップ706においてフレーム間に2つ以上のフレームがないと判別された場合、あるいは前記ステップS705において左右反転であると判別された場合は、次のステップS708に進み、インデックスレジスタiの値を+1更新する。
【0158】
その後、ステップS702に戻り、該ステップS702以降の処理を繰り返す。そして、前記ステップ704において、処理終了であると判別された段階で、この補間処理が終了する。
【0159】
図27のルーチンの説明に戻り、前記ステップS606において、操作対象が「D」アイコン319でないと判別された場合は、図28のステップS610に進み、操作対象が「C」アイコン320であるか否かを判別する。「C」アイコン320であれば、次のステップS611に進み、フレーム情報テーブル502を初期化する。
【0160】
前記ステップS610において、操作対象が「C」アイコン320でないと判別された場合は、ステップS612に進み、操作対象が「M」アイコン322であるか否かを判別する。「M」アイコン322であれば、次のステップS613に進み、時間軸300の拡大表示に関する段階値を+1更新する。この更新において、段階値が最大値を超える場合は、初期値に戻す。
【0161】
前記ステップS612において、操作対象が「M」アイコン322でないと判別された場合、即ち、「F」アイコン324であると判別された場合は、次のステップS614に進み、「RP」にて設定された範囲のフレームにおける動作データを確保し、次いで、ステップS615において、前記確保された動作データについて左右反転の動作データに変換する。
【0162】
前記ステップS609、ステップS611、ステップS613又はステップS615での処理が終了した段階で、この拡張機能処理が終了する。
【0163】
図25のルーチンの説明に戻り、前記ステップS502、ステップS504、ステップS506又はステップS507での処理が終了した段階で、このキーファイル設定処理が終了する。
【0164】
図19のメインルーチンの説明に戻り、前記ステップS20において、現在のカーソル250の座標の位置に対応するウィンドウ画面がキーファイル設定画面220でないと判別された場合は、ステップS22に進み、選択されたウィンドウ画面がカメラ設定画面210であるか否かを判別する。
【0165】
カメラ設定画面210であれば、次のステップS23に進み、カメラ設定処理に入る。このカメラ設定処理は、図30に示すように、まず、ステップS801において、操作対象がカメラの選択であるか否かを判別する。カメラの選択であれば、次のステップS802に進み、○ボタン52bや×ボタン52cの操作入力に応じてカメラの番号を変更する。
【0166】
前記ステップS801において、カメラの選択でないと判別された場合は、ステップS803に進み、カメラ視点の回転(変更)であるか否かを判別する。カメラ視点の回転であれば、次のステップS804に進み、方向キー51a〜51d、ジョイスティック70又は72が操作されているか否かを判別する。方向キー51a〜51d、ジョイスティック70又は72が操作されていれば、次のステップS805に進み、操作方向に応じた規定の軌跡に沿ってカメラ視点を変更し、該カメラ視点の座標を求める。
【0167】
前記ステップS804において方向キー51a〜51d、ジョイスティック70又は72でないと判別された場合は、X、Y及びZ座標に対する○ボタン52bや×ボタン52cの操作入力に応じてカメラ視点の座標を変更する。
【0168】
前記ステップS803において、カメラ視点の回転でないと判別された場合は、図31のステップS807に進み、拡大縮小であるか否かを判別する。拡大縮小であれば、次のステップS808に進み、左方向キー51c又は右方向キー51dが操作されているか否かを判別する。これらの方向キー51c又は51dが操作されていれば、次のステップS809に進み、これらの方向キー51c又は51dの操作入力に応じて拡大率(又は縮小率)を変更する。
【0169】
前記ステップS808において、左方向キー51c又は右方向キー51dでないと判別された場合は、ステップS810において、○ボタン52bや×ボタン52cの操作入力に応じて拡大率(又は縮小率)を変更する。
【0170】
前記ステップS807において、拡大縮小でないと判別された場合は、ステップS811に進み、カメラの視点座標(X、Y及びZ)並びに拡大率(又は縮小率)をそれぞれデフォルト値に戻す。
【0171】
前記ステップS802、ステップS805、ステップS806、ステップS809、ステップS810又はステップS811での処理が終了した段階で、このカメラ設定処理が終了する。
【0172】
図19のメインルーチンの説明に戻り、前記ステップS22において、現在のカーソル250の座標の位置に対応するウィンドウ画面がカメラ設定画面210でないと判別された場合は、図20のステップS24に進み、メモリカードアクセス要求であるか否かを判別する。メモリカードアクセス要求であれば、次のステップS25に進み、メモリカードアクセス画面260の表示要求を行う。このルーチンは、図10に示す第1のドロップメニュー画面256を表示させ、更に、カーソル250をメモリカード14の操作を示す帯254に位置させて例えば×ボタン52cを操作することによって通過することとなる。
【0173】
前記ステップS24において、メモリカードアクセス要求でないと判別された場合は、ステップS26に進み、ウィンドウ画面の表示要求であるか否かを判別する。
【0174】
ウィンドウ画面の表示要求であれば、次のステップS27に進み、ウィンドウ画面表示要求処理に入る。このウィンドウ画面表示要求処理は、まず、カーソル250の位置が背景画面230上であって、かつ、×ボタン52cが操作されていれば、第1のドロップメニュー画面256(図10参照)の表示要求を行う。
【0175】
また、この第1のドロップメニュー画面256が表示されている状態において、カーソル250の位置がウィンドウ画面の選択を示す帯252にあって、かつ、○ボタン52bが操作されていれば、第2のドロップメニュー画面270(図12参照)の表示要求を行う。
【0176】
この第2のドロップメニュー画面270が表示されている状態において、いずれかのウィンドウ画面が選択された場合には、選択されたウィンドウ画面の種類と表示すべき範囲と優先度がウィンドウ情報テーブル500(図16参照)に登録される。このとき、優先度は、最も前面に表示される値が設定される。
【0177】
なお、選択されたウィンドウ画面が既にウィンドウ情報テーブル500に登録されている場合は、当該ウィンドウ画面の優先度として最も前面に表示される値が設定される。
【0178】
また、カーソル250がグラフィック画面212上にあって、かつ、×ボタン52cが操作されている場合は、地面272の表示/非表示を示す第3のドロップメニュー画面274(図13参照)の表示要求を行う。
【0179】
この第3のドロップメニュー画面274が表示されている状態において、地面272の表示が選択された場合は、地面272の高さを設定するためのサブウィンドウ画面276(図14参照)の表示要求を行う。
【0180】
一方、前記ステップS26において、ウィンドウ画面の表示要求でないと判別された場合は、ステップS28に進み、地面設定処理に入る。この地面設定処理は、第3のドロップメニュー画面274(図13参照)が表示されている状態において、地面272の表示が選択された場合は、地面272の表示要求を行う。更に、サブウィンドウ画面276が表示されている状態において、○ボタン52bや×ボタン52cの操作入力に応じて地面272の高さを設定する。また、第3のドロップメニュー画面274が表示されている状態において、地面272の消去が選択された場合は、地面272の消去要求を行う。
【0181】
他方、図17の前記ステップS6において、メモリカードアクセス画面260が表示されていると判別された場合は、ステップS29に進み、メモリカードアクセス処理に入る。
【0182】
このメモリカードアクセス処理は、図32に示すように、まず、ステップS1001において、差込口30にメモリカード14が挿入されているか否かを判別する。挿入されていれば、次のステップS1002に進み、既にメモリカード14からファイル名を読み出したか否かを判別する。新規のメモリカード14であれば、次のステップS1003に進み、メモリカード14からパーツ情報テーブル240、ポリゴンデータファイル242、動作データファイル244等のファイル名を読み出す。
【0183】
前記ステップS1003での処理が終了した段階、あるいは前記ステップS1002において、既にファイル名を読み出したと判別された場合は、次のステップS1004に進み、保存要求であるか否かを判別する。保存要求であれば、ステップS1005において、作成された動作データファイル244等を入力されたファイル名と共にメモリカード14の空いた記憶領域に保存する。
【0184】
前記ステップS1004において、保存要求でないと判別された場合は、ステップS1006において、読込み要求であるか否かを判別する。読込み要求であれば、次のステップS1007に進み、読込み対象のファイルが、動作データファイル244であるか否かを判別する。動作データファイル244でなく、パーツ情報テーブル240、ポリゴンデータファイル242及びテクスチャテーブルを読み込む場合は、次のステップS1008に進み、選択されたファイル名に対応するパーツ情報テーブル240、ポリゴンデータファイル242及びテクスチャテーブルをメモリカード14から読み出して、メインメモリ402の空いた記憶領域に書き込む。
【0185】
その後、ステップS1009において、読み込まれたパーツ情報テーブル240に登録されているパーツ毎の基準座標と動作点の座標を、動作データファイル244として展開される部分に格納し、初期段階の動作データファイル244を作成する。
【0186】
前記ステップS1007において、動作データファイル244の読込みであると判別された場合は、ステップS1010において、前記選択されたファイル名に対応する動作データファイル244をメモリカード14から読み出して、メインメモリ402の空いた記憶領域に書き込む。
【0187】
前記ステップS1006において、読込み要求でないと判別された場合は、ステップS1011に進み、メモリカード14のチェック要求であるか否かを判別する。チェック要求であれば、次のステップS1012に進み、メモリカード14内に記録されている各種テーブルやファイルのファイル名を読み出す。
【0188】
前記ステップS1011において、メモリカード14のチェック要求でないと判別された場合、即ち、キャンセル要求の場合は、ステップS1013に進み、メモリカードアクセス画面260の消去要求を行う。
【0189】
前記ステップS1005、ステップS1009、ステップS1010、ステップS1012又はステップS1013での処理が終了した段階で、このメモリカードアクセス処理が終了する。
【0190】
図17〜図20のメインルーチンの説明に戻り、前記ステップS14、ステップS17、ステップS19、ステップS21、ステップS23、ステップS25、ステップS27、ステップS28又はステップS29の処理が終了した段階、又はステップS13おいて、ウィンドウ画面がないと判別された場合、あるいはステップS11において、○ボタン52bが操作されていないと判別された場合は、ステップS30に進み、画像描画処理に入る。
【0191】
この画像描画処理は、図33に示すように、まず、ステップS1101において、ウィンドウ情報テーブル500の各レコードのうち、優先度の低いレコードから順番に読み出す。
【0192】
次に、ステップS1102において、読み出されたレコードに登録されているウィンドウ画面の種類を判別する。
【0193】
種類が回転角設定画面222であれば、ステップS1103において、回転角設定画面222の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のパーツにおけるX軸、Y軸及びZ軸を中心とした各回転角を読み出して、該当する枠に描画する。
【0194】
前記種類が移動量設定画面224であれば、ステップS1104において、移動量設定画面224の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のパーツにおける基準位置のX、Y及びZ座標を読み出して、該当する枠に描画する。
【0195】
前記種類が光源設定画面226であれば、ステップS1105において、光源設定画面226の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、現在設定中の光源位置のX、Y及びZ座標並びにR、G及びBの色データを読み出して、該当する枠にそれぞれ描画する。
【0196】
前記種類がパーツ選択画面228であれば、ステップS1106において、パーツ選択画面228の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、パーツ情報テーブル240に登録されているパーツ名を読み出して、該当する枠にそれぞれ描画する。
【0197】
前記種類がカメラ設定画面210であれば、ステップS1107において、カメラ設定画面210の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、現在選択中のカメラ番号、視点のX、Y及びZ座標並びに拡大率を読み出して、該当する枠にそれぞれ描画する。
【0198】
前記種類がキーファイル設定画面220であれば、ステップS1108において、キーファイル設定画面220の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、現在のフレーム番号、再生開始フレーム及び再生終了フレームの各番号を読み出して、該当する枠にそれぞれ描画する。また、時間軸300に関しては、拡大表示の段階値に基づいて拡大縮小して描画する。
【0199】
前記種類が第1〜第3のグラフィック画面212A〜212Cであれば、ステップS1109において、該当するグラフィック画面212の画像データを読み出して、画像メモリ405のうち、当該レコードに登録されている表示範囲に描画し、更に、それぞれの視点からみたオブジェクト200の3D画像を、パーツ情報テーブル240、ポリゴンデータファイル242、テクスチャテーブル及び動作データファイル244並びに視点の座標、光源位置、光源の発色データ及び拡大率(又は縮小率)に基づいて作成して、これら第1〜第3のグラフィック画面212A〜212Cのうち、選択されたグラフィック画面212内に描画する。このとき、動作データファイル244のうち、現在のフレーム番号に対応するレコードに格納されている内容を読み出して、オブジェクト200の3D画像を描画する。
【0200】
更に、この第1〜第3のグラフィック画面212A〜212Cにおいては、地面272の表示が選択されていれば、地面272の3D画像を地面272に関するポリゴンデータファイル242、テクスチャテーブル並びに視点の座標、光源位置、光源の発色データ、拡大率(又は縮小率)及び地面の高さ情報に基づいて作成して、これら第1〜第3のグラフィック画面212A〜212Cのうち、選択されたグラフィック画面212内に描画する。
【0201】
次に、ステップS1110において、ウィンドウ画面の描画処理が終了したか否かを判別する。この判別は、ウィンドウ情報テーブル500から全てのレコードを読み出したかどうかで行われる。
【0202】
処理が終了していない場合は、前記ステップS1101に戻り、該ステップS1101以降の処理を繰り返す。そして、処理が終了した段階で、次のステップS1111に進み、ドロップメニュー画面256、270、274及びサブウィンドウ画面276の表示要求があるか否かを判別する。表示要求があれば、次のステップS1112に進み、第1〜第3のドロップメニュー画面256、270、274やサブウィンドウ画面276のうち、要求のあった画面を描画する。
【0203】
前記ステップS1112での処理が終了した段階、あるいはステップS1111において、ドロップメニュー画面256、270、274及びサブウィンドウ画面276の表示要求がないと判別された場合は、次のステップS1113に進み、メモリカードアクセス画面260の表示要求があるか否かを判別する。メモリカードアクセス画面260の表示要求があれば、次のステップS1114に進み、メモリカードアクセス画面260の画像データを読み出して画像メモリ405のうち、予め設定された表示範囲に描画し、更に、ファイル名が読み込まれていれば、ファイル名を描画する。
【0204】
前記ステップS1114での処理が終了した段階、あるいはステップS1113において、メモリカードアクセス画面260の表示要求がないと判別された場合は、次のステップS1115に進み、現在再生中であるか否かを判別する。この判別は、再生中フラグが再生を示す内容かどうかで行われる。再生中であれば、次のステップS1116に進み、現在のフレーム番号を+1更新する。このとき、フレーム番号が再生終了フレームの番号よりも大きくなった場合は、再生開始フレームの番号に書き換えられる。
【0205】
前記ステップS1116での処理が終了した段階、あるいは前記ステップS1115において、再生中ではないと判別された場合は、この画像描画処理が終了する。
【0206】
図17〜図20のメインルーチンの説明に戻り、次のステップS31において、画像メモリ405に描画されている画像をモニタ18に出力して、該モニタ18の画面上に前記画像を表示する。
【0207】
次に、ステップS32において、このソフトウエアに対する終了要求(電源断、リセット入力等)があったか否かを判別する。終了要求がなければ、前記ステップS4に戻り、該ステップS4以降の処理を繰り返す。一方、前記ステップS32において、終了要求があれば、このソフトウエアでの処理が終了する。
【0208】
このように、本実施の形態においては、あるオブジェクト200を1以上の視点から見たときの状態を表示する第1のウィンドウ画面202と、コントローラ16からの操作入力に基づいてオブジェクト200の任意のフレームにおける動作状態を設定して該オブジェクト200の動作データファイル244を作成するための第2のウィンドウ画面204とを表示するようにしている。
【0209】
これにより、ユーザは、第1のウィンドウ画面202に表示されたオブジェクト200の動作状態を確認しながら、第2のウィンドウ画面204を用い、コントローラ16からの操作入力に基づいてオブジェクト200の任意のフレームにおける動作状態を設定して該オブジェクト200の動作データファイル244を作成することができる。
【0210】
この場合、ユーザは、任意のフレームにおける動作状態を入力するだけでよいため、例えばオブジェクト200の動きが切り換わるときの状態を任意のフレームに入力すれば、簡単にオブジェクト200の動作データファイル244が作成されることになる。
【0211】
従って、本実施の形態においては、オブジェクト200の動作データファイル244をGUI(グラフィカル・ユーザ・インターフェイス)を用いて簡単に作成することができる。そのため、ユーザのビデオゲーム等に対する興味をより一層高めることができる。また、ビデオゲームを作成しているユーザ(プログラマ等)においても、簡単に動作データファイル244が作成できるため、その分、市場調査並びにシナリオの展開やゲーム内容の検討に時間をかけることができ、市場が求めているビデオゲームを迅速に供給することができる。
【0212】
特に、本実施の形態においては、第1のウィンドウ画面202として、前記1以上の視点のうち、任意の視点に切り換えるためのカメラ設定画面210と、オブジェクト200を少なくとも前記切り換えられた視点から見て示す第1〜第3のグラフィック画面212A〜212Cとを有するようにしている。
【0213】
そのため、ユーザは、カメラ設定画面210を用いて視点を自由に切り換え、その切り換わった視点からオブジェクト200がどのような形態となっているかを第1〜第3のグラフィック画面212A〜212Cを見ながら容易に確認することができる。
【0214】
また、第2のウィンドウ画面204として、動作データを設定すべきフレームを決定するためのキーファイル設定画面220と、決定されたフレームにおける動作データを設定するための回転角設定画面222及び移動量設定画面224とを有するようにしている。
【0215】
そのため、ユーザは、キーファイル設定画面220を用いて、動作データを作成すべきフレームを自由に選択することができ、更に、回転角設定画面222及び移動量設定画面224を用いて、前記選択されたフレームに対して容易に動作データを書き込むことができる。
【0216】
また、第2のウィンドウ画面204として、第1のウィンドウ画面202に表示されているオブジェクト200を構成する1以上のパーツを選択するためのパーツ選択画面228を有するようにしている。
【0217】
これにより、ポリゴン単位ではなく、ポリゴンよりも大きな構成単位であるパーツ毎に動作データを作成することができるため、動作データの作成時間を大幅に短縮することができ、しかも、オブジェクト200の動きを容易に把握することができる。
【0218】
また、本実施の形態においては、外部の記憶装置、例えばメモリカード14等に対して、動作データファイル244をアクセスするためのメモリカードアクセス画面260を表示するようにしている。
【0219】
これにより、予め作成した動作データファイル244あるいはユーザが作成した動作データファイル244をメモリカード14等を通じて自由にアクセスすることが可能になる。なお、メモリカード14に代えて、携帯可能な例えばCD−R、DVD−R等を用いてもよい。
【0220】
また、本実施の形態では、設定された任意のフレームのうち、指定したフレーム間(第1のフレームと第2のフレームとの間のフレーム)の動作データを補間処理するようにしている。これにより、ユーザは、第1のフレームにおける動作データと第2のフレームにおける動作データを入力するだけで、その間の複数のフレームにおける動作データが自動的に作成されることとなるため、動作データファイル244の作成をより簡単にすることができ、いままで専門家しか行わなかったアニメーション作成をエンドユーザや専門家以外の者も簡単に行うことが可能となり、アニメーション作成の普及に貢献することができる。
【0221】
また、選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列し、この再配列された動作データ群を、動作データファイル244のうち、任意のフレーム以降に登録するようにしている。これにより、例えば走るや歩くなどの連続動作に関するアニメーションを簡単に作成することができる。
【0222】
また、本実施の形態では、モニタ18の画面上に表示されたカーソル250を、コントローラ16からの方向キー51a〜51d、ジョイスティック70又は72に関する操作入力に基づいて移動させ、更に、コントローラ16からの特定の操作入力(例えばR1ボタン54aの操作入力)に基づいて、カーソル250の移動速度を変化させるようにしている。これにより、カーソル250の移動を別の操作子を使って簡単に切り換えることができるようになるため、操作性の向上を図ることができる。
【0223】
なお、この発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0224】
【発明の効果】
以上説明したように、本発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置によれば、オブジェクトの動作データファイルをGUI(グラフィカル・ユーザ・インターフェイス)を用いて簡単に作成することができる。
【0225】
また、本発明に係る記録媒体、プログラム、プログラム実行システム及びプログラム実行装置によれば、操作性の向上を図ることができる。
【図面の簡単な説明】
【図1】本実施の形態に係るエンタテインメントシステムを示す構成図である。
【図2】本実施の形態に係るエンタテインメントシステムの回路構成を示すブロック図である。
【図3】左右のジョイスティックの操作による垂直値及び水平値の関係を示す説明図である。
【図4】初期画面を示す説明図である。
【図5】第1〜第3のグラフィック画面を示す説明図である。
【図6】回転角設定画面、移動量設定画面及び光源設定画面を示す説明図である。
【図7】パーツ情報テーブルの内訳を示す説明図である。
【図8】ポリゴンデータファイルの内訳を示す説明図である。
【図9】動作データファイルの内訳を示す説明図である。
【図10】第1のドロップメニュー画面を示す説明図である。
【図11】メモリカードアクセス画面を示す説明図である。
【図12】第2のドロップメニュー画面を示す説明図である。
【図13】第3のドロップメニュー画面を示す説明図である。
【図14】サブウィンドウ画面を示す説明図である。
【図15】補間処理並びに左右反転処理の概念を示す説明図である。
【図16】ウィンドウ情報テーブルの内訳を示す説明図である。
【図17】本実施の形態に係るソフトウエア(アニメーション作成ツール)の処理動作を示すフローチャート(その1)である。
【図18】アニメーション作成ツールの処理動作を示すフローチャート(その2)である。
【図19】アニメーション作成ツールの処理動作を示すフローチャート(その3)である。
【図20】アニメーション作成ツールの処理動作を示すフローチャート(その4)である。
【図21】動作データ設定処理を示すフローチャートである。
【図22】回転角設定処理を示すフローチャートである。
【図23】移動量設定処理を示すフローチャートである。
【図24】光源設定処理を示すフローチャートである。
【図25】キーファイル設定処理を示すフローチャートである。
【図26】フレーム情報テーブルの内訳を示す説明図である。
【図27】拡張機能処理を示すフローチャート(その1)である。
【図28】拡張機能処理を示すフローチャート(その2)である。
【図29】補間処理を示すフローチャートである。
【図30】カメラ設定処理を示すフローチャート(その1)である。
【図31】カメラ設定処理を示すフローチャート(その2)である。
【図32】メモリカードアクセス処理を示すフローチャートである。
【図33】画像描画処理を示すフローチャート(その1)である。
【図34】画像描画処理を示すフローチャート(その2)である。
【符号の説明】
10…エンタテインメントシステム 12…エンタテインメント装置
14…メモリカード 16…コントローラ
18…モニタ 200…オブジェクト
202…第1のウィンドウ画面 204…第2のウィンドウ画面
210…カメラ設定画面
212、212A〜212C…第1〜第3のグラフィック画面
220…キーファイル設定画面 222…回転角設定画面
224…移動量設定画面 226…光源設定画面
228…パーツ選択画面 401…CPU
402…メインメモリ 405…RAM(画像メモリ)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a recording medium on which a program and data used in a program execution system having a program execution device, an operation device, a display device, and the like, a program itself, the program execution system, and the program execution device.
[0002]
[Prior art]
As an information device (entertainment system) such as an entertainment device including a video game machine, for example, a game content stored in a recording medium such as a CD-ROM is displayed on the screen of a television receiver, and is operated with an operation device. There is something that makes the game progress.
[0003]
In the entertainment system, the entertainment device and the operation device are usually connected by a serial interface, and when a clock is sent from the entertainment device, key switch information corresponding to the operation of the user from the operation device in synchronization with the clock. Etc. are to be sent.
[0004]
Also, recently, a vibration generating means for applying vibration to the user in response to a request from the outside (for example, an entertainment device) is provided in the operation device so as to respond to the user's operation while the game is in progress, for example. A system that gives various vibrations to the user has been developed and put into practical use.
[0005]
[Problems to be solved by the invention]
By the way, the motion of an object appearing in a video game or the like is determined in advance, and the user (user) does not determine the motion of the object.
[0006]
One reason for this is that the creation of the operation data file is very troublesome. In other words, the task of creating the motion data file is mainly the task of setting the motion state of the object in units of frames and registering it, but since one frame is 1/60 (second), Even when only 1 second of operation is performed, operation data for 60 frames is required.
[0007]
However, if the user can easily set the movement of the object, the user's interest in video games and the like can be further increased. Also, even if users (programmers, etc.) who create video games can easily create motion data, they can spend more time on market research, scenario development and game content review, and the market demands. There is an advantage that video games can be supplied quickly.
[0008]
The present invention has been made in consideration of such problems, and a recording medium, a program, a program execution system, and a recording medium capable of easily creating an operation data file of an object using a GUI (graphical user interface) An object is to provide a program execution device.
[0009]
[Means for Solving the Problems]
Recording medium according to the present inventionRun various programsProgram execution deviceA program execution system including: at least one operation device that causes the operation request from the user to be input to the program execution device as an operation instruction; and a display device that displays an image output from the program execution device.A first window screen for displaying a state when an object is viewed from one or more viewpoints, and setting an operation state of the object in an arbitrary frame based on an operation input from the operation device. Displays a second window screen for creating an operation data fileComputer readable recording program for functioning as screen display meansIn the recording medium,The screen display means rearranges the motion data between any two selected frames as motion data obtained by inverting the object left and right, and the rearranged motion data group as the motion data. Means to register after any frame in the fileIt is characterized by having.
The program according to the present invention is based on the first window screen that displays a state when an object is viewed from one or more viewpoints and the operation input from the operation device. In a program for functioning as screen display means for displaying a second window screen for setting an operation state of an object in an arbitrary frame and creating an operation data file of the object, the screen display means includes: With respect to the motion data between any two selected frames, a means for rearranging the object as motion data obtained by horizontally inverting the object, and the rearranged motion data group are stored in any of the motion data files. And means for registering after the frame.
The program execution system and the program execution device according to the present invention include a first window screen that displays a state when an object is viewed from one or more viewpoints, and the object based on an operation input from the operation device. Screen display means for displaying a second window screen for setting the motion state in an arbitrary frame and creating a motion data file of the object, and the screen display means includes any selected 2 Means for rearranging motion data between two frames as motion data obtained by inverting the object horizontally, and means for registering the rearranged motion data group after an arbitrary frame in the motion data file It is characterized by having.
[0010]
As a result, the user (user) uses the second window screen while confirming the operation state of the object displayed on the first window screen, based on an operation input from the operation device. The motion data file of the object can be created by setting the motion state in the frame.
[0011]
In this case, since the user only has to input the motion state in an arbitrary frame, for example, if the state when the movement of the object is switched is input in an arbitrary frame, the motion data file of the object is easily created. Will be.
Further, with respect to the motion data between any two selected frames, means for rearranging the object as motion data obtained by horizontally inverting the object, and the rearranged motion data group, the motion data file, Since it has means for registering after an arbitrary frame, it is possible to easily create an animation relating to continuous motion such as running and walking.
[0012]
Since the first and second window screens are window screens, the first and second window screens can be displayed in an empty space on the background, and can be freely moved on the screen of the display device by operation input. Moreover, it can be freely closed (erased).
[0013]
As described above, in the present invention, an operation data file of an object can be easily created using a GUI (graphical user interface). Therefore, the user's interest in video games and the like can be further increased. In addition, users (programmers, etc.) who are creating video games can easily create motion data files, so it is possible to spend more time on market research, scenario development and game content review. Can quickly supply the video game they want.
[0014]
The first window screen includes a third window screen for switching to an arbitrary viewpoint among the one or more viewpoints, and a fourth window screen showing the object viewed at least from the switched viewpoint. You may make it have.
[0015]
In this case, the user can switch the viewpoint using the third window screen, and can easily check the form of the object from the switched viewpoint while viewing the fourth window screen. .
[0016]
The second window screen includes a fifth window screen for determining a frame in which the operation data is to be set, and a sixth window screen for setting operation data in the determined frame. You may do it.
[0017]
In this case, the fifth window screen can be used to freely select a frame for which motion data is to be created, and the sixth window screen can be used to easily operate on the selected frame. Data can be written.
[0018]
Further, the second window screen may have a seventh window screen for selecting one or more parts constituting the object displayed on the first window screen.
[0019]
As a result, motion data can be created for each part, which is a unit that is larger than a polygon, instead of polygon units, so the creation time of motion data can be greatly reduced, and the movement of objects is easy. Can grasp.
[0020]
Also, the aboveScreen display meansDisplays an eighth window screen for accessing the operation data file to an external storage device.meansYou may make it have.
[0021]
This makes it possible to freely access an operation data file created in advance or an operation data file created by a user through an external storage device. In this case, if the external storage device is constituted by a portable memory card, CD-R, DVD-R, etc., anyone can refer to the operation data file at any time.
[0022]
Also, the aboveScreen display meansAmong the set arbitrary frames, based on the operation data in the first frame and the operation data in the second frame, the operation data of one or more frames existing between the first frame and the second frame is obtained. InterpolatemeansYou may make it have.
[0023]
Thus, since the user simply inputs the operation data in the first frame and the operation data in the second frame, the operation data in a plurality of frames between them is automatically created. Creation can be made easier, and it is possible for an end user or a non-expert to easily create an animation that has been performed only by an expert so far, which can contribute to the spread of animation creation.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments in which a program execution system and a program execution device according to the present invention are applied to an entertainment system, and a recording medium and a program in which a recording medium and a program executed by the entertainment system are recorded. An embodiment applied to the above will be described with reference to FIGS.
[0029]
First, as shown in FIG. 1, an
[0030]
The
[0031]
As shown in FIG. 1, the
[0032]
The
[0033]
In this case, the signal from the
[0034]
The
[0035]
The
[0036]
The
[0037]
The functions of the
[0038]
The third and
[0039]
The left and
[0040]
By rotating and tilting the left and
[0041]
In FIG. 1, the left and
[0042]
As shown in FIG. 3, analog input values obtained by operating the left and
[0043]
In addition to the above, the
[0044]
Next, the internal configuration and general operation of the
[0045]
The
[0046]
A graphic synthesizer (GS) 404 and an input / output processor (IOP) 409 are connected to the
[0047]
A
[0048]
The
[0049]
The
[0050]
Here, the
[0051]
The
[0052]
The
[0053]
The
[0054]
Next, a characteristic function of the
[0055]
This function is a tool for creating an action data file for displaying an animation for a certain object, that is, an animation creation tool. For example, as shown in FIG. The
[0056]
The
[0057]
On the other hand, the
[0058]
These window screens 202 and 204 can be displayed on an empty place on the background screen (background portion) 230, can be freely moved on the screen of the
[0059]
Here, a method for using the animation creation tool according to the present embodiment, that is, an example of a procedure for creating an operation data file while viewing these
[0060]
First, when one
[0061]
As shown in FIG. 7, the parts information table 240 has records corresponding to the number of parts constituting one
[0062]
As shown in FIG. 9, the motion data file 244 is prepared for each part, and has records corresponding to the preset maximum number of frames. Each record includes motions based on the reference coordinates and the reference coordinates. The relative coordinates of the points are stored. In the initial stage, the reference coordinates of the corresponding parts and the initial coordinates of the action points (both coordinates registered in the parts information table) are stored in all the records of each action data file.
[0063]
As shown in FIG. 8, the polygon data file 242 is prepared for each part and has a record corresponding to the number of polygons constituting the part, and each record includes polygon vertex data, texture pointers, and the like. It is registered. Among the vertex data, the coordinate information of each vertex is set as relative coordinates viewed from the operation point in the corresponding part.
[0064]
When the animation creation tool is activated, an initial screen is displayed on the screen of the
[0065]
Next, when the
[0066]
When the
[0067]
When reading a file, the
[0068]
An outline of icons other than “LOAD” displayed at the bottom of the memory
[0069]
The “CHECK”
[0070]
In addition to the several window screens included in the initial screen, the window screen displayed on the screen of the
[0071]
When these window screens are displayed, the first
[0072]
Further, when the
[0073]
When the display of the
[0074]
As described above, when the parts information table 240 and the polygon data file 242 of the
[0075]
In displaying the 3D image of the
[0076]
Thereafter, the arrangement position of each part is determined from the reference coordinates of each part and the initial coordinates of the operation point stored in the 0th record of each
[0077]
Simultaneously with the display of the 3D image of the
[0078]
Next, the
[0079]
Next, of the plurality of names displayed on the
[0080]
Next, the
[0081]
Then, by operating the ○
[0082]
The movement
[0083]
For example, when changing the various numerical values, the display position, the enlargement ratio, or the like of the
[0084]
Here, “CAMERA1” indicates that the first
[0085]
Then, with the
[0086]
The
[0087]
When it is desired to individually set the viewpoint position and the enlargement ratio, they can be easily set by directly changing numerical values such as X, Y, Z, and P, respectively. X, Y, and Z indicate the coordinates of the viewpoint, and P indicates the enlargement ratio.
[0088]
On the other hand, the key
[0089]
As described above, “CF” is used to select a frame, while “RP” is used to set a range of frames to be reproduced.
[0090]
For example, of the two numbers displayed in the vicinity of “RP”, the number on the left is the frame number at the start of reproduction, and the number on the right is the frame number at the end of reproduction.
[0091]
At the top of the
[0092]
The icons related to playback include an
[0093]
The “R”
[0094]
Also, by operating the “R” icon 316 (the
[0095]
For example, as shown in FIG. 15, in the 0th record (0th frame) of each motion data file 244, motion data indicating a state in which the
[0096]
Further, at the stage where the motion data indicating the state in which the
[0097]
At this stage, each motion data file 244 records motion data about motions that the
[0098]
Next, the “D”
[0099]
The “C”
[0100]
For example, in FIG. 4, frames 0 to 144 are displayed as the
[0101]
On the other hand, when the “M”
[0102]
The “F”
[0103]
For example, as shown in FIG. 15, from the 0 record (0 frame) to the 20 record (20 frame) of the motion data file 244, the motion data in the state in which the
[0104]
At this time, 0 and 20 are selected in “RP”, and then the “F”
[0105]
Next, in “CF”, the first frame in which the left and right reversed operation data is to be written is set, and then the “R”
[0106]
As a result, if “RP” is set to 0 and 40 and, for example, the
[0107]
Further, with this function, the moving speed of the
[0108]
Next, software for realizing the above functions will be described with reference to FIGS.
[0109]
As described above, this software is provided to the
[0110]
That is, the software is operated on the
[0111]
The software first performs initial setting of the window information table 500 (see FIG. 16) in step S1 of FIG. This initial setting is performed in order to display the initial screen shown in FIG. 4 on the screen of the
[0112]
Next, in step S2, the display coordinates of the
[0113]
Next, in step S4, the operation input from the
[0114]
On the other hand, if it is determined in step S8 that the
[0115]
Next, in step S11, it is determined whether or not the
[0116]
If there is a window screen, the process proceeds to step S14 via the next step S13, the display range of the corresponding window screen in the window information table 500 is rewritten based on the coordinates of the
[0117]
On the other hand, if it is determined in step S7 in FIG. 17 that the direction key 51a to 51d is not the
[0118]
Next, in step S16, it is determined whether or not the searched content is a setting relationship of operation data. That is, it is determined whether or not the window screen corresponding to the coordinate position of the
[0119]
If the setting relation is the operation data, the process proceeds to the next step S17 to enter the operation data setting process. In the operation data setting process, first, in step S101 of FIG. 21, it is determined whether or not the window screen corresponding to the current coordinate position of the
[0120]
If it is the rotation
[0121]
In the memory card access process described later, when the parts information table 240 and the polygon data file 242 are read and the operation data file 244 is not read, all the records of each operation data file 244 include the read part information. Reference coordinates and operating point coordinates for each part registered in the table 240 are stored. Therefore, at the stage where reading of the table or the like as described above is completed, the
[0122]
If it is determined in step S202 that the rotation angle is not changed, the process proceeds to step S204 to determine whether it is an individual initialization request. If it is individual initialization, the process proceeds to the next step S205, where the rotation angle related to the selected axis is set to the initial value, and the coordinates of the operation point of the record corresponding to the frame in the operation data file 244 corresponding to the part are The rotation angle is changed based on the change to the initial value.
[0123]
If it is determined in step S204 that the initialization is not individual initialization, the process proceeds to step S206, in which the rotation angles related to the three axes (X, Y, Z) are both initialized, and the motion data file 244 corresponding to the part is selected. The coordinates of the operating point of the record corresponding to the frame are returned to the values immediately after loading.
[0124]
When the process in step S203, step S205, or step S206 is completed, or when it is determined in step S201 that no part is selected, the rotation angle setting process ends.
[0125]
Returning to the description of the routine of FIG. 21, when it is determined in step S101 that the window screen corresponding to the current coordinate position of the
[0126]
In this movement amount setting process, first, in step S301 in FIG. 23, it is determined whether or not a part has been selected. If the parts have been selected, the process proceeds to the next step S302, and it is determined whether or not the movement amount relating to X, Y, or Z is changed. If the movement amount is changed, the process proceeds to the next step S303, and based on the current change value of the movement amount relating to the selected axis in the motion data file 244 corresponding to the part, the reference of the record corresponding to the frame is determined. Change coordinates.
[0127]
If it is determined in step S302 that the movement amount is not changed, the process proceeds to step S304, where it is determined whether the request is an individual initialization request. If it is an individual initialization request, the process proceeds to the next step S305, where the amount of movement related to the selected axis is set to the initial value, and the reference coordinates of the record corresponding to the frame in the motion data file 244 corresponding to the part are It changes based on the change to the initial value of the movement amount.
[0128]
If it is determined in step S304 that the initialization is not individual initialization, the process proceeds to step S306, where the movement amounts for the three axes (X, Y, Z) are set to initial values, and the motion data file 244 corresponding to the part is selected. The reference coordinates of the record corresponding to the frame are returned to the values immediately after loading.
[0129]
When the process in step S303, step S305, or step S306 is completed, or when it is determined in step S301 that no part is selected, the movement amount setting process ends.
[0130]
Returning to the description of the routine of FIG. 21, if it is determined in step S103 that the window screen corresponding to the current coordinate position of the
[0131]
In the light source setting process, first, in step S401 of FIG. 24, it is determined whether or not the light source position (X, Y, and Z coordinates) is set. If the light source position is set, the process proceeds to the next step S402, where the light source position is set to the input X, Y, and Z coordinate positions.
[0132]
If it is determined in step S401 that the light source position is not set, i.e., that the light source color is set, the process proceeds to step S403, where information on the light source color is based on the input R, G, and B values. To set.
[0133]
This light source setting process ends when the process in step S402 or step S403 is completed.
[0134]
Returning to the description of the routine of FIG. 21, if it is determined in step S105 that the window screen corresponding to the coordinate position of the current cursor is not the light
[0135]
When the process in step S102, step S104, step S106, or step S107 is completed, the operation data setting process ends.
[0136]
Returning to the description of the main routine of FIG. 19, if it is determined in step S16 that the window screen corresponding to the current coordinate position of the
[0137]
If it is the
[0138]
If it is determined in step S18 that the window screen corresponding to the coordinate position of the
[0139]
If it is the key
[0140]
If it is determined in step S501 that the frame is not set, the process proceeds to step S503 to determine whether or not the frame range to be reproduced is set. If the frame range is set, the playback start frame number is changed in accordance with the operation input of the ○
[0141]
If it is determined in step S503 that the frame range is not set, the process proceeds to step S505, where it is determined whether or not a reproduction relationship is established. If it is a reproduction relationship, the process proceeds to the next step S506 to perform a reproduction process.
[0142]
In this reproduction process, if the operation target is an
[0143]
If the operation target is the
[0144]
If it is determined in step S505 that the relationship is not related to reproduction, that is, if it is related to the extended function, the process proceeds to the next step S507 and the extended function process is entered. In this extended function process, the frame information table 502 is used. As shown in FIG. 26, this frame information table 502 is for storing the frame number in which the user recorded the operation data in the operation data file 244. Bits are registered. In particular, the frame number “0” is stored in the 0th record.
[0145]
In the extended function process, as shown in FIG. 27, first, in step S601, it is determined whether or not the operation target is the “R”
[0146]
If it is the “R”
[0147]
In step S604, the current frame number is registered in an empty record in the frame information table 502, and then a discrimination bit indicating left / right inversion is set to “1” in the record.
[0148]
If it is determined in step S602 that left-right reversal is not selected, the process proceeds to step S605, and the current frame number is stored in an empty record in the frame information table 502.
[0149]
If it is determined in step S601 that the operation target is not the “R”
[0150]
When the processing in step S604, step S605, or step S607 is completed, the process proceeds to step S608, where the records in the frame information table 502 are rearranged in the order of frame numbers.
[0151]
Thereafter, in step S609, interpolation processing is started. In this interpolation processing, as shown in FIG. 29, first, in step S701, an initial value “1” is stored in the index register i used for reading the frame number, and the index register i is initialized.
[0152]
In step S702, the frame number stored in the (i-1) th record of the frame information table 502 is read and stored in the register R1. Thereafter, in step S703, the frame number stored in the i-th record of the frame information table 502 is read and stored in the register R2.
[0153]
Next, in step S704, it is determined whether or not the process is finished. This determination is made based on whether the frame number stored in the register R2 is invalid and indicates EOF (end of file).
[0154]
If the frame number stored in the register R2 is valid, the process proceeds to the next step S705, and it is determined whether or not the operation data corresponding to the frame number indicates left-right inversion. This determination is made based on whether “1” is set in the determination bit of the record.
[0155]
If it is not reversed left and right, the process proceeds to the next step S706, and it is determined whether or not two or more frames are included between the designated frames. This determination is made based on whether or not the value obtained by subtracting the frame number stored in the register R1 from the frame number stored in the register R2 is 2 or more.
[0156]
If there are two or more frames between the frames, the process proceeds to the next step S707, where the operation data corresponding to the frame number stored in the register R1 and the operation data corresponding to the frame number stored in the register R2 are changed. Based on this, the operation data of a plurality of frames existing between these frames are interpolated.
[0157]
When the process in step S707 is completed, or when it is determined in
[0158]
Then, it returns to step S702 and repeats the process after this step S702. Then, when it is determined in step 704 that the processing is finished, the interpolation processing is finished.
[0159]
Returning to the description of the routine in FIG. 27, if it is determined in step S606 that the operation target is not the “D”
[0160]
If it is determined in step S610 that the operation target is not the “C”
[0161]
If it is determined in step S612 that the operation target is not the “M”
[0162]
When the processing in step S609, step S611, step S613, or step S615 ends, the extended function processing ends.
[0163]
Returning to the description of the routine of FIG. 25, the key file setting process ends when the process in step S502, step S504, step S506, or step S507 ends.
[0164]
Returning to the description of the main routine of FIG. 19, if it is determined in step S20 that the window screen corresponding to the current coordinate position of the
[0165]
If it is the
[0166]
If it is determined in step S801 that the camera is not selected, the process advances to step S803 to determine whether or not the camera viewpoint is rotated (changed). If it is rotation of the camera viewpoint, the process proceeds to the next step S804, and it is determined whether or not the
[0167]
If it is determined in step S804 that the direction key 51a to 51d is not the
[0168]
If it is determined in step S803 that the camera viewpoint is not rotated, the process proceeds to step S807 in FIG. 31, and it is determined whether or not it is enlargement / reduction. If it is enlargement / reduction, the process proceeds to the next step S808, and it is determined whether or not the left direction key 51c or the right direction key 51d is operated. If these
[0169]
If it is determined in step S808 that the key is not the left key 51c or the right key 51d, the enlargement ratio (or reduction ratio) is changed in step S810 in accordance with the operation input of the ◯
[0170]
If it is determined in step S807 that it is not enlargement / reduction, the process proceeds to step S811, and the camera viewpoint coordinates (X, Y, and Z) and the enlargement ratio (or reduction ratio) are returned to their default values.
[0171]
The camera setting process ends when the process in step S802, step S805, step S806, step S809, step S810, or step S811 ends.
[0172]
Returning to the description of the main routine in FIG. 19, if it is determined in step S22 that the window screen corresponding to the current coordinate position of the
[0173]
If it is determined in step S24 that the request is not a memory card access request, the process proceeds to step S26, and it is determined whether or not the request is a window screen display request.
[0174]
If it is a window screen display request, the process proceeds to the next step S27 to enter window screen display request processing. In this window screen display request process, first, if the position of the
[0175]
In the state where the first
[0176]
When any of the window screens is selected while the second
[0177]
When the selected window screen is already registered in the window information table 500, the value displayed in the forefront is set as the priority of the window screen.
[0178]
If the
[0179]
When the display of the
[0180]
On the other hand, if it is determined in step S26 that the request is not a window screen display request, the process proceeds to step S28 and the ground setting process is started. In the ground setting process, when the display of the
[0181]
On the other hand, if it is determined in step S6 of FIG. 17 that the memory
[0182]
In this memory card access process, as shown in FIG. 32, first, in step S1001, it is determined whether or not the
[0183]
When the process in step S1003 is completed, or when it is determined in step S1002 that the file name has already been read, the process proceeds to the next step S1004, where it is determined whether it is a save request. If it is a save request, in step S1005, the created operation data file 244 and the like are saved in a free storage area of the
[0184]
If it is determined in step S1004 that the request is not a save request, it is determined in step S1006 whether it is a read request. If it is a read request, the process advances to the next step S1007 to determine whether or not the file to be read is the operation data file 244. When the part information table 240, polygon data file 242, and texture table are read instead of the operation data file 244, the process proceeds to the next step S1008, where the part information table 240, polygon data file 242 and texture corresponding to the selected file name are processed. The table is read from the
[0185]
After that, in step S1009, the reference coordinates and the operating point coordinates for each part registered in the read part information table 240 are stored in the part developed as the operating data file 244, and the initial operating data file 244 is stored. Create
[0186]
If it is determined in step S1007 that the operation data file 244 is read, the operation data file 244 corresponding to the selected file name is read from the
[0187]
If it is determined in step S1006 that the request is not a read request, the process advances to step S1011 to determine whether the request is for checking the
[0188]
If it is determined in step S1011 that the request is not for checking the
[0189]
This memory card access process ends when the process in step S1005, step S1009, step S1010, step S1012 or step S1013 ends.
[0190]
Returning to the description of the main routine in FIGS. 17 to 20, the step S14, step S17, step S19, step S21, step S23, step S25, step S27, step S28 or step S29 is completed, or step S13. If it is determined that there is no window screen, or if it is determined in step S11 that the
[0191]
As shown in FIG. 33, in the image drawing process, first, in step S1101, the records in the window information table 500 are sequentially read from the records with the lowest priority.
[0192]
In step S1102, the type of window screen registered in the read record is determined.
[0193]
If the type is the rotation
[0194]
If the type is the movement
[0195]
If the type is the light
[0196]
If the type is the
[0197]
If the type is the
[0198]
If the type is the key
[0199]
If the type is the first to third
[0200]
Further, in the first to third
[0201]
Next, in step S1110, it is determined whether or not the window screen drawing processing has ended. This determination is made based on whether all records have been read from the window information table 500.
[0202]
If the process has not ended, the process returns to step S1101, and the processes after step S1101 are repeated. Then, when the processing is completed, the process proceeds to the next step S1111 to determine whether or not there is a display request for the drop menu screens 256, 270, 274 and the
[0203]
When it is determined that the drop menu screens 256, 270, and 274 and the
[0204]
When the processing in step S1114 is completed, or when it is determined in step S1113 that there is no display request for the memory
[0205]
When the process in step S1116 is completed, or when it is determined in step S1115 that reproduction is not being performed, the image drawing process ends.
[0206]
Returning to the description of the main routine of FIGS. 17 to 20, in the next step S31, the image drawn in the
[0207]
Next, in step S32, it is determined whether or not there is a termination request (power cut, reset input, etc.) for this software. If there is no end request, the process returns to step S4, and the processes after step S4 are repeated. On the other hand, if there is an end request in step S32, the processing in this software is ended.
[0208]
As described above, in the present embodiment, the
[0209]
As a result, the user uses the
[0210]
In this case, since the user only has to input the motion state in an arbitrary frame, for example, if the state when the movement of the
[0211]
Therefore, in the present embodiment, the motion data file 244 of the
[0212]
In particular, in the present embodiment, as the
[0213]
Therefore, the user can freely switch the viewpoint using the
[0214]
Further, as the
[0215]
Therefore, the user can freely select a frame for which motion data is to be created using the key
[0216]
Further, the
[0217]
As a result, motion data can be created for each part, which is a constituent unit larger than a polygon, instead of polygon units, so that the creation time of motion data can be greatly reduced, and the movement of the
[0218]
In this embodiment, a memory
[0219]
As a result, the operation data file 244 created in advance or the operation data file 244 created by the user can be freely accessed through the
[0220]
In the present embodiment, among the set arbitrary frames, operation data between designated frames (frames between the first frame and the second frame) is subjected to interpolation processing. Thus, since the user simply inputs the operation data in the first frame and the operation data in the second frame, the operation data in a plurality of frames between them is automatically created. The creation of 244 can be made easier, making it possible for end users and non-experts to easily create animations that were previously only performed by experts, and can contribute to the spread of animation creation. .
[0221]
In addition, the motion data between any two selected frames is rearranged as motion data obtained by horizontally inverting the object, and the rearranged motion data group is stored in any motion data file 244. Registration is made after the frame. This makes it possible to easily create an animation relating to a continuous motion such as running or walking.
[0222]
In the present embodiment, the
[0223]
The recording medium, the program, the program execution system, and the program execution device according to the present invention are not limited to the above-described embodiments, and various configurations can be adopted without departing from the gist of the present invention. .
[0224]
【The invention's effect】
As described above, according to the recording medium, program, program execution system, and program execution apparatus according to the present invention, an operation data file of an object can be easily created using a GUI (graphical user interface). .
[0225]
Further, according to the recording medium, the program, the program execution system, and the program execution device according to the present invention, the operability can be improved.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing an entertainment system according to the present embodiment.
FIG. 2 is a block diagram showing a circuit configuration of the entertainment system according to the present embodiment.
FIG. 3 is an explanatory diagram showing a relationship between a vertical value and a horizontal value by operating left and right joysticks.
FIG. 4 is an explanatory diagram showing an initial screen.
FIG. 5 is an explanatory diagram showing first to third graphic screens.
FIG. 6 is an explanatory diagram showing a rotation angle setting screen, a movement amount setting screen, and a light source setting screen.
FIG. 7 is an explanatory diagram showing a breakdown of a parts information table.
FIG. 8 is an explanatory diagram showing a breakdown of a polygon data file.
FIG. 9 is an explanatory diagram showing a breakdown of operation data files.
FIG. 10 is an explanatory diagram showing a first drop menu screen.
FIG. 11 is an explanatory diagram showing a memory card access screen.
FIG. 12 is an explanatory diagram showing a second drop menu screen.
FIG. 13 is an explanatory diagram showing a third drop menu screen.
FIG. 14 is an explanatory diagram showing a sub-window screen.
FIG. 15 is an explanatory diagram showing the concept of interpolation processing and left / right inversion processing;
FIG. 16 is an explanatory diagram showing a breakdown of the window information table.
FIG. 17 is a flowchart (No. 1) showing a processing operation of software (animation creation tool) according to the embodiment;
FIG. 18 is a flowchart (part 2) illustrating the processing operation of the animation creation tool.
FIG. 19 is a flowchart (No. 3) showing the processing operation of the animation creation tool;
FIG. 20 is a flowchart (No. 4) showing the processing operation of the animation creation tool.
FIG. 21 is a flowchart showing operation data setting processing;
FIG. 22 is a flowchart showing a rotation angle setting process.
FIG. 23 is a flowchart showing a movement amount setting process.
FIG. 24 is a flowchart showing a light source setting process.
FIG. 25 is a flowchart showing a key file setting process.
FIG. 26 is an explanatory diagram showing a breakdown of the frame information table.
FIG. 27 is a flowchart (part 1) illustrating an extended function process;
FIG. 28 is a flowchart (part 2) illustrating the extended function process;
FIG. 29 is a flowchart showing an interpolation process.
FIG. 30 is a flowchart (part 1) illustrating a camera setting process;
FIG. 31 is a flowchart (part 2) illustrating the camera setting process;
FIG. 32 is a flowchart showing a memory card access process.
FIG. 33 is a flowchart (part 1) illustrating image drawing processing;
FIG. 34 is a flowchart (part 2) illustrating an image drawing process;
[Explanation of symbols]
10 ...
14 ...
18 ...
202 ...
210 ... Camera setting screen
212, 212A to 212C... First to third graphic screens
220 ... Key
224 ... Movement
228 ...
402:
Claims (9)
あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記画面表示手段は、
選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とする記録媒体。A program execution device that executes various programs; at least one operation device that causes an operation request by a user to be input to the program execution device as an operation instruction; and a display device that displays an image output from the program execution device. the program execution system,
A first window screen that displays a state when an object is viewed from one or more viewpoints, and an operation state of the object in an arbitrary frame is set based on an operation input from the operation device. In a computer-readable recording medium recording a program for functioning as screen display means for displaying a second window screen for creating a data file,
The screen display means includes
Means for rearranging the motion data between any two selected frames as motion data obtained by horizontally inverting the object;
A recording medium comprising: means for registering the rearranged operation data group after an arbitrary frame in the operation data file .
前記第1のウィンドウ画面は、
前記1以上の視点のうち、任意の視点に切り換えるための第3のウィンドウ画面と、前記オブジェクトを少なくとも前記切り換えられた視点から見て示す第4のウィンドウ画面とを有することを特徴とする記録媒体。The recording medium according to claim 1,
The first window screen is
A recording medium comprising: a third window screen for switching to an arbitrary viewpoint among the one or more viewpoints; and a fourth window screen showing the object viewed at least from the switched viewpoint. .
前記第2のウィンドウ画面は、
前記動作データを設定すべきフレームを決定するための第5のウィンドウ画面と、決定されたフレームにおける動作データを設定するための第6のウィンドウ画面とを有することを特徴とする記録媒体。The recording medium according to claim 1 or 2,
The second window screen is
A recording medium comprising: a fifth window screen for determining a frame in which the operation data is to be set; and a sixth window screen for setting operation data in the determined frame.
前記第2のウィンドウ画面は、
前記第1のウィンドウ画面に表示されている前記オブジェクトを構成する1以上のパーツを選択するための第7のウィンドウ画面を有することを特徴とする記録媒体。The recording medium according to any one of claims 1 to 3,
The second window screen is
A recording medium comprising a seventh window screen for selecting one or more parts constituting the object displayed on the first window screen.
前記画面表示手段は、
外部の記憶装置に対し、前記動作データファイルをアクセスするための第8のウィンドウ画面を表示する手段を有することを特徴とする記録媒体。The recording medium according to any one of claims 1 to 4,
The screen display means includes
A recording medium comprising means for displaying an eighth window screen for accessing the operation data file to an external storage device.
前記画面表示手段は、
設定された任意のフレームのうち、第1のフレームにおける動作データと第2のフレームにおける動作データに基づいて、第1のフレームと第2のフレーム間に存する1以上のフレームの動作データを補間処理する手段を有することを特徴とする記録媒体。The recording medium according to any one of claims 1 to 5,
The screen display means includes
Of the set arbitrary frames, based on the motion data in the first frame and the motion data in the second frame, the motion data of one or more frames existing between the first frame and the second frame are interpolated. recording medium characterized in that it comprises means for.
あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段、として機能させるためのプログラムにおいて、
前記画面表示手段は、
選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム。A program execution device that executes various programs; at least one operation device that causes an operation request by a user to be input to the program execution device as an operation instruction; and a display device that displays an image output from the program execution device. the program execution system,
A first window screen that displays a state when an object is viewed from one or more viewpoints, and an operation state of the object in an arbitrary frame is set based on an operation input from the operation device. In a program for functioning as screen display means for displaying a second window screen for creating a data file ,
The screen display means includes
Means for rearranging the motion data between any two selected frames as motion data obtained by horizontally inverting the object;
A program comprising: means for registering the rearranged operation data group after an arbitrary frame in the operation data file .
使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも1つの操作装置と、
前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システムにおいて、
あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段を有し、
前記画面表示手段は、
選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム実行システム。A program execution device for executing various programs;
At least one operation device for causing the program execution device to input an operation request by a user as an operation instruction;
In a program execution system having a display device for displaying an image output from the program execution device ,
A first window display object displays the state when viewed from one or more viewpoint Ru Oh, of the object by setting the operating state at any frame of the object based on the operation input from the operating device have a screen display means for displaying a second window screen to create an operational data file,
The screen display means includes
Means for rearranging the motion data between any two selected frames as motion data obtained by horizontally inverting the object;
Said rearranged operation data group, among the operation data file, a program execution system, characterized by chromatic and means for registered after any frame.
あるオブジェクトを1以上の視点から見たときの状態を表示する第1のウィンドウ画面と、前記操作装置からの操作入力に基づいて前記オブジェクトの任意のフレームにおける動作状態を設定して該オブジェクトの動作データファイルを作成するための第2のウィンドウ画面とを表示する画面表示手段を有し、
前記画面表示手段は、
選択された任意の2つのフレーム間における動作データについて、それぞれ前記オブジェクトを左右反転させた動作データとして再配列する手段と、
前記再配列された動作データ群を、前記動作データファイルのうち、任意のフレーム以降に登録する手段とを有することを特徴とするプログラム実行装置。In a program execution device that can connect at least an operation device that outputs an operation request by a user and a display device for displaying an image, and executes various programs ,
A first window display object displays the state when viewed from one or more viewpoint Ru Oh, of the object by setting the operating state at any frame of the object based on the operation input from the operating device have a screen display means for displaying a second window screen to create an operational data file,
The screen display means includes
Means for rearranging the motion data between any two selected frames as motion data obtained by horizontally inverting the object;
Said rearranged operation data group, among the operation data file, a program execution device, characterized by chromatic and means for registered after any frame.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001372838A JP3682020B2 (en) | 2000-12-08 | 2001-12-06 | Recording medium, program, program execution system, and program execution apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000375145 | 2000-12-08 | ||
JP2000-375145 | 2000-12-08 | ||
JP2001372838A JP3682020B2 (en) | 2000-12-08 | 2001-12-06 | Recording medium, program, program execution system, and program execution apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002236942A JP2002236942A (en) | 2002-08-23 |
JP3682020B2 true JP3682020B2 (en) | 2005-08-10 |
Family
ID=26605548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001372838A Expired - Fee Related JP3682020B2 (en) | 2000-12-08 | 2001-12-06 | Recording medium, program, program execution system, and program execution apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3682020B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915220B2 (en) * | 2015-10-14 | 2021-02-09 | Maxell, Ltd. | Input terminal device and operation input method |
JP6666296B2 (en) * | 2017-04-07 | 2020-03-13 | 日本電信電話株式会社 | Video generation apparatus, method, and program |
JP7134558B2 (en) * | 2017-12-26 | 2022-09-12 | 任天堂株式会社 | Information processing program, information processing device, information processing system, and information processing method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60160429A (en) * | 1984-01-31 | 1985-08-22 | Fuji Xerox Co Ltd | Pointer controller |
JPH0743774B2 (en) * | 1986-12-05 | 1995-05-15 | 富士通株式会社 | Animation creation processing device |
JPH07141520A (en) * | 1993-11-16 | 1995-06-02 | Fujitsu Ltd | Method and device for editing animation |
JP3189583B2 (en) * | 1994-07-29 | 2001-07-16 | ブラザー工業株式会社 | Montage creation equipment |
JPH08329283A (en) * | 1995-03-31 | 1996-12-13 | Matsushita Electric Ind Co Ltd | Three-dimensional image operation device |
JPH0935083A (en) * | 1995-07-24 | 1997-02-07 | Hitachi Ltd | Animation editing device |
WO1997014102A1 (en) * | 1995-10-13 | 1997-04-17 | Na Software, Inc. | Creature animation and simulation technique |
-
2001
- 2001-12-06 JP JP2001372838A patent/JP3682020B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002236942A (en) | 2002-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3668019B2 (en) | Recording medium, image processing apparatus, and image processing method | |
JP3734815B2 (en) | Portable game device and game program | |
RU2519059C2 (en) | Method and device for compact graphical user interface | |
JP5346001B2 (en) | Recording medium, program execution system, program execution apparatus, and image display method | |
EP1226854A2 (en) | Program execution system comprising program execution device, operational device and display device | |
EP1990077A1 (en) | Object display device, object distribution method, information recording medium, and program | |
JP2004295159A (en) | Icon display system and method, electronic equipment, and computer program | |
EP1151776A2 (en) | Recording medium, program, entertainment system, entertainment apparatus, and image displaying method | |
JP3682020B2 (en) | Recording medium, program, program execution system, and program execution apparatus | |
WO2011098567A2 (en) | Method of video playback | |
JP4447000B2 (en) | Image generation system, program, and information storage medium | |
US6585594B2 (en) | Storage medium storing display control program, entertainment apparatus, and display control program | |
US20120139949A1 (en) | Information processing device | |
JP4741164B2 (en) | Program execution system, program execution device, recording medium, and image display method | |
EP1156454A2 (en) | Display control in a video-game apparatus | |
JP3264654B2 (en) | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND RECORDING MEDIUM | |
JP3502073B2 (en) | Recording medium, program, image processing method, and image processing apparatus | |
JP3827691B2 (en) | GAME DEVICE, ITS CONTROL METHOD, AND PROGRAM | |
JP3440271B2 (en) | VIDEO GAME PROGRAM, RECORDING MEDIUM CONTAINING VIDEO GAME PROGRAM, CARD DISPLAY METHOD IN VIDEO GAME, AND GAME DEVICE | |
JP3472571B2 (en) | Recording medium and program | |
JP4173426B2 (en) | GAME PROGRAM, GAME DEVICE, AND GAME CONTROL METHOD | |
JP2007159800A (en) | Pointer-based object selection system | |
JP4204525B2 (en) | 3D image generation apparatus and 3D image generation program | |
JP2002157602A (en) | Recording medium, program, and system and device for program execution | |
JP3715568B2 (en) | Image drawing apparatus, recording medium, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050311 |
|
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: 20050517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050519 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090527 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090527 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100527 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110527 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110527 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120527 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130527 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |