以下の手順に従って、プレイヤーがツルハシで敵のゴールにボールを入れる独自の物理対応のサッカー ゲームを作成します。
プロジェクトを設定する
任意の島テンプレートから新しいプロジェクトを作成します。
平坦なエリアで作業する場合は、空白のテンプレートを使用することをお勧めします。
空白のテンプレートで始める場合は、地面が芝生に見えるように GridPlanes に M_FortniteLandscape_Customizable マテリアルを適用します。
メニュー バーの [Project] ドロップダウンから、[Project Settings] を選択します。
一番下までスクロールし、[Experimental Access] の下で [Physics] チェックボックスを見つけてオンにします。
サッカー ボールをインポートする
好きなアセット マーケットプレイスからサッカー ボール アセットをダウンロードします。 この例では、.glb アセットを使用します。 このアセットには、スタティックメッシュ、テクスチャ、マテリアル インスタンスが含まれています。
tinmanjuggernaut が作成した Sketchfab のサッカー ボールは、Sketchfab の標準ライセンスの下で使用しています。
.glb ファイルをコンテンツ ブラウザにドラッグしてボールをインポートします。 設定はデフォルトのままでかまいません。
スタティックメッシュをダブルクリックして編集するアセットを開きます。
ビューポートで、[Show (表示)] を選択して [Simple Collision (単純なコリジョン)] をオンにします。
すでにコリジョンがある場合は削除します。
上部リボンの [Collision (コリジョン)] メニューから、[Add Sphere Simplified Collision (球体単純化コリジョンを追加)] を選択します。
[Details] パネルの [Collision] の設定で次のように設定します。
Radius (半径) - 102.0
Collision Preset (コリジョン プリセット) - Block All (すべてブロック)
Center (中央) - 0 on all axes (すべての軸で 0)
これでコリジョンが表示されます。 スタティックメッシュを保存します。
サッカー ボールの小道具を作成する
コンテンツ ブラウザで、スタティックメッシュを右クリックして [Scripted Asset Actions (スクリプト化されたアセット アクション)] > [Convert to Prop (小道具に変換)] > [Stone (石)] の順に選択します。
プロジェクトに「CustomProps」というフォルダが作成されます。 このフォルダを開き、ブループリントの仕掛けをシーンにドラッグします。
[Details] パネルで、[+ Add] ボタンを押して [Fort Physics] コンポーネントを追加します。
[FortPhysics] コンポーネントで、次のように設定します。
Simulate Physics - True
Override Mass (質量をオーバーライド) - True
Mass - 20.0
Linear Damping - 0.1
Angular Damping - 0.3
Impulse On Hit Multiplier - 3.0
サッカー ゲームの要素を追加する
アウトライナーで [IslandSettings0] を選択して次の設定を変更します。
Max Players - 6
Teams (チーム) - Team Index: 2 (チーム インデックス:2)
Team Size (チーム サイズ) - Split Evenly (均等に分割)
Join In Progress (途中参加) - Spawn (スポーン)
Invincibility (無敵) - True
Allow Building - None
Start With Pickaxe (ツルハシを持って開始する) - True
6 個のプレイヤー スポナーの仕掛けを配置します。
最初の 3 つ:Player Team (プレイヤー チーム) - Team Index 1 (チーム インデックス 1)
残りの 3 つ:Player Team - Team Index 2 (チーム インデックス 2)
Visible in Game (ゲーム中に表示) - False
この時点でセッションを起動して、すべてが目的どおりに動作していることを確認してみてください。
小道具を使用してフィールドを作成します。
「Fortnite」 > 「Prefabs」にある [Colossal Coliseum (コロッサル コロシアム)] を使用します
ピッチとして [Recreation Soccer Field (レクリエーション サッカー フィールド)] を使用します
コンテンツ ブラウザで [FortniteRecreation SoccerGoal] を見つけ、ゴール エリアの 2 つのインスタンスを配置します。 ボールのサイズに合わせて、それらのインスタンスを 1.5 倍にスケールアップします。
バリアの仕掛けを追加してフィールドを囲み、ボールが境界の外に飛び出さないようにします。
[Zone Shape (ゾーン形状)] を [Hollow Box (ホロウ ボックス)] に変更し、地面の下に仕掛けの下部を配置します。 そうしないと、プレイヤー スポナーと干渉します。
プレイヤー スポナー パッドではなく、スカイダイビングでスポーンする場合は、仕掛けの下部を下げなければならないこともあれば、[Zone Shape] を [Hollow Box] に設定しないこともあります。
仕掛けを設定する
現在のところ、物理と連携する仕掛けはすべて、「Fortnite」 > 「Devices」 > 「!Experimental」フォルダにあります。
ゴールを検出するために、2 つのボリュームの仕掛けを次のように設定します。
チーム 1 のスポーン パッドの後ろのボリュームの仕掛けに Team_A_Goal という名前を付けます。
チーム 2 のスポーン パッドの後ろのボリュームの仕掛けに Team_B_Goal という名前を付けます。
サイズ設定 Width (幅) - 0.6
Depth (奥行き) - 2.2
Height (高さ) - 1.0
トラッカーの仕掛けを追加します。
Name (名前) - Tracker Score Team A
Stat to Track (トラックする統計) - Score (スコア)
Tracker Title (トラッカー タイトル) - Team A Score
Sharing (共有) - Team (チーム)
トラッカーの仕掛けを複製し、コピーの名前を Tracker Score Team B に変更します。 [Tracker Title] を Team B Score に変更します。
HUD メッセージの仕掛けを追加します。
Name - HUD Message Device Score A
Play Sound (再生サウンド) - Scoring_Point_Added_Cue
Background (背景) - 色を選択
Placement (配置) - Custom (カスタム)
Screen Anchor (スクリーン アンカー) - Center
Message (メッセージ) - “Team A Goal!!!” (「チーム A がゴール!!!」)
HUD メッセージの仕掛けを複製します。
Name - HUD Message Device Score B
Message - “Team B Goal!!!” (「チーム B がゴール!!!」)
Background - 2 番目の色を選択
ゴールの横に一定の角度で 2 つの通気口の仕掛けを追加します。 ボールがこれらの通気口のいずれかに当たると、ボールがゴール エリアから遠くに発射されます。 [Knockup Force Multiplier (ノックアップ力倍数)] を [0.1] に設定します。
Verse を使用してゲーム マネージャーを作成する
Verse を使用することが、ゲームを管理する最もすばやくシンプルな方法です。ゲーム マネージャーを作成しましょう。 Verse の仕掛けを作成する方法の詳細については、「Verse を使用して独自の仕掛けを作成する」を参照してください。
新しい Verse ファイルを作成し、game_manager.verse という名前を付けます。 ファイルをダブルクリックして VS コードで開きます。
ファイルに次のコードを追加します。
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
# A Verse-authored creative device that can be placed in a level
game_manager := class(creative_device):
コードをコンパイルしてプロジェクトを保存します。
ボールを隠したり置き直したりする位置の調整が必要になる場合があります。
UEFN では、先ほど作成した Verse の仕掛けをシーンに配置し、編集可能なすべての変数を仕掛けに関連付ける必要があります。
セッションを開始するか、すべての変更をライブ編集セッションにプッシュして以下を検証します。
ボールをツルハシで押し込むかヒットするとボールが動く。
ボールをゴールに押し込むと、HUD メッセージがポップアップしてスコアが変わり、ボールがフィールドの中心に置き直される。
新しいサッカー ゲームをプレイしてみましょう。
ボールや仕掛けをさらに追加したり、スケールを変更したりしてみてください。 以下に変更したサッカー ゲームの一例を示します。