ゲームモードの問題

ゲームモードの問題

1 理由: 以下の図に示すように、ログイン用とコンテンツ用の 2 つのレベルが初期化され、2 つの GameMode が構成され、各レベルで GameMode が設定され、OpenLevel を呼び出すことでレベル ジャンプが実現されました。実行プロセス中に、
ここに画像の説明を挿入
レベルのジャンプが完了した後、コンテンツ レベルに入った後にゲームモードが開始されませんか?

2 検証手順:

3 参考

[UE4]GameMode と GameInstance
:
1. GameMode とシーンのライフサイクルは同じです。OpenLevel を使用して別のシーンに切り替えると、最初のシーンの GameMode が破棄され、次に 2 番目のシーンの GameMode が破棄されます;
2. GameInstance はプロセスと同じライフ サイクルを持ちます。ゲームを終了しない限り、GameInstance は常に存在し、破棄されません。
3. ゲームに参加している限り、GameInstance が作成され、GameInstance は 1 つだけ作成されます。
4. カスタム GameMode (World) を設定します。設定)
5. ここで、「ワールド設定」は実際には Prioject 設定であり、現在のシーンにのみ役立ちます。
プロジェクト設定 (Prioject 設定) では、ゲーム全体のすべてのレベルで機能します。
シーン (ワールド設定) で設定された GameMode は、プロジェクト設定の GameMode をオーバーライドします。
:問題は解決しませんでした。

B

UE4 の GameInstance と GameMode
:
GameInstance クラスはレベル間で存在でき、レベルやゲーム モードを切り替えても破棄されません。GameMode はレベルやゲーム モードを切り替えるときに破棄されてリセットされます

作成方法:
GameInstance: GameInstance を基本クラスとしてブループリントを作成、
GameMode: GameModeBase を基本クラスとしてブループリントを作成します。
設定方法:
GameInstanceは編集/プロジェクト設定/マップ&モード、
GameModeはウィンドウ/ワールド設定です。
取得:
GameMode は GetGameMode ノードを使用して取得されます。取得後、Cast to 変換ノードを使用して、ブループリントに格納されているデータを使用して対応する型に変換します。GameInstance は GetGameInstance を使用して取得されます。取得後
、変換ノードにキャストして、対応するタイプに変換します。ブループリントに保存されているデータを使用します。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
:すべての既知のアイテム! まだ解決されていない

C

「InsideUE4」ゲームプレイ アーキテクチャ (7) GameMode と GameState
:

おすすめ

転載: blog.csdn.net/weixin_45728126/article/details/127220325