「まほうつかい」の「つかい」は「遣」という字なんですね(懐かしい)。
それはさておき、今日は調子が悪くて1日中休んでいたのですが、ベッドの中でゲームのアニメーションについて考えていました。
本格的なゲームのアニメーションを設計することをイメージしていたのですが、実際にプログラミングする上では以下の要素が必要だと感じました。
アクティブとパッシブというのは昔から言っている、アニメーションが主導で動作に影響を与える場合と、動作が主導でアニメーションに影響を与える場合の2種類です。たとえば人間のようなキャラクターの場合は、ベクトルの方向によって「制止中」なのか「移動中」なのか。また、そのノルムによって「歩く」なのか「走る」なのかを算出する処理です( Klick & Play とか Click & Create なんかにあったやつですね)。
次に、入力を受け付けるか受け付けないか。これはそのままの意味で、特に前述のアクティブなアニメーションの場合に、入力を受け付けて、アニメーションを中断したり変更したりできるようにするかしないかの制限が必要ということです。たとえば、インフィニットアンディスカバリーの抜刀と納刀のアニメーションは入力を受け付けませんが、ああいうのを実現する処理です。もしかしたらアクティブなアニメーションはほとんど入力を受け付けないのかもしれません(でも、そうするとキャンセルみたいなことができなくなりますね)。
最後のは、前述のふたつを実現するためにプログラム的に必要なことです。つまり、「アニメーションが終わったよ」というのを把握するための仕組みです。最初はこれを「なんだかイケてない」と思っていたのですが、よく考えると Flash のアニメーションにイベントを設定できるのと似ていると思い直すことができました。
なんともうまい言い方が思いつきません。なんか、専門書とかあれば読みたいのですが、 Gems とかには書いてあるのでしょうか。 3D の場合はこれプラス「キーフレーム」の概念が必要ですね。
Contributions