JP3682020B2 - Recording medium, program, program execution system, and program execution apparatus - Google Patents

Recording medium, program, program execution system, and program execution apparatus Download PDF

Info

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
Application number
JP2001372838A
Other languages
Japanese (ja)
Other versions
JP2002236942A (en
Inventor
哲治 山元
健二 澤口
裕二 新改
靖昭 渡辺
映子 大川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2001372838A priority Critical patent/JP3682020B2/en
Publication of JP2002236942A publication Critical patent/JP2002236942A/en
Application granted granted Critical
Publication of JP3682020B2 publication Critical patent/JP3682020B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 entertainment system 10 according to the present embodiment basically includes an entertainment device 12 that executes various programs, and a memory card 14 that is detachably attached to the entertainment device 12. And an operation device (controller) 16 that is detachable from the entertainment device 12 and a monitor (display) 18 that is a display device such as a television receiver to which video / audio signals from the entertainment device 12 are supplied. Composed.
[0030]
The entertainment device 12 reads out a program recorded on a large-capacity storage medium such as an optical disc 20 such as a CD-ROM or DVD-ROM, and responds to an instruction from a user (for example, a user or a game player). This is for executing a game or the like. The execution of the game mainly means that the input from the controller 16 is received through the connector 15 and the progress of the game is controlled while controlling the display and sound on the monitor 18.
[0031]
As shown in FIG. 1, the entertainment device 12 has a shape in which flat rectangular parallelepipeds are stacked, and the front panel is a disc mounting portion on which an optical disc 20 serving as a program / data recording medium is mounted. A disk tray 22 that moves back and forth, a reset switch 24 for arbitrarily resetting a program currently being executed, an open button 26 for pulling out the disk tray 22, and two insertion ports 30 of the memory card 14 And two controller terminals 32 and the like into which the connector 15 of the controller 16 is inserted. On the back side, there are a power switch 28, video and audio output terminals, and a monitor 18 via an AV (audio visual) cable. An AV multi-output terminal (not shown) connected to is arranged.
[0032]
The entertainment device 12 reads the program from the optical disc 20 which is a recording medium such as a CD-ROM or DVD-ROM in which a computer game (video game) program and data are recorded, and executes the program to execute a character on the monitor 18. In addition to a control function for displaying a scene and a scene, various control functions such as movie playback using a DVD (digital video disk) which is another optical disc 20 and music playback using a CDDA (compact disk digital audio) are incorporated. It also has a function of executing a program obtained by communication via a communication network or the like. During the execution of the game program, the three-dimensional computer graphics image generated by the entertainment device 12 is displayed on the monitor 18 as a display device.
[0033]
In this case, the signal from the controller 16 is also processed by one of the control functions of the entertainment apparatus 12, and the contents are reflected on the screen of the monitor 18, for example, on the movement of the character, the scene change, and the like. ing.
[0034]
The controller 16 is provided with first and second operation units 51 and 52 on the center left and right of the upper surface, third and fourth operation units 53 and 54 on the side surface, and analog operation on the front left and right of the upper surface. A left joystick 70 and a right joystick 72, each of which is a joystick, are provided.
[0035]
The first operation unit 51 is, for example, a pressing operation unit for giving an action to a character or the like displayed on the screen of the monitor 18, and its function is set by a program or the like recorded on the optical disc 20 to move the character up and down. It is composed of four operation keys (also referred to as direction keys) 51a, 51b, 51c, 51d having a function of moving left and right. The direction key 51a is also referred to as an up key, the direction key 51b as a down key, the direction key 51c as a left key, and the direction key 51d as a right key.
[0036]
The second operation unit 52 has four operation buttons 52a, 52b, 52c, and 52d in a columnar shape for pressing operation, and “△” and “◯” are respectively placed on the heads of the operation buttons 52a to 52d. ”,“ × ”, and“ □ ”are marked. The operation buttons 52a to 52d are also referred to as a Δ button 52a, a ○ button 52b, an X button 52c, and a □ button 52d, respectively.
[0037]
The functions of the operation buttons 52a to 52d of the second operation unit 52 are set by a program or the like recorded on the optical disc 20. For example, a left arm, a right arm, a left foot, and a right foot of a character or the like are placed on the operation buttons 52a to 52d. The function to move is assigned.
[0038]
The third and fourth operation units 53 and 54 have substantially the same structure, and two operation buttons (also referred to as L1 buttons) 53a and operation buttons (also referred to as L2 buttons) for pressing operation that are aligned vertically. .) 53b, an operation button (also referred to as R1 button) 54a, and an operation button (also referred to as R2 button) 54b. The functions of the third and fourth operation units 53 and 54 are also set by a program recorded on the optical disc 20, and for example, a function for causing a character to perform a special action is assigned.
[0039]
The left and right joysticks 70 and 72 are each provided with a signal input element such as a variable resistor that can be tilted and rotated in the direction of 360 ° around the operation axis, and an analog value is output according to the tilt and rotation. . The left and right joysticks 70 and 72 are returned to the neutral position by an elastic member (not shown). When the left and right joysticks 70 and 72 are pressed downward, signals different from the analog values associated with the tilting and rotation of the joysticks 70 and 72 are output. That is, the left and right joysticks 70 and 72 have the functions of operation buttons (L3 button) 70a and (R3 button) 72a as fifth and sixth operation units for pressing operation.
[0040]
By rotating and tilting the left and right joysticks 70 and 72, for example, moving the character or the like while rotating it, or moving it while changing the speed, and further performing an analog movement such as changing the state. It becomes possible to input a command signal to be enabled.
[0041]
In FIG. 1, the left and right joysticks 70 and 72 can be used by switching to the first and second operation units 51 and 52. The switching is performed by an analog mode switch 74. When the left and right joysticks 70 and 72 are selected by the analog mode switch 74, the display unit 76 is turned on, and the selection state of the left and right joysticks 70 and 72 is displayed.
[0042]
As shown in FIG. 3, analog input values obtained by operating the left and right joysticks 70 and 72 are “0” to “255” in the vertical direction from top to bottom, and from left to right in the horizontal direction. “0” to “255”.
[0043]
In addition to the above, the controller 16 is provided with a start button (start switch) 78 for instructing the start of a game and the like, a select button (selection switch) 80 for selecting a difficulty level of the game at the start of the game, and the like. Yes.
[0044]
Next, the internal configuration and general operation of the entertainment apparatus 12 shown in FIG. 1 will be described with reference to the block diagram of FIG.
[0045]
The entertainment apparatus 12 is configured by connecting a RAM (main memory) 402 as a semiconductor memory and a bus 403 to a CPU 401 that controls the entertainment apparatus 12.
[0046]
A graphic synthesizer (GS) 404 and an input / output processor (IOP) 409 are connected to the bus 403, respectively. The GS 404 includes a RAM (image memory) 405 including a frame buffer, a Z buffer, a texture memory, and the like, and a rendering engine 406 having a rendering function including a drawing function for the frame buffer in the RAM 405.
[0047]
A monitor 18 as an external device is connected to the GS 404 configured as described above via an encoder 407 for converting a digital RGB signal or the like into an NTSC standard television system, for example.
[0048]
The IOP 409 includes a driver (DRV) 410 for reproducing and decoding data recorded on the optical disc 20, a sound generation system 412, a memory card 14 as an external memory including a flash memory, a controller 16, an operating system, and the like. The ROMs 416 on which are recorded are respectively connected. The sound generation system 412 is connected to a speaker 414 and a monitor 18 as external devices via an amplifier 413, and supplies an audio signal.
[0049]
The sound generation system 412 stores a sound processing unit (SPU) 420 that generates musical sounds, sound effects, and the like, and musical sounds, sound effects, etc. generated by the SPU 420 based on instructions from the CPU 401. Sound buffer 422. Signals such as musical sounds and sound effects generated by the SPU 420 are supplied to the audio terminals of the speaker 414 and the monitor 18 and output (sound) as musical sounds, sound effects and the like from the speakers of the speaker 414 and the monitor 18. Yes.
[0050]
Here, the SPU 420 is stored in the sound buffer 422, for example, with an ADPCM decoding function for reproducing audio data that has been adaptive predictive-encoded (ADPCM: Adaptive Differential PCM) as 16-bit audio data as a 4-bit differential signal. A reproduction function for generating sound effects and the like by reproducing waveform data, a modulation function for reproducing waveform data stored in the sound buffer 422, and the like are provided.
[0051]
The sound generation system 412 having such a function can be used as a so-called sampling sound source that generates musical sounds, sound effects and the like based on waveform data recorded in the sound buffer 422 according to instructions from the CPU 401. Yes.
[0052]
The memory card 14 is a card-type external storage device comprising, for example, a CPU or a gate array and a flash memory, and is removable from the entertainment device 12 shown in FIG. The game state during the game is stored, and a DVD playback program and the like are stored.
[0053]
The controller 16 is for giving a command (a binary command or a multi-value command) to the entertainment device 12 by pressing a plurality of buttons. The driver 410 includes a decoder for decoding an image encoded based on the MPEG (moving picture experts group) standard.
[0054]
Next, a characteristic function of the entertainment system 10 according to this embodiment, that is, a program provided to the entertainment apparatus 12 by a random accessible recording medium such as the optical disc 20 and the memory card 14, and further by a network. Functions realized by the above will be described with reference to FIGS.
[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 first window screen 202 displays the state when viewed from three viewpoints), and the operation state of the object 200 in an arbitrary frame is set based on the operation input from the controller 16. A second window screen 204 for creating a data file is displayed.
[0056]
The first window screen 202 includes a camera setting screen 210 for switching to any one of the three viewpoints, and three graphic screens 212A to 212C (see FIG. 5) for displaying the object 200 from the three viewpoints, respectively. Have Of course, instead of displaying all the three graphic screens 212A to 212C, only one graphic screen for displaying the object 200 from the switched viewpoint may be displayed among the three graphic screens 212A to 212C. . FIG. 4 shows an example in which the first graphic screen 212A is displayed. In the following description, the three graphic screens 212A to 212C are collectively referred to as a graphic screen 212.
[0057]
On the other hand, the second window screen 204 includes a key file setting screen 220 for determining a frame in which operation data is to be set, a rotation angle setting screen 222 for setting operation data in the determined frame, and a movement amount setting. A screen 224, a light source setting screen 226 (see FIG. 6) for setting the color and position of the light source, and a parts selection screen 228 for selecting a plurality of parts constituting the object 200 displayed on the graphic screen 212. And have.
[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 monitor 18 by an operation input, and can be freely closed. It can also be erased.
[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 window screens 202 and 204 will be described.
[0060]
First, when one object 200 is animated as a 3D image, a part information table 240 (see FIG. 7) in which information for each of a plurality of parts constituting the object 200 is registered, and vertex data of polygons constituting each part A plurality of polygon data files 242 (see FIG. 8) in which are stored, and a plurality of motion data files 244 (see FIG. 9) in which the motion of each part is sequentially recorded in a frame are used.
[0061]
As shown in FIG. 7, the parts information table 240 has records corresponding to the number of parts constituting one object 200, and each record includes the part name of each corresponding part, reference coordinates (rotation fulcrum and ), Initial coordinates of rotation operation points (relative coordinates as viewed from the reference coordinates), texture table addresses, polygon data file addresses, and the like.
[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 monitor 18. As the initial screen, for example, as shown in FIG. 4, a first graphic screen 212A (a screen showing the object 200 viewed from the first camera viewpoint), a camera setting screen 210, a parts selection screen 228, a rotation angle setting screen. 222, a movement amount setting screen 224, and a key file setting screen 220.
[0065]
Next, when the cursor 250 is moved to the background portion 230 other than the display portion of each screen and the x button 52c is operated, for example, as shown in FIG. 10, the band 252 indicating the selection of the window screen and the memory card 14 A first drop menu screen 256 having an operation band 254 is displayed. When the cursor 250 is placed on the band 254 indicating an operation of the memory card 14, a memory card access screen 260 is displayed as shown in FIG. The
[0066]
When the memory card 14 is inserted in the insertion slot 30, the file names related to the parts information table 240, the polygon data file 242 and the operation data file 244 are read from the memory card 14 and the frame of the memory card access screen 260 is read. Is displayed.
[0067]
When reading a file, the cursor 250 is moved to the file name to be read and the file name is selected by, for example, operating the ○ button 52b. Further, the cursor 250 is moved to the bottom of the memory card access screen 260. Of the displayed icons, the cursor 250 is placed on the “LOAD” icon 262 and, for example, by operating the ○ button 52b, the part information table 240, polygon data file 242 and operation corresponding to the selected file name are displayed. The data file 244 is read into the main memory 402 of the entertainment device 12.
[0068]
An outline of icons other than “LOAD” displayed at the bottom of the memory card access screen 260 will be described. The “SAVE” icon 264 represents an operation data file 244 stored in the main memory 402 of the entertainment device 12. Used to save in the memory card 14. At this time, when saving, a file name input screen (not shown) is displayed. By inputting characters or the like along the guidance of the input screen, the file name can be easily input.
[0069]
The “CHECK” icon 266 is used to check what kind of file is stored in the memory card 14. The “CANCEL” icon 268 is used when the memory card access screen 260 is deleted.
[0070]
In addition to the several window screens included in the initial screen, the window screen displayed on the screen of the monitor 18 includes a second graphic screen 212B (the object 200 as a second camera viewpoint) as shown in FIG. And a third graphic screen 212C (screen showing the object 200 viewed from the third camera viewpoint) and a light source setting screen 226 as shown in FIG.
[0071]
When these window screens are displayed, the first drop menu screen 256 shown in FIG. 10 is displayed, and the cursor 250 is moved to a band 252 indicating the selection of the window screen, so that various windows are displayed as shown in FIG. Since the second drop menu screen 270 on which the screen type is displayed is displayed, any one of these may be selected.
[0072]
Further, when the object 200 is displayed on each of the graphic screens 212 </ b> A to 212 </ b> C, as illustrated in FIGS. 5 and 14, it may be easier to recognize the operation of the object 200 when the ground 272 is displayed. Therefore, when the ground 272 is displayed on the graphic screen 212, the cursor 250 on the arbitrary graphic screen 212 is moved and the X button 52c is operated, for example, to display / hide the ground 272 as shown in FIG. Since the third drop menu screen 274 is displayed, the cursor 250 is moved to the corresponding item and, for example, the O button 52b is operated.
[0073]
When the display of the ground 272 is selected, a sub window screen 276 for setting the height of the ground 272 is further displayed as shown in FIG. The method of setting the height of the ground surface 272 is to set the height of the ground surface 272 by moving the cursor 250 to the portion where the height value is displayed and operating the ○ button 52b or the x button 52c, for example. Can do. Here, the ground 272 is raised by operating the ○ button 52b, and the ground 272 is lowered by operating the x button 52c.
[0074]
As described above, when the parts information table 240 and the polygon data file 242 of the object 200 are read from the memory card 14, the first camera is displayed on the currently displayed graphic screen, for example, the first graphic screen 212A. The state of the object 200 viewed from the viewpoint is displayed.
[0075]
In displaying the 3D image of the object 200, particularly when the motion data file 244 is not read, first, the motion data file 244 displays the initial coordinates of the motion points registered in the records of the part information table 240. An operation data file 244 at the initial stage is created by storing in all records of the stored portion.
[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 operation data file 244, and further stored in the polygon data file 242 for each part. The arrangement of polygons constituting each part is determined from the polygon information, optical characteristics and texture expression are performed on these polygons, further perspective transformation is performed as screen coordinates, and texture mapping is performed if necessary in the image memory 405. A 3D image of the object 200 is displayed.
[0077]
Simultaneously with the display of the 3D image of the object 200, names (part names) relating to a plurality of parts constituting the object 200 are displayed on the part selection screen 228. In the example of FIG. 4, a state where the human-shaped object 200 is running is shown.
[0078]
Next, the cursor 250 is moved to move the cursor 250 to a frame 280 in the vicinity of “CF” on the key file setting screen 220, and then the ○ button 52b and the x button 52c are operated to set, for example, “0”. To do. As a result, the 0th frame is selected.
[0079]
Next, of the plurality of names displayed on the part selection screen 228, by moving the cursor 250 to an arbitrary name and operating the ○ button 52b, for example, the corresponding part is selected and simultaneously displayed on the graphic screen 212. In the selected object 200, a translucent sub-object 282 indicating that the part has been selected is displayed in the selected part. The sub-object 282 has a shape obtained by slightly enlarging the outer shape of the selected part, and exhibits blue translucency. The display of the sub-object 282 makes it possible to recognize at a glance which part has been selected.
[0080]
Next, the cursor 250 is moved to each of the X, Y, and Z frames on the rotation angle setting screen 222 and, for example, a circle button 52b or a x button 52c is operated to input a numerical value. These numerical values indicate, for example, X, the rotation angle when the operating point is rotated around the X axis with the reference coordinates as a fulcrum in the selected part. The same applies to Y and Z. By rotating the operating point, the vertex data of the polygons constituting the part is rewritten, and the part is rotated with the reference coordinates as a fulcrum.
[0081]
Then, by operating the ○ button 52b, the rotation angle advances in the forward direction, and thus the selected part of the object 200 displayed on the graphic screen 212 is rotated clockwise around the selected axis. Then, by operating the X button 52c, the rotation angle advances in the negative direction, and the selected part rotates counterclockwise around the selected axis.
[0082]
The movement amount setting screen 224 is used when the reference coordinates of the selected part are moved in an arbitrary direction. Further, the light source setting screen 226 is configured so that the position of the light source is set by changing the numerical values related to X, Y, and Z, and the color of the light source is set by changing the numerical values related to R, G, and B. It has become. As a result, a light source similar to sunlight, fluorescent light, incandescent light, or the like can be obtained.
[0083]
For example, when changing the various numerical values, the display position, the enlargement ratio, or the like of the object 200 can be changed using the camera setting screen 210. For example, the top icon 290 on the camera setting screen 210 is used to select the graphic screen 212 that is the target of changing the display position or enlargement ratio of the object 200. By operating the button 52b, it is switched in the order of “CAMERA1” → “CAMERA2” → “CAMERA3” → “CAMERA1”.
[0084]
Here, “CAMERA1” indicates that the first graphic screen 212A has been selected, and “CAMERA2” indicates that the second graphic screen 212B has been selected, indicating “CAMERA3”. This indicates that the third graphic screen 212C has been selected.
[0085]
Then, with the cursor 250 positioned on the icon 292 indicating rotation, for example, by operating the direction keys 51 a to 51 d and the joysticks 70 and 72, the viewpoint on the currently selected graphic screen 212 becomes a preset locus. Will move along. In this case, since there are four direction keys, four trajectories are prepared for each graphic screen 212.
[0086]
The icon 294 indicating the enlargement ratio is used to change the enlargement ratio related to the display of the object 200. When the cursor 250 is placed on the icon 294 indicating the enlargement ratio, for example, the left key 51c is operated to reduce the object 200, and the right key 51d is operated to enlarge the object 200. It has become. Note that an icon 296 indicating default is used when the coordinates of the viewpoint and the enlargement ratio are returned to the initial values.
[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 file setting screen 220 includes a diagram symbolizing the time axis 300 and an icon group including the above-mentioned “CR”. The icon group includes “RP”, “RP”, There are reproduction-related icon groups and extended function-related icon groups (icon groups indicating “R”, “D”, “C”, “M”, “F”, and “H”).
[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 time axis 300, a mark 302 indicating a playback start frame is displayed at a position corresponding to the playback start frame number, and a mark 304 indicating a playback end frame is displayed at a position corresponding to the playback end frame number. It has become so.
[0092]
The icons related to playback include an icon 306 indicating that the playback frame is returned to the playback start frame, an icon 308 indicating reverse playback, an icon 310 indicating stop, an icon 312 indicating normal playback, and a playback frame. And an icon 314 indicating advance to the end frame.
[0093]
The “R” icon 316 is used to record operation data (operation data being set) in a record corresponding to the frame number indicated by “CF” in the operation data file 244. By operating the “R” icon 316, a mark 318 indicating that recording has been performed in a portion corresponding to the frame number indicated by “CF” in the upper portion of the time axis 300 is displayed.
[0094]
Also, by operating the “R” icon 316 (the cursor 250 is moved to the icon and the ○ button 52b is operated), motion data in a plurality of frames between the recorded frames is automatically generated by interpolation processing. Will be recorded.
[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 object 200 is running, for example, is facing the right hand is recorded. When motion data indicating the way the object 200 is running is recorded in the 10th record (10th frame), 0 to 1 to 9 frames between the 0th frame and the 10th frame of each motion data file 244. The operation data of the process of continuously shifting from the state of the frame to the state of the 10th frame (in this case, 9 steps) is created by interpolation processing.
[0096]
Further, at the stage where the motion data indicating the state in which the object 200 is running, for example, and the left hand is in front is recorded in the 20th record (20th frame) of each motion data file 244, each motion data is recorded. The motion data in the process of transitioning from the 10th frame state to the 20th frame state from the 10th frame to the 19th frame between the 10th frame and the 20th frame (also 9 steps in this case) is interpolated. Will be created.
[0097]
At this stage, each motion data file 244 records motion data about motions that the object 200 continuously runs from a state in which the right hand is in front to a state in which the left hand is in front.
[0098]
Next, the “D” icon 319 is used to delete the operation data registered in the record corresponding to the frame number indicated by “CF” in the operation data file 244.
[0099]
The “C” icon 320 is used to delete all the operation data registered in the operation data file 244, and the “M” icon 322 is used to enlarge / reduce the time axis 300.
[0100]
For example, in FIG. 4, frames 0 to 144 are displayed as the time axis 300. In this state, the “M” icon 322 is operated once in the forward direction (the cursor 250 is moved, for example, the ○ button 52b is operated). Then, the time axis 300 becomes an enlarged display from 0 frame to 96 frames. Similarly, when the “M” icon 322 is further operated once in the forward direction, the time axis 300 is enlarged from the 0th frame to the 48th frame, and if the “M” icon 322 is further operated, the enlarged display is not performed. No longer done.
[0101]
On the other hand, when the “M” icon 322 is operated once in the negative direction while the time axis 300 is displayed from the 0th frame to the 48th frame (eg, the cursor 250 is moved and the X button 52c is operated, for example), the time axis 300 Is reduced from 0 to 96 frames. Similarly, when the “M” icon 322 is further operated once in the negative direction, the time axis is reduced from 0 frame to 144 frames.
[0102]
The “F” icon 324 is used to set the left / right inversion for the operation data in a plurality of frames sandwiched between two frames indicated by “RP”. The “F” icon 324 is used in cooperation with other icons. For example, the “F” icon 324 is operated (the cursor 250 is moved to the “F” icon 324 and the ○ button 52 b is operated) to specify a specific icon. After setting the left-right reversal between frames, the first frame to be written is set by “CF”, and further, the “R” icon 316 is operated to start from the frame indicated by “CF” in the operation data file 244. The operation data after the horizontal reversal is recorded.
[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 object 200 is running, for example, the left hand from the state with the right hand in front. Assume that the operation data in the previous state is recorded.
[0104]
At this time, 0 and 20 are selected in “RP”, and then the “F” icon 324 is operated. At this stage, motion data obtained by horizontally flipping motion data from 0 to 20 frames is created and stored in a work file.
[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” icon 316 is operated, whereby the left and right reversed operation stored in the work file is performed. Data is stored after the frame set in “CF” in the operation data file 244. For example, when 20 frames are set, data is written from 20 frames to 40 frames.
[0106]
As a result, if “RP” is set to 0 and 40 and, for example, the icon 312 indicating normal reproduction is operated, a good animation display of the object 200 running on the graphic screen 212 is performed.
[0107]
Further, with this function, the moving speed of the cursor 250 can be changed with a simple operation. For example, by operating only the direction keys 51a to 51d and the joystick 70 or 72, the cursor 250 moves at a normal speed. For example, the direction keys 51a to 51d and the joystick 70 or 72 are operated while simultaneously operating the R1 button 54a. As a result, the cursor 250 moves at a double speed, for example. Of course, the reverse is also acceptable.
[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 entertainment device 12 through a randomly accessible recording medium such as the optical disk 20 and the memory card 14, and further via a network. Here, the description will be made on the assumption that the optical disk 20 is read and operated by the entertainment device 12.
[0110]
That is, the software is operated on the CPU 401 by being downloaded from the specific optical disk 20 that is reproduced in advance by the entertainment device 12 to the RAM 402 of the entertainment device 12 through a predetermined process, for example. .
[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 monitor 18. For example, as shown in FIG. 16, the window information table 500 stores the type of window screen, the display range, and the priority in each record. The higher priority is displayed on the front.
[0112]
Next, in step S2, the display coordinates of the cursor 250 are initialized. This setting is to display the cursor 250 at the center of the screen of the monitor 18, for example. Subsequently, in step S3, an initial screen is displayed on the screen of the monitor 18, as shown in FIG.
[0113]
Next, in step S4, the operation input from the controller 16 is waited. When there is an operation input, the process proceeds to the next step S5, where the current coordinates of the cursor 250 are read. Subsequently, in step S6, it is determined whether or not the memory card access screen 260 is displayed. If the memory card access screen 260 is not displayed, the process proceeds to the next step S7 to determine whether or not there is an operation input of the direction keys 51a to 51d and the joystick 70 or 72. If there is an operation input of the direction keys 51a to 51d and the joystick 70 or 72, the process proceeds to the next step S8, and it is determined whether or not the R1 button 54a is operated. If it has been operated, the process proceeds to the next step S9, and the coordinates of the movement destination of the cursor 250 are obtained based on the movement vector (high-speed movement in this case) of the cursor 250.
[0114]
On the other hand, if it is determined in step S8 that the R1 button 54a has not been operated, the process proceeds to step S10, where the coordinates of the movement destination of the cursor 250 are based on the movement vector of the cursor 250 (in this case, the movement at the normal speed). Ask for.
[0115]
Next, in step S11, it is determined whether or not the circle button 52b is operated. If it has been operated, the process proceeds to step S 12 in FIG. 18, and a window screen corresponding to the current coordinate position of the cursor 250 is searched based on the window information table 500.
[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 movement destination cursor 250, and the priority is set. Rewrite the value to indicate the highest priority.
[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 joystick 70 or 72, the process proceeds to step S15 in FIG. 19 and based on the contents of the window information table 500 (display range information). The window screen corresponding to the coordinate position of the current cursor 250 is searched.
[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 current cursor 250 is the rotation angle setting screen 222, the movement amount setting screen 224, or the light source setting screen 226.
[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 cursor 250 is the rotation angle setting screen 222.
[0120]
If it is the rotation angle setting screen 222, the process proceeds to the next step S102 to enter the rotation angle setting process. In this rotation angle setting process, first, in step S201 in FIG. 22, it is determined whether or not a part has been selected. If the parts have been selected, the process proceeds to the next step S202, and it is determined whether or not the rotation angle relating to X, Y, or Z has been changed. If the rotation angle is changed, the process proceeds to the next step S203, and the operation of the record corresponding to the frame is determined based on the current change value of the rotation angle related to the selected axis in the operation data file 244 corresponding to the part. Change the coordinates of a point.
[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 object 200 is displayed in the same state (initial state) regardless of which frame is selected.
[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 cursor 250 is not the rotation angle setting screen 222, the process proceeds to step S103, and the movement amount setting screen is displayed. Whether it is 224 or not is determined. If it is the movement amount setting screen 224, the process proceeds to the next step S104 to enter the movement amount setting process.
[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 cursor 250 is not the movement amount setting screen 224, the process proceeds to step S105, and the light source setting screen 226 is entered. It is determined whether or not. If it is the light source setting screen 226, the process proceeds to the next step S106 to enter the light source setting process.
[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 source setting screen 226, the process proceeds to step S107, and the other according to the operation input. Perform the process.
[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 cursor 250 is not set in relation to the operation data, the process proceeds to step S18 to select the selected window. It is determined whether or not the window screen is a parts selection screen 228.
[0137]
If it is the parts selection screen 228, the process proceeds to the next step S 19, and a part name corresponding to the current coordinate position of the cursor 250 among the plurality of part names displayed on the parts selection screen 228 is secured.
[0138]
If it is determined in step S18 that the window screen corresponding to the coordinate position of the current cursor 250 is not the part selection screen 228, the process proceeds to step S20, and whether the selected window screen is the key file setting screen 220 or not. Determine whether or not.
[0139]
If it is the key file setting screen 220, the process proceeds to the next step S21 to enter the key file setting process. In this key file setting process, as shown in FIG. 25, first, in step S501, it is determined whether or not the current selection is a frame setting. If it is a frame setting, the process proceeds to the next step S502, and the current frame number is changed according to the operation input of the ○ button 52b and the x button 52c.
[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 ○ button 52b or the x button 52c for the left input column, and the ○ button 52b or the x button 52c is operated for the right input column. The frame number at the end of playback is changed according to the input.
[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 icon 312 indicating normal reproduction, bit information indicating reproduction is set in the reproduction flag, and if the operation target is an icon 310 indicating stop, the reproduction flag is a bit indicating stop. Set information.
[0143]
If the operation target is the icon 306, bit information indicating reproduction is set in the reproduction flag, and the current frame number is set as the reproduction start frame number. If the operation target is the icon 314, bit information indicating reproduction is set in the reproduction flag, and the current frame number is set as the reproduction end frame number.
[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” icon 316.
[0146]
If it is the “R” icon 316, the process proceeds to the next step S 602, and it is determined whether or not left / right reversal is being selected. If right / left inversion is being selected, the process proceeds to the next step S603, and the operation related to all parts related to the range set in “RP” from the record corresponding to the current frame number in the operation data file 244 related to all parts. Stores data (operation data after left-right reversal).
[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” icon 316, the process proceeds to step S606, where it is determined whether or not the operation target is the “D” icon 319. If it is the “D” icon 319, the process proceeds to the next step S 607 to delete the current frame number from the frame information table 502.
[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 step 706 that there are no two or more frames between the frames, or when it is determined in step S705 that the image is horizontally reversed, In step S708, the value of the index register i is updated by +1.
[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” icon 319, the process proceeds to step S610 in FIG. 28 and whether the operation target is the “C” icon 320 or not. Is determined. If it is the “C” icon 320, the process proceeds to the next step S 611 to initialize the frame information table 502.
[0160]
If it is determined in step S610 that the operation target is not the “C” icon 320, the process advances to step S612 to determine whether the operation target is the “M” icon 322 or not. If it is the “M” icon 322, the process proceeds to the next step S 613, and the step value related to the enlarged display of the time axis 300 is updated by +1. In this update, when the step value exceeds the maximum value, the initial value is restored.
[0161]
If it is determined in step S612 that the operation target is not the “M” icon 322, that is, if it is determined that the operation target is the “F” icon 324, the process proceeds to the next step S614, where “RP” is set. In step S615, the operation data in the range of frames is secured, and then the secured operation data is converted into left-right inverted operation data.
[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 cursor 250 is not the key file setting screen 220, the process proceeds to step S22, where the selected screen is selected. It is determined whether or not the window screen is the camera setting screen 210.
[0165]
If it is the camera setting screen 210, the process proceeds to the next step S23 to enter the camera setting process. In the camera setting process, as shown in FIG. 30, first, in step S801, it is determined whether or not the operation target is a camera selection. If it is a camera selection, it will progress to the following step S802 and will change the number of a camera according to the operation input of (circle) button 52b or x button 52c.
[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 direction keys 51a to 51d and the joystick 70 or 72 are operated. If the direction keys 51a to 51d and the joystick 70 or 72 are operated, the process proceeds to the next step S805, where the camera viewpoint is changed along a prescribed locus corresponding to the operation direction, and the coordinates of the camera viewpoint are obtained.
[0167]
If it is determined in step S804 that the direction key 51a to 51d is not the joystick 70 or 72, the coordinates of the camera viewpoint are changed according to the operation input of the ◯ button 52b and the X button 52c with respect to the X, Y, and Z coordinates.
[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 direction keys 51c or 51d are operated, the process proceeds to the next step S809, and the enlargement ratio (or reduction ratio) is changed according to the operation input of these direction keys 51c or 51d.
[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 ◯ button 52b or the x button 52c.
[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 cursor 250 is not the camera setting screen 210, the process proceeds to step S24 in FIG. It is determined whether it is a card access request. If it is a memory card access request, the process proceeds to the next step S25, and a display request for the memory card access screen 260 is made. This routine displays the first drop menu screen 256 shown in FIG. 10, and further passes the cursor 250 by positioning the cursor 250 on the band 254 indicating the operation of the memory card 14, for example, by operating the X button 52c. Become.
[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 cursor 250 is on the background screen 230 and the X button 52c is operated, a display request for the first drop menu screen 256 (see FIG. 10) is displayed. I do.
[0175]
In the state where the first drop menu screen 256 is displayed, if the position of the cursor 250 is in the band 252 indicating selection of the window screen and the ○ button 52b is operated, the second drop menu screen 256 is displayed. A display request for the drop menu screen 270 (see FIG. 12) is made.
[0176]
When any of the window screens is selected while the second drop menu screen 270 is displayed, the type of the selected window screen, the range to be displayed, and the priority are displayed in the window information table 500 ( 16). At this time, the priority is set to the value displayed in the foreground.
[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 cursor 250 is on the graphic screen 212 and the X button 52c is operated, a display request for the third drop menu screen 274 (see FIG. 13) indicating the display / non-display of the ground 272 is displayed. I do.
[0179]
When the display of the ground 272 is selected while the third drop menu screen 274 is displayed, a display request for the sub window screen 276 (see FIG. 14) for setting the height of the ground 272 is made. .
[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 ground 272 is selected while the third drop menu screen 274 (see FIG. 13) is displayed, a display request for the ground 272 is made. Further, in the state where the sub window screen 276 is displayed, the height of the ground surface 272 is set according to the operation input of the ○ button 52b and the x button 52c. In addition, when the third drop menu screen 274 is displayed, if deletion of the ground 272 is selected, a request for deleting the ground 272 is made.
[0181]
On the other hand, if it is determined in step S6 of FIG. 17 that the memory card access screen 260 is displayed, the process proceeds to step S29 to enter the memory card access process.
[0182]
In this memory card access process, as shown in FIG. 32, first, in step S1001, it is determined whether or not the memory card 14 is inserted into the insertion slot 30. If it has been inserted, the process proceeds to the next step S1002, and it is determined whether or not the file name has already been read from the memory card 14. If it is a new memory card 14, the process proceeds to the next step S1003, and the file names of the parts information table 240, polygon data file 242, operation data file 244, etc. are read from the memory card 14.
[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 memory card 14 together with the input file name.
[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 memory card 14 and written to a free storage area of the main memory 402.
[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 memory card 14 in step S1010, and the main memory 402 is empty. Write to the storage area.
[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 memory card 14. If it is a check request, the process proceeds to the next step S1012, and the file names of various tables and files recorded in the memory card 14 are read.
[0188]
If it is determined in step S1011 that the request is not for checking the memory card 14, that is, if it is a cancel request, the process proceeds to step S1013, and a request for deleting the memory card access screen 260 is made.
[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 O button 52b is not operated, the process proceeds to step S30, and the image drawing process is started.
[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 angle setting screen 222, in step S1103, the image data of the rotation angle setting screen 222 is read out, drawn in the display range registered in the record in the image memory 405, and further selected at present. Each rotation angle around the X axis, Y axis, and Z axis in the inner part is read and drawn in the corresponding frame.
[0194]
If the type is the movement amount setting screen 224, in step S1104, the image data of the movement amount setting screen 224 is read out and drawn in the display range registered in the record in the image memory 405. The X, Y, and Z coordinates of the reference position in the selected part are read out and drawn in the corresponding frame.
[0195]
If the type is the light source setting screen 226, in step S1105, the image data of the light source setting screen 226 is read out, drawn in the display range registered in the record in the image memory 405, and further being currently set. The X, Y and Z coordinates of the light source position and the color data of R, G and B are read out and drawn in the corresponding frames.
[0196]
If the type is the parts selection screen 228, in step S1106, the image data of the parts selection screen 228 is read out and drawn in the display range registered in the record in the image memory 405. Furthermore, the parts information table The part names registered in 240 are read out and drawn in the corresponding frames.
[0197]
If the type is the camera setting screen 210, in step S1107, the image data of the camera setting screen 210 is read out, drawn in the display range registered in the record in the image memory 405, and further currently selected. The camera number, the X, Y and Z coordinates of the viewpoint, and the enlargement ratio are read out and drawn in the corresponding frames.
[0198]
If the type is the key file setting screen 220, in step S1108, the image data of the key file setting screen 220 is read out and drawn in the display range registered in the record in the image memory 405. The frame number, the reproduction start frame, and the reproduction end frame are read out and drawn in the corresponding frames. In addition, the time axis 300 is drawn after being enlarged / reduced based on the step value of the enlarged display.
[0199]
If the type is the first to third graphic screens 212A to 212C, the image data of the corresponding graphic screen 212 is read in step S1109, and the display range registered in the record in the image memory 405 is read. In addition, the 3D image of the object 200 viewed from each viewpoint is converted into a part information table 240, a polygon data file 242, a texture table and an operation data file 244, viewpoint coordinates, light source position, light source color development data, and magnification ( (Or a reduction ratio) and is drawn in the selected graphic screen 212 among the first to third graphic screens 212A to 212C. At this time, the content stored in the record corresponding to the current frame number in the motion data file 244 is read, and the 3D image of the object 200 is drawn.
[0200]
Further, in the first to third graphic screens 212A to 212C, if display of the ground 272 is selected, a 3D image of the ground 272 is converted into a polygon data file 242 related to the ground 272, a texture table, viewpoint coordinates, and a light source. It is created based on the position, the color development data of the light source, the enlargement ratio (or reduction ratio), and the height information of the ground, and in the selected graphic screen 212 among these first to third graphic screens 212A to 212C. draw.
[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 sub window screen 276. If there is a display request, the process advances to the next step S1112 to draw the requested screen among the first to third drop menu screens 256, 270, 274 and the sub window screen 276.
[0203]
When it is determined that the drop menu screens 256, 270, and 274 and the sub window screen 276 are not displayed at the stage when the processing in step S1112 is completed or in step S1111, the process proceeds to the next step S1113, and the memory card access It is determined whether or not there is a display request for the screen 260. If there is a display request for the memory card access screen 260, the process proceeds to the next step S 1114, the image data on the memory card access screen 260 is read and drawn in a preset display range in the image memory 405, and the file name If is read, the file name is drawn.
[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 card access screen 260, the process proceeds to the next step S1115 to determine whether or not playback is currently being performed. To do. This determination is made based on whether or not the during-reproduction flag indicates content indicating reproduction. If playback is in progress, the process advances to step S1116 to update the current frame number by +1. At this time, when the frame number becomes larger than the number of the reproduction end frame, the number is rewritten to the number of the reproduction start frame.
[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 image memory 405 is output to the monitor 18, and the image is displayed on the screen of the monitor 18.
[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 first window screen 202 that displays a state when an object 200 is viewed from one or more viewpoints, and an arbitrary input of the object 200 based on an operation input from the controller 16. A second window screen 204 for setting the motion state in the frame and creating the motion data file 244 of the object 200 is displayed.
[0209]
As a result, the user uses the second window screen 204 while confirming the operation state of the object 200 displayed on the first window screen 202, and uses the arbitrary frame of the object 200 based on the operation input from the controller 16. The motion data file 244 of the object 200 can be created by setting the motion state at.
[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 object 200 is switched is input in an arbitrary frame, the motion data file 244 of the object 200 can be easily obtained. Will be created.
[0211]
Therefore, in the present embodiment, the motion data file 244 of the object 200 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, since a user (programmer or the like) who is creating a video game can easily create an operation data file 244, it can take time for market research, scenario development and game content examination. The video game demanded by the market can be quickly supplied.
[0212]
In particular, in the present embodiment, as the first window screen 202, the camera setting screen 210 for switching to an arbitrary viewpoint among the one or more viewpoints and the object 200 are viewed from at least the switched viewpoint. It has 1st-3rd graphic screen 212A-212C shown.
[0213]
Therefore, the user can freely switch the viewpoint using the camera setting screen 210, and while looking at the first to third graphic screens 212A to 212C to see what form the object 200 is in from the switched viewpoint. It can be easily confirmed.
[0214]
Further, as the second window screen 204, a key file setting screen 220 for determining a frame in which operation data is to be set, a rotation angle setting screen 222 for setting operation data in the determined frame, and a movement amount setting And a screen 224.
[0215]
Therefore, the user can freely select a frame for which motion data is to be created using the key file setting screen 220, and further, the selection can be performed using the rotation angle setting screen 222 and the movement amount setting screen 224. It is possible to easily write operation data to a frame.
[0216]
Further, the second window screen 204 includes a parts selection screen 228 for selecting one or more parts constituting the object 200 displayed on the first window screen 202.
[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 object 200 can be reduced. It can be easily grasped.
[0218]
In this embodiment, a memory card access screen 260 for accessing the operation data file 244 is displayed on an external storage device such as the memory card 14.
[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 memory card 14 or the like. Instead of the memory card 14, a portable CD-R, DVD-R, or the like may be used.
[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 cursor 250 displayed on the screen of the monitor 18 is moved based on the operation input related to the direction keys 51 a to 51 d and the joystick 70 or 72 from the controller 16, and further from the controller 16. The moving speed of the cursor 250 is changed based on a specific operation input (for example, an operation input of the R1 button 54a). As a result, the movement of the cursor 250 can be easily switched using another operation element, so that the operability can be improved.
[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 ... Entertainment system 12 ... Entertainment equipment
14 ... Memory card 16 ... Controller
18 ... Monitor 200 ... Object
202 ... 1st window screen 204 ... 2nd window screen
210 ... Camera setting screen
212, 212A to 212C... First to third graphic screens
220 ... Key file setting screen 222 ... Rotation angle setting screen
224 ... Movement amount setting screen 226 ... Light source setting screen
228 ... Parts selection screen 401 ... CPU
402: Main memory 405 ... RAM (image memory)

Claims (9)

各種プログラムを実行するプログラム実行装置と、使用者による操作要求を前記プログラム実行装置に操作指示として入力させる少なくとも1つの操作装置と、前記プログラム実行装置から出力された画像を表示する表示装置とを有するプログラム実行システム
あるオブジェクトを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のウィンドウ画面は、
前記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. .
請求項1又は2記載の記録媒体において、
前記第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.
請求項1〜3のいずれか1項に記載の記録媒体において、
前記第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.
請求項1〜4のいずれか1項に記載の記録媒体において、
前記画面表示手段は、
外部の記憶装置に対し、前記動作データファイルをアクセスするための第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〜5のいずれか1項に記載の記録媒体において、
前記画面表示手段は、
設定された任意のフレームのうち、第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以上の視点から見たときの状態を表示する第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.
JP2001372838A 2000-12-08 2001-12-06 Recording medium, program, program execution system, and program execution apparatus Expired - Fee Related JP3682020B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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