アクタ リファレンスの設定と取得

アクタ リファレンスを使って、様々なアクタをレベル内で移動させる

コンテンツ

Unreal Engine 5 では、コンテンツ ブラウザ から直接アセットを作成、削除、管理することができます。このページでは、一般的なアセットのワークフロー、アセット参照の概要、エディタでのアセットの移動や削除の処理方法について説明します。さらに、いくつかのタイプのアセットを Unreal Engine から、他のアプリケーションでインポートできる形式にエクスポートする方法についても説明します。

アセットを作成する

新しいアセットを作成するには、コンテンツ ブラウザ の空白の領域で右クリックします。次に、表示されるコンテキスト メニューから、作成したいアセットを選択します。この操作により、指定したタイプの空白のアセットが作成されます。ブループリントなどの一部のアセットでは、ブループリントの親クラスなど、追加のオプションを選択できます。

外部アプリケーションで作成したものを Unreal Engine に取り込む アセットのインポート とは異なり、この方法では空白のアセットを作成して、コンテンツを配置することができます。

アセットの参照

あるアセットが何らかの方法で他のアセットを使用する場合、そのアセット同士が 参照する (または他方への参照を含む) と表現します。たとえば、キューブ アクタがカラー マテリアルを使用する場合、そのアクタはそのマテリアルを参照します。これが、アセットの移動や名称変更のたびに参照が確実に更新されるようにしたり、アセットを削除する前に確実にその参照を削除する必要のある理由です。

アセット参照を表示する

アセット参照を表示するには、コンテンツ ブラウザ でアセットを右クリックします。次に、表示されるコンテキスト メニューから、[Reference Viewer (参照ビューア)] を選択します。新しいウィンドウが開き、アセットの参照が視覚的に表示されます。

参照ビューアの詳細については、「Reference Viewer」のページを参照してください。

アセット参照をコピーする

1 つまたは複数のアセットの参照をクリップボードにコピーするには、コンテンツ ブラウザ で 1 つまたは複数のアセットを選択します。次に、選択したアセットを右クリックして表示されるコンテキスト メニューから、[Copy Reference (参照のコピー)] を選択します。

参照には、アセット タイプと「.uasset」ファイルへのパスが含まれており、次の例のようになります。

    Material'/Game/StarterContent/Materials/M_Metal_Brushed_Nickel.M_Metal_Brushed_Nickel'
    Material'/Game/StarterContent/Materials/M_Metal_Burnished_Steel.M_Metal_Burnished_Steel'
    Material'/Game/StarterContent/Materials/M_Metal_Chrome.M_Metal_Chrome'

これは、アセットの参照をテキスト フィールドに貼り付ける必要がある場合や、アセットの外部リストを生成する必要がある場合に役立ちます。

参照置換ツール

参照置換ツール は、複数のアセットを 1 つのアセットに統合する手段を提供します。

このツールの詳細については、「参照置換ツール」のページを参照してください。

アセットを管理する

アセットに共通するアクションを実行するには、アセットを右クリックして表示されるコンテキスト メニューから必要なアクションを選択します。アクションは次のとおりです。

アクション

説明

Edit (編集)

選選択したアセットをエディタで開きます。たとえば、ブループリントに対してこのアクションを実行すると、ブループリント エディタが開きます。

Rename (名前変更)

アセットの名前を編集可能にします。アセット名を変更するには、新しい名前を入力して、Enter キーを押します。アセット名を変更すると、Unreal Engine はそのアセットへの参照をすべて新しい名前に更新します。

Duplicate (複製)

現在の場所に選択したアセットのコピーを作成します。コピーの場所を変更するには、そのコピーを別のフォルダにドラッグします。

Save

選択したアセットを保存します。

Show in Folder View

フォルダ ツリーでアセットの親フォルダをハイライトします。コレクションの一部であるアセットの実際の場所を検索するうえで役立ちます。

Show in Explorer (エクスプローラーで表示する) (Windows) / Show in Finde (Finder で表示する) (Mac)

ディスク上のアセットの場所で、Windows エクスプローラーまたは Finder のインスタンスを開きます。これは、「.uasset」ファイルの場所です。

