「百聞は一見にしかず」という言葉がありますが、作業コードのサンプルにはそれをはるかに上回る価値があります。Stingray プラグインに関して言えば、学習に利用できる多数のサンプルが用意されています。
GitHub の stingray-plugin リポジトリは、独自のプラグインの開発を始めるのに適しています。いくつかの基本的なデモ コンテンツが完全に設定されたフレームワークと、エンジンを拡張するライブラリを構築するために必要なすべてのツール、C または C + + のエディタが見つかります。
このリポジトリを使用する方法の詳細については、メインの README.md ファイルを参照してください。
また、リポジトリ Wiki のデモ チュートリアルに従うことでも多くのことを学習できます。デモ チュートリアルでは、プラグイン リポジトリを使用して Stingray 環境のすべてのパーツ(プロジェクトのコンテンツ、エディタ、およびランタイム エンジン)を拡張する完全な機能が備わったプラグインを構築するプロセスを手順を追って学習します。
Stingray エディタのほとんどの編集ツールおよびパネルは、プラグインとして実装されています。これらのサンプルには、新しいインタフェースとワークフローを使用してエディタを拡張したり、新しいコンテンツを使用してプロジェクトを拡張したりするさまざまな方法が、具体的な作業例として示されています。
Stingray インストール フォルダの editor/plugins フォルダを参照してください。
Asset Browser、Property Editor、Level Viewport など、すべての標準パネルの UI および動作を定義するプラグインが配置されています。これらの組み込みプラグインを独自のプラグインの例として使用することができます。組み込みプラグインの動作を変更する必要がある場合は、直接変更することもできます。
ただし、Stingray に付属しているエンジン プラグインに関して言えば、ソース コードは用意されていません。engine/<プラットフォーム>/<環境設定>/plugins フォルダ内にコンパイル済みのバイナリのみが配置されています。しかし、参考になる情報をお知らせしますので、引き続き以下をお読みください。
Stingray エディタの Plugin Manager パネルには、既定で Stingray と一緒にインストールされない追加のプラグインが表示されていますが、これらは 1 回のクリック操作でダウンロードしてインストールすることができます。Get more plugins パネルでご確認ください。
Plugin Manager の使い方については、このページも参照してください。
GitHub リポジトリにさらに大規模な一連のプラグインが構築されています。次の URL でこのリポジトリのクローンを作成し、zip 形式でダウンロードすることができます。
https://github.com/AutodeskGames/stingray-plugin-api-samples
このリポジトリの一番のメリットは、Stingray エンジンおよびエディタを C で拡張するサンプル プラグインを入手できることであり、これには完全なソース コードと、プラグイン コードをバイナリ .dll ファイルにコンパイルするために使用できるプロジェクトが含まれています。これらのサンプルを調べて多くのことを学習できるだけでなく、これらをコピーして貼り付けることにより、独自のプラグインを簡単に作成することができます。
エンジン プラグイン、またはエディタのネイティブ C 拡張機能を記述する場合は、このリポジトリが必須です。
このリポジトリには以下も含まれます。
Stingray インストール フォルダに含まれている SDK ヘッダー ファイルのコピー。これを使用すると、C で記述されたサンプルの作成がさらに簡単に、かつ便利になります。
エディタを拡張する他のいくつかのプラグイン。これらは、実際の制作で一般に役立ないと考えられているプラグインです。これらはテストや機能の検証を目的としていたり、特定の種類の拡張機能の仕組みを示す場合にのみ利用できることがあります。しかし、これらが興味深いアイデアをもたらすことがあります。
サンプルのネイティブ コードを .dll ファイルに組み込む手順については、リポジトリ内の readme ファイルを参照してください。