
コンピュータグラフィックスにおいて、スプライトとは、2Dビデオゲームなどで、より大きなシーンに組み込まれる2次元ビットマップのことです。元々、スプライトという用語は、ハードウェアによって背景と合成される固定サイズのオブジェクトを指していました。[ 1 ]その後、この用語の使用はより一般的になりました。
ハードウェアスプライトを備えたシステムには、1970年代と1980年代のアーケードビデオゲーム、 Atari VCS(1977年)、ColecoVision(1982年)、ファミコン(1983年)、Genesis/Mega Drive(1988年)などのゲーム機、TI-99/4(1979年)、Atari 8ビットコンピュータ(1979年)、Commodore 64(1982年)、MSX(1983年)、Amiga(1985年)、X68000(1987年)などのホームコンピュータが含まれます。ハードウェアによって、サポートされるスプライトの数、各スプライトのサイズと色、スケーリングやピクセル単位の正確な重なりの報告などの特殊効果は異なります。
スプライトのハードウェア構成は、メインCPUの関与やフルスクリーンフレーム バッファの必要なく、各スキャン ラインが陰極線管などのビデオ出力デバイス用に準備されるときに行われます。[ 1 ]スプライトは、ハードウェア構成プロセス中に使用される属性を設定することで、位置や位置を変更できます。スキャン ラインごとに表示できるスプライトの数は、システムがサポートするスプライトの総数よりも少ないことがよくあります。たとえば、Texas Instruments のTMS9918チップは 32 個のスプライトをサポートしていますが、同じスキャン ラインに表示できるのは 4 個だけです。
現代のコンピュータ、ゲーム機、モバイル機器に搭載されているCPUは、特別なハードウェア支援なしにビットマップをフレームバッファに描画できるほど高速です。さらに、GPUはCPUと並行して、拡大縮小、回転、アンチエイリアシング処理、半透明化、超高解像度といった様々な処理を施した膨大な数の画像をレンダリングできます。
1979年のテキサス・インスツルメンツのTMS9918ビデオディスプレイプロセッサのエンジニア2人のうちの1人であるカール・ガッタッグによると、この「スプライト」という言葉の使用はTIのマネージャーであるデビッド・アックリーによるものだった。[ 2 ] [ 3 ]また、1970年代後半にはテキサス・インスツルメンツのダニー・ヒリスもこの言葉を使用していた。 [ 4 ]この用語は、スプライトが幽霊や神話上の精霊のように、背景画像を上書きすることなくその上に「浮かぶ」という事実から派生したものである。
ハードウェアメーカーによっては、特にスプライトが普及する以前は、異なる用語を使用していたものもあった。
プレイヤー/ミサイルグラフィックスは、 Atari, Inc.がAtari 8 ビット コンピュータ(1979 年) およびAtari 5200コンソール (1982 年) のハードウェア スプライトに使用した用語です。 [ 5 ] [ 6 ]この用語は、同じ色を共有するキャラクター (「プレイヤー」) とそれに関連するより小さなオブジェクト (「ミサイル」) の両方に使用されていることを反映しています。初期のAtari ビデオ コンピュータ システムおよび一部の Atari アーケード ゲームでは、プレイヤー、ミサイル、およびボールが使用されていました。
Stampは1980年代初頭にMs. Pac-Manなどのアーケードゲーム機の一部で使用されました。[ 7 ]
MOS Technology社のグラフィックチップ関連資料では、 「可動オブジェクトブロック(MOB)」という用語が使われていましたチップの主要ユーザーであり、チップメーカーとしてのMOS社の存続期間の大半において同社の所有者であったコモドール社は、代わりにCommodore 64向けに「スプライト」という用語を使用しました。
OBJ ( objectsの略)は、 NES、スーパーNES、ゲームボーイの開発者マニュアルで使用されています。スプライトの属性と座標を格納するために使用されるビデオRAMの領域は、 OAM (Object Attribute Memory)と呼ばれます。これは、ゲームボーイアドバンスとニンテンドーDSにも当てはまります。
スプライトの使用はアーケードビデオゲームから始まった。ノーラン・ブッシュネルは、最初のアーケードビデオゲームであるコンピュータスペース(1971年)を開発した際に、その概念を考案した。技術的な制約により、わずかな動きごとに画面全体をリフレッシュする初期のメインフレームゲーム「スペースウォー!」 (1962年)を適応させるのは困難だったため、彼はその問題に対する解決策として、各ゲーム要素を専用のトランジスタで制御することを考案した。ロケットは基本的にハードワイヤードビットマップであり、背景とは独立して画面上を移動した。これは、画面イメージをより効率的に生成し、スプライトグラフィックスの基礎を築くための重要な革新であった。[ 8 ]
プレイヤーキャラクターを人間のプレイヤースプライトとして表現した最初のビデオゲームは、アーケードスポーツビデオゲームであり、タイトーのTVバスケットボール[ 9 ] [ 10 ] [ 11 ]が1974年4月に発売され、北米での発売はミッドウェイ・マニュファクチャリングにライセンス供与された[ 12 ] 。西角友弘が設計したこのゲームでは、長方形の形状をバスケットボール選手やバスケットボールのフープのように見えるオブジェクトに再構成することで、単純なポンスタイルの長方形からキャラクターグラフィックへと移行しようとした[ 13 ] [ 14 ]。ラムテックは1974年10月に別のスポーツビデオゲーム「ベースボール」 [ 12 ]を発売し、同様に人間のようなキャラクターを表示した[ 15 ] 。
1979年のアーケードゲーム「ギャラクシアン」用のナムコギャラクシアンアーケード システム基板は、スクロールする背景の上にアニメーション化された多色のスプライトを表示します。[ 16 ]これは、任天堂のレーダー スコープやドンキー コングのアーケード ハードウェア、およびニンテンドー エンターテインメント システムなどの家庭用ゲーム機の基礎となりました。[ 17 ]ゼネラル コンピュータ コーポレーションのスティーブ ゴルソンによると、当時は「スプライト」の代わりに「スタンプ」という用語が使用されていました。[ 7 ]
Signetics社は、家庭用システム向けにスプライトグラフィックス(Signetics社ではオブジェクトと呼ばれていた)を生成できる最初のチップを開発した。Signetics 2636ビデオプロセッサは、1978年の1292 Advanced Programmable Video Systemで初めて使用され、その後1979年のElektor TV Games Computerにも搭載された。
1977年に発売されたAtari VCSには、ゲームプレイフィールドとは独立して5つのグラフィックオブジェクトを移動できるハードウェアスプライト実装があります。当時はスプライトという用語は使われていませんでした。VCSのスプライトはプログラミングマニュアルでは可動オブジェクトと呼ばれ、さらに2人のプレイヤー、2つのミサイル、1つのボールとして識別されています。[ 18 ]これらはそれぞれ、スキャンライン上に表示される1行のピクセルで構成されています。2次元の形状を生成するために、スプライトの1行ビットマップは、1つのスキャンラインから次のスキャンラインまでソフトウェアによって変更されます。
1979年に発売されたAtari 400と800のホームコンピュータは、同様の回路構成ながらより高度な回路を備えており、1スキャンラインあたり8つの単色オブジェクト(8ビット幅のプレイヤー4体と2ビット幅のミサイル4体)を移動させることができた。各オブジェクトはディスプレイの高さ全体を占める、細長い帯状の領域である。メモリ内のテーブルからDMA転送によって、各スキャンラインのグラフィックパターンレジスタが自動的に設定される。ハードウェアレジスタは、各プレイヤーとミサイルの水平位置を制御する。垂直方向の動きは、プレイヤーまたはミサイルの帯状領域内のビットマップデータを移動させることで実現される。Atariはこの機能を「プレイヤー/ミサイルグラフィックス」と呼んだ。
テキサス・インスツルメンツは、1979年に発売した家庭用コンピュータTI-99/4向けに、スプライト機能をサポートするTMS9918チップを開発した。改良版は1981年のTI-99/4Aで使用されている。

スプライトは、 1980年代後半から1990年代初頭にかけて2.5Dゲーム(2Dマップから3Dゲーム空間を再現するゲーム)が台頭した際にも人気を保ちました。ビルボードと呼ばれる技術により、2.5Dゲームでは画面上のスプライトを常にプレイヤーの視点に向けて回転させることができます。1993年の『Doom』など一部の2.5Dゲームでは、同じオブジェクトをビューアに対する回転角度に応じて異なるスプライトで表現することで、3Dの錯覚をさらに高めています。
完全な3Dゲームでは通常、ワールドオブジェクトは3Dモデルとして表示されますが、 GoldSrc [ 19 ]やUnreal [ 20 ]などの一部の3Dゲームエンジンではスプライトがサポートされており、ビルボード化したり、固定の向きにロックしたりできます。スプライトは、細かいディテール、パーティクルエフェクト、および3次元がないことが大きな欠点にならないその他のアプリケーションで依然として役立ちます。
これらは基本的なハードウェア仕様であり、フレームの途中でスプライトを再利用するラスタ割り込みの使用など、追加のプログラミング技術は含まれていません。
[…] 6体の動くキャラクター、今日でいう「スプライト」を当時は「スタンプ」と呼んでいました。[…]
{{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)