(57)【要約】【課題】アニメーションを視認する側に飽きさせない映像を提供する。【解決手段】所定のフレーム間の第３のフレームを取得すると（Ｓ１０１）、その第３のフレームに設定するアトリビュート値の上限値及び下限値が取得される（Ｓ１０２）。これらの取得された値に基づいて、アニメーションが生成される際に、第３のフレームのアトリビュート値が上限値及び下限値の範囲内でランダムに設定され（Ｓ１０６）、その値を通過するように、各フレームのアトリビュート値が算出され（Ｓ１０７）、アニメーションが生成される（Ｓ１０８）。そして、第３のフレームにアトリビュート値がランダムに設定され、その値に基づいて異なるアニメーションが生成される。【選択図】図８
2011002967.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１のアトリビュート値が設定された第１のフレームから第２のアトリビュート値が設定された第２のフレームまでのオブジェクトのアニメーションを生成する場合に、前記第１のアトリビュート値、前記第１のフレーム、前記第２のアトリビュート値及び前記第２のフレームに基づくポインタを表示手段に表示される所定のエディタ内に表示させる機能と、
前記所定のエディタ内に表示させた前記ポインタに基づいて前記第１のフレームから前記第２のフレームまでのいずれかの第３のフレームの設定を入力手段から受け付けさせる機能と、
前記第３のフレームの設定を受け付けると、前記第３のフレームに設定されるアトリビュート値の範囲の設定を前記入力手段から受け付けさせる機能と、
前記アトリビュート値の範囲の設定を受け付けると、前記範囲内でランダムにアトリビュート値を決定し、そのアトリビュート値を第３のアトリビュート値として前記第３のフレームに設定させる機能と、
前記第１のフレームから前記第３のフレームまでの間の各フレームについて、前記第１のフレームに設定された前記第１のアトリビュート値と前記第３のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させるとともに、前記第３のフレームから前記第２のフレームまでの間の各フレームについて、前記第３のフレームに設定された第３のアトリビュート値と前記第２のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させる機能と、
前記第１のフレームから前記第２のフレームまでの各フレームに設定されたアトリビュート値に基づいて前記オブジェクトのアニメーションを生成させる機能と
を実現させるプログラム。
【請求項２】
前記コンピュータに、前記生成させたアニメーションが、前記第１のフレームから前記第２のフレームまで生成された後、さらに、前記第１のフレームから前記第２のフレームまでの前記オブジェクトのアニメーションの生成を行なう際に、前記第３のフレームに設定させる機能、前記補間させる機能、前記アニメーションを生成させる機能をこの順に繰り返して前記オブジェクトのアニメーションを生成させる機能を、
更に実現させる請求項１記載のプログラム。
【請求項３】
コンピュータに読み取り可能なプログラムを記録した記録媒体であって、
前記コンピュータに、
第１のアトリビュート値が設定された第１のフレームから第２のアトリビュート値が設定された第２のフレームまでのオブジェクトのアニメーションを生成する場合に、前記第１のアトリビュート値、前記第１のフレーム、前記第２のアトリビュート値及び前記第２のフレームに基づくポインタを表示手段に表示される所定のエディタ内に表示させる機能と、
前記所定のエディタ内に表示させた前記ポインタに基づいて前記第１のフレームから前記第２のフレームまでのいずれかの第３のフレームの設定を入力手段から受け付けさせる機能と、
前記第３のフレームの設定を受け付けると、前記第３のフレームに設定されるアトリビュート値の範囲の設定を前記入力手段から受け付けさせる機能と、
前記アトリビュート値の範囲の設定を受け付けると、前記範囲内でランダムにアトリビュート値を決定し、そのアトリビュート値を第３のアトリビュート値として前記第３のフレームに設定させる機能と、
前記第１のフレームから前記第３のフレームまでの間の各フレームについて、前記第１のフレームに設定された前記第１のアトリビュート値と前記第３のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させるとともに、前記第３のフレームから前記第２のフレームまでの間の各フレームについて、前記第３のフレームに設定された第３のアトリビュート値と前記第２のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させる機能と、
前記第１のフレームから前記第２のフレームまでの各フレームに設定されたアトリビュート値に基づいて前記オブジェクトのアニメーションを生成させる機能と、
を実現させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
前記コンピュータに、
前記生成させたアニメーションが、前記第１のフレームから前記第２のフレームまで生成された後、さらに、前記第１のフレームから前記第２のフレームまでの前記オブジェクトのアニメーションの生成を行なう際に、前記第３のフレームに設定させる機能、前記補間させる機能、前記アニメーションを生成させる機能をこの順に繰り返して前記オブジェクトのアニメーションを生成させる機能を、
更に実現させる請求項３記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エフェクト効果等のアニメーションを生成する際に利用するアニメーション生成プログラム及び当該アニメーション生成プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
グラフエディタ（Graph Editor）は、所定のシーンにおけるアトリビュートを視覚的に表現するエディタであり、このグラフエディタを使用してユーザは各アトリビュートを設定し、アニメーションを生成する。例えば、ボールをより鋭角に地面からリバウンドさせるとともに、ボールの水平方向の動きをスピードアップさせるような２つ（移動Ｘ及び移動Ｙ）のアトリビュートの修正を、ユーザはグラフエディタを介して行う。このように修正をすることによって、よりリアルな動きをするボールのアニメーションを生成することができる（例えば、非特許文献１参照）。なお、ここで、アトリビュートとは、オブジェクト等に設定された属性をいい、例えば、仮想空間におけるＸＹＺ方向の移動、回転、大きさ、または可視性等をいう。
【０００３】
グラフエディタは、例えばＹ軸がアトリビュート値、Ｘ軸がフレーム値からなる２次元の表示エリアを有しており、上記のようにボールの動きのアニメーションである場合は、そのボールのフレーム毎の位置が表示エリアに表示される。ユーザは、上記のようにアニメーションの動き（カーブ）を変化させるために、表示エリアの表示に基づいて、フレーム値を選択した後、アトリビュート値を設定する作業を行なう。このように設定されたフレーム値及びアトリビュート値に基づいて生成されるアニメーションはその動きが従前の動きから変化し、例えばボールを地面から鋭角にリバウンドさせ、水平方向の動きをスピードアップさせることができるようになる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Autodesk社  Autodesk Maya 2008  Mayaスタートアップガイド
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記非特許文献１の技術では、フレーム値及びアトリビュート値を再設定することによりアニメーションの動きを変化させることができる。
【０００６】
しかしながら、例えば、ゲームの背景やエフェクトとしてアニメーションを繰り返し再生する場合は、同じ動きのアニメーションが繰り返し再生される。このように同じ動きのアニメーションが繰り返し再生されると、このアニメーションを視認するユーザにとって退屈な映像となってしまう。
【０００７】
また、従来のアニメーション作成ツールでは、ランダムさを全体的に指定することはできても、時間軸に応じてそのランダムさを「任意に」変化させるような設定は難しく、また、グラフエディタにより視覚的な設定することもできなかった。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、所定のフレーム間のオブジェクトのアニメーションが再生される際に、ユーザに退屈となる映像を見せないアニメーションを生成するアニメーション生成プログラム及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、コンピュータに、第１のアトリビュート値が設定された第１のフレームから第２のアトリビュート値が設定された第２のフレームまでのオブジェクトのアニメーションを生成する場合に、前記第１のアトリビュート値、前記第１のフレーム、前記第２のアトリビュート値及び前記第２のフレームに基づくポインタを表示手段に表示される所定のエディタ内に表示させる機能と、前記所定のエディタ内に表示させた前記ポインタに基づいて前記第１のフレームから前記第２のフレームまでのいずれかの第３のフレームの設定を入力手段から受け付けさせる機能と、前記第３のフレームの設定を受け付けると、前記第３のフレームに設定されるアトリビュート値の範囲の設定を前記入力手段から受け付けさせる機能と、前記アトリビュート値の範囲の設定を受け付けると、前記範囲内でランダムにアトリビュート値を決定し、そのアトリビュート値を第３のアトリビュート値として前記第３のフレームに設定させる機能と、前記第１のフレームから前記第３のフレームまでの間の各フレームについて、前記第１のフレームに設定された前記第１のアトリビュート値と前記第３のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させるとともに、前記第３のフレームから前記第２のフレームまでの間の各フレームについて、前記第３のフレームに設定された第３のアトリビュート値と前記第２のフレームに設定されたアトリビュート値を用いてアトリビュート値を補間させる機能と、前記第１のフレームから前記第２のフレームまでの各フレームに設定されたアトリビュート値に基づいて前記オブジェクトのアニメーションを生成させる機能と、を実現させるプログラムである。
【００１０】
また、前記プログラムは前記コンピュータに、前記生成させたアニメーションが、前記第１のフレームから前記第２のフレームまで生成された後、さらに、前記第１のフレームから前記第２のフレームまでの前記オブジェクトのアニメーションの生成を行なう際に、前記第３のフレームに設定させる機能、前記補間させる機能、前記アニメーションを生成させる機能をこの順に繰り返して前記オブジェクトのアニメーションを生成させる機能、さらに実現させるようにすることができる。
【００１１】
また、これらのプログラムは、コンピュータ読み取り可能な記録媒体に記録することもできる。
【発明の効果】
【００１２】
本発明によると、所定のフレーム間のオブジェクトのアニメーションが再生される際に、ユーザに退屈となる映像を見せないアニメーションを生成することができる。
【００１３】
さらに、本発明によると、例えば、オブジェクトが、ある１点から移動等を開始し、ランダムな場所を通り、ある１点にたどり着く、といったアニメーションを容易に設定することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態における情報処理装置のハードウェア構成を示す図。
【図２】同実施形態におけるグラフエディタの一例を示す図。
【図３】同実施形態におけるフレーム設定時のグラフエディタの一例を示す図。
【図４】同実施形態におけるアトリビュート値の範囲設定時のグラフエディタの一例を示す図。
【図５】同実施形態におけるアトリビュート値の範囲を示す図。
【図６】同実施形態におけるフレーム及びアトリビュート値の設定時のグラフエディタの一例を示す図。
【図７】同実施形態におけるフレーム及びアトリビュート値の範囲を示す図。
【図８】同実施形態におけるアニメーション生成処理を示すフローチャート。
【図９】同実施形態におけるアニメーションの生成がループして行なわれるときの作用を説明するための図。
【発明を実施するための形態】
【００１５】
本発明は、ユーザがグラフエディタ等の表示装置に表示されるインターフェース画像を視認しながら、グラフエディタ上に表示された第１のフレームから第２のフレームまでのアニメーションを生成する際に、第１のフレームから第２のフレームまでのいずれかの第３のフレームのアトリビュート値の上限値及び下限値を少なくとも設定する。一方、情報処理装置は、第３のフレームに設定されるアトリビュート値を上限値及び下限値の範囲内でランダムに設定し、そのランダムに設定された値を用いて、第１のフレームから第２のフレームまでの各フレームについてアトリビュート値を算出する処理を行い、このように算出されたアトリビュート値に基づいて、第１のフレームから第２のフレームまでのオブジェクトのアニメーションを生成するものである。
【００１６】
以下では、本発明を情報処理装置内に保存されるプログラムに適用した場合の一実施形態について図面を参照しながら説明するが、本発明は以下の実施形態に限られるものではない。
【００１７】
図１は、情報処理装置１のハードウェア構成を示すブロック図である。
【００１８】
図１に示すように、情報処理装置１は、ＣＰＵ１１、メモリ１２、入力コントローラ１３、入力装置１４、表示コントローラ１５、表示装置１６、ディスクコントローラ１７及びディスクドライブ１８を有している。また、ＣＰＵ１１と、メモリ１２、入力コントローラ１３、表示コントローラ１５及びディスクコントローラ１７とはそれぞれバスラインを介して接続されている。また、入力コントローラ１３には入力装置１４が接続され、表示コントローラ１５には表示装置１６が接続され、ディスクコントローラ１７にはディスクドライブ１８が接続されている。
【００１９】
ＣＰＵ１１は、メモリ１２に記憶されたプログラムやデータを用いて、入力コントローラ１３、表示コントローラ１５、ディスクコントローラ１７を制御し、入力装置１４からの入力制御、表示装置１６への表示制御及びディスクドライブ１８の制御等を実行する。
【００２０】
メモリ１２は、アニメーション生成プログラム保存部１２１及び設定データ保存部１２２を有するグラフエディタプログラム保存部１２０を含んでいる。グラフエディタプログラム保存部１２０は、グラフエディタを表示装置１６に表示するとともに入力装置１４からの入力指示に基づいて、アニメーションを生成するためのグラフエディタプログラムを保存する。アニメーション生成プログラム保存部１２１は、詳細は後述するアニメーションを生成するためのアニメーション生成プログラムが保存される。また、設定データ保存部１２２は、アニメーション生成プログラムを実行するための各種設定データが保存される。メモリ１２には、アニメーション生成プログラム及び各種設定データ以外のプログラム及びデータも保存されるが、本発明と直接関係がないため詳細な説明は省略する。
【００２１】
入力コントローラ１３は、入力装置１４を用いてユーザにより入力されたキー等の入力情報をＣＰＵ１１に送信する。入力装置１４は、例えばキーボードやマウスである。ユーザは、キーボードに配置されたキーの入力及びマウスを操作することにより、情報処理装置１に所望の機能を実現させるための入力を行なう。なお、入力装置１４は、キーボード及びマウスに代えてポインティングデバイスやタッチパッド等を用いて入力するように構成しても良い。
【００２２】
表示コントローラ１５は、ユーザが入力装置１４を用いて入力した入力情報に対応する情報を表示装置１６に表示する。表示装置１６は、例えばＣＲＴディスプレイや液晶ディスプレイである。ユーザは、表示装置１６に表示される情報を視認しながら、アニメーション生成処理等の作業を行う。
【００２３】
ディスクコントローラ１７は、ディスクドライブ１８に挿入されたディスクから情報を読み取り、メモリ１２に保存する。ディスクドライブ１８は、具体的には、ＤＶＤ（Digital Versatile Disc）ドライブやＣＤ（Compact Disc）ドライブなどの光ディスクドライブ１８であり、ディスクコントローラ１７は、光ディスク（ＤＶＤやＣＤ）からデータやプログラムを読み取り、又は、光ディスクにデータを書き込む制御を行なう。
【００２４】
アニメーション生成プログラム保存部１２１に保存されるアニメーション生成プログラムは、この実施形態では、ディスクドライブ１８にセットされた光ディスクから当該プログラムが読み出され、メモリ１２内に保存されることにより、情報処理装置１にインストールされる。なお、情報処理装置１がネットワーク機能を備えている場合には、ネットワークを介してサーバ等のプログラム提供元からアニメーション生成プログラムをダウンロードし、情報処理装置１にインストールされるように構成しても良い。
【００２５】
次に、ユーザがフレーム値やアトリビュート値を設定するときのグラフエディタ２０について説明する。グラフエディタ２０は、表示装置１６の表示部（図示しない。）に表示されるエディタである。また、図２乃至図７は、グラフエディタ２０を用いたユーザの入力操作を説明するための図である。
【００２６】
図２に示すように、グラフエディタ２０は、Ｘ軸とＹ軸とで構成されている。Ｘ軸はフレーム（フレームは時間として表現しても良い。）を示しており、Ｙ軸はアトリビュートを示している。
【００２７】
また、グラフエディタ２０内には、ポインタＰ１及びポインタＰ２が表示されている。ポインタＰ１は、第１のフレーム（Ｘ１）及びこの第１のフレームに設定されたアトリビュート値（Ｙ１）から定まるポインタである。ポインタＰ２は、第２のフレーム（Ｘ２）及びこの第２のフレームに設定されたアトリビュート値（Ｙ２）から定まるポインタである。
【００２８】
アニメーション生成プログラム保存部１２１に保存されるアニメーション生成プログラムは、このポインタＰ１からポインタＰ２までのオブジェクトのアニメーションを生成するプログラムである。例えば、オブジェクトがボールであり、アトリビュート値が仮想空間における移動成分である場合は、ポインタＰ１からポインタＰ２までボールが移動する動きのアニメーションが生成されるプログラムである。
【００２９】
グラフエディタ２０にポインタＰ１とポインタＰ２が表示されている状態で、ユーザが入力装置１４を操作することにより、ポインタＰ１とポインタＰ２との間の第３のフレームを設定する。このようにユーザが第３のフレーム（Ｘ３）を設定すると、図３に示すように、第３のフレームと対応するポインタＰ３がグラフエディタ２０に表示される。
【００３０】
ポインタＰ３が表示されると、その第３のフレームに設定するアトリビュート値の上限値及び下限値を入力するための表示が表示装置１６に例えばポップアップ表示される（図示しない）。このポップアップ表示に基づいて、ユーザは入力装置１４を操作してアトリビュート値の上限値及び下限値（アトリビュート値の範囲）を設定する。このように、ユーザがアトリビュート値の上限値（Ｙ３１）及び下限値（Ｙ３２）を設定すると、図４に示すように、それぞれポインタＰ３１及びポインタＰ３２としてグラフエディタ２０に表示される。
【００３１】
なお、この実施形態では、ユーザが第３のフレームに設定するアトリビュート値の上限値及び下限値をポップアップ表示に基づいて設定する場合で説明したが、このような設定方法に限られるものではない。例えば、ユーザが第３のフレームを設定するときに、その第３のフレームのアトリビュート値を１つ設定し、その設定されたアトリビュート値から所定値を加算、減算した値をそれぞれ上限値及び下限値として設定するようにしても良い。このようにすると、ユーザが所定のアトリビュート値を１つ設定することにより、自動的にアトリビュート値の上限値及び下限値（アトリビュート値の範囲）が定まり、入力が容易となる。
【００３２】
上記のように、第３のフレームの設定及びその第３のフレームに設定されるアトリビュート値の上限値及び下限値の設定が行なわれたときに、ユーザの所定の操作で、或いは自動的に、ポインタＰ１からポインタＰ２までのオブジェクトの取りうる範囲がどのようになるかをグラフエディタ２０に表示するようにしても良い。このときのグラフエディタ２０には、オブジェクトの取りうる範囲が図５に示すように、ポインタＰ１，Ｐ３１，Ｐ２及びＰ３２とで囲まれる範囲として表示される。なお、図５における矢印は、アトリビュート値の取りうる範囲を示している。
【００３３】
次に、アトリビュート値の上限値及び下限値を設定するだけでなく、第３のフレームの範囲を設定する場合について説明する。図６は、図４で設定したアトリビュート値の上限値及び下限値に加え、第３のフレームの範囲をさらに設定する場合について説明するための図である。
【００３４】
ユーザが入力装置１４を操作して、ポインタＰ３（Ｘ３）より前のフレームであるポインタＰ３３（Ｘ３３）とポインタＰ３より後のフレームであるポインタＰ３４（Ｘ３４）とを設定すると、図６に示すように、第３のフレームの範囲がポインタＰ３３とポインタＰ３４が表示される。このように設定すると、第３のフレームは、アニメーションが生成されるときは、このポインタＰ３３とポインタＰ３４との間のいずれかのフレームが第３のフレームとしてランダムに設定される。
【００３５】
このように、第３のフレームの設定及びその第３のフレームに設定されるアトリビュート値の上限値及び下限値の設定が行なわれ、さらに、第３のフレームの範囲の設定が行なわれた後に、ユーザの所定の操作により、或いは自動的に、ポインタＰ１からポインタＰ２までのオブジェクトの取りうる範囲がどのようになるかをグラフエディタ２０に表示するようにしても良い。このときのグラフエディタ２０には、オブジェクトの取りうる範囲が図７に示すように、ポインタＰ１，Ｐ４１，Ｐ４２，Ｐ２，Ｐ４４及びＰ４３で囲まれる範囲として表示される。なお、Ｐ４１（Ｘ３３，Ｙ３１）及びＰ４２（Ｘ３４，Ｙ３１）は第３のフレームより前のフレームとアトリビュートの上限値との交点であり、Ｐ４３（Ｘ３３，Ｙ３２）及びＰ４４（Ｘ３４、Ｙ３２）は、第３のフレームより後のフレームとアトリビュート値の下限値との交点である。また、図７における矢印は、アトリビュート値の取りうる範囲及び第３のフレームの取りうる範囲をそれぞれ示している。
【００３６】
また、この実施形態では、アトリビュート値の上限値及び下限値を設定した後、第３のフレームの範囲を設定する場合で説明したが、設定する順序は逆でも良い。また、アトリビュート値の上限値及び下限値のみ設定するようにしても良いし、第３のフレームの範囲のみを設定するようにしても良い。
【００３７】
次に、アニメーション生成プログラム保存部１２１に保存されるアニメーション生成プログラムをＣＰＵ１１が実行したときの処理について説明する。図８は、ＣＰＵ１１がアニメーション生成プログラムを実行したときの処理を示すフローチャートである。ユーザが入力装置１４を操作して、アニメーション生成開始の指示がなされると、この処理が開始される。
【００３８】
先ず、ＣＰＵ１１は、グラフエディタ２０の表示に基づいて、第１のフレームから第２のフレームの間のフレームである第３のフレームを指定する情報を入力装置１４から入力コントローラ１３を介して取得する（Ｓ１０１）。この第３のフレームを指定する情報は、ユーザが入力装置１４を操作してフレームを設定した後、入力完了を指示する入力が行なわれることにより、入力された第３のフレームの情報がＣＰＵ１１に送信され、取得される。なお、この設定された第３のフレームと対応するポインタが表示装置１６に表示される。
【００３９】
次に、ＣＰＵ１１は、第３のフレームに設定するアトリビュート値の上限値及び下限値の情報を取得する（Ｓ１０２）。このアトリビュート値の上限値及び下限値の情報は、ユーザの操作に基づいて入力装置１４から送信され、取得される。
【００４０】
次に、ＣＰＵ１１は、入力終了か否かを判定する（Ｓ１０３）。この判定は、ユーザによりアトリビュート値の上限値及び下限値入力の終了指示がなされたか否かに基づいて判定される。
【００４１】
ステップＳ１０３で入力が終了したと判定すると（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、設定データ保存部１２２に保存した値に基づいて、ポインタをグラフエディタ２０に表示する（Ｓ１０４）。アトリビュート値の上限値及び下限値のみが入力された場合は、グラフエディタ２０の表示は例えば既述の図４の表示となる。ここでユーザにより、オブジェクトの範囲を表示するための入力指示がなされる場合は、グラフエディタ２０の表示は例えば既述の図５で説明した表示となる。
【００４２】
次に、ＣＰＵ１１は、第３のフレームの入力が終了したか否かを判定する（Ｓ１０５）。この判定は、例えば、ユーザによる所定ボタンが入力されたか否かの情報に基づいて判定される。入力が終了していないと判定した場合は（Ｓ１０５：ＮＯ）、ＣＰＵ１１は、ステップＳ１０１からＳ１０４の処理を繰り返す。つまり、既述の図２から図７の説明では１つの第３のフレームが設定された場合について説明しているが、第３のフレームは複数設定することができ、複数の第３のフレームが設定された場合は、それぞれの第３のフレームについてアトリビュート値の上限値及び下限値が設定される。
【００４３】
一方、第３のフレームの入力が終了したと判定した場合は（Ｓ１０５：ＹＥＳ）、設定された全ての第３のフレームについて、それぞれ設定されたアトリビュート値の上限値及び下限値内でランダムにアトリビュート値を算出する（Ｓ１０６）。
【００４４】
続いて、ＣＰＵ１１は、第１のフレームに設定されたアトリビュート値、第２のフレームに設定されたアトリビュート値、及び第３のフレームに設定されたアトリビュート値に基づいて、第１のフレームから第２のフレームまでの全てのフレームについてのアトリビュート値を算出する（Ｓ１０７）。この算出は、例えば、補間処理により求めることができる。
【００４５】
このように、第１のフレームから第２のフレームまでの全てのフレームについてのアトリビュート値が算出されると、ＣＰＵ１１は、アニメーションを生成する（Ｓ１０８）。これにより、第１のフレームから第２のフレームまでの各フレームについて動きのあるアニメーションとなる。
【００４６】
アニメーションが第２のフレームまで生成されると、ＣＰＵ１１は、ループ処理を行うか否かについて判定する（Ｓ１０９）。この判定は、例えば、データ設定保存部１２２内の所定領域に設けられるフラグに基づいて判定され、デフォルトの状態ではループ処理を行うように設定される。
【００４７】
ループ処理を行うと判定した場合は（Ｓ１０９：ＹＥＳ）、ＣＰＵ１１は、ループ処理を終了するか否かを判定する（Ｓ１１０）。ループ処理を終了しないと判定した場合は（Ｓ１１０：ＮＯ）、ＣＰＵ１１は、ステップＳ１０６からＳ１０９の処理を繰り返す。この際、設定された全ての第３のフレームについて、それぞれ設定されたアトリビュート値の上限値及び下限値内でアトリビュート値がランダムに設定されるので、ループされる毎に異なるアニメーションが生成される。
【００４８】
ステップＳ１０９でループ処理を行うように設定されていない場合（Ｓ１０９：ＮＯ）、又は、ループ処理を終了すると判定した場合は（Ｓ１１０：ＹＥＳ）、ＣＰＵ１１は、この処理を終了する。
【００４９】
次に、上記のように生成されるアニメーションの作用について説明する。図９は、既述の図２乃至図５を用いて説明したように、第３のフレーム及びアトリビュート値の上限値，下限値が設定された場合のアニメーションの動き２１を説明するための図である。
【００５０】
図９に示すように、１度目のアニメーションが生成される際には、第３のフレーム（Ｘ）と、この第３のフレームに設定された範囲内でランダムに設定されたアトリビュート値とによりポインタＰ４１が設定され、ポインタＰ１とポインタＰ４１との間、ポインタＰ４１とポインタＰ２との間におけるフレーム毎にそれぞれ補間処理が行なわれアトリビュート値が設定される。そして、ラインＬ１（図９において実線）で示すアニメーションが生成される。
【００５１】
次に、このラインＬ１が生成された後、ループ処理が行われ２度目のアニメーションが生成される際には、第３のフレーム（Ｘ）と、この第３のフレームに再びランダムに設定されたアトリビュート値とによりポインタＰ４２が設定され、ポインタＰ１とポインタＰ４２との間、ポインタＰ４２とポインタＰ２との間におけるフレーム毎にそれぞれ補間処理が行なわれアトリビュート値が設定される。そして、ラインＬ２（図９において破線）で示すアニメーションが生成される。
【００５２】
このように、本実施形態の情報処理装置１によると、ポインタＰ１とポインタＰ２との間に第３のフレームを設定し、その第３のフレームに設定されるアトリビュート値の取り得る範囲を設定することにより、アニメーションが生成される際に、アトリビュート値が当該範囲内でランダムに設定され、そのランダムに設定されたアトリビュート値を通過するように、ポインタＰ１からポインタＰ２へのアニメーションが生成され、アニメーションが繰り返し生成される毎に、第３のフレームで異なるアトリビュート値を通過するアニメーションが生成される。
【００５３】
したがって、ユーザは、第３のフレームと、その第３のフレームに設定するアトリビュート値の上限値及び下限値（アトリビュート値の範囲）を設定するだけで、ループ処理が行われる毎に異なるアニメーションを生成することができる。
【００５４】
このため、ユーザは簡単な操作でループ処理が行われる毎に変化するアニメーションを生成することができるとともに、アニメーションを視認する側に飽きさせない映像を提供することができる。
【００５５】
また、ユーザは、複数のオブジェクト（パーティクル）をポイントＰ１から発生させ、それぞれランダムに移動、回転等をして、ポイントＰ２に収束するようなアニメーションが生成することもできる。このように設定することにより、ループ処理（繰り返し生成）を行わなくても、アニメーションを視認する側に飽きさせない映像を提供することができる。
【００５６】
また、アトリビュート値の上限値及び下限値の設定に加え、既述の図６及び図７を参照して説明したように第３のフレームもアニメーションが繰り返し生成される毎に予め設定された範囲内でランダムに設定されるように構成することにより、ループ処理が行われる毎に、さらに、変化に富んだ動きのアニメーションを生成することができ、アニメーションを視認する側に飽きさせない映像を提供することができる。
【００５７】
なお、上記実施形態では、ポイントＰ１（第１のフレーム）とポイントＰ２（第２のフレーム）との間のフレームからポイントＰ３（第３のフレーム）を設定する場合で説明したが、これに限るものではなく、ポイントＰ３を、ポイントＰ１又はＰ２のいずれかと同じポイントに設定するようにしても良い。
【符号の説明】
【００５８】
１・・・・情報処理装置
１１・・・ＣＰＵ
１２・・・メモリ
１４・・・入力装置
１６・・・表示装置
１８・・・ディスクドライブ
２０・・・グラフエディタ
１２１・・アニメーション生成プログラム保存部
１２２・・設定データ保存部
【図１】
2011002967.tif 000003
【図２】
2011002967.tif 000004
【図３】
2011002967.tif 000005
【図４】
2011002967.tif 000006
【図５】
2011002967.tif 000007
【図６】
2011002967.tif 000008
【図７】
2011002967.tif 000009
【図８】
2011002967.tif 000010
【図９】
2011002967.tif 000011