投稿記事

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.必要であれば、ここで入力名を変更することができます。

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

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

Unreal Engineでオンラインゲーム制作をする時にキャラクターの出現方法で気をつけること

こんにちは!ジェイです。
今日はUnreal Engine5でオンラインゲーム制作でキャラクターをスポーンする時に発生する問題と解決方法を紹介します。

普通に出現キャラを決める方法

通常はGame Mode Overrideを自分で作ったGameModeを変更することによってコントール方法や出現するキャラクターなど様々な設定を行えます。


しかし、オンラインゲームでDefault Sawnを設定してしまうとリスポーンすることができません。そのためにGameModeClassとPlayerControllerClassにブループリントで記述する必要があります。

オンラインゲームで出現キャラを決める方法

今回はGameModeClassであるBP_GM_GamePlayのSpawn Character関数のSpawnActorでキャラクターを生成しています。第一引数のCharacterClassを変更することによって出現するキャラクターを変更できます。


実際に変更する場所はCharacterClassの引数を辿っていった先のBP_PC_GamePlayのInitPCを設定すると出現キャラクターを変更できます。

参考動画

https://www.youtube.com/watch?v=H0JZnWdY0k8&t=1054s

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

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

LyraStarterGameから自分の作ったプロジェクトにアニメーションを移行する方法

まともにやろうとするとC++クラスを親に持つBlueprintがあると大変な作業が必要ですが、この方法だと簡単に自分のプロジェクトに移行できます。

プロジェクトの準備

1.マーケットプレイスからLyraStarterGameをダウンロードする
2.Third Personをベースに新規プロジェクトを作成する
3.2で作ったThird PersonのプロジェクトにEdit→PluginからAnimation Locomotion LibraryとAnimation Warpingを追加して再起動する

LyraStarterGameでのアニメーションを移す準備

1.LyraStarterGameのプロジェクトでAll→Context→Charactor→Heroes→Mannequin→Animationを開いてABP_Mannequin_Baseを複製してCopyと名付ける


2.Copyを開く→タブのClassSetting→LyraAnimInstanceをAnimInstanceに変更する

3.ダイヤログでRepairentを選ぶ

ここでエラーを修正が出るので修正する

4.ログのエラーをクリックしてAnimGraphを開く


5.以下のように修正する

6.同じ様にログのエラーをたどりFullLoop to FallLand(rule)を開く

Ground Distanceを右クリックしてCreate variableを選択してcompileして保存しておく
Ground Distanceノードを選択した状態で右の詳細欄からGround Distanceに-1.0と入力する(compileと保存してないと反映されないので注意)

compileとsaveして準備は終わりです。

Third Personを含んだ自分のプロジェクトに移行する

LyraStarterGameを開いた状態でAll→Context→Charactor→Heroes→Mannequinフォルダを選択して右クリック→MigrageでThird Personを含んだ自分のプロジェクトのContextフォルダを選び移行する
以下のダイヤログが出たらNoを選択

自分のプロジェクトで使えるように修正

1.ABP_Mannequin_BaseをForce Deleteで強○的に削除する


2.Copyの名前でF2を押してABP_Mannequin_Baseにリネームする
3.All→Context→ThirdPerson→Blueprints→BP_ThirdPersonCharacterを開いてContstrctionに以下様にノードを追加する。この時にLinkAnimLayerのIn Classに再生したいアニメーションを指定する(ここではUnarmedAnimLayerを指定してます)

4.左側からMeshを選択して右側のAnimCalssをABP_Mannequin_BaseにしてSkeltal MeshをSKM_Quinnにしてcompileとsaveする。

Aimoffsetを機能するように修正

ABP_Mannequin_BaseのAnim_Graphを開きAimYawとAimPitchをGetで取得してFullBody_Aimmingの引数に渡す。(引数がなかったら右の詳細欄からBindのところをExpose Pinを選ぶと表示される)

実行結果

https://twitter.com/JY20160816/status/1589866425770209281

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

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

UE5でTPSゲームを作る Part1(自分用メモ)

今回からTPSゲーム制作を始めたので簡単に作業手順を示しておきます。色々と抜けてるので後で書き足します💦

実装する機能

・武器の装備
・発砲時のアニメーション
・発泡時のエフェクト
・発泡時のサウンド

モデルとアニメーションの準備(Idleアニメーション再生まで)

フォルダ作成とアニメーションの準備

1.好きな場所にAnimationsフォルダを作成する
2.ThridPersonのサンプルを選びプロジェクトを作成する
3.Lira Starter Gameをマーケットプレイスでダウンロードしてプロジェクトを作成する

Lira Starter Gameのプロジェクトからアニメーションをエクスポートする

1.ContentDrawerの検索窓の右側にある扇マークをクリックしてAnimationのAnimationSequenceを選ぶとアニメーションだけが表示される
2.左のフォルダをCharactorsを選択して必要なアニメーションに絞る
3.Ctrl+Aですべてのアニメーションを選択→右クリック→AssetActions→Bulk Export→Export Allを選んでAnimationsフォルダにエクスポートする

この時点でもうLira Starter Gameのプロジェクトは使わないので消してもよい

エクスポートしたアニメーションを最初に作ったプロジェクトにインポートする

1.ContentDrawerにAnimationsフォルダをドラッグ&ドロップ
2.Animationsの検索窓からSK_Mannequinを選んでImportAllでインポートしてセーブする

武器のモデルをマーケットプレイスでダウンロードしてインポートする

1.Miltliy Weapon SilverをダウンロードしてAdd to Projectで最初に作ったプロジェクトに追加する
2.ContentDrawerにMiltily Weapon Silverがあるか確認する

BlueprintsとAnimationsの準備してIdleアニメーションを設定する

1.ContentDrawer→右クリック→フォルダ作成→Blueprintsのフォルダを作成する
2.ThirrdPersonフォルダのBP_ThirdPersonを作ったばかりのBlueprintsフォルダにコピーする
3.フォルダのCharactor→Manekins→Animations→ABP_MannyをAnimationsフォルダにコピーする
4.BlueprintsフォルダのコピーしたBP_ThirdPersionCharactorをBP_Playerに変更する
5.AnimationsフォルダのコピーしたABP_MonnyをABP_Charactorに変更する
6.右側のWorldSetting→GameMode→DefalutPawnClassをBP_Playerに変更して虫眼鏡マーククリックしてBP_Playerを開く
5.左側のMeshを選択して右側のAnimClassのABP_Quinn_CをABP_Charactorに変更して動いてるか確認する
6.ABP_Charactorを開いて左側にあるAnimGraphをダブルクリック→Locomotionをダブルクリック→Idle→右側のAssetBrowserからMF_Rifle_hipfireドラッグ&ドロップしてOutputAnimationPoseに繋げる


ここでプレイするとIdleのみライフルを持ってるアニメーションに変わる

Idle以外のアニメーションの設定

SK_Mannezuinの作成

