ブループリント と同様に、関数を「public」に設定することで、ユーザーが作成した関数をアセット グラフ間で共有することができます。子クラスしか関数を共有できないブループリントとは異なり、コントロールリグの関数はプロジェクト全体で共有できます。カスタム関数ライブラリを作成して、プロジェクト内のすべてのコントロールリグ グラフで共有できます。
このドキュメントでは、コントロールリグで関数ライブラリを作成するためのベスト プラクティスとなるガイドと、エンジンが提供するデフォルトの関数ライブラリにアクセスする方法について説明します。
新しい関数ライブラリ
以下の手順で、新しいコントロールリグの関数ライブラリの作成方法と使用方法について説明します。
コントロールリグ コンテナを作成する
カスタム関数は、コントロールリグ アセット内にのみ存在できるため、最初にコントロールリグ アセットを作成します。このコントロールリグは、主に関数を格納するために使用するため、特定のスケルタル メッシュにリンクすることはできません。
コンテンツ ブラウザ で、[+ Add (+追加)] をクリックし、[Animation (アニメーション)] > [Control Rig (コントロールリグ)] を選択します。[Create Control Rig Blueprint (コントロールリグ ブループリントを作成)] ダイアログ ウィンドウで、[ControlRig] を選択し、[Create (作成)] をクリックします。作成されたら、コントロールリグを開きます。

このアセットの目的上、関数ライブラリはコントロールリグ アセットであるため、特定のスケルトンに対する依存関係はありません。関数のコンテナとして、これを使用すると、アセットをできる限り軽量化できます。
パブリック関数を作成する
コントロールリグ エディタ で、[My Blueprint (マイ ブループリント)] の [Functions (関数)] セクションで [+ Add] をクリックして新しい関数を作成します。

次に、関数を選択し、[Details (詳細)] パネルで、[Access Specifier] を [Public] に設定します。この設定により、この関数はすべてのコントロールリグで公開され、アクセス可能になりました。

関数のデータを設定する
関数内では、ツールチップの説明やコンテキスト メニューのカテゴリなど、関数のメタデータを含め、格納する任意のロジックを作成することができます。
この例では、For Each ノードと Set Control Visibility ノードを作成し、関数の Entry ノードと Return ノードに接続しています。

Entry ノードに変数入力を作成するには、Entry を選択し、[Details] パネルの [Inputs (入力)] カテゴリで [+ Add] をクリックします。この例では、以下の変数が作成されています。
- Rig Element Key (Array 型)。
- Boolean (Single 型)。

次に、変数入力を対応するノードに接続します。

必要に応じて、[Details] パネルの Node Settings プロパティを編集して、カテゴリ、ツールチップ、またはその他の有益なプロパティを関数に追加することもできます。

名称 | 説明 |
---|---|
Category | このプロパティを設定すると、指定されたコンテキスト メニューのカテゴリにノードが配置されます。このカテゴリは、コントロールリグ グラフにノードを追加すると表示されます。 ![]() |
Keywords | コンテキスト メニューでこの関数を検索するときに使用できる検索語を追加します。 ![]() |
Description | この関数のツールチップの説明を追加します。ツールチップは、コンテキスト メニューの項目、またはグラフに追加された後のノードにカーソルを重ねると表示できます。 ![]() |
Color | 関数ノードのヘッダの色を設定します。ノードの外観は、[Node Defaults (ノードのデフォルト)] カテゴリを展開することでプレビューできます。 ![]() |
関数を参照する
共有した関数を他のコントロールリグに追加するには、リグ グラフ で右クリックし、コンテキスト メニューから関数を追加します。共有した関数は、参照できるようにノード ヘッダにそのフォルダ パスも表示します。

共有した関数ノードをダブルクリックすると、その関数を格納しているコントロールリグ アセットと関数ロジックが表示されます。
関数をローカライズする
関数のロジックを共有バージョンから分岐させる場合は、関数をローカライズします。これにより、現在のリグ グラフ内に関数ロジックのローカル コピーを作成することができます。
このためには、関数ノードを右クリックし、Localize Function を選択します。ダイアログ ウィンドウで、その関数が有効になっていることを確認し、[OK] をクリックします。

これで関数がローカル関数に変換され、ロジックをローカルに分岐させることができます。

標準関数ライブラリ
Unreal Engine には、デフォルトでコントロールリグの 標準関数ライブラリ が含まれています。このライブラリを参照することで、独自の関数ライブラリの構築方法を把握することができます。また、このライブラリには独自のリギング ワークフローを支援するために使用できるさまざまな関数が含まれています。
標準関数ライブラリは、「Control Rig Plugin」フォルダにあります。このフォルダにアクセスするには、コンテンツ ブラウザ を開き、[Settings (設定)] をクリックして、[Show Engine Content (エンジンのコンテンツを表示)] と [Show Plugin Content (プラグインのコンテンツを表示)] をオンにして、プラグイン フォルダを有効にします。

次に、「Engine > Plugins > Control Rig Content > StandardFunctionLibrary」にある StandardFunctionLibrary に移動して、開きます。

開いたら、[My Blueprint] パネルで各種関数を確認できます。

標準関数ライブラリは エンジン コンテンツ で提供されるため、Unreal Engine を再インストールまたは更新した場合、このアセット内で行った変更はすべてオーバーライドされます。エンジン コンテンツのものを修正するのではなく、独自の関数ライブラリを作成することをお勧めします。