サイレントヒル オリジンズ レベルビューア

Tool

概要

Silent Hill Origins のゲームレベルデータを読み込み、リアルタイムで可視化するデスクトップ向けのC++プロジェクトです。PS2/PSPで使われた独自のコンテナ(拡張子なし、例: MO_1_Room102)を解析して内部のジオメトリ、ベイクドライティング、テクスチャ、衝突メッシュ、配置されたオブジェクトを復元します。ネイティブなPS2テクスチャのデコード機能を備え、ゲーム保存・解析、モデリング作業、ファンメイドの改修や研究に使えるツールです。ライセンスはCC BY 4.0で、改変や再配布が許可されています。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 6
  • ファイル数: 7
  • メインの言語: C++

主な特徴

  • SHO形式(拡張子なし)のコンテナを解析してレベルデータを抽出
  • PS2ネイティブテクスチャのデコードと表示対応
  • ジオメトリ、ベイクドライティング、コリジョンメッシュ、配置オブジェクトをリアルタイムレンダリング
  • Shattered Memories 互換の可能性を考慮した設計

技術的なポイント

本プロジェクトはバイナリ解析とリアルタイムレンダリングを組み合わせたツールで、いくつかの技術的な要点が際立ちます。まず、独自コンテナ(拡張子無しファイル)からのデータ抽出ではバイナリフォーマットの構造解析が必要で、エンディアン処理、オフセット参照、セクションごとのデータ解釈(頂点バッファ、インデックス、マテリアル参照、ライトマップ情報など)を正確に行う設計になっています。次にPS2ネイティブテクスチャのデコードは、当時の圧縮/ピクセルフォーマット(パレット形式やブロック圧縮に類するフォーマット)を現代の画像フォーマットに変換する工程を含みます。ジオメトリ復元では頂点属性(位置・法線・UV)や面情報を正しく再構成し、ベイクドライティングやライトマップを適用して当時の見た目を再現する処理が行われます。さらにコリジョンメッシュや配置オブジェクトの情報を取り出してシーンに重ね合わせることで、デバッグや解析が容易になります。ビルドはCMakeやMakefileを併用しており、C++ベースでの軽量なクロスプラットフォーム構成が取られている点も特徴です。加えてCC BY 4.0によるオープンなライセンス設計は、研究・保存・MOD制作のベースとして活用しやすい利点があります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • CMakeLists.txt: file
  • LICENSE: file
  • Makefile: file
  • README.md: file

…他 2 ファイル

まとめ

ゲーム解析や保存、MOD制作の出発点として有用なC++製レベルビューワーです(軽量で実用的)。

リポジトリ情報:

READMEの抜粋:

Silent Hill Origins — 3D Level Viewer

A real-time 3D viewer for game levels and locations from Silent Hill Origins (PS2 / PSP), with potential compatibility for Silent Hill: Shattered Memories.

Opens proprietary SHO container files (no file extension — named like MO_1_Room102), decodes native PS2 textures, and renders the full level geometry, baked lighting, collision mesh, and placed objects interactively.

License: CC BY 4.0 — free to use and modify, **attribution re…