プレハブは、UEFN で再利用可能なゲームプレイ オブジェクトを構築するために使用できる、エンティティとコンポーネントの階層です。
このページでは、次の 5 つの異なるプレハブを作成する方法について説明します。
Prefab_TriggerableMesh
Prefab_TriggerableLight
Prefab_TriggerableMovingMesh
Prefab_PuzzleManager
Prefab_Trigger
トリガー可能メッシュ プレハブ
Prefab_TriggerableMesh プレハブの階層は次のようになっています。
エンティティ:
transform_component、mesh_component、triggerable_mesh_component
transform_component は、デフォルトではすべてのエンティティに含まれています。 その理由は、すべてのエンティティはレベル内に物理的に存在し、レベルに存在するためには、それらを配置できるようにするトランスフォームを持っている必要があるためです。 Prefab_TriggerableMesh を作成するには以下の手順を実行します。
[Quickly Add to Project (プロジェクトにすばやく追加)] ボタンに移動し、[Entities (エンティティ)] > [entity (エンティティ)] をレベルにドラッグして、アクタを配置します。
アウトライナー内でエンティティを右クリックし、[Edit (編集)] > [Rename (名前を変更)] を選択して、名前を「Prefab_TriggerableMesh」に変更します。
mesh_component.undefined を追加します。Prefab_TriggerableMesh エンティティに移動し、[Details (詳細)] パネルにある [+Component (+コンポーネント)] ボタンをクリックし、
mesh_componentを検索します。「
mesh_component」を検索したら、特定のメッシュを選択する必要があります。 この例では、付属している [plane (平面)] 基本形状メッシュを選択します。
triggerable_mesh_componentを追加します。 Prefab_TriggerableMesh エンティティに移動し、[Details] パネルにある [+Component] ボタンをクリックし、triggerable_mesh_componentを検索します。これをプレハブにするには、Prefab_TriggerableMesh を右クリックして [Save As Prefab... (プレハブとして保存...)] を選択します。
[Create New Prefab (プレハブを新規作成)] ダイアログがポップアップ表示され、そのダイアログで新しいクラスの名前を変更するか、クラスのコンテンツ パスを選択します。 選択内容に問題がなければ、[Create Entity Class (エンティティ クラスを作成)] を選択します。 これで、このプレハブをコンテンツ ブラウザ内で選択してレベルに配置し、各インスタンスを好きなように使用および設定できるようになりました。
このプロジェクトで作成する他のプレハブに対して同様のプロセスを繰り返します。
トリガー可能ライト プレハブ Prefab_TriggerableLight プレハブの階層は次のようになっています。
エンティティ:
transform_component、triggerable_light_componentエンティティ:
transform_component、mesh_componentエンティティ:
transform_component、mesh_component、light_component
Prefab_TriggerableLight を作成するには以下の手順を実行します。
[Quickly Add to Project] ボタンに移動し、[Entities] > [entity] をレベルにドラッグして、アクタを配置します。
アウトライナー内でエンティティを右クリックし、[Edit] > [Rename] を選択して、名前を「Prefab_TriggerableMesh」に変更します。
triggerable_light_component追加します。 Prefab_TriggerableLight エンティティに移動し、[+Component] ボタンをクリックし、「triggerable_light_component」を検索します。アウトライナーで、Prefab_TriggerableLight エンティティに移動します。 エンティティを右クリックして [Add Entity... (エンティティを追加...)] > [entity] を選択します。 このエンティティの名前を「LightOff」に変更します。
LightOff エンティティをカスタマイズします。
アウトライナーで LightOff エンティティを選択します。 [Details] パネルに移動し、[+Component] ボタンをクリックして mesh_component を追加してから、球体メッシュを選択します。
アウトライナーで、Prefab_TriggerableLight エンティティに移動します。 エンティティを右クリックして [Add Entity...] > [entity] を選択します。 このエンティティの名前を「LightOn」に変更します。
LightOn エンティティをカスタマイズします。
アウトライナーで LightOn エンティティを選択します。 [Details] パネルに移動し、[+Component] ボタンをクリックして mesh_component を追加してから、球体メッシュを選択します。 mesh_component の以下の編集可能フィールドを次のように変更します。
[Enabled (有効)] チェックボックスをオフにします。
アウトライナーで LightOn エンティティを選択します。 [Details] パネルに移動し、[+Component] ボタンをクリックして sphere_light_component を追加します。 sphere_light_component の以下の編集可能フィールドを次のように変更します。
[Enabled] チェックボックスをオフにします。
Intensity:10.0
AttenuationRadius:1000.0
SourceRadius:50.0
これをプレハブにするには、Prefab_TriggerableLight を右クリックして [Save As Prefab...] を選択します。
[Create New Prefab (プレハブを新規作成)] ダイアログがポップアップ表示され、そのダイアログで新しいクラスの名前を変更するか、クラスのコンテンツ パスを選択します。 選択内容に問題がなければ、[Create Entity Class] を選択します。 これで、このプレハブをコンテンツ ブラウザ内で選択してレベルに配置し、各インスタンスを好きなように使用および設定できるようになりました。
トリガー可能移動中メッシュ プレハブ Prefab_TriggerableMovingMesh プレハブの階層は次のようになっています。
エンティティ:
transform_component、triggerable_movement_component、mesh_componentエンティティ:
transform_componentエンティティ:
transform_component
Prefab_TriggerableMovingMesh を作成するには以下の手順を実行します。
[Quickly Add to Project] ボタンに移動し、[Entities] > [entity] をレベルにドラッグして、アクタを配置します。
アウトライナー内でエンティティを右クリックし、[Edit] > [Rename] を選択して、名前を「Prefab_TriggerableMovingMesh」に変更します。
triggerable_movement_componentを追加します。 Prefab_TriggerableMovingMesh エンティティに移動し、[+Component] ボタンをクリックし、「triggerable_movement_component」を検索します。keyframed_movement_componentを追加します。 [+Component] ボタンをクリックし、keyframed_movement_componentを検索して、Prefab_TriggerableMovingMesh エンティティに移動します。mesh_componentを追加します。[+Component] ボタンをクリックし、
mesh_componentを検索して、Prefab_TriggerableMovingMesh エンティティに移動します。「
mesh_component」を検索したら、特定のメッシュを選択する必要があります。 この例では、付属している [plane] 基本形状メッシュを選択します。
アウトライナーで、Prefab_TriggerableMovingMesh エンティティに移動します。 エンティティを右クリックして [Add Entity...] > [entity] を選択します。 このエンティティの名前を「TransformOne」に変更します。
アウトライナーで、Prefab_TriggerableMovingMesh エンティティに移動します。 エンティティを右クリックして [Add Entity...] > [entity] を選択します。 このエンティティの名前を「TransformTwo」に変更します。
これをプレハブにするには、Prefab_TriggerableMovingMesh を右クリックして [Save As Prefab...] を選択します。
[Create New Prefab (プレハブを新規作成)] ダイアログがポップアップ表示され、そのダイアログで新しいクラスの名前を変更するか、クラスのコンテンツ パスを選択します。 選択内容に問題がなければ、[Create Entity Class] を選択します。 これで、このプレハブをコンテンツ ブラウザ内で選択してレベルに配置し、各インスタンスを好きなように使用および設定できるようになりました。
パズル マネージャー プレハブ
Prefab_PuzzleManager プレハブの階層は次のようになっています。
エンティティ:
transform_component、puzzle_component
Prefab_PuzzleManager を作成するには以下の手順を実行します。
[Quickly Add to Project] ボタンに移動し、[Entities] > [entity] をレベルにドラッグして、アクタを配置します。
アウトライナー内でエンティティを右クリックし、[Edit] > [Rename] を選択して、名前を「Prefab_PuzzleManager」に変更します。
puzzle_componentを追加します。 [+Component] ボタンをクリックし、puzzle_componentを検索して、Prefab_PuzzleManager エンティティに移動します。これをプレハブにするには、Prefab_PuzzleManager を右クリックして [Save As Prefab...] を選択します。
[Create New Prefab] ダイアログがポップアップ表示され、そのダイアログで新しいクラスの名前を変更するか、クラスのコンテンツ パスを選択します。 選択内容に問題がなければ、[Create Entity Class] を選択します。 これで、このプレハブをコンテンツ ブラウザ内で選択してレベルに配置し、各インスタンスを好きなように使用および設定できるようになりました。
トリガー プレハブ
Prefab_Trigger プレハブの階層は次のようになっています。
エンティティ:
transform_component、trigger_component、mesh_component
Prefab_Trigger を作成するには以下の手順を実行します。
[Quickly Add to Project] ボタンに移動し、[Entities] > [entity] をレベルにドラッグして、アクタを配置します。
アウトライナー内でエンティティを右クリックし、[Edit] > [Rename] を選択して、名前を「Prefab_Trigger」に変更します。
trigger_componentを追加します。 [+Component] ボタンをクリックし、trigger_componentを検索して、Prefab_Trigger エンティティに移動します。mesh_componentを追加します。[+Component] ボタンをクリックし、
mesh_componentを検索して、Prefab_Trigger エンティティに移動します。「
mesh_component」を検索したら、特定のメッシュを選択する必要があります。 この例では、付属している [plane] 基本形状メッシュを選択します。
これをプレハブにするには、Prefab_Trigger を右クリックして [Save As Prefab...] を選択します。
[Create New Prefab] ダイアログがポップアップ表示され、そのダイアログで新しいクラスの名前を変更するか、クラスのコンテンツ パスを選択します。 選択内容に問題がなければ、[Create Entity Class] を選択します。 これで、このプレハブをコンテンツ ブラウザ内で選択してレベルに配置し、各インスタンスを好きなように使用および設定できるようになりました。
次のステップ
ここまでで、すべてのプレハブを Scene Graph エンティティとコンポーネントから作成しました。これで、これらすべてのピースをまとめて、UEFN でパズルを作成できるようになりました。