ディスク上のアセットを直接移動、コピー、または削除しないでください。これは、プロジェクトが機能しなくなり、データの破損やデータ喪失につながる可能性があるためです。「.uasset」ファイルは常に Unreal Editor で管理してください。

特定のプロジェクトから別のプロジェクトにアセットを移動する必要がある場合は、その移動方法については、「アセットを移行する」ページを参照してください。

アセットを移動して、コピーする

プロジェクトのアセットやフォルダは、コンテンツ ブラウザ から移動またはコピーすることができます。

アセットの移動またはコピーする手順は、次のとおりです。

  1. 移動したいアセットをクリックして、コンテンツ ブラウザまたはフォルダ ツリー内の別のフォルダにドラッグします。アセットをドラッグすると、移動しようとしているアセットを示すポップアップ ウィンドウがマウス カーソルに合わせて表示されます。

    Moving an Asset with drag-and-drop

  2. マウスのボタンから指を放すと、メニューが表示されます。

    Move Asset menu

    このメニューでは、フォルダ名を確認し、次の 3 つのオプションが表示されます。

オプション

説明

Move Here (ここに移動)

移動先の場所にアセットを移動します。

Copy Here (ここにコピー)

新しい場所にアセットのコピーを作成し、コピー元のアセットは現在の場所に保持します。

Advanced Copy Here (ここにアドバンスド コピー)

新しい場所にアセットのコピーを作成し、そのアセットのすべての参照と依存関係の自動的な解決を試行します。このオプションには、追加の保存ダイアログが含まれており、このダイアログで、コピーしたアセットを保存する必要があるかどうかを確認します。

アセットを削除する

アセットを削除するには、次のいずれかを実行します。

  • コンテンツ ブラウザ でアセットを右クリックします。次に、表示されるコンテキスト メニューから、[Delete (削除)] を選択します。

  • コンテンツ ブラウザワールド アウトライナ、または レベル ビューポート でアセットを選択し、キーボードの Delete キーを押します。

この操作により、確認ウィンドウが表示されます。アセットがどこにも 参照 されていない場合 (つまり、Unreal プロジェクトのどこにも使用されていない場合) は、[Delete (削除)] ボタンをクリックして確定します。

Deletion confirmation window

アセットが任意の場所で参照されている場合は、確認ウィンドウでそのことについて通知され、どのようなアクションを実行する必要があるかを確認されます。次の 2 つのタイプの参照が発生する可能性があります。

  • アセットが 他のアセットで 参照されている場合、プロジェクトの別のアセットがこのアセットを使用していることを意味します。たとえば、特定のマテリアルの削除を試みており、スタティック メッシュがそのマテリアルを使用している場合、この警告が表示されます。

  • アセットが メモリ内で 参照されている場合、アセットが別のエディタ ウィンドウで開かれているか、最近使用され、メモリ内にキャッシュされている可能性があります。

    アセット参照が表示されていないものの、メモリ参照が 1 つ以上表示される場合は、他のエディタ ウィンドウをすべて閉じてから、もう一度試してください。それでも解決しない場合は、作業を保存して Unreal Engine を再起動します。

この状況では、次の 2 つのオプションがあります。

Deleting an Asset that still has references

  • [Replace References (参照を置換)] を選択した場合、プロジェクトで参照されている場所であれば、このアセットを置き換える別のアセットを選択することができます。たとえば、スタティック メッシュがマテリアルを使用しており、そのマテリアルを削除したい場合、削除後にスタティック メッシュが使用する別のマテリアルを選択することができます。

  • [Force delete (強制削除)] を選択すると、さらに修正を加えること なく アセットが削除されます。

    これは、データの破損やデータ損失を引き起こす恐れがあります。少なくとも、削除されたアセットを参照しているアセットが適切に動作しなくなり、プロジェクト全体が適切に機能しなくなる可能性があります。

アセットをエクスポートする

プロジェクト内のアセットは「.uasset」ファイルとしてディスクに格納されます。これは Unreal Engine 固有のファイル形式です。アセットを エクスポート すると、他のアプリケーションで読み取り可能な形式でディスクに保存されます。

