
ボクセルアートの歴史 — 体積データからComanche、Minecraft、MagicaVoxelへ
ボクセルは、3次元グリッド内のセルに対応する値です。キューブ型ゲームで広く知られる前から、医用画像などのサンプリングされた体積データを表すために使われてきました。ゲームや制作ツールは、同じグリッドの考え方を地形、編集可能な世界、特徴的な造形表現へ発展させました。
volume elementからvoxelへ
「voxel」はvolume elementを組み合わせ、pixelにならって作られた言葉です。3次元グリッド上の位置に、密度、材質、色、占有状態などの値を保持できます。
CTやMRIの処理は分かりやすい例です。複数の断面サンプルが体積を構成し、各セルに測定値を保持できます。ボクセル自体が必ず目に見える立方体という意味ではありません。立方体はセルを表示・編集するための便利な表現です。
1992年: ComancheとVoxel Space地形
NovaLogicのComanche: Maximum Overkillは、商用ゲームで「ボクセル」地形を使用した、よく知られた初期の例です。Voxel Space方式は高さマップ、カラーマップ、視点に応じたサンプリングを組み合わせ、当時のCPUで起伏のある地形を描画しました。
これは任意の座標へブロックを積める完全な3次元グリッドではなく、1つの平面位置に1つの高さを持つ2.5Dの高さ場に近い方式です。それでも、谷や丘の連続した風景は、当時の多くのポリゴン地形と異なる見え方を実現しました。
地形描画から編集可能なブロック世界へ
GPUによるポリゴン描画が普及すると、高さ場のボクセルエンジンは目立たなくなりました。一方、離散セルで作られ、プレイヤーが変更できる世界という別の形で考え方が広がります。
2009年に公開されたMinecraftは、ブロックを置く・壊す操作を中心に据えました。世界をチャンクへ分けることで、地形の生成、保存、メッシュ化、描画を管理しやすくします。GPUへ送る際は通常ポリゴンメッシュへ変換されるため、ここでいう「ボクセル」は生の体積サンプルを直接描くことではなく、グリッド状の世界モデルと表現を指します。
Microsoftは2014年9月、MojangとMinecraftを25億米ドルで取得する合意を発表しました。ブロック世界の構想が独立開発から世界規模の作品へ成長したことを示す出来事です。
表現様式としてのボクセルアート
3D Dot Game Heroes、Cube World、Crossy Road、Troveなどは、キューブを用いた造形を単なる描画上の制約ではなく、意図的な表現様式として定着させました。
限られたグリッドの中で、読みやすい輪郭、色のまとまり、光を設計する点はピクセルアートに似ています。小さく表示しても判別しやすく、3次元なので回転やアニメーションへ展開できます。
MagicaVoxelと.vox形式
ephtracyによるMagicaVoxelは、ボクセルアート向けのエディタとレンダラーです。文書化された.vox形式は、チャンクで構成されたバイナリ形式です。基本的なチャンクには次があります。
VOX header
MAIN
├─ SIZE モデル寸法
├─ XYZI ボクセル位置とパレット番号
└─ RGBA 任意の256色パレット
XYZIの各項目では、x、y、z、色番号がそれぞれ1 byteです。後の形式には、シーングラフ、変換、グループ、材質などのチャンクもあります。全てのファイルがSIZE/XYZIを一組だけ持つとは限らないため、実装時は現行の仕様書を参照する必要があります。
占有セルをGPU用メッシュへ変換する
占有セルごとに完全な立方体を描くと、内部に隠れた面まで生成されます。また、隣接する同一平面上の面はまとめられる場合があります。
Greedy meshingは各軸に沿って可視面を走査し、互換性のある隣接面を大きな矩形へ統合します。一つの矩形は二つの三角形として出力できます。削減量はモデルに依存しますが、広い平面を持つモデルでは、1ボクセル1立方体方式より少ない四角形で表現できます。
- 隣り合う二つの占有セルの間にある面を捨てる
- 各断面の残った面から2次元マスクを作る
- 互換性のあるセルを矩形へ統合する
- 材質と向きを保って矩形を四角形として出力する
glTFでボクセル作品を配信する
ボクセルエディタは、生成した表面メッシュをOBJやglTF/GLBへ出力できます。KhronosはglTFを、ネイティブ・Webエンジン向けのコンパクトでランタイム中立な3Dアセット伝送形式として定義しています。ノード、変換、メッシュ、材質、カメラ、アニメーションを持つシーンを表現できます。
一般的な流れは、ボクセルエディタでモデルを作り、表面メッシュを生成・最適化し、GLBへ出力してBlender、ゲームエンジン、WebGLアプリへ読み込むことです。配信物が三角形メッシュでも、制作時のデータモデルはボクセルグリッドのままです。
まとめ
- ボクセルはサンプリングされた3次元体積データのセルを表す
- Comancheは、1992年のVoxel Space高さ場地形を使った、よく知られた初期の商用例
- Minecraftは編集可能なブロック世界を世界的な表現へ広げた
- MagicaVoxelは制作環境とチャンク形式の
.voxを提供する - Greedy meshingは隠れた面を除き、可視面を大きな四角形へまとめる
- glTF/GLBは生成した3Dアセットを交換・配信する方法になる
NanTooのボクセルメーカーでは、ブラウザ上でモデルを作り、プロジェクト保存やVOX・OBJ・GLB・GIF出力ができます。
参考文献・ソース
記事作成に関する注記
本記事は AI(大規模言語モデル)を編集補助として活用して作成しています。 公開前に編集者が内容を確認していますが、事実誤認・仕様の解釈ミス・最新情報との齟齬が含まれる可能性があります。 重要な判断を行う際は、本文中の一次ソースや公式ドキュメントを必ずご自身でご確認ください。 誤りにお気づきの場合は、お問い合わせフォームよりご連絡いただけると助かります。




