1980年からプログラマしています

どうしてプログラマすることになったか書いています。過去日記です。

プラス・ワン アニメーションの中割り:(198X年)

 プラス・ワンの建築のデータは、1.01.0mという単位でモデリングされていた。これは、アニメーションを計算するのにも都合が良かった。

 アニメーションのイーズイン・イーズアウト(ゆっくり動き出してゆっくり止まる)に関しては、キーフレームに時速で指定することで実現していた。

 例えば、キーフレーム1番目は0km/h2番目は40km/h3番目は40km/h4番目は、0km/hの場合、停止状態からゆっくり動き出して40kmになったら速度を維持して、減速ながらゆっくり止まるという具合である。

 澤井さんは、ベータスプラインが一番滑らかだというので気に入って使っていた。ベータスプラインでは、キーフレームは最初と最後しか通らないので、キーフレームの速度も近似的な値となるが、距離とか、時速というのが、現実に近いので分かりやすかった。

 アニメーションの中割の方法は、まずキーフレームの座標からベータスプライン曲線を計算して、近似直線を求める。次に、キーフレームの速度と座標から各フレームの加速度を求めて移動距離を計算。最後にフレーム毎の移動距離に等しい近似直線上の座標を求める。端数が出たら、内分・外分を使って、近似直線上の新たな座標位置を計算した。これは澤井さん考案の方法であった。

 今までは、澤井さん自作のPC98のベーシックプログラムを使ってモーションパスを計算していたが、SCOPEに実装し直したので、ワン・ツー・スリー・フォーとキーフレームを4つ作ると、直ちにアニメーションが再生できるようになった。

 早速澤井さんに見てもらった。しかし、計算のプログラミングを間違えて、2フレーム目が誤差でほんの僅かずれていた。

 澤井さんは「この最初のちょっとがくっとなるところが、重いカメラを動かした時みたいで、リアリティあんなあ。」と言った。再チェックすると、計算ミスだと分かって、あわててプログラムを直した(汗) よくよく見ないと分からない程(1/30コマ)のことであった。