プロジェクトからアセットをエクスポートするには、コンテンツ ブラウザ でアセットを右クリックします。次に、表示されるコンテキスト メニューから、[Asset Actions (アセット アクション)] > [Export (エクスポート)] を選択します。この操作で、エクスポートされたアセットに名前を付けて、保存場所を選択するウィンドウが開きます。

エクスポート可能なファイル タイプは、選択したアセットの種類に応じて変わります。たとえば、スタティック メッシュ アセットでは、FBX、OBJ、COPY、または T3D ファイルとしてスタティック メッシュ アセットをエクスポートするオプションが表示されます。

なお、すべてのアセットをエクスポートできるわけではありません。

以下のステップは、アクタへの参照の 設定 および 取得 方法のサンプルです。

このサンプルでは Starter Content を有効にした新しい Blueprint Third Person Template を使用しています。

  1. [Place Actors] パネルの [Basic (基本)] タブにある Box Trigger をレベル内にドラッグします。

    ![](1AddTriggerBox.png)(w:600)

    これを使って、レベル内の別のアクタの移動をトリガーします。

  2. Box Trigger[Details (詳細)] パネル内の [Convert to Class Blueprint (Class ブループリントに変換)] を選択します。

    ![](2ReplaceWithBlueprint.png)

    このアクタから ブループリント を作成し、その中にリファレンス アクタを格納する変数を代入します。

  3. ブループリントに名前を付けて [Create Blueprint (ブループリントを作成)] を選択します (ブループリント エディタ が開きます)。

  4. ブループリント エディタの [MyBlueprint] ウィンドウで、[Add Variable (変数を追加)] ボタンをクリックします。

    ![](3AddVariable.png)

  5. 変数の [Details (詳細)] パネルで [Variable Type (変数の種類)] をクリックし [Object Reference (オブジェクト リファレンス)] から [Actor] を選択します。

    ![](4VariableType.png)

    ここで、リファレンスはレベル内の アクタ タイプと オブジェクト になるように指定します。

  6. 変数に「TargetActor」と名前を付けて、[Instance Editable (編集可能なインスタンス)] にチェックを入れます。

    ![](5NameVariable.png)

    これは、メイン エディタ ウィンドウの [Details (詳細)] ペインを使って、このブループリントの外部でのアクセスと設定を可能にする変数が Public に対して設定されたことを表します。ブループリントに戻らずに変数を修正したい場合に便利です。

  7. 変数の実行内容や用途が分かるように ツールチップ にテキストを入力することもできます。 この例では「The Actor to Target」です。

  8. ブループリント エディタ ウィンドウの左上にある [Compile] ボタンをクリックします。

    ![](20Compile.png)

    コンパイルが終わると、緑のチェックマークに変わります。

    ![](21Complete.png)

  9. ブループリントを最小化してメイン ウィンドウに戻ったら、レベル内の Box Trigger ブループリントを選びます。

  10. ウィンドウの [Details (詳細)] パネルの デフォルト の中に ターゲット アクタ とツールチップがあるはずです。

    ![](8DetailsPanel.png)

  11. コンテンツ ブラウザ から Content/StarterContent/Shapes の下のレベルに Shape_Cubes を 3 つ追加します。

    ![](9AddingAnActor.png)

    独自のプロジェクトを使っている場合は、好きなアクタ、スタティックメッシュ、あるいはブループリントをレベルに追加することができます。

  12. レベルに追加するものに関係なく、それぞれのアクタの [Details (詳細)] パネルで可動性を [Moveable (ムーバブル)] に設定できます。

    ![](22Moveable.png)

    これにより、アクタをブループリント スクリプトで動かすことができるようになります。

  13. レベル内の [Box Trigger] をクリックします。

  14. [Details (詳細)] パネルの [Target Actor (ターゲット アクタ)] の下にある [None] ボックスをクリックし、「Shape 」(または追加したアクタの名前) を検索します。

    ![](10DropDownSelection.png)

    [None] をクリックするとレベル内にあるすべてのアクタが表示されますが、ここでは追加したキューブの 1 つをターゲットにしていきます。

  15. 虫眼鏡アイコンの横にあるスポイトツール アイコンをクリックします。

    ![](11PickActor.png)

    ビューポートでアクタをクリックすると、レベルからアクタをターゲット アクタとして選択できるようになります。

  16. スポイトツール アイコンをいずれかのキューブ (または追加したアセット) に合わせ、クリックしてターゲット アクタにします。

    ![](11ActorSelected.png)

  17. アクタを選ぶと、Target Actor 変数が [Details (詳細)] パネルで選択されたアクタに更新されます。

    ![](13ActorSelected.png)

    ここで、ターゲット アクタになるアクタにリファレンスを 設定 します。

  18. Box Trigger ブループリントを開き、[MyBlueprint] ウィンドウの中の目のアイコンをクリックして [Show Inherited Variables (継承した変数を表示)] を有効にします。

    ![](showVariables.png)

    トリガーボックスを Class ブループリントに最初に変換した時に継承したコンポーネントにイベントを追加できるようになります。

  19. [Trigger Base][CollisionComponent] をクリックして [Add Event (イベントを追加)] から [Add OnComponentBeginOverlap] を選びます。

    ![](14AddOverlap.png)

    これにより、グラフ上に Event ノードが新規に作成されます。

  20. Control キーを押しながら TargetActor 変数をグラフ内にドラッグします。

    ![](15GetActorReference.png)

    レベル内のアクタに設定した変数に代入した値を取得する Get ノードが作成されます。

  21. TargetActor ノードを引き出して、Add Actor Local Offset ノードを探して追加します。

    ![](16AddOffSet.png)

    現在のターゲットの変形への追加が可能になります (現在位置からの移動が可能になります)。

  22. ノードを以下のように接続し、Add Actor Local Offset ノードの Z 値を 500.0 に設定します。

    ![](17AddZValue.png)

    ターゲットの現在位置を取得し、トリガーボックスがオーバーラップすると Z 軸に沿って上方に 500 ユニット移動します。

  23. [Components] ウィンドウで、TriggerBox_Blueprint コンポーネントをクリックして選択します。

    ![](selectTriggerBox.png)

    [Component] ウィンドウが表示されない場合は[Window] メニュー オプションから有効にすることができます。

    ![](enableComponentWindow.png)

  24. トリガーボックスの [Details (詳細)] パネルの [Rendering] の下にある [Actor Hidden In Game (インゲームでアクタを非表示にする)] オプションのチェックを外します。

    ![](19ActorHiddenInGame.png)

    プレイヤーと一緒に入る場所が分かるように、トリガーボックスをインゲームで表示します。

  25. [Compile][Save] をクリックし、ブループリントを閉じます。

  26. メイン ツールバーから [Play] アイコンをクリックしてエディタで再生します。

