プロジェクト コンテンツを拡張する

プラグインを使用して .stingray_plugin 記述ファイルに 1 つまたは複数の resources 拡張機能を含めることにより、プロジェクトで新しいアセットやコンテンツが使用できるようになります。Stingray エディタにプラグインがロードされると、ユーザはプロジェクト ソース フォルダまたは core リソース フォルダ内にある他のアセットと同様にこれらのリソースを操作できるようになります。

たとえば、ユニット、マテリアル、パーティクル エフェクトなど、ユーザが自分のレベルに直接ドロップするための作成済みアセットをプラグインに含めることができます。または、カスタム フロー ノードを設定する .script_flow_nodes ファイルおよび Lua モジュールをプラグインに付随させることができます。こうすると、プラグインがインストールされているユーザは自分のフロー グラフにカスタム ノードを追加できるようになります。

リソース拡張機能を介して共有される各フォルダは、コア リソース フォルダと同様に「マップ済みフォルダ」としてエディタ内で処理されます。つまり、次のようになります。

コア リソースを使用する」も参照してください。

環境設定

すべてのリソース拡張機能は、次に示す 1 つの環境設定パラメータのみを受け入れます。

extensions = {
    resources = [
        {
            path = "my-plugin-assets"
        }
    ]
}

path

エディタで利用可能にする必要があるリソースが格納されたフォルダのパス。このパスは、.stingray_plugin ファイルの場所に対する相対パスです。

ここで指定したフォルダのパスは、プロジェクト内にある場合と同様に、エディタによってマウントされます。このコンテンツによって、プロジェクト内にある同じ名前の既存のフォルダ、および以前にロードされたプラグインによって既にマウントされている同じ名前のフォルダは「上書き」されます。(他のフォルダはディスクから削除されませんが、これらのコンテンツはプロジェクト内で表示されなくなります。)プラグインのパスが一意であることを確認してください。.stingray_plugin 記述ファイルで設定したプラグインの一意の名前をプリフィックスとして使用することをお勧めします。

リソース拡張機能およびリソース パッケージ

Stingray には、ゲームの実行中にリソースのバンドルをメモリに出し入れするためのシステムが用意されています。これは通常、プロジェクトが大きくなりすぎて、すべてのリソースをメモリに同時に格納できない場合に使用します。背景情報については、「ランタイムでコンテンツをロードおよびロード解除する」を参照してください。

このようなカスタム リソース パッケージを使用するプロジェクトで、プラグインのリソース拡張機能で共有されるすべてのリソースも使用する場合、このプロジェクトの作成者は、プラグインのリソース フォルダ内にある必要なすべてのリソースもリソース パッケージに含まれていることを確認する必要があります。「プラグインの配布とインストール」を参照してください。