プラグインを設定して、独自の Stingray インストール環境で正常に機能するようになったら、コミュニティの他のユーザに配布してみたいと思うことでしょう。ぜひ、そうしてみてください。数多くのユーザが既に Stingray のこの新しい方法を活用しています。そしてこのプロセスをさらに発展させるには、みなさんのような開発者の支援が不可欠なのです。
このページでは、初めて他のユーザのシステム向けにプラグインを配布する場合に知っておく必要がある情報について説明します。
.stingray_plugin ファイル、およびプラグインで利用される他のすべてのファイルをエンドユーザに配布します。
配布方法に関する要件はありません。Web または組織のイントラネットにダウンロード用の zip を転送する、GitHub でファイルを共有する、インストーラを作成する、電子メールで zip を送信する、AREA に zip を投稿する、Creative Market で課金する、などの方法で行うことができます。
注: サードパーティの開発者が Stingray プラグイン、サンプル プロジェクト、およびカスタム アセットをポストできるようにするために、オートデスクは Gamedev ポータルの開設準備を進めています。このポータルで、Project Manager、Plugin Manager、および Asset Browser のために用意されたさまざまなオンライン コンテンツを見つけることができます。このサイトはまだ完成していないため、準備が整いましたらお知らせいたします。
まず、エンドユーザは選択した配布方法に従ってプラグイン ファイルを取得し、Stingray がインストールされているマシンの特定の場所にローカルに配置する必要があります。
次に、Stingray エディタの Plugin Manager を使用してプラグインをインストールし、ロードします。この詳細については、Stingray のメイン ヘルプを参照してください。
理想的なのは、必要なその他の作業が自動的に行われることです。ところが、プラグインが Stingray に追加する機能によっては、ユーザがいくつかの追加手順を実行しなければならないことがあります。
エンジンがランタイムでロードする必要のある .dll ファイルがプラグインに含まれている場合: 既定では、ユーザがプロジェクトのスタンドアロン ビルドを配置するときに、Stingray に付属するプラグインの .dll ファイルのみが最終出力フォルダにコピーされます。ユーザは、プラグインの .dll ファイルが含まれる配置プロセスを手動で作成する必要があります。次のいずれかを実行できます。
配置の完了後に .dll を出力フォルダに手動でコピーする。または
engine/<プラットフォーム>/<環境設定>/package.manifest ファイルを変更して、プロジェクトに含めるファイルを配置ツールに指示する。このマニフェスト内のファイル リストに .dll の相対パスとファイル名、さらに他のプラグイン エントリを追加して、変更内容を保存する必要があります。
ランタイムでゲーム内に存在しなければならないコンテンツがプラグインによって追加された場合: コンテンツをロードするには、リソース パッケージへのプラグイン コンテンツの追加が必要なことがあります。このコンテンツは、boot.package ファイルまたは必要に応じてゲームにロードする別のパッケージに追加することができます。詳細については、「ランタイムでコンテンツをロードおよびロード解除する」を参照してください。
プラグインがプロジェクトのコンテンツに Lua スクリプトを追加する必要がある場合: 既定では、これらのプラグインのスクリプトはランタイムにプロジェクトの Lua 環境にロードされません。追加されたこれらのスクリプト ファイルを要求するように、プロジェクトの Lua コードを調整する必要があります。たとえば、付随する Lua スクリプト内で実装されるカスタム フロー ノードがプラグインに含まれている場合に、フロー ノードを機能させるには、独自のゲームプレイ コード内でこれらのスクリプトを要求する必要があります。
これを回避するもう 1 つの方法は、エンジンがプロジェクトを開始するときに、必要な Lua ファイルをロードするようランタイム エンジンを拡張する .dll ファイルを作成することです(エンジンの LuaApi 内の lib_loadfile() を参照)。
プロジェクトのソース フォルダ全体を配布すると、他のユーザがプロジェクトをロードして Stingray エディタで編集できるようになるため、プラグインを個別のパッケージにして配布する必要がなくなります。
プラグイン フォルダがプロジェクト内に配置されている場合は、プロジェクトがロードされたときのみエディタに表示できます。この方法は、プロジェクトで特定のバージョンのプラグインを動作させることが必要だが、ユーザにとってはそのプラグインを他のプロジェクトでも使用できるようにすることは重要ではない場合に役立ちます。
エディタはプラグインを検索して、Plugin Manager に自動的に表示しますが、上記の他のすべての追加手順は引き続き手動で行う必要があります。