PCF ファイル形式とは?
.pcfファイルは、ValveのSource 1エンジンで使用されるパーティクルシステム定義ファイルです。Team Fortress 2、Portal 2、Left 4 Dead 2、CS:GOなどのゲームは、爆発、マズルフラッシュ、煙、火などのすべての視覚的なパーティクルエフェクトを.pcfファイルに保存します。
この形式は、ValveのDMX(Data Model Exchange)バイナリシリアライゼーションを使用しています。各ファイルは、エンコーディングバージョンを識別する <!-- dmx encoding binary_proto 5 format pcf 2 のようなヌル終端ASCIIヘッダー文字列で始まります。ファイルは、文字列辞書、型付き属性値ペアのエレメント辞書、およびパーティクルシステムデータツリーの3つのセクションで構成されています。各 ParticleSystemDefinition 要素は、オペレーター、レンダラー、エミッター、イニシャライザー、および制約を名前で参照します。1つの.pcf内に複数のパーティクルシステムを共存させることができます。
Sourceエンジンが実行時に.pcfをロードするには、そのパスが particles_manifest.txt に登録されている必要があります。標準的な編集ツールは、Steam経由でValve SDKツールに同梱されているSource Particle Editorです。
Binary 2 PCF 1(The Orange Box、2007年)からBinary 5 PCF 2(Alien Swarm、2010年以降のSource 1ゲーム)まで、5つのバイナリ形式バージョンが存在します。Dota 2、CS2、Half-Life: Alyxを含むSource 2ゲームでは、代わりにKeyValues3形式の.vpcfテキストファイルを使用するため、.pcfはSource 1専用の形式となっています。
セキュリティと安全性
リスク: LOWPCFファイルは純粋なデータ(パーティクルシステム定義)であり、コードを実行することはありません。これらはSource Engineによってのみ «実行» されます。Particle Editorやテキストエディタで開くことは安全です。悪意のあるPCFファイルがSource Engineのパースバグを悪用する可能性は理論上ありますが、そのようなCVEは知られていません。zipアーカイブに同梱されたマルウェアを避けるため、PCFのモッドは信頼できるコミュニティソース(Steam Workshop、gamebanana.comなど)からのみダウンロードしてください。
形式の詳細
概要- Microsoft Source Profiler コマンドファイル - db_nameに誤って記載されています。Microsoft Source Profiler(1990年代のVisual C++ツール)も.pcfを使用していましたが、そのツールはかなり前に廃止されており、現在の用途とは無関係です。
- PuTTY 設定ファイル - PuTTYセッションエクスポートツールの一部のバージョンでは、エクスポートされたセッション設定に.pcfを使用していました。
- X11 Portable Compiled Font - Unix X Window Systemのビットマップフォントファイル。BDFフォントのバイナリコンパイル形式。Linux/BSDのXサーバーで使用されます。
PCF ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | オフセット0から始まるヌル終端ASCIIヘッダー `<!-- dmx encoding binary_proto` |
| バイト順序 | リトルエンディアン |
| コンテナ | DMX (Valve Data Model Exchange) バイナリシリアライゼーション |
| オペレーターアーキテクチャ | 各 `ParticleSystemDefinition` が、エミッター、イニシャライザー、オペレーター、フォース、制約、レンダラーを型付きDMX要素として連鎖させます |
| ビルドツール | Source Particle Editor(Steam上のHammer/Source SDKの一部)は、`.pcf`ファイルのライブプレビューWYSIWYGオーサリングを提供します |
| 一般的なサイズ | 2 KB - 500 KB(単純なエフェクトから複雑なマルチシステムファイルまで) |
| ファイル構造 | 文字列辞書、エレメント辞書、パーティクルシステムデータツリーの3つのセクション |
| 既知のバイナリバージョン | 5つのバージョン:Binary 2 DMX 1からBinary 5 PCF 2まで。バージョンはASCIIヘッダー文字列にエンコードされています |
| 現在のバージョン | Binary 5 PCF 2。Alien Swarm(2010年)から最新のSource 1ゲームまで使用されています |
| マニフェストの要件 | Sourceエンジンが実行時にファイルをロードする前に、パスが `particles_manifest.txt` にリストされている必要があります |
| マルチシステムサポート | 単一のファイル内に複数の `ParticleSystemDefinition` 要素を共存させることができます |
| Source 2における同等形式 | Dota 2、CS2、Half-Life: Alyxで使用される `.vpcf`(テキストKeyValues3形式) |
| プラットフォーム | Windows, Linux, macOS (Steam/Source Engineプラットフォーム) |
| リリース日 | 2007 (The Orange Box / Team Fortress 2 era; replaced hardcoded engine particles) |
| 最新バージョン | Binary 5 PCF 2 (used since Alien Swarm, 2010); CS2/Source 2 uses VPCF (text) |
| 仕様書 | developer.valvesoftware.com |
PCF の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PCF ファイルについて最初の質問をしてみましょう。