トリガーボックスに入ると、選択中のアクタは 500 ユニット上方へ移動しているはずです。トリガーボックスに入るたびに、ボックスは 500 ユニットずつ上方へ移動します。リファレンスをつくることで、変数はトリガーボックス スクリプトで影響を受けるアクタがどれか分かります。このスクリプトを使って、レベル内の別のアクタに影響を与えてみましょう。

  1. メイン エディタ ウィンドウのレベル ビューポートにある Box Trigger ブループリントをクリックします。

  2. [Box Trigger][Details (詳細)] パネルの [Target Actor (ターゲット アクタ)] の隣にあるスポイト ツールをクリックします。

    ![](11PickActor.png)

  3. レベル ビューポートで、まだ使っていない別のアクタをクリックします。

  4. 再びエディタで再生します。

トリガーボックスに入るたびに、今度は選択中の新しいアクタが Z 軸に沿って 500 単位上方へ移動しているはずです。Box Trigger スクリプトで Target Actor 変数を使うことで、スクリプトに関連づいている特定のアクタに縛られずに変更でき、ブループリント自体を変更することなくアクタに影響を与えることができます。

この例では、あるオブジェクトを移動させる代わりに、様々なオブジェクトを移動させる方法を説明しましたが、この方法は、プレイヤーがボタンを押した時にドアを開け、様々なライトをオンオフし、プレイヤーが所持あるいは破壊するアイテムをスポーンしたり、様々なことに使用できます。

これは、アクタにリファレンスをつけるほんの 1 つの方法にすぎません。例えば、メイン エディタ ウィンドウからではきちんと設定できないプレイヤー キャラクターにレファレンスを付けるには、別の方法があります (以下の Related Links セクションをご覧ください)。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル