SilCilSystem ver2.0
Unity2019.4で動作確認
要点
SilCilSystemは変数アセットとイベントアセットにより成り立つシステムです。
異なるスクリプト間で変数の値を共有したり、特定のタイミングで処理を呼び出すことができます。
変数/イベントアセットはScriptableObject
を継承しているため、インスペクタ上での設定が可能です。
変数/イベントアセットの使い方を学べば「SilCilSystem完全に理解した」と言えるでしょう。重要なのは以下の3つです。
また、必須ではありませんがProperty
も使えると便利です。
変数/イベントアセットを使用することで得られるメリットは以下の通りです。
- スクリプト間の結合が弱まり、再利用可能なスクリプトが生まれやすくなります。
- 設定は
ScriptableObject
を介するため、機能ごとに独立したプレハブの作成が可能です。これはシーンの編集を最小限にし、共同作業が行いやすくなります。 ScriptableObject
なので、異なるシーン間での連携が可能です。前のシーンの結果を受け取ったり、マルチシーン機能で活用したりできます。
当然ですが、デメリットもあります。
- 管理する変数やイベントの数が増えるほど、プロジェクトの複雑度が増加します。
- 再利用可能なように機能を細かく分割したスクリプトを作成すると、エディタ上での作業量が増えます。
頼りすぎるとマウス操作が多くなり、ビジュアルスクリプティングのようになっていくでしょう。 デザイナーには易しいかもしれませんが、プログラマには煩わしいものになるに違いありません。 ある程度の規模の開発に使用する場合は注意しましょう。 変数/イベントアセットの利用は異なる機能間での連携にとどめて置くのが良いと思います。
チュートリアル
SilCilSystemを用いたゲーム制作のチュートリアルです。 参考にどうぞ。
機能一覧
SilCilSystemの他の要素は主に変数/イベントアセットを利用したスクリプトの集合です。
あなたが実装しようとしている機能はここに載っているかもしれません。 コードを書く前にチェックしてみてください。
ドラッグ&ドロップ
変数アセットのバインド
- 変数アセットの値をUIやAnimatorのパラメータに反映させる
- 変数アセットの値を表示する
- ゲームオブジェクトのActiveやコンポーネントのenabledを切り替える
- Animatorの遷移時にイベントを呼ぶ