Processing 4から導入された配布用のファイル形式「.pdez」のメリットと注意点



Processingでプログラムを書く際、コード(.pde)だけでなく画像や音声、フォントなどの素材を読み込んで制作することも多くあります。
自分のパソコン上で動かす分には問題ありませんが、作品を他の人に共有する際、ファイルや素材の渡し方でうまく動かないことがあります。

プログラムのコードだけを共有しても、使っている画像や音声ファイルが相手に届いていなければ、エラーで停止してしまいます。かといって、素材を含むフォルダを手動でZIP圧縮して渡す運用にすると、解凍時のフォルダ名のズレや展開時のミスが起きやすくなります。

このような共有時のミスを防ぎ、受け取り側がスムーズに作品を動かせるようにProcessing 4から導入されたのが、配布用のファイル形式「.pdez」です。

ここでは、.pdezが導入された理由や内部の仕組み、実際の開発で運用する際の注意点についてお話します。

私自身、大学やその他の教育関連のプログラミングの講義で、課題を確認する際にコード(.pde)だけが送られてきて画像が表示されないケースや、ZIPの解凍・フォルダ名のズレでプログラムが動かないケースに何度も直面してきました。
受講生側に解凍やフォルダ構造の知識を求めるよりも、提出用のフォーマットを揃えてもらう方が余計な対応を減らせます。そうした指導現場での実感からも、このアーカイブ機能や.pdez形式の仕組みを知っておいて損はないでしょう。

バージョンによる出力ファイル名の補足
Processing 4.0〜4.2では「スケッチをアーカイブ」を実行すると .pdez ファイルが出力されますが、Processing 4.3以降では扱いやすさを重視して .zip 出力に戻されています。拡張子が異なっても中身の構造や自動展開の仕組み、運用の注意点はまったく同じです。

なぜProcessing 4で.pdezが導入されたのか


Processingには以前から、スケッチに必要なファイルをひとまとめにして出力する機能がありました。

Processing 3までの環境で「スケッチをアーカイブ」を実行すると、スケッチフォルダ全体が.zip形式で圧縮されて出力される仕様でした。
ただ、標準の.zipファイルのまま共有すると、受け取った側の環境で次のような問題が発生します。

  1. 解凍時のフォルダ名ズレによるエラー
    Processingには「.pdeファイル名と親フォルダ名は完全に一致しなければならない」というルールがあります。ところがZIPファイルを解凍した際、OSや解凍ソフトの挙動によって sketch_240730_a (1) のように末尾へ番号が勝手に付与されてしまうことがあります。この命名ルールのズレが原因で、ファイルを展開してもエディタが開かなかったり警告が出たりします。

  2. ZIPを解凍せずに直接開くことによるパス切れ
    WindowsのエクスプローラーなどでZIPを解凍せず、プレビュー画面からそのまま.pdeファイルをダブルクリックして開いてしまう場合です。解凍せずに開くと、ProcessingはOSの一時キャッシュ領域にコードだけを読み込んで起動します。同じ場所にあるはずのdataフォルダ(画像・音声・フォント等)へのパスが切れてしまうため、loadImage()loadSound()が「ファイルが見つかりません」というエラーを起こして止まってしまいます。

  3. ダブルクリックでProcessingを起動できない
    普通の.zipファイルは、ダブルクリックするとOSの解凍ソフトが立ち上がります。ファイルを解凍する手間をはさまず、ダブルクリックでそのままProcessingを立ち上げるような動線を作ることは構造上できませんでした。


このように従来のZIP圧縮では、解凍手順やフォルダ名の確認など受け手側の操作に頼る部分が多く、「ファイルは届いたのにうまく動かない」という不具合が頻繁に起きていました。
こうした問題を解決するために用意されたのが.pdez形式です。

.pdez導入による変更点


Processing 4で採用された「.pde + zip = .pdez」という拡張子は、中身自体は従来のZIPファイルと同じです。
.pdezという専用の拡張子にすることで、OS側に「これは一般的な圧縮ファイルではなく、Processing専用のスケッチパッケージである」と認識させています。

従来のZIPアーカイブと比べると、次のような違いがあります。

※横にスクロールして確認できます

※Processing公式ドキュメントおよび実際の動作検証に基づき作成

アーカイブ形式の機能比較
比較項目 Processing 3のアーカイブ (.zip) Processing 4のアーカイブ (.pdez)
出力される拡張子 .zip .pdez
ダブルクリック時の挙動 OSの解凍ソフト(エクスプローラー等)が起動 Processing 4が直接起動し自動展開
解凍時のフォルダ名ズレ 解凍ソフトの挙動で名前が変わりエラーになりやすい 自動で正規化して配置されるためエラーが起きない
ユーザーの手間 手動で解凍・展開してフォルダを開く必要がある ダブルクリックするだけで直接エディタが開く
含まれる構成要素 .pdeコード+dataフォルダ内の全素材 .pdeコード+dataフォルダ内の全素材


このように、ファイルの拡張子が変わったこと以上に、開く際の手間が大幅に減っています。

以前のZIP形式では、ファイルを受け取った人が解凍ソフトで展開し、フォルダ名や中身が崩れていないか確認してからProcessingを立ち上げる必要がありました。
.pdezであれば、ダブルクリックするだけで直接Processing 4でスケッチファイルが開きます。受け取った側は圧縮ファイルであることを意識する必要がなくなり、手動で解凍する手間もかかりません。

ダブルクリックされてからエディタが開くまでの流れ


.pdezファイルをダブルクリックしてからエディタが開くまでの間、Processing 4は手動で行っていた解凍やファイルの整理を自動で進めています。

ダブルクリックされてからエディタが開くまで、内部では以下のような順序で処理が進んでいます。

  1. アプリの起動
    OSが.pdez拡張子を認識し、Processing 4を起動します。解凍ソフトではなくProcessing本体が直接呼び出されるのがポイントです。

  2. 一時フォルダへの解凍
    起動したProcessing 4が、.pdezファイルをパソコンの一時領域に解凍し、コードや素材データを取り出します。

  3. フォルダの作成と配置
    解凍された.pdeファイルの名前を確認し、それと完全一致する親フォルダを自動で作成してファイルを配置します。これにより、Processing特有の命名ルールエラーを防いでいます。

  4. パスを維持したままエディタを起動
    dataフォルダ内の画像や音声素材とコードの位置関係を保ったまま配置を完了し、エディタ画面を開きます。


このように、解凍してフォルダ名を確認する作業をProcessing側がすべて自動で行うため、受け取った側はダブルクリックするだけで素材が正しく読み込まれた状態でスケッチを開くことができます。

.pdezファイルの作成手順


.pdezファイルの作成は、Processing 4のエディタ上から手軽に行えます。
外部の解凍・圧縮ソフトなどを別に用意する必要はありません。

事前にスケッチフォルダ(.pdeファイルやdataフォルダ)の構造を確認した上で、以下の手順で進めます。


ディレクトリの例
まずは、共有したいスケッチ内にコード(.pde)や素材データ(dataフォルダ)が正しく配置されているか確認します。

Processingのスケッチフォルダ「sketch_sample」のFinder画面。dataフォルダとコードファイル(pde)があるディレクトリ構造
アーカイブ前のスケッチフォルダ構造例

スケッチをアーカイブと保存

Processing 4を起動し、共有したいスケッチを開きます。

上部メニューバーから「ツール」 ➔ 「スケッチをアーカイブ」を選択します(英語UIの場合は Tools ➔ Archive Sketch)。
保存場所を指定するファイルエクスプローラーが表示されるので、出力したいフォルダを選択して保存を実行します。ファイル名には自動的に -001 などの連番が付加されますが、管理しやすい名前に変更して問題ありません。

Processing 4のエディタ画面。上部メニューの「ツール」から「スケッチをアーカイブ」を選択し、表示されたダイアログでファイル名「sketch_sample-001」と保存先「dev」を指定して保存する。
「スケッチをアーカイブ」メニューと保存ダイアログ

ファイルの生成を確認

処理が実行されると、Processing 4が現在のスケッチフォルダ全体(.pdeファイル、dataフォルダ、その他サブフォルダ)を自動解析し、同一階層に指定した名前でファイルを出力します。

指定した「dev」フォルダ内に、配布用ファイル「sketch_sample-001.pdez」が生成されているのを確認。
生成された.pdezファイルの確認

特別な圧縮設定やオプションの指定を行う必要もなく、手動での圧縮作業なしで確実にパッケージ化が完了します。

※ 出力されるファイル名について
お使いのProcessing 4のバージョンが4.3以降の場合は、拡張子が.zipとして出力されます。.pdez形式にしたい場合は、出力された.zipファイルの拡張子を手動で.pdezに書き換えることで利用可能です。
例:「sketch_sample-001.zip」 ➔ 「sketch_sample-001.pdez


💡【補足】今後の.pdezと.zipの扱いについて

Processing 4.3以降で.zip出力に戻された経緯があるため、現在は無理に.pdezに書き換えず.zipのまま共有するのが標準(推奨)となっています。
基本は.zipのままで問題ありませんが、ダブルクリック一発でProcessingを直接起動させたい場合のみ、手動で.pdezに書き換えて渡します。

.pdezのメリットと実務での注意点


.pdezを使うことでファイルの共有はかなり楽になりますが、使う上で知っておきたい注意点もあります。
メリットとあわせて知っておくと、よりスムーズに活用できます。

メリット:共有の手間とエラーを大幅に減らせる

一番の利点は、送る側と受け取る側の双方が余計な作業をしなくて済む点です。

  • 手動圧縮の手間が省ける
    手動でフォルダをZIP圧縮する作業が必要ありません。

  • 解凍作業が不要になる
    受け取り側も解凍ソフトを使ったり、フォルダ名を確認したりせずに済みます。

  • 素材の抜け漏れを防げる
    必要な素材が入った状態で出力されるため、「画像が入っていない」「フォルダ名がズレて開かない」といったやり取りを減らせます。

ファイル共有には非常に便利ですが、何でも.pdezにすれば良いというわけではありません。
実際に使う際は、次の2点に注意が必要です。

注意点1:外部ライブラリはアーカイブに含まれない

外部ライブラリを使っている場合は特に注意が必要です。
.pdezにまとめて送ったとしてもライブラリ自体は同梱されないため、共有時にエラーとなる原因になりやすいポイントです。

同梱されるのはスケッチフォルダ内のみ:
.pdezに自動で含まれるのは、そのスケッチのフォルダ内(dataフォルダなど)にある素材だけです。

PCにインストールしたライブラリは入らない:
ControlP5やMinimなどの外部ライブラリは、OSのユーザー領域に保存されているため.pdez内には含まれません。


外部ライブラリを使ったスケッチを.pdezにして送っても、受け取った側に同じライブラリが入っていなければエラー(ClassNotFoundExceptionなど)で動かなくなります。ライブラリを使っている場合は、「〇〇ライブラリの事前インストールが必要です」と一言添えて共有するようにしましょう。

注意点2:普段の開発やバージョン管理には向かない

日常的なコード作成やプロジェクト管理のファイルとして、.pdez をそのまま使い続けるのにも注意が必要です。.pdez はあくまで共有やアーカイブのための形式なので、日々の作業用ファイルとして扱うにはいくつか不便な点があります。

外部エディタで直接書き換えられない:
.pdezは圧縮されたバイナリファイルのため、VS Codeなどの外部エディタで直接開いて修正することができません。

Gitなどの差分管理が効かない:
コードを1文字直しただけでもファイル全体が変更された扱いになり、GitHubなどでテキストの差分(Diff)を追うことができなくなります。


そのため、普段の開発やGit管理は通常通りのフォルダ構造(.pde)で行い、人に渡すタイミングで.pdezに書き出すという使い分けが基本になります。

開かない・動かない場合の対処法


作成した.pdezファイルを共有した際、相手の環境で「ファイルが開かない」「エラーで起動しない」といった状態になっている場合、考えられる原因と対処法は大きく分けて2つあります。

環境の違いやOSの設定によるものがほとんどのため、それぞれの状況に応じた手順で解決できます。

相手のPC環境がProcessing 3(旧バージョン)の場合

.pdez拡張子はProcessing 4で新たに導入された仕様であるため、Processing 3しか入っていない環境でダブルクリックしてもOSが適切な処理を行えず、開くことができません。

対処方法(手動での拡張子変更)

.pdezの実体は通常のZIP圧縮ファイルです。ファイルの拡張子を.pdezから.zipに手動で書き換えてから解凍を行ってください。解凍されたフォルダ内には通常の.pdeとdataフォルダが入っているため、その中の.pdeを指定して開けばProcessing 3でもそのまま作品を実行できます(これはProcessing 3時代のアーカイブ出力と同じ状態に手動で戻す操作です)。

Windows等のOS側でファイルの関連付けが崩れている場合

受け取り側のPCにProcessing 4が正しくインストールされているにもかかわらず、OSのシステム不具合やセキュリティ設定の影響でダブルクリックしても関連付けが機能しない場合があります。

対処方法(ドラッグ&ドロップによる読み込み)

あらかじめProcessing 4のアプリ自体を単体で起動しておきます。その後、立ち上がっている空のエディタウィンドウに向かって.pdezファイルを直接ドラッグ&ドロップしてください。OSのファイル関連付けを経由せずにProcessing 4側で直接パッケージの展開処理が行われ、スケッチファイルが開きます。

相手が旧バージョンを使っていたりOSの関連付けが正しく働いていなかったりする場合でも、.pdezの実体がZIPファイルであることやエディタへの直接投入が効くことを知っていれば、慌てずに対応することが可能です。

まとめ


Processing 4で導入された.pdezは、作品の共有時に起きやすかった素材の添付漏れやZIP解凍時のフォルダ名ずれを予防するための機能です。

日常的なコードの編集作業は通常のフォルダ(.pde)で行い、人に渡すタイミングで「ツール ➔ スケッチをアーカイブ」を使って出力する、という使い分けがスムーズです。
(※ 最新のProcessing 4.3以降では標準で.zip出力になりますが、拡張子を.pdezに手動で書き換えることで同様に活用できます。)

また、外部ライブラリはアーカイブに同梱されないため、必要に応じて相手へ事前インストールの案内を添えるようにしてください。