(57)【特許請求の範囲】
【請求項１】
３次元共有仮想空間におけるコンピュータグラフィックス（以下、ＣＧと記す）を表示する３次元共有仮想空間におけるＣＧアニメーション表示方法において、
基準フレームレートを設定しておく第１の過程と、
端末の描画フレームレートを取得する第２の過程と、
前記基準フレームレートを前記端末の描画フレームレートで除した値ｐを取得する第３の過程と、
物体の表示位置を示すＰＡＴＨデータにおける最初の位置に該物体を表示する第４の過程と、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、前記ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする第５の過程と、
前記ステップ数ｎに基づいて、ｎ個先のノードの位置に前記物体を表示する第６の過程と、
前記値ｐと前記Ｄｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、前記第５の過程以降の処理を繰り返し、完了した場合には処理を終了する第７の過程からなることを特徴とする３次元共有仮想空間におけるＣＧアニメーション表示方法。
【請求項２】
前記ステップ数ｎの上限を最大ステップ数Ｍとし、
前記ステップ数ｎが前記最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略する請求項１記載の３次元共有仮想空間におけるＣＧアニメーション表示方法。
【請求項３】
ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算し、
最大ステップ比率をＲとして、前記ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部を前記ステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わない請求項１記載の３次元共有仮想空間におけるＣＧアニメーション表示方法。
【請求項４】
３次元共有仮想空間におけるＣＧを表示する３次元共有仮想空間におけるＣＧアニメーション表示装置であって、
予め設定された基準フレームレートと、端末から取得した端末の描画フレームレートに基づいて、前記端末の描画フレームレートで除した値ｐを取得するフレームレート計算手段と、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、前記値ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする表示位置計算手段と、
物体の表示位置を示すＰＡＴＨデータにおける最初のノードの位置に該物体を表示する手段と、前記ステップ数ｎに基づいて、ｎ個先のノードの位置に物体を表示する手段と、前記値ｐと前記値Ｄｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、前記表示位置計算手段以降の処理を繰り返し、完了した場合には処理を終了する手段からなる表示制御手段とを有することを特徴とする３次元共有仮想空間におけるＣＧアニメーション表示装置。
【請求項５】
前記表示制御手段は、
前記ステップ数ｎの上限を最大ステップ数Ｍとし、
前記ステップ数ｎが前記最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略する手段を含む請求項４記載の３次元共有仮想空間におけるＣＧアニメーション表示装置。
【請求項６】
前記表示制御手段は、
ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算する手段と、
最大ステップ比率をＲとして、前記ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部を前記ステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わない手段とを含む請求項４記載の３次元共有仮想空間におけるＣＧアニメーション表示装置。
【請求項７】
前記フレームレート計算手段において計算された前記値ｐを記憶する第１の記憶手段と、
前記表示位置計算手段で計算されたＤｉ  を記憶する第２の記憶手段とを含む請求項４記載の３次元共有仮想空間におけるＣＧアニメーション表示装置。
【請求項８】
３次元共有仮想空間におけるＣＧを表示する３次元共有仮想空間におけるＣＧアニメーション表示プログラムを格納した記憶媒体であって、
予め設定された基準フレームレートと、端末から取得した端末の描画フレームレートに基づいて、前記端末の描画フレームレートで除した値ｐを取得するフレームレート計算プロセスと、
物体の表示位置を示すＰＡＴＨデータにおける最初のノードの位置に該物体を表示するプロセスと、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、前記値ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする表示位置計算プロセスと、
前記ステップ数ｎに基づいて、ｎ個先のノードの位置に物体を表示手段に表示するプロセスと、前記値ｐと前記値Ｄｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、前記表示位置計算プロセス以降の処理を繰り返し、完了した場合には処理を終了するプロセスからなる表示制御プロセスとを有することを特徴とする３次元共有仮想空間におけるＣＧアニメーション表示プログラムを格納した記憶媒体。
【請求項９】
前記表示制御プロセスは、
前記ステップ数ｎの上限を最大ステップ数Ｍとし、
前記ステップ数ｎが前記最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略するプロセスを含む請求項８記載の３次元共有仮想空間におけるＣＧアニメーション表示プログラムを格納した記憶媒体。
【請求項１０】
前記表示制御プロセスは、
ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算するプロセスと、
最大ステップ比率をＲとして、前記ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部を前記ステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わないプロセスとを含む請求項８記載の３次元共有仮想空間におけるＣＧアニメーション表示プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元共有仮想空間におけるＣＧアニメーション表示方法及び装置及びＣＧアニメーション表示プログラムを格納した記憶媒体に係り、特に、３次元共有仮想空間（例えば、インタースペース）内でのＰＡＴＨデータ（各ノード集合）によるＣＧアニメーションの共有動作を行うための３次元共有仮想空間におけるＣＧアニメーション表示方法及び装置及びＣＧアニメーション表示プログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
ＣＧアニメーションにおいて、物体の動きをＰＡＴＨデータで表現する方法がある。ここで、ＰＡＴＨデータとは、各ノードの集合であり、ノードの位置は、ローカル座標系、または、グローバル座標系上での座標値で表される。ここで、ＰＡＴＨデータ、ローカル座標系とグローバル座標系については、例えば、Ｍ．オーク著「３次元コンピュータ・アニメーションの原理」（株）トッパン，  ｐ．２８，  ｐ．１４６  に記載されている。
【０００３】
従来、３次元ＣＧ共有仮想空間におけるＣＧアニメーションにおいては、ローカル座標系ＰＡＴＨデータをグローバル座標系ＰＡＴＨデータに計算し、変換したＰＡＴＨデータを用いてＣＧアニメーションを行っている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のＣＧアニメーションの共有動作方法では、端末の計算処理速度によらず、全ＰＡＴＨデータを用いてＣＧアニメーションの共有動作をしているため、アニメーション速度が端末の計算処理速度に依存している。
【０００５】
このように、従来の共有動作方法では、計算処理速度の速い端末では、アニメーションが早く実行され、計算処理速度の遅い端末では、アニメーションが遅く実行されるため、共有動作に大きな差異を生じてしまう。また、計算処理速度の遅い端末では、他の処理に影響されるという問題がある。
【０００６】
本発明は、上記の点に鑑みなされたもので、計算処理速度の異なる複数の端末が接続された３次元ＣＧ共有仮想空間環境において、端末の計算処理速度の差異によるＣＧアニメーションの表示速度差を吸収することが可能な３次元共有仮想空間におけるＣＧアニメーション表示方法及び装置及びＣＧアニメーション表示プログラムを格納した記憶媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【０００８】
本発明（請求項１）は、３次元共有仮想空間におけるＣＧを表示する３次元共有仮想空間におけるＣＧアニメーション表示方法において、
基準フレームレートを設定しておく第１の過程（ステップ１）と、
端末の描画フレームレートを取得する第２の過程（ステップ２）と、
基準フレームレートを端末の描画フレームレートで除した値ｐを取得する第３の過程（ステップ３）と、
物体の表示位置を示すＰＡＴＨデータにおける最初の位置に該物体を表示する第４の過程（ステップ４）と、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする第５の過程（ステップ５）と、
ステップ数ｎに基づいて、ｎ個先のノードの位置に物体を表示する第６の過程（ステップ６）と、
値ｐとＤｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、第５の過程以降の処理を繰り返し、完了した場合には処理を終了する第７の過程（ステップ７）からなる。
【０００９】
本発明（請求項２）は、ステップ数ｎの上限を最大ステップ数Ｍとし、
ステップ数ｎが最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略する。
【００１０】
本発明（請求項３）は、ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算し、
最大ステップ比率をＲとして、ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部をステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わない。
【００１１】
図２は、本発明の原理構成図である。
【００１２】
本発明（請求項４）は、３次元共有仮想空間におけるＣＧを表示する３次元共有仮想空間におけるＣＧアニメーション表示装置であって、
予め設定された基準フレームレートと、端末から取得した端末の描画フレームレートに基づいて、端末の描画フレームレートで除した値ｐを取得するフレームレート計算手段１０と、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、値ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする表示位置計算手段４０と、
物体の表示位置を示すＰＡＴＨデータにおける最初のノードの位置に該物体を表示する手段と、ステップ数ｎに基づいて、ｎ個先のノードの位置に物体を表示する手段と、値ｐと値Ｄｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、表示位置計算手段４０以降の処理を繰り返し、完了した場合には処理を終了する手段からなる表示制御手段６０とを有する。
【００１３】
本発明（請求項５）は、表示制御手段６０において、
ステップ数ｎの上限を最大ステップ数Ｍとし、
ステップ数ｎが最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略する手段を含む。
【００１４】
本発明（請求項６）は、表示制御手段６０において、
ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算する手段と、
最大ステップ比率をＲとして、ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部をステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わない手段とを含む。
【００１５】
本発明（請求項７）は、フレームレート計算手段において計算された値ｐを記憶する第１の記憶手段と、
表示位置計算手段で計算されたＤｉ  を記憶する第２の記憶手段とを含む。
【００１６】
本発明（請求項８）は、３次元共有仮想空間におけるＣＧを表示する３次元共有仮想空間におけるＣＧアニメーション表示プログラムを格納した記憶媒体であって、
予め設定された基準フレームレートと、端末から取得した端末の描画フレームレートに基づいて、端末の描画フレームレートで除した値ｐを取得するフレームレート計算プロセスと、
物体の表示位置を示すＰＡＴＨデータにおける最初のノードの位置に該物体を表示するプロセスと、
表示される物体のｉ番目の表示位置を決定するためにステップｎを計算する過程で生じる計算結果の小数部を値Ｄｉとし、値ｐと該Ｄｉを加算し、その整数部をステップ数ｎとする表示位置計算プロセスと、
ステップ数ｎに基づいて、ｎ個先のノードの位置に物体を表示手段に表示するプロセスと、値ｐと値Ｄｉを加算した値の小数部をＤｉ＋１とし、全ノードの処理が完了したかを判定し、完了していない場合には、表示位置計算プロセス以降の処理を繰り返し、完了した場合には処理を終了するプロセスからなる表示制御プロセスとを有する。
【００１７】
本発明（請求項９）は、表示制御プロセスにおいて、
ステップ数ｎの上限を最大ステップ数Ｍとし、
ステップ数ｎが最大ステップ数Ｍになった時点で、当該ノードの変換処理を省略するプロセスを含む。
【００１８】
本発明（請求項１０）は、表示制御プロセスにおいて、
ＰＡＴＨデータにおける全ノードの合計をｔとして、ステップ比率ｒ＝（ｐ／ｔ）を計算するプロセスと、
最大ステップ比率をＲとして、ステップ比率ｒ＞該最大ステップ比率の場合、Ｒ＊ｔを計算し、その整数部をステップｎの上限とし、該最大ステップ比率Ｒ以上になるノードの省略は行わないプロセスとを含む。
【００１９】
上記のように、本発明によれば、従来、連続するノードの座標変換と表示を繰り返すことにより、ＣＧアニメーションを作成することにより、ＣＧアニメーション速度が端末の計算処理速度に比例してしまうため、速度差が生じていたが、本発明では、基準フレームレート以外（端末毎にフレームレートが異なる場合）でも端末のフレームレートに応じて表示するノードを調節することが可能となる。
【００２０】
また、ステップ数の上限値を設定することにより、ＣＧアニメーションの動作が不自然にならないように調節することが可能となる。
【００２１】
さらに、最大ステップ比率を設けることにより、基準フレームレートよりも計算処理速度が遅い端末でもステップ数ｎ＝０となったとき、同じ計算対象ノードが繰り返されるため、表示の同期をとることが可能となる。
【００２２】
【発明の実施の形態】
本発明では、端末の計算処理速度の差異を吸収したＣＧアニメーション処理を行うため、ローカル座標系ＰＡＴＨデータをグローバル座標系ＰＡＴＨデータに変換する際、各端末のフレームレートに応じて、計算対象ノードの選択を可変とする。この目的のため、新たに基準フレームレートという概念を設け、各端末のフレームレートを基準フレームレートに合わせる。例えば、ＰＡＴＨデータが、Ａ１  ，Ａ２  ，…，Ａ１０であるとき、基準フレームレートが１２ｆｐｓ  、端末のフレームレートが６ｆｐｓ  の場合、計算機対象ノードは、Ａ１，Ａ３，…とする。また、基準フレームレートが１２ｆｐｓ  、端末のフレームレートが２４ｆｐｓ  の場合、計算機ノードは、Ａ１，Ａ１，Ａ２，Ａ２，Ａ３，Ａ３，…とする。
【００２３】
図３は、本発明のＣＧアニメーション表示装置の構成を示す。
【００２４】
同図に示すＣＧアニメーション表示装置は、描画フレームレート計算部１０、フレームレート記憶部２０、初期化部３０、表示位置計算部４０、表示位置計算結果記憶部５０、表示制御部６０及び表示部７０から構成される。
【００２５】
描画フレームレート計算部１０は、予め設定された基準フレームレートと、端末の描画フレームレートに応じて、
ｐ＝基準フレームレート／端末の描画フレームレート
によりｐ（フレームレート）を計算し、フレームレート記憶部２０に格納する。表示位置計算部４０は、表示される物体のｉ番目の表示位置を決定するためにステップ数ｎを計算し、その結果Ｄｉ  を表示位置計算結果記憶部５０に格納する。
【００２６】
初期化部３０は、表示位置計算結果記憶部５０の値を初期化する。
【００２７】
表示位置計算部４０は、フレームレート記憶部２０と表示位置計算結果記憶部５０からｐとＤｉ  の内容を取り出して（ｐ＋Ｄｉ）を計算し、（ｐ＋Ｄｉ）の整数部をステップｎとして表示制御部６０に渡す。
【００２８】
表示制御部６０は、表示位置計算部４０で計算された（ｐ＋Ｄｉ）の整数部のステップｎとして、ｎ個先のノードの位置に当該物体を表示部７０に表示すると共に、（ｐ＋Ｄｉ  ）の小数部をＤｉ＋１  として表示位置計算結果記憶部５０に格納する。また、物体の全ノードの表示が終了したか否かを判定し、終了していないときは、表示位置計算部４０に対して計算を指示する。
【００２９】
表示部７０は、物体の表示位置を示すＰＡＴＨデータにおけるノードの位置に当該物体を表示する。
【００３０】
図４は、本発明の動作を説明するためのフローチャートである。
【００３１】
ステップ１０１）  描画フレームレート計算部１０において、各端末のフレームレートＦｃを取得する。
【００３２】
ステップ１０２）  描画フレームレート計算部１０は、初期値をｉ＝０，Ｄ０  ＝０として、以下の計算を行い、フレームレート記憶部２０に格納する。
【００３３】
ｐ＝基準フレームレートＦｂ／各端末のフレームレートＦｃ
ステップ１０３）  表示制御部６０は、最初のノードを表示部７０に表示する。
【００３４】
ステップ１０４）  次に、表示位置計算部４０は、以下の計算を行い、表示制御部６０に転送する。
【００３５】
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄｉ  ）
計算結果小数部Ｄｉ＋１  ＝ＤＥＣ（ｐ＋Ｄｉ  ）
ここで、ＩＮＴ（＊）は、実数を引数とし、その整数部を返値とする関数、ＤＥＣは、実数を引数とし、その小数部を返値とする関数である。
【００３６】
ステップ１０５）  表示制御部６０は、ｎ個だけ先のノードの位置に物体を描画するように表示部７０に指示し、表示部７０は、当該物体を表示する。
【００３７】
ステップ１０６）  表示制御部６０は、ｉ＝ｉ＋１とし、ステップ数ｎ、計算結果小数部Ｄｉ＋１  を表示位置計算結果記憶部５０に格納する。
【００３８】
ステップ１０７）  表示制御部６０は、全ノードの描画が完了したかを判定し、完了した場合には処理を終了し、未完了の場合にはステップ１０４に移行する。
【００３９】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００４０】
図５は、本発明の一実施例のＰＡＴＨデータによるＣＧアニメーション処理を説明するための図である。
【００４１】
例えば、図５のように、並行移動をしながら腕を振っているＣＧアニメーションの場合の適用例について説明する。
【００４２】
ここでのＣＧアニメーションは、並行移動ＰＡＴＨデータ（ノードＢ１，ノードＢ２，ノードＢ３）と腕振りＰＡＴＨデータ（ノードＡ１，ノードＡ２，ノードＡ３）からなる。
【００４３】
ここでのＣＧアニメーションは、シミュレーションループ毎に１ノード、座標値がローカル座標からグローバル座標にリアルタイムに変換され、腕オブジェクトの３次元データがフレームとして２次元表示される。通常、計算機処理速度の速い端末では、シミュレーションループ時間が短くなり、フレームレートが高くなる。一方、計算処理速度の遅い端末では、シミュレーションループ時間が長くなり、フレームレートが低くなる。
【００４４】
ここで、０Ｇをグローバル原点、０Ｌを腕オブジェクトのローカル原点とすると、図５において、グローバル座標系での腕の位置ベクトル０Ｇ・Ａ３はベクトル０Ｇ・Ｂ３とベクトル０Ｌ・Ａ３のベクトルの和で決まる。従来、シミュレーションループ毎に連続するノードの座標変換と表示を繰り返すことにより、ＧＧアニメーションを作成していた。しかし、ＣＧアニメーション速度が端末の計算処理速度に比例してしまい、３次元共有仮想空間内での共有動作に大きな速度差が生じていた。
【００４５】
そこで、本発明では、以下の式によるＣＧアニメーション処理を行う。
−基準フレームレートＦｂ：
通常、アニメーションは、この基準フレームレートのときに最も自然に動作するようにＰＡＴＨデータが作成されている。各端末のフレームレートがＦｃがＦｂと同じ値の場合、ステップ数は１となり、シミュレーションループ毎に１ノード表示される。つまり、アニメーションは、１フレームで１ノード動作が進む。
ＦｃがＦｂと異なる場合のステップ数ｎは以下の式で求める。
【００４６】
ｐ＝基準フレームレートＦｂ／各端末の描画フレームレートＦｃ
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄｉ）
計算結果小数部Ｄｉ＋１＝ＤＥＣ（ｐ＋Ｄｉ）
ここで、Ｄ０＝０、ＩＮＴ（＊）は、実数を引数とし、その整数部を返値とする関数、ＤＥＣは、実数を引数とし、その小数部を返値とする関数である。
【００４７】
［第１の実施例］
以下、本実施例の動作を図４に沿って説明する。
【００４８】
まず、Ｆｃ＜Ｆｂの場合、ｐ＞１となり、基準のアニメーション表示より速くなる。例えば、基準フレームレートＦｂが１２ｆｐｓ  、各端末のフレームレートＦｃが６ｆｐｓ  であり、図５のようなノード構成（Ａ１，Ａ２，Ａ３）をとる場合、１回目のシミュレーションループでは、
ｐ＝２，
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄ０）＝ＩＮＴ（２＋０）＝２，
Ｄ１＝ＤＥＣ（ｐ＋Ｄ０）＝ＤＥＣ（２＋０）＝０
となり、ＰＡＴＨデータ変換時の計算対象ノードは、Ａ１の次はＡ３となり、１ノード分のデータ変換処理が省かれ、アニメーション処理がされる。
【００４９】
次に、Ｆｃ＞Ｆｂの場合、ｐ＜１となり、基準アニメーション表示より遅くなる。例えば、基準フレームが１２ｆｐｓ  ，各端末のフレームレートが２４ｆｐｓ  、図５のようなノード構成（Ａ１，Ａ２，Ａ３）をとる場合、１回目のシミュレーションループでは、
ｐ＝０．５，
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄ０）＝ＩＮＴ（０．５＋０）＝０，
Ｄ１＝ＤＥＣ（ｐ＋Ｄ０）＝ＤＥＣ（０．５＋０）＝０．５
となり、０回目の計算対象ノードがＡ１だったとすると、１回目のＰＡＴＨデータ変換時の計算対象ノードはＡ１となり、Ａ１が前回に続き、２度データ変換され、アニメーション処理がされる。
【００５０】
２回目のシミュレーションループにおいて、
ｐ＝０．５，
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄ１）＝ＩＮＴ（０．５＋０．５）＝１，
Ｄ２＝ＤＥＣ（ｐ＋Ｄ１）＝ＤＥＣ（０．５＋０．５）＝０
となり、ＰＡＴＨデータ変換時の計算対象ノードはｎ＝１ステップ進みＡ２となる。
【００５１】
さらに、３回目のシミュレーションループにおいて、
ｐ＝０．５，
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄ２）＝ＩＮＴ（０．５＋０）＝０，
Ｄ２＝ＤＥＣ（ｐ＋Ｄ２）＝ＤＥＣ（０．５＋０）＝０．５
となり、ステップｎ＝０であるので、ＰＡＴＨデータ変換時の計算対象ノードはＡ２となり、Ａ２が前回に続き２度データが変換され、アニメーション処理がされる。
【００５２】
［第２の実施例］
ここで、Ｆｃ＜Ｆｂの場合、大幅にノードを省いてしまうと、ＣＧアニメーションの動作が不自然になるためステップ数に上限を設ける必要がある。そこで、以下に示す２つの設定値（最大ステップ数Ｍ，最大ステップ比率Ｒ）のどちらか一方による上限を設ける。
【００５３】
最初に、最大ステップ数Ｍで上限を設ける場合について説明する。
【００５４】
図６は、本発明の第２の実施例の最大ステップ数で上限を求める場合のフローチャートである。
【００５５】
ステップ２０１）  描画フレームレート計算部１０において、各端末のフレームレートＦｃを取得する。
【００５６】
ステップ２０２）  描画フレームレート計算部１０は、初期値をｉ＝０，Ｄ０  ＝０として、以下の計算を行い、フレームレート記憶部２０に格納する。
【００５７】
ｐ＝基準フレームレートＦｂ／各端末のフレームレートＦｃ
ステップ２０３）  表示制御部６０は、最初のノードを表示部７０に表示する。
【００５８】
ステップ２０４）  次に、表示位置計算部４０は、以下の計算を行い、表示制御部６０に転送する。
【００５９】
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄｉ  ）
ステップ２０５）  表示制御部６０は、ステップ数ｎと予め設定されている最大ステップ数Ｍを比較して、ｎ＞Ｍであれば、ステップ２０６に移行し、そうでない場合には、ステップ２０７に移行する。
【００６０】
ステップ２０６）  ｎ＝Ｍとする。
【００６１】
ステップ２０７）  表示位置計算部４０は、計算結果小数部Ｄｉ＋１  ＝ＤＥＣ（ｐ＋Ｄ２  ）
を計算し、表示制御部６０に転送する。
【００６２】
ステップ２０８）  表示制御部６０は、ｎ個だけ先のノードの位置に物体を描画するように表示部７０に指示し、表示部７０は、当該物体を表示する。
【００６３】
ステップ２０９）  表示制御部６０は、ｉ＝ｉ＋１とし、ステップ数ｎ、計算結果小数部Ｄｉ＋１  を表示位置計算結果記憶部５０に格納する。
【００６４】
ステップ２１０）  表示制御部６０は、全ノードの描画が完了したかを判定し、完了した場合には処理を終了し、未完了の場合にはステップ２０４に移行する。
【００６５】
上記のように、各端末のフレームレートがどれほど落ちても、最大ステップ数Ｍ以上のステップについては処理をしない。つまり、ステップ数ｎ＞Ｍの場合、ステップ数をＭとする。この上限値の設定方法は、一部激しい動きをするアニメーションに適している。
【００６６】
例えば、基準フレームが１２ｆｐｓ  、各端末のフレームレートが１２ｆｐｓ  、最大ステップ数Ｍが２の場合は、ステップ数ｎが１となり、ＰＡＴＨデータ変換時の計算対象ノードは、Ａ１の次はＡ２と１フレーム毎、順次アニメーション処理がされていく。
【００６７】
基準フレームレートが１２ｆｐｓ  、各端末のフレームレートが６ｆｐｓ  、最大ステップ数Ｍが２の場合は、ステップ数ｎが２となり、ＰＡＴＨデータ変換時の計算対象ノードは、Ａ１の次はＡ３となり、１ノード分のデータ変換処理が省かれ、アニメーション処理がされる。
【００６８】
基準フレームレートが１２ｆｐｓ  、各端末のフレームレートが４ｆｐｓ  、最大ステップ数Ｍが２の場合は、ステップ数ｎが３となるが、最大ステップ数Ｍが２であるため、ステップ数ｎが２のときと同様にして計算される。
【００６９】
このように、ステップｎの上限を設けることで、ＣＧアニメーションの動作が不自然にならないようにする。
【００７０】
［第３の実施例］
次に、最大ステップ比率Ｒで上限を設ける場合について説明する。
【００７１】
図７は、本発明の第３の実施例の最大ステップ比率で上限を設ける場合のフローチャートである。
【００７２】
ステップ３０１）  描画フレームレート計算部１０において、各端末のフレームレートＦｃを取得する。
【００７３】
ステップ３０２）  描画フレームレート計算部１０は、初期値をｉ＝０，Ｄ０  ＝０として、以下の計算を行い、フレームレート記憶部２０に格納する。
【００７４】
ｐ＝基準フレームレートＦｂ／各端末のフレームレートＦｃ
ステップ３０３）  表示制御部６０は、最初のノードを表示部７０に表示する。
【００７５】
ステップ３０４）  次に、表示位置計算部４０は、以下の計算を行い、表示制御部６０に転送する。
【００７６】
ステップ数ｎ＝ＩＮＴ（ｐ＋Ｄｉ  ）
ステップ３０５）  さらに、表示位置計算部４０は、ステップ比率を以下の式により求める。
【００７７】
ステップ比率ｒ＝ｐ／ｔ
但し、ｔは、表示される物体のＰＡＴＨデータにおける全ノードの合計である。ステップ３０６）  表示制御部６０は、ステップ比率ｒと予め設定されている最大ステップ比率Ｒとを比較して、ｒ＞Ｒであれば、ステップ３０７に移行し、そうでない場合には、ステップ３０８に移行する。
【００７８】
ステップ３０７）  ステップ数ｎ＝ＩＮＴ（Ｒ＊ｔ）とする。ここで、ＩＮＴ（＊）は実数を引数とし、その整数部を返値とする関数である。
【００７９】
ステップ３０８）  表示位置計算部４０は、
計算結果小数部Ｄｉ＋１  ＝ＤＥＣ（ｐ＋Ｄｉ  ）
を計算し、表示制御部６０に転送する。
【００８０】
ステップ３０９）  表示制御部６０は、ｎ個だけ先のノードの位置に物体を描画するように表示部７０に指示し、表示部７０は、当該物体を表示する。
【００８１】
ステップ３１０）  表示制御部６０は、ｉ＝ｉ＋１とし、ステップ数ｎ、計算結果小数部Ｄｉ＋１  を表示位置計算結果記憶部５０に格納する。
【００８２】
ステップ３１１）  表示制御部６０は、全ノードの描画が完了したかを判定し、完了した場合には処理を終了し、未完了の場合にはステップ３０４に移行する。
【００８３】
ここでは、表示される物体のＰＡＴＨデータにおける全ノードの合計ｔに対するステップ比率ｒ＝ｐ／ｔの上限を求める。各端末のステップ比率ｒがどれほど大きくなっても、最大ステップ比率Ｒ以上になるノードの省略は行わない。
【００８４】
つまり、ステップ比率ｒ＝（ｐ／ｔ）＞Ｒの場合、最大ステップ比率はＲとなり、このときのステップ数ｎ（ｔ）は、ＩＮＴ（Ｒ＊ｔ）となる。ここで、ＩＮＴ（＊）は実数を引数とし、その整数部を返値とする関数である。
【００８５】
この上限値の設定方法は、滑らかな動きをするアニメーションに適している。例えば、基準フレームレートが１２ｆｐｓ  、各端末のフレームレートが５ｆｐｓ  、全ノード（例えば、Ａ１，Ａ２，…Ａ１０）の合計ｔが１０、最大ステップ比率Ｒが０．２３の場合は、
ステップ比率（ｐ／ｔ）＝２．４／１０＝０．２４＞Ｒ＝０．２３
であるため、Ｒ＝０．２３となり、この時のステップ数ｎ（ｔ）は、
ＩＮＴ（０．２３＊１０）＝２
となり、ステップ数ｎが２のときと同様にして計算される。
【００８６】
これにより、基準フレームレートを有する端末よりも計算処理速度の速い端末でもステップ数ｎ＝０となったとき、同じ計算機対象ノードが繰り返されるため、表示の同期を保つことが可能となる。
【００８７】
また、上記の各実施例では、図４、図６、図７のフローチャートに基づいて説明したが、これらのフローチャートをプログラムとして構築し、ＣＧアニメーション表示装置として利用されるコンピュータに接続されるディスク装置や、フロッピーディスク，ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることにより、容易に本発明を実現できる。
【００８８】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【００８９】
【発明の効果】
上述のように、本発明よれば、基準フレームレートを有する端末よりも計算処理速度の遅い端末では、ＰＡＴＨデータ変換時の計算対象ノードが多く省略されるため、遅い端末でもＣＧアニメーションが速く動作すると共に、計算対象ノードが減少するため計算量が減少し、ＣＧアニメーション処理負荷を軽減する。
【００９０】
また、上記のステップの上限を設けることで、ＣＧアニメーションの動作が不自然にならないようにする。
【００９１】
一方、基準フレームレートを有する端末よりも計算処理速度の速い端末でもステップ数ｎ＝０となったとき、同じ計算機対象ノードが繰り返されるため、表示の同期が保たれる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明のＣＧアニメーション表示装置の構成図である。
【図４】本発明の動作を説明するためのフローチャートである。
【図５】本発明の一実施例のＰＡＴＨデータによるＣＧアニメーション処理を説明するための図である。
【図６】本発明の第２の実施例の最大ステップ数で上限を設ける場合のフローチャートである。
【図７】本発明の第３の実施例の最大ステップ比率で上限を設ける場合のフローチャートである。
【符号の説明】
１０  フレームレート計算手段、描画フレームレート計算部
２０  フレームレート記憶部
３０  初期化部
４０  表示位置計算手段、表示位置計算部
５０  表示位置計算結果記憶部
６０  表示制御手段、表示制御部
７０  表示手段、表示部
【図１】
0003624782.tif 000002
【図２】
0003624782.tif 000003
【図３】
0003624782.tif 000004
【図４】
0003624782.tif 000005
【図５】
0003624782.tif 000006
【図６】
0003624782.tif 000007
【図７】
0003624782.tif 000008