1.Animationsフォルダ→右クリック→Animations→Blend Space→SK_Mannequin(skeleton選んでBS_RifleWalkRunと名付けてファイルを開く
2.Horizontail Axisを以下の様に設定
Name = Direction
Minimum Axis Value = -180.0
Maximum Axis Value = 180.0
3.Vertical Axisを以下の様に設定
Name = Speed
Minimum Axis Value = 100.0
Maximum Axis Value = 500.0(こちらを先に変更する)
4.必要なアニメーションを右側の検索窓からMF_Rifle_Jog_Fwdを上にMF_Rifle_Jog_Bwdを最右上と最左上にMF_Rifle_Jog_Leftを左上にMFRifle_Jog_Rightを右上にドラッグ&ドロップ
5.必要なアニメーションを右側の検索窓からMF_Rifle_Walk_Fwdを下にMF_Rifle_Walk_Bwdを最右下と最左下にMF_Rifle_Walk_Leftを左下にMF_Rifle_Walk_Rightを右下にドラッグ&ドロップ


6.ABP_Charactorに戻り→Locomotion→Idle→Walk/Runに右側のBS_Rifle_WalkRunをさっき作ったBlendSpaceをドラッグ&ドロップして以下のようにする

7.アニメーションの修正
ABP_Charatorの右下のBS_Rfile_Jog_Fwdを開き左側のRoot MotionのEnableRootMotionとFoceRootLockにチェックする。これでその場で走っているモーションになるのでブレンドスペースで使ったアニメーションすべてに同じ様にチェックを入れる。

これで正常に武器をもった状態のアニメーションが再生されるようになる

武器を手に持たせる

1.Blueprints→BP_Playerを開きViewportを選択→左側からMeshを選択してAddを押してSkeltalMeshを追加してWeaponと名付ける
2.Meshを選択して右側のSkeltalMeshをSKM_Qunn_SimpleからSKM_Qunnに変更する
3.Weaponを選び右側のSkeltalMeshからAssauのt_Rifle_Aを選択
4.右側のSockets→Parent Socketsの虫眼鏡マークを押してWeapon_rを選択すると武器を持った状態になる
5.手にフィットするように位置と角度を調整する
以上で武器が手に持っていることを確認する

発泡処理

ボタンの割当

Edit→Project Setting→Input→Action Mappingの右の+をクリック→名前をFireにする→割り当てたいキーやマウスを押す(例えば左クリック)→LeftMouseButtonを選択

発泡のアニメーションが再生できるようにする

1.BP_Playerを開きInputMotion FireのPressedからPlayMontageを繋ぐ
2.ContensBlowerのAnimationsフォルダからMM_Rifle_Fireを選んだ状態で右クリック→Create→CreateAnimMontageを選択しファイルを作る
3.2で作ったファイルをPlayMontageのMontage to Playに設定する
4.左側のMeshをドラッグ&ドロップしてPlayMontageのSkeltal Mesh Componentを繋ぐ

発砲時のアニメーション再生時に動かないように修正する

1.BP_Playerを開き左側からCharactorMovementをドラッグ&ドロップしてそのノードから線を伸ばしてDisable Movementノードを作る
2.1で作ったノードをInputActionFireとPlayMontageの間にくるよう線を繋ぐ
3.CharactorMovementをコピペしてSetMovementModeノードを作る
4.3で作ったノードのNewMovementModeをNoneからWalkingにする

発砲時のエフェクトを出す

1.BP_Playerを開き左側からWeaponをドラッグ&ドロップしてそのノードからGetSocketTransformノードを作る
2.PlayMontageからSpawn Emitter at Locationを作る
3.GetSocketTransformのReturnValueを分割してLocationとRotationを2で作ったノードと繋ぐ
4.Spawn Emitter at LocationのEmitter TemplateにAssaltRfileMazzleFlashを選択

発射時のエフェクトの詳細位置を設定する

1.ViewPortタブで切り替えて左側のWeaponを選択して右側のMeshのAssaltRfileからファイルに飛んで開く
2.左側のMazzleFlashを選択して名前をコピーする
3.BP_Playerに戻りGetSocketTransformのin Socket Nameに3でコピーした名前をペーストする
もしエフェクトが出てなかったらエフェクトのファイルを開いてから再生する

発砲時のサウンドを鳴らす

1.BP_Playerを開きSpawn Emitter at LocationからPlay Sound Locationを繋いでSoundにRifleA_Fire_Cueを設定する
2.GetSocketTransformとPlay Sound LocationのLocationを繋ぐ
ここまでで発砲時のサウンドが鳴るようになる

最終的なBP_Player


実行結果

https://twitter.com/JY20160816/status/1581859264179544064

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

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

初めてのUnreal Engine5でミニゲーム制作(作業まとめ)

Unreal Engine5でミニゲームを作ったのでやったことをまとめておきます。
初めてということでこちら動画を見ながら真似して作りました。

実装した項目
・コインを取ったらエフェクトを出してポイントを加算してUIに反映させる
・ボムに触れたらエフェクトを出してダメージを受けてHPゲージを減らす
・ハートを取ったら体力を回復してHPゲージを増やす

作業手順(タイトルをチェックすると動画説明に飛べます)

1.プロジェクトの作成

Epic Game Luncharを立ち上げてプロジェクト名を付けて作成する

2.マーケットプレイスから必要なアセットをダウンロードする

niagraというビジュアルエフェクトを使うのでダウンロードする

3.フォルダの作成

content Browserを開き、右クリックNew Flolderを選択して、Contentの中にBluePrints、Materials、UIの3種類のフォルダを作成する

4.コインのブループリントの作成

右クリック→BluePrintClass→Actorで作成してBP_Coinと名付ける
左側のAddをクリックしてStatic Meshを選択し追加する
Static Meshを選択した状態で右側のStatic MeshからSM_Cylinder選択してサイズを調整する(Scale X 0.3 Y 0.3 Z 0.1)

5.コインのマテリアルの作成

Meterialsフォルダを開く→右クリック→Material→M_Yellowと名付ける
右クリック数字の3で検索してConstant3Vectorを選び色を変更してBaseCollorへノードを繋げる
BP_Coinに戻りStatic_Meshから右側のMaterialからM_Yellowを設定すると色が変わる

コインにぶつからずに貫通するようにして上下に動かす

BP_Coinに戻りStatic_Meshから右側のCollisionのCollisionPresetをBlockAllDynamicからOverlapAllDynamicにする(物体を貫通するようになる)
SetActorLocationを追加してEventTickにノードを繋ぐ
以降は以下の様にする

コインに当たったらエフェクトを出すようにする

BP_CoinのStatic_Meshから右クリック→AddEvent→AddOnComponentBeginOverlapを追加して以下のようにする

ボムのブループリントの作成

右クリック→BluePrintClass→Actorで作成してBP_Bombと名付ける
左側のAddをクリックしてStatic Meshを選択し追加する
Static Meshを選択した状態で右側のStatic MeshからSherer選択してサイズを調整する(Scale X 0.2 Y 0.2 Z 0.2)

ボムのマテリアルの作成

コインと同じでM_Redと名付ける

ボムにぶつからずに貫通するようにして左右に動かす

BP_Bombに戻りStatic_Meshから右側のCollisionのCollisionPresetをBlockAllDynamicからOverlapAllDynamicにする(物体を貫通するようになる)
SetActorLocationを追加してEventTickにノードを繋ぐ
以降は以下の様にする

ボムに当たったらエフェクトを出すようにする

BP_BombのStatic_Meshから右クリック→AddEvent→AddOnComponentBeginOverlapを追加して以下のようにする

Healthのブループリントの作成

右クリック→BluePrintClass→Actorで作成してBP_Healthと名付ける
Static_MeshがないのでniyagaraのNS_pickup3とBoxCollisionを追加する

Healthのマテリアルの作成

コインやボムと同じでM_Healthと名付ける

Healthを取ったらエフェクトを出す

今まで作ったアクターのイベントが起きたらUIに反映させる

UI_Playerを作成してテキストとプログレスバーを追加


BP_ThirdPersonCharacterを開き以下のノードを追加してと変数Point(int)とHealth(float)とMaxHealth(float)を追加

UI_Playerに戻りのPointを変化させたいUIをクリックして右側のcontent→text→CreateBandingで以下のノードを追加する

UI_Playerに戻りのプログレスバーをクリックして右側のcontent→text→CreateBandingで以下のノードを追加する

BP_Coinに追加

BP_Bombに追加

BP_Healthに追加

実行結果

https://twitter.com/JY20160816/status/1579041965131591680

ここまででコインとボムとライフの実装が終わりです。
Unreal Engine5は以前の4よりも使いやすくなってるのでマルチプレイができるのを目標にして勉強していきます!

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

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

1 2 3 4 5 6 7

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索