プリレンダースプライト
プリレンダリングしたスプライトとは、3Dモデルを事前にレンダリングして作った2D画像です。ゲームはモデルではなく画像を描きます。
概要
スプライトとは、ゲームが画面に描く2D画像です。普通はアーティストが描きます。プリレンダリングスプライトは、代わりに3Dモデルを固定のカメラから1フレームずつ、ゲームをプレイするより前にレンダリングして作ります。ゲームには画像だけが入ります。
キャラクターの場合、ゲームに必要なすべての方向からすべてのアニメーションをレンダリングし、フレームをスプライトシートにまとめることを意味します。
少しの歴史
ドンキーコング(1994)は有名な初期の例です:Rareはモデルをシリコングラフィックスのワークステーションでレンダリングし、スーパーファミコンのスプライトに落とし込みました。90年代後半には、Diablo、Fallout、StarCraft、Age of EmpiresといったPCゲームがプリレンダーのユニットやキャラクターを使い、多方向が現実的になりました。Dead Cells(2018)はこの考え方をピクセルアートに持ち込み、キャラクターを3Dでアニメーションさせて小さなピクセルアートのフレームとしてレンダリングしました。
ゲームで使われる理由
- 方向。モデルはどの角度にも向けられます。8方向でも、描く手間は1方向と変わりません。
- 一貫性。数百フレームにわたって、プロポーションと量感が変わりません。
- 反復作業。描き直す代わりに、色やサイズを変えて再レンダリングするだけです。
- アニメーションの再利用。1つの歩行サイクルを、同じリグを持つ多くのキャラクターに適用できます。
よくある問題
普通のレンダリングはピクセルアートには見えません。よくある問題は次のとおりです:
- アンチエイリアスによるぼやけた柔らかい縁、
- はっきりしたランプではなく、何百もの似た色、
- 平らな明暗の帯ではなく滑らかなグラデーション、
- 孤立した1ピクセルやノイズのような細部、
- ちらつき(モデルがほとんど動かないのに、ピクセルや線が毎フレーム変わる)、
- フレーム間でずれるピボット(ゲーム内でスプライトがぶれます)、
- スケールの異なるスプライトで、ピクセルが合っていない(ミクセル)。
手作業でやる場合
汎用の3Dソフトでの一般的な手順は次のとおりです:方向ごとに平行投影のカメラを用意し、アンチエイリアスなしで小さくレンダリングし、パレットに減色し、アウトラインを描くか直し、フレームごとに孤立ピクセルを取り除き、シートにまとめます。最後のいくつかの手順に最も時間がかかり、見た目の大部分もそこで決まります。
Pixorでのやり方
Pixorはこの仕事のために作られています。glTFとGLB、FBX(Mixamoを含む)、OBJ、MagicaVoxelのファイルを読み込みます。すべての向きがカメラで、4台、8台、16台のリングや、任意の角度に置けます。色、法線、深度、パーツIDのGバッファーをレンダリングし、ちらつかないよう安定させた明暗の帯で陰影を付け、色相シフトしたランプに割り当て、1ピクセルのセレクティブアウトラインを描き、孤立ピクセルと1フレームだけの線をクリーンアップします。1メートルあたりのピクセル数を1つにそろえ、ピボットを1ピクセルに固定することで、すべてのスプライトの一貫性を保ちます。シート、Asepriteファイル、Godot SpriteFrames、GIF、APNGを書き出します。
結果は、きれいで一貫したベースになります。それでも多くのアーティストは、重要なフレームを手で仕上げます。
関連
質問
プリレンダリングのスプライトを使ったゲームは?
Donkey Kong Country(1994)、Diablo(1996)、Fallout、StarCraft、Age of Empiresがよく知られた例です。Dead Cells(2018)は3Dアニメーションをピクセルアートのフレームとしてレンダリングしました。
プリレンダリングスプライトはずるい?
いいえ。写真の資料の上から描くのと同じ、制作手法の1つです。多くのアーティストが土台をレンダリングし、キーフレームを手で仕上げています。