Multiplayer Zombie Survival (Waves)の使い方

Unreal EngineのマーケットプレイスのアセットMultiplayer Zombie Survival (Waves)の使い方です。

名前規則

E_name - event, not replicated

SRV_name - run on server event
CL_name - run on client event
MC_name - multicast event

F_name - function, not replicated
FS_name - use function only on server

H_name - helper functions
M_name - macro functions

IE_name - interface event
IF_name - interface function

ロビースポーンスポットの追加方法

重要
最大プレイヤー数が4人の場合、プレイヤー用のスポーンスポットは4つ必要です。
空きスポットがない場合、プレイヤーはスポーンされません。

Open Lobby level
Open folder \Content\MZST\Blueprints\Lobby
Place BP_Lobby_SpawnSpot actor on the level before the camera.

Characters
2種類の独立したキャラクターがあります。
・Lobby character(プレイヤー情報ウィジェット付きメッシュ)
・Gameplay character

新しいキャラクターの作成方法

ロビー用とゲームプレイ用の2つのキャラクターを作成する必要があります。

ステップ1.ロビー用キャラクターを作成する

・Open folder \Content\MZST\Blueprints\Characters\Lobby
BP_LobbyCharacterを探し、子ブループリント・クラスを作成します - これが新しいロビー・キャラクターです。
新しいキャラクター用のアバター画像を作成します。

ステップ2.ゲームキャラクターを作成する。
Open folder \ContentMZST Filter FilterBlueprints Characters
BP_BasePlayerCharの子ブループリントを作成します。
キャラクターメッシュを変更し、新しいキャラクターブループリントにいくつかのロジックを追加します。

ステップ3.新しいキャラクターをデータベースに追加する。
Open folder \ContentMZST Filter FilterDataCommon
DB_Charactersデータベースを開き、新しいエントリを追加します。RowNameを設定するのは非常に重要で、これがあなたのCharacterIDになります。
ロビーで、キャラクターセレクターウィジェットにキャラクターが表示されるようにします。
初期キャラクターを選択画面でキャラ選択しないで変えたい時は以下の様にCharacterIDを指定するとそのキャラクターが生成される。
BP_GameCore_PCのSRVSpawnPlayer

ステップ4.新しいキャラクターに武器の追加
新しいキャラクターのSkeltalMeshのそれぞれのボーンにメッシュソケットを追加して
、SpectatorSocket、MeleeWeaponHolsterSocket、PrimaryWeaponHolsterSocket、RightHandSocket、SecondaryWeaponHolsterSocketと名付ける
追加したメッシュソケットでSecondaryWeaponHolsterSocket以外にプレビューアセットを追加する
(RightHandSocketの座標と回転が特に大事で弾を発射する位置が変わってしまうので注意する)

スタン時間の変更方法

Open \ContentMZST\Blueprints ◇Characters ◇BasePlayerChar blueprint
TimeToDeathAfterStun変数とStunTimelineが必要です。これらの変数で時間が同じである必要があります。

リバイブタイムを変更する方法

Find Open \ContentMZSTBlueprints suiteInteractionBP_CharHealTrigger blueprint
クラスデフォルトのInteractionTimeS変数を変更する。

新しいマップの追加方法

新しいレベルを作成し、レベルワールドの設定でBP_GameCore_GMゲームモードを設定し、保存します。
Open folder \ContentMZST Filter FilterBlueprints FilterDataCommon
DB_Maps データベースを開き、新しいエントリーを追加します。
これでゲーム設定(host game)ウィジェットでレベルが利用可能になります。
武器
武器にはプライマリ、セカンダリ、メレーがあります。
武器はヒットスキャンとプロジェクタイル(グレネードランチャー)を使って撃つことができます。
射撃モードは、オート、セミオート、シングル、バーストです。

新しい武器の作り方

1.open folder \ContentMZST Filter Blueprints Weapons
BP_BaseFirearmWeapon または BP_BaseMeleeWeapon の子ブループリントを作成します。
3.in your weapon blueprint in class defaults set ID variable. このIDをDB_Weaponsデータベースの行名として使用します。
4.open folder \ContentMZST Filter FilterBlueprints FilterWeapons FilterPickups
5.create a child blueprint blueprint from BP_AbstractWeaponPickUp or just duplicate existing one - add weapon mesh, collision, etc. これは新しい武器の Pick up アクタです。
6.open folder \ContentMZST ╱Blueprints ╱Data ⒸWeapons
7.add new entry in DB_Weapons database, set weapon settings.

現在の武器を破壊する代わりにドロップする方法

Open folder \ContentMZST Filter, Filter, Filter, Filter, Filter, Filter, Filter ・open folder \WeaponComponents
関数FS_AddWeaponToInventoryを実行します。
FS_DropWeaponDestroy 関数を FS_DropWeaponRandomLocation に置き換える。
新しい武器を拾ったときに、現在持っている武器がキャラクターの前にドロップされるようになります。

発射装置

Weapon Projectiles and grenades are located in the folder \ContentMZST weeks, Blueprints, Weapons, Projectiles
BP_TracerProjectileはエフェクトに使用します。
その他の弾丸は、Grenade LauncherとSniper Rifleの弾丸として使用されます。

ゲームプレイレベルにスポーンポイントを配置する方法

Open folder \ContentMZST Filter FilterBlueprints FilterGameCore
・BP_PlayerSpaceを配置する。
・BP_PlayerSpawnPointをプレイヤー用のレベルに配置する。
・BP_ZombieSpawnPoint をゾンビ用のレベルに配置する。

Zombies

open folder ୧ContentMZST ୧Blueprints ୧Characters ୧Zombies
BP_SimpleZombie、BP_ZombieBoss、BP_ZombieDemonの3種類のゾンビが存在する。
ゾンビの設定はクラスのデフォルトで設定できる。

Zombie Spawnのロジック

・open folder \ContentMZST Filter FilterBlueprints FilterGameCore FilterBP_GameCore_GS blueprint
・クラスのdefaultsに設定がある。
・Spawnロジックは関数FS_SpawnZombiesにある。

デフォルトのロジックは、ZombiesPerWave WaveNumberをspawnします。例えば、第5ウェーブの場合、5 5 = 25体のゾンビが発生します。
第2ウェーブで最大5体のデーモンゾンビが出現する。
第3ウェーブごとにゾンビボスを生成

トレーダー

Open ↵ContentMZST ↵Widgets ↵Trader_WBP_Trader widget
トレーダーショップに新しいものを追加するには、コンストラクトイベントでF_AddItem関数を使用します。
Traderはデータベースからすべての武器を取得し、すべての武器に対応するアイテムを追加します。新しい武器を手動でトレーダーに追加する必要はありません。

サーバー移動の方法

Open \ContentMZST Filter FilterBlueprints FilterGameCore FilterBP_MainGI - game instance
この2つの関数を使用する。ホストの設定はロビーで変更してもゲームインスタンスに保存されるので、これらの機能で使用することができます。

基本的なインタラクションコンポーネント

インテグレーション

1.ThrueBuilderComponentsに移動します。
2.BP_InteractionComponentをキャラクターやプレイヤーのコントローラーに追加しま.す。
3.Edit > Project Settings > Input > Action Mappings settingsを開きます。
4.Interactという名前でアクションを追加します。


5.キャラクターまたはプレイヤーコントローラーのブループリントを開き、インタラクションイベントを追加します。
6.ステップ 2 で追加したインタラクション コンポーネントを取得し、イベントを使用します。
Pressed -> E_BeginInteraction
Released -> E_EndInteraction

7.オーディオノートの再生を停止するためのイベント/アクションを作成します。インタラクションコンポーネントを取得し、E_RemoveAllNotesイベントを使用します。

8.また、統合例は、 \ContentBasicInteractionDemoLevels フォルダにあります。

コンポーネントの設定

    1. Draw debug type for line trace (ライントレースのデバッグタイプを描画する)
  1. Search ray/trace length (サーチレイ/トレース長)
  2. プレイヤーカメラからのライントレース前方オフセット

    インタラクティブなアクターの作成方法

    \ContentBasicInteraction ╱BlueprintsActors に移動します。
    BP_AbstractInteractableActor を右クリックし、子ブループリント・クラスを作成します。
    アクターメッシュ、マテリアルなどを追加します。
    IE_PerformAction インターフェース イベントを実装します。このイベントは、アクタとインタラクトするときに呼び出されます。

    ネットワーキング

    インターフェースイベント IE_PerformAction はサーバで実行されます。ですから、もしマルチプレイヤーゲームを開発するのであれば、このことを覚えておく必要があります。

アクタの例は複製され、その IE_PerformAction イベントがどのように実装されているかを見ることができます。

インタラクション可能なアクタの設定とウィジェット

インタラクション ウィジェットには、放射状と四角形の 2 種類があります。また、押すだけ、長押しするだけの2種類のインタラクションがあります。
デフォルトでは、四角いウィジェットとプレスインタラクションです。


アクター名の表示・非表示、プロンプトテキスト、インタラクション時間、ウィジェットタイプの変更が可能です。

ノート設定

レベルにノートを配置し、ノートの設定を行うだけです。
テキストノート設定 - タイトルとテキストを設定します。


オーディオノート設定 - isAudio = true、タイトル、オーディオ(サウンドキューアセット)を設定します。

ウィジェットのInput Actionの変更方法

1.Go to \Content\BasicInteraction\Interaction\Blueprints\Widgets
2.WBP_InteractionPromptとWBP_InteractionPromptRadialウィジェットを開く。
3.グラフを開き、変数パネルでActionName変数を探します。
4.必要であれば、ここで入力名を変更することができます。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索