Godot向けPS1風シェーダー「godot-psxlike」公開、PS1の描画特性をシェーダーで再現

Calin P氏は8月27日、Godot以降でPlayStation(PS1)風の描画を再現するシェーダー集「godot-psxlike」をGitHubで公開しました。低解像度、色数、頂点座標、テクスチャ補間、フォグなど、PS1のGPUに由来する挙動を分けて実装したアドオンです。MITライセンスで公開されています。

PS1風の画作りを要素ごとに扱う

PS1らしい見た目を作る際、低ポリゴンのモデルや低解像度のテクスチャだけでは、現代の3D描画と異なる部分が残ります。本実装では、Viewportを低解像度で描画して拡大する処理を基礎に、RGB各チャンネルを5ビットへ量子化し、テクスチャを最近傍サンプリングします。整数倍スケーリングを組み合わせれば、ピクセルの形を保って拡大できます。ディザリングは画面全体に重ねるのではなく、モデルごとに設定できる構成です。PS1の描画条件に合わせ、グーローシェーディングまたはテクスチャ変調を使うメッシュに適用し、色の量子化より前に処理します。シェーダーの利用にあたって、アセット側で対処すべき色数を抑える方法も紹介されています。

さらに、補正を外したテクスチャマッピング、画面ピクセル単位への頂点スナップ、特徴的な深度バッファも実装対象です。これらはPS1作品で見られるテクスチャの歪みや頂点の揺れ、ポリゴン同士の前後関係に影響します。フォグは、頂点カラーをテクスチャに変調する方式と、色補間に近い方式を分けて実装しています。

PS1風をテーマにしたインディーゲームは2016年発売の『Back in 1995』以降、10年をかけて発展を遂げ、今日のインディーゲームにおいてポピュラーなものとなりました。(※『Back in 1995』は、本メディアの運営元代表である一條貴彰が開発したタイトルです)。本シェーダーは、これまでのPS1風インディーゲームに搭載された表現よりもはるかに高いレベルで研究され、実際のPS1のGPUの処理によってもたらされるグラフィクス効果を多角的に再現しています。ゲームの雰囲気や目指したいビジュアルに合わせて、各要素を個別に試し、必要な効果を選ぶと調整しやすくなります。

PS1風の3D表現をGodotで検討している場合は、テストしてみるとよいでしょう。

紹介記事「PSX type rendering in Godot 4」はこちら

GitHubリポジトリ「godot-psxlike」はこちら

igjd

IndieGamesJp.dev Moderator

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です