vpk から検視画面まで:武器ケース、コレクション、エージェントはゲーム内でどう「指名」されるのか

2026年10月13日 12:00:09

CS2 の武器ケース、コレクション、エージェントの背後にあるリソース層を分解し、ストアページとゲームクライアントの話がなぜ食い違うことがあるのかを解説。

はじめに

C5GAME でスキンを眺めるとき、私たちが見ているのはレンダリング画像、摩耗範囲、そして価格だ。しかしゲームクライアントはそんなものを認識しない。認識するのは scripts/items/items_game.txt の一行、materials/ 以下の .vmat、models/ 内の .vmdl だ。武器ケース、コレクション、エージェントの三つは、リソースレベルではそれぞれ別の道を通る。そしてその道こそが、「なぜページとゲーム内で話が食い違うのか」という古くからの疑問を説明してくれる。

武器ケース:バラのスキンではなく、ひとつのコンテナ ID

多くのプレイヤーは武器ケース=スキンの詰め合わせだと思っている。しかしリソース構造では、ケース自体が独立した item であり、独自の prefab、開封アニメーション、サウンドイベントを持つ。中から何が出るかは items_game.txt の client_loot_lists に書かれており、一連の「アイテム定義インデックス」で具体的なスキンを指し示す。

これが意味するのは二点。第一に、ケース内のスキンはケースモデルに「梱包」されているわけではない。開封して出た AK と、ストアで直接見る AK は同じアイテム定義を指しており、入手経路が違うだけだ。第二に、開封アニメーション(あの回転する光の帯)は固定リソースであり、出たのがミリタリーグレードか高級品かを区別しない。レアリティは光が止まるときのハイライトとサウンド層にだけ影響する。

つまり C5GAME でケースを見るとき、ページに表示される「可能な内容」は上流がルートリストを平坦化した結果であり、ゲーム内で実際に見るのは光の帯がどこで止まるかだ。両者は同じアイテム定義群を記述しているが、提示ロジックは全く異なる——一方は一度に広げ、他方は確率の着地点だ。

コレクション:マップや大会に紐づく名前空間

コレクションはリソースレベルではむしろ「名前空間」に近い。ケースではなく、開封アニメーションもなく、その役割は一群のスキンに同じ出所ラベルを付けることだ。たとえばあるマップのドロッププール、ある大会の記念品プールなど。

重要なのは、コレクション自体は摩耗もパターンも決めないということ。決めるのは「そのスキンがどのプールに属するか」だけだ。実際に君の手元の銃がどんな見た目になるかを決めるのは、アイテム定義内の paint_kit インデックスと、そのペイントキットに対応する .vmat およびテクスチャだ。摩耗は実行時に seed から計算され、パターン位置も同様だ。

これが古くからの現象を説明する。同じスキンの記念品版と通常版は、モデル、テクスチャ、摩耗ロジックが完全に同一で、違いは記念品に金ステッカーと銘板が追加されることだけ。C5GAME で記念品を見ると、ページはステッカーと銘板を強調するが、ゲーム内で F を押したとき最初に目に入るのは銃本体の塗装だ——コレクションというタグは銃身に描かれたりしない。

エージェント:三つの中で唯一「骨」を持つ

エージェントの最大の違いは、完全なキャラクターモデル、骨格、顔のリギング、ボイスイベントを持つことだ。武器ケースとコレクションは「アイテム層」のもの、エージェントは「キャラクター層」のものだ。

リソース構造では、エージェントは models/player/ 以下のモデルに対応し、それにマテリアル一式とボイス一式が加わる。どのエージェントを選ぶかで変わるのはキャラクターリソースの参照であり、インベントリの一枠のテクスチャではない。だからエージェントの「検視」と銃の検視は全く別物なのだ——銃は F で塗装を見るが、エージェントは選択画面でモデルと手袋を見て、ゲーム内では一人称の手と袖しか見えない。

そこで古典的なズレが生まれる。C5GAME のページではエージェントは全身立ち絵だが、ゲーム内ではほとんどの時間、一対の手しか見えない。ページはモデルリソースを表示し、ゲームは一人称サブモデルを呼び出す。同じ源だが視点が違う、だから見え方も違う。

三つの道を並べて見る

武器ケースはコンテナであり、ルートリストでアイテム定義を指す。コレクションはタグであり、名前空間でアイテム定義を分類する。エージェントはキャラクターであり、モデルとボイスリソースでアイテム定義の外に独立する。三つとも同じストア画面に現れるが、クライアント内では三つの異なるロジックで呼び出される。

だから次に C5GAME で品物を見るときは、一歩踏み込んで考えてみよう。君が見ているこの画像は、アイテム定義のレンダリングか、モデルリソースの立ち絵か、それともコレクションタグの下の一項目か。それが分かれば、ページとゲームの間の「食い違い」は、ちょっと面白い話に変わるはずだ。