私の名前はKevinで、Kleiのプログラマー/デザイナーです。シャンクシリーズ、Mark of the Ninja、およびDo n't Starveで使用した一連のアニメーションを書きました。
アニメーターはFlashで動作します。複数のビューを備えた身体部分のシンボルのセットであるキャラクター「ビルド」のコンセプトがあります。与えられたゲームの忠実度に応じて、多かれ少なかれ「ビュー」を持つ体の部分が多かれ少なかれあります。シャンクには1〜2ダースのビューを持つ約30のボディパーツがあり、一方、Do n't StarveのWilsonには約同数のビューを持つ約12のボディパーツがあると思います。カスタムJSFLスクリプトを使用して、フラッシュシンボルのタイムラインを分析し、関連する画像を一連の高解像度PNGファイルとして焼き出します。また、XMLに貼り付けた一連のメタデータも焼き出します。
キャラクターのビルドが指定されると、アニメーターは別のファイルに新しいルートシンボルを作成し、そのキャラクターのアニメーションのチャンクを含めます。そのタイムラインでは、ビルドシンボルからキャラクターを作成し、それを移動したり、トゥイーンしたりなどして、個々のアニメーション(フレームラベルを使用して区切られます)を作成します。エクスポータースクリプトは、これらのタイムラインをXMLにエクスポートし、すべてのビルドピースの2D変換と、表示されているビューを記録します。
これらすべての情報をXMLおよびPNGにエクスポートし、一連のPythonスクリプトを実行して実行時データに変換します。1つのスクリプトは、すべてのテクスチャをダウンサイズ、アトラス、ミップし、それらを(1つ以上の)圧縮されたプラットフォーム固有の形式に変換します。別のスクリプトは、XMLアニメーションデータをより効率的に処理して、バイナリ形式をロードします。
実行時には、適切な変換とビューで適切なビルドシンボルを表示するだけです。
このシステムの構築には長い時間がかかり、ゲームからゲームへと移行するにつれて洗練されてきました。私が詳しく説明している詳細はたくさんあります(レイヤー化や実行時の衣装交換の処理方法など)が、それは一般的な概要です。
もちろん、私たちが使用する技術は、おそらく「Klei Look」の最も重要でない側面です。最も重要な部分は、本当に素晴らしいアニメーターがたくさんいることです。:)
とにかく、これが役立つことを願っています。Do n't Starveについて他に質問がある場合は、フォーラムに立ち寄ってください。通常、私はショップでお話できることをとても嬉しく思っています。