スプライト(Sprite)とは、
- 西洋にいる伝説上の小人、妖精、子鬼Sprite
- 主にテレビゲームで用いられる技術的な仕組み(以下後述)。
- コカ・コーラから発売されている炭酸飲料の名称、スプライト (炭酸飲料)を参照。
- 雷雲上で発光する現象の一つ。レッドスプライトを参照。
スプライトは、主に
テレビゲームで用いられる、画面上のキャラクタ(人物・物品等)など小さな絵を高速に表示するための技術的な仕組みである。
概要
この機能は、画面表示における映像の情報を記憶している
ビデオRAMとは別に、多数の小さな画像を用意しておき、画面上の任意の位置(1
ピクセル単位で指定可能)に
ハードウェアで合成して表示する物である。この機能は、背景となる画像や複数のスプライトで重ね合わせて合成表示ができるようになっており、複数のスプライトが重なったときに、どのスプライトを前面に表示するかを
プログラム上において優先順位を指定する事が可能で、これを利用して細かい映像表現も可能である。これは
アニメーションにおける
セル画の概念に近いが、更にセル画に例えるなら、背景の上にキャラクタの大きさに切ったセル画を置いて、1コマ毎にキャラクタのセル画を背景上で動かしていくという物である。
細かい映像表現
例えばあるゲーム上において、主人公=プレーヤーがソリに乗るシーンを表現する場合、スプライトを使った映像表現では、座っている主人公が描かれたスプライトの下に、ソリのスプライトを重ねる。こうすることで主人公がソリに乗っているように見える訳だが、さらにそりが動き出した際に、ソリを細かく上下・または左右に小さく動かす事で、主人公の乗ったソリが、勢い良く疾走してガタガタと地面の凹凸によって震えている様が表現できる。
また主人公がソリからボートに乗り換えた場合には、座っている主人公のスプライトの下に、船のスプライトを置くだけで済むため、キャラクタの画像データを「そりに乗っている場合」と「ボートに乗っている場合」で別々に作る必要が無い。
プログラミング上における利点
プログラム上に於いては、キャラクタを移動させるときは各スプライトに指定された位置情報だけを変更すればよく、優先順位の指定により奥行きも簡単に表現できる。これは前出の細かい映像表現に利用され、特に幾つかの部品を別々・または一緒に動かす事で様々な表現に応用できる事から、それらの部品を組み合わせた画像を一々作成しなくて済むため、製作に掛かる手間が省ける他、それらの合成画像を予めソフトウェアの
記憶媒体に記憶させておく必要が無い事から、少ない記憶容量の媒体で、より表現力豊かなゲームを提供できる事にも繋がる。
ハードウェア
初期には
アーケードゲームにて専用の電子回路を組んで実現されていたが、次第に汎用化され、
ファミコンなどの
ゲーム機、パソコンの一部(
MSX、
X68000、
FM TOWNS)などで利用できるようになった。
その特性から、画面上で多数のキャラクタが同時に動く、シューティングゲームやレーシングゲームで重宝され、特にハードウェア上で同機能が搭載されている場合、コンピュータのCPUに負担を掛けずにキャラクターを画面上で動かせるため、CPU処理能力の低い時代に於けるコンピュータで、激しい動きのあるゲームを作るのには必須とされた。
しかしこの機能では、複数のスプライトを画面上に出していった場合に、スプライト機能上でそれぞれの位置情報が干渉し合って、スプライトの表示が欠ける等の欠点もあり、また2次元の画像を主体とするゲームであることが前提なので、3次元のポリゴンデータからリアルタイムに画像を生成するゲームでは(画面上の得点表示等の)固定表示以外では殆ど使い道が無くなってしまった。
なお、ファミリーコンピュータ・MSX・X68000と、FM TOWNSとではスプライトの実現方式が異なる。前者はあらかじめ用意したキャラクタデータを、VRAMからモニターに出力するときに走査信号に合成して送信する方式であるが、後者はスプライト専用に設置したバッファに高速でキャラクタデータを転送する方式である。
現在
近年では、CPUの処理能力が向上、また
グラフィック・コプロセッサ(画像表示専用の演算装置)の発達に伴い、このスプライト機能が無くても、充分様々な映像表現が可能になっている。またゲームソフトウェアに利用されるソフトウェア媒体の大容量化もあって、近年の
家庭用ゲーム機やアーケードゲームでも同機能を搭載する意味が失われており、現行のゲーム機では擬似的にスプライト機能を搭載(正面を向いた
四角形の
ポリゴンをスプライトのように扱える等)している機種もあるが、あまり意味の無い仕様となっている。
コンピュータゲームの技術 | ハードウェア | 画像処理
Sprite (počítačová grafika) | Sprite | Sprite (Computergrafik) | Sprite (computer graphics) | Sprite (videojuegos) | Sprite-grafiikka | Sprite (jeu vidéo) | Sprite (informatica) | Sprite | Спрайт (компьютерная графика) | Sprite (datorgrafik)