2026年7月22日(水)〜24日(金)、国内最大級のゲーム開発者向けカンファレンス「CEDEC2026」が開催された。約200ものセッションが行われた同カンファレンスから、本稿では、任天堂によるセッション「『ドンキーコング バナンザ』すべてが壊せる世界の構築 ~破壊を実現するボクセル技術~」の内容を紹介する。
関連記事
・『ドンキーコング バナンザ』は、なぜ「もっと壊したくなる」のか? "破壊"を体験させるビジュアルづくりの舞台裏~CEDEC 2026(1)
・『Pokémon LEGENDS Z-A』は「1つの街」をどう描いた? ミアレシティを支える描画技術~CEDEC 2026(2)
・RE ENGINEで実現した『モンスターハンターストーリーズ3』の幻想的なアニメ調レンダリング~CEDEC 2026(3)
「すべてを壊せる世界」を支えるボクセル設計
2025年に発売された『ドンキーコング バナンザ』は、プレイヤーが地形を自由に破壊できることを特徴とするシリーズ最新作だ。CEDEC 2026では、本作の破壊表現をテーマに4つのセッションが行われた。アート面を扱った「『ドンキーコング バナンザ』もっと壊したくなる世界 ~驚きデストラクションと濃厚な絵作り~」の紹介記事に続き、本稿ではエンジニアリングに焦点を当てたボクセル技術を紹介する。
www.nintendo.com/jp/games/switch2/aaaca/index.html
©Nintendo
講演では任天堂よりプログラマーの森 洋介氏と深山智史氏が登壇、破壊を実現するボクセル技術について解説した。森氏は本作でグラフィックスプログラムやデザインワークフローの整備を、深山氏はサウンドプログラムを担当している。
ボクセルとは、2次元のピクセルを3次元のボックスへと拡張し、3次元グリッド上へと並べたデータ構造である。基本的には各ボクセルに「0=何もない、1=中身がある」といった値をもたせ、その境界にポリゴンを生成することでメッシュを構築する。
ボクセル由来のメッシュというとブロック状の形状を想像しがちだ。しかし、メッシュ生成アルゴリズムを工夫することで滑らかな形状も実現できる。
本作では、破壊体験を高めるため自然な形状を目指したという。グリッドごとに1つの頂点を生成し、それらを結んでメッシュ化する方式を採用しており、破壊に合わせてリアルタイムでメッシュを生成している。
本作のボクセルには様々なデータが格納されており、講演では代表的なデータとして「密度」、「ダメージ」、「マテリアル」、「濡れ」の4つが紹介された。
密度は形状を決める値だ。前述の「0か1か」の値は、実際には0〜255の密度値として管理しており、パンチで破壊が起きると密度が変化し、それに応じて頂点位置が移動してメッシュが変形する。
ただし、密度情報だけでは丸みを帯びた形状しか生成できないため、メッシュ生成にはDual Contouringアルゴリズムを採用。頂点位置を制御するベクトル情報を保持することで、エッジの立ったシャープな形状を実現している。
ダメージは、硬い材質をあと何回パンチすれば壊せるかをプレイヤーへ伝えるための値だ。パンチのたびに値が蓄積され、その量に応じてヒビの表現が変化する。
マテリアルは遊びと見た目を決めるデータで、こちらも0~255の値で格納し、テクスチャ配列のインデックスに変換して見た目を決定する。氷を投げ込むと溶岩が冷えて岩に変わるなど、プレイヤーのアクションに応じてマテリアルが変化するケースもある。
最後に紹介された濡れは、自然地形を掘っている感覚を演出するためのデータだ。あらかじめ地形内部のボクセルへ濡れ情報を記録しておき、掘り進めるほど湿った内側が露出してくる表現に利用している。
1億個のボクセルを破壊し続けるための最適化
見た目の面では、品質を保つため、様々なボクセル形状へ自然にテクスチャを貼る手法として三軸投影を採用している。同じテクスチャをXYZの3方向から投影・ブレンドすることでUVの継ぎ目を目立たなくする手法だが、テクスチャを3回フェッチするためGPUコストが増加する。
そこで、テクスチャはパッキングにより、1マテリアルあたり6枚から3枚へ削減。また、マテリアルの境界を自然に見せるため2マテリアルまでのブレンドに対応しつつ、複数マテリアルを含むメッシュにのみブレンド処理を適用している。
さらに、細かく分割されたポリゴンのうち、形状がほとんど変わらない部分は1つにまとめるメッシュ単純化も実施するなど、処理負荷を抑えるための工夫を重ねている。
メモリ管理も特徴的だ。例えば、あるステージのボクセル空間は250×600×800のグリッドで構成され、総数は1億個を超える。しかし、実際にデータを持つボクセルは全体の約7%しか存在しない。そのため、8×8×8ボクセルを1チャンクとしてまとめ、チャンク単位で管理する構造を採用している。
よりメモリ効率に優れた手法もあるが、破壊によるデータ更新が頻繁に発生する本作では、シンプルな構造によるキャッシュ効率と更新コストの低さを優先したという。
ROMサイズの削減にも工夫がある。空のチャンクは「空である」という情報だけを1ビットで保持し、データが存在するチャンクだけを圧縮することで、約915MBあったステージのボクセルデータを約8MBまで削減している。
「どう壊したか」「何を壊したか」から生まれる手応え
続いて深山氏が、破壊の手応えをどう高めたかを解説した。ボクセル地形は、壊れる場所も形状も毎回異なるため、エフェクトやサウンドを事前に決め打ちできない。そこで壊れた瞬間にその破壊から情報を読み取る方式を採った。読み取るのは「どう壊したか」と「何を壊したか」の2つだ。
「どう壊したか」は、放出の起点となる場所、放出量や音量を決める体積、放出方向を決める方向の3つを取得する。さらに破壊が壁を貫通したかも取得しており、貫通しなければエフェクトは手前に、貫通すればパンチ方向へ飛ぶことで、壊し切った気持ちよさを強めている。
ドンキーコングのボイスにも工夫がある。ボクセルがあと何発で壊れるかを先読みし、最後の一撃では力のこもったうなり声へ切り替えることで、破壊の爽快感を高めている。
「何を壊したか」は、ボクセルに格納されたマテリアル情報から判定する。泥を壊せば泥しぶき、土なら土煙と、素材に応じたエフェクトとサウンドが再生される。複数のマテリアルが混在する場合は、最大2種類まで同時に出力される。
特徴的なのは、破壊エフェクトの量産手法だ。本作では、最終的に800種類以上のマテリアルを扱っている。そのすべてに破壊エフェクトを用意するため、エフェクトを「質感」と「テクスチャ」に分離した。
「質感」は、粒の大きさや形状、挙動をエフェクトアーティストがテンプレート化したもので、「ゴロゴロ」「サラサラ」「ベチョベチョ」など9種類を用意。氷やいちご、ロケット石なども同じ「ゴロゴロ」のテンプレートを共有する。
一方、見た目にはボクセルで使用しているテクスチャをそのまま適用して放出する。この組み合わせにより、800種類を超えるマテリアル全てへの対応を実現した。
2000種の装飾物を壊すHoudiniの自動分割パイプライン
地形の大部分はボクセルで構成されているが、それだけでは細かなディテールを表現しきれない。そこで、アーティストが制作した装飾モデルを配置し、密度感のある世界を構築している。街灯や木箱などの大きな装飾はパンチで直接壊れ、草花や石畳などの小さな装飾は、接している地面の破壊を検知して一緒に壊れるしくみだ。
装飾は壊れた瞬間に破片モデルへ表示を切り替え、吹き飛ばす。しかし、本作には2,000種類以上の装飾物が存在し、それぞれに破壊表現を個別に用意することはとうてい困難である。そこで、装飾物についてもボクセル破壊と同様の考え方を採り入れ、壊れ表現を「破片モデル」と「挙動」に分けて設計した。破片モデルはHoudiniによる自動分割処理で生成され、アーティストが新しい装飾モデルを登録すると自動で実行される。
デフォルトはボロノイ分割だが、樽は「中が空洞」であることを考慮して木片らしく割る、複数パーツで構成されたモデルはパーツごとに分割するといった指定も可能だ。挙動についても、「軽いものは飛んで跳ねる」「薄いものはヒラヒラ舞う」など8種類のテンプレートから割り当てるだけでよい。このしくみにより、装飾物の98%は自動生成で対応し、残る約2%だけをアーティストが手作業で仕上げたという。
破壊は環境そのものも変える。吹雪のステージでかまくらに入ると、吹雪のエフェクトが止み、SEが小さくなり、BGMの演出や音の響き、キャラクターの反応まで変化する。そして、かまくらを壊せば再び吹雪にさらされる。
これらは、周囲がどれだけ地形に遮られているかを示す「遮蔽率」で制御されている。ライティング計算に利用しているキューブマップの深度値から求めるため、追加コストはほとんど発生しないという。
敵もボスもNPCもボクセルでできている
ボクセル技術はキャラクターにも採り入れられている。キャラクターは地形とは別に個別のボクセル空間をもち、敵は地形より細かいグリッドで構成することで、パンチが当たった箇所だけをピンポイントに破壊できる。表情などを担う装飾パーツも体のボクセルと一緒に壊れるため、装飾だけが宙に残ることはない。
ボスでは、破壊だけでなく生成も行える特性を活かし、攻撃とともに足場を出現させるものや、投げつけた塩がパーティクル状に分散し、体を有機的に溶かしていくものが登場する。NPCは何度壊されても復活するほか、2つのボクセルデータを補間するモーフィングにより、道案内のために変形したり、リズムに合わせて踊ったりする。
レベルデザインとアートをつなぐ地形制作ワークフロー
最後に、森氏は地形制作のワークフローを紹介した。本作ではまずレベルデザイナーがシンプルな形状で地形を制作し、レベルデザインを行う。遊びが固まった後、地形アーティストがアートを加えるという流れだ。
レベルデザインでは、キューブやシリンダーなどのプリミティブ形状をレベルエディタ上に配置し、ランタイムでボクセル化してメッシュを生成する。ボクセル化することでブーリアン演算による合成やくり抜きが可能になり、洞窟や地下空洞も制作できる。
また、すぐ壊せる草、複数回のパンチが必要な岩、滑る氷、破片を持つと浮かぶロケット石など、素材ごとの性質も指定できる。プリミティブ形状だけでは設計しきれない遊びを試作しながら、レベルデザインを詰めていく。
アーティストの作業は、「ボクセル形状の制作」、「素材の見た目の設定」、「装飾モデルの配置」の3工程だ。特徴的な形状はMayaでモデリングし、Houdiniでボクセルへ変換した後、バイナリ出力してランタイムでメッシュ化する。素材の見た目はステージごとに設定でき、同じ岩でも世界観に合わせた多彩な表現が可能だという。
装飾モデルの配置には、ピンポイントで配置する手動配置と、マテリアルやパスに紐づけて草や石畳などを大量に配置する自動配置があり、両者を組み合わせることで効率化とアート表現を両立している。
セッションの最後に森氏は、「ボクセルの破壊」というコンセプトを起点に、ポリゴンモデルの破壊、エフェクト、サウンド、周辺環境の反応といった要素を一連のしくみとして結びつけられたことが、本作ならではのボクセル技術につながったと総括した。
「この技術こそが破壊に手応えと説得力を与え、『すべてを壊せる世界』を実現しました」と述べ、セッションを締めくくった。
TEXT_稲庭 淳 / Jun Inaniwa
EDIT_小村仁美 / Hitomi komura(CGWORLD)、山田桃子 / Momoko Yamada