ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【ゼロからアンリアルエンジン5】㉙UE4グレイマンをUE5のクインさんに変更してみよう

目次

 

はじめに

注意

UE5.0.0の現在の情報です。

今後のアップデートによりUIや機能が変更される可能性があることをあらかじめご理解ください。

 

※※正式版からこの記事を読んでいる人はこの記事の工程は不要です。※※

 

UE5の正式版からUE4伝統のグレイマンからマニーさんとクインさんに代わりました。

しかも接地をいい感じにするIKがデフォルトで組み込まれているそうなので、

レイマンリストラしてクインさんに差し替えてみたいと思います。

f:id:namiton:20220407123316p:plain

 

解説

①名前の変更

既存のグレイマンのブループリントが書き換わるのを防ぐため名前の最後にOLDを付けておきましょう。

f:id:namiton:20220407115915p:plain

 

②コンテンツの追加

コンテンツブラウザから追加→機能またはコンテンツパックを追加を行います。

f:id:namiton:20220407120059p:plain

 

ブループリントからサードパーソンを選択してプロジェクトに追加します。

f:id:namiton:20220407120211p:plain

 

新人が追加されました。

f:id:namiton:20220407120634p:plain

一度プロジェクトを再起動しておきましょう。

 

③クインさんに移植

レイマンに追加したノードを選択してコピーします。

f:id:namiton:20220407121601p:plain


クインさんにペーストします。

コンパイルすると変数がないとエラーが出ます。

f:id:namiton:20220407121733p:plain

 

変数を選択して作成するか

f:id:namiton:20220407121850p:plain

 

レイマンから変数をコピーして貼り付けます

変数の貼り付けはデフォルト値も共有されるのでおすすめです。

f:id:namiton:20220407121917p:plain

f:id:namiton:20220407121942p:plain

f:id:namiton:20220407122035p:plain


再度コンパイルしてエラーが消えたら成功です。

f:id:namiton:20220407122401p:plain

 

④ゲームモードクラスの変更

GM_Customを編集しましょう。

f:id:namiton:20220407122602p:plain

 

リスポーンするキャラクターをOLDから変更します。

f:id:namiton:20220407122655p:plain

 

また、クラスのデフォルトからデフォルトPawnClassをOLDから変更します。

f:id:namiton:20220407122750p:plain

 

これで準備完了です!

実行してみてキャラクターが変更されて動作していれば成功です!

f:id:namiton:20220407122915p:plain

 

 

1-バックアップの作成

保存先のプロジェクトフォルダごと別の場所に複製してもしもの対策をしておきましょう。

2-C++クラスの生成

※※ブループリントでプロジェクトを生成した場合は特に※※

プロジェクトを開きファイルからC++クラスを適当に生成しておきましょう。

f:id:namiton:20220406124654p:plain

 

①バージョンアップ方法

早期アクセスから正式版や、マイナーアップデートなどはランチャーからエンジンのアップデートを行えば問題ないです。

 

しかし4.25から4.26など大きなアップデートはプロジェクトフォルダ側でバージョンを指定する必要があります。

プラグインなどが対応していなかったり、機能が削除されたりすると最悪開けなくなるので慎重に対応しましょう。

 

プロジェクトファイルからSwitchする。

f:id:namiton:20220406120945p:plain

 

どのインストールされているエンジンで開くか指定できる。

f:id:namiton:20220406121023p:plain

 

プラグインなどが新しいバージョンに対応していないなど問題があるとこのようなエラーが出ます。

f:id:namiton:20220406122957p:plain

対応しているバージョンはストアから閲覧できます。

f:id:namiton:20220406123114p:plain

②とりあえず開いてみる

開けなかった!f:id:namiton:20220406120236p:plain

 

Assertion failed: (TTraits::WithIdentical || TTraits::WithIdenticalViaEquality) [File:E:\UnrealEngine\UE_RelTestA\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h] [Line: 1476]

 

どうやら正式版になってエンジン側に問題があるようです。

 

Redditの投稿に同じ内容のものがありました。

どうやらBridgePluginが悪さしているようなのでエンジンをインストールしなおしました。

www.reddit.com

インストール済みプラグインからQuixel Bridgeを更新しましょう。

f:id:namiton:20220406145927p:plain


今回はこれで開けるようになりました。

f:id:namiton:20220406150126p:plain

 

それでも開かない場合の解決方法は2つあります。

1-ソリューションファイルを作成してソースコードから修正する

〈難易度★★★★★〉

どの機能がエラーを吐いているかをソースコードから確認します。

難易度は高いですがやってみる価値はあります。

 

プロジェクトからGenerateVisual~をします。

f:id:namiton:20220406121318p:plain

 

ファイルを生成できませんでした。とエラーが出たらほぼ詰みです。

もう一つの手法に希望を託しましょう。

C++クラスを生成していたら回避できます。

f:id:namiton:20220406122149p:plain

 

生成できた場合はソースコードを開けるので

エラー箇所を修正できる場合はビルドしなおしましょう。

それでも開けなかったらもう一つの手法に希望を託しましょう。

 

2-別のプロジェクトを作成して内部データをコピペする

〈難易度★★★☆☆〉

別でプロジェクトを作成してアセットを移動する方法です。

アセットが大きいと移植が大変ですが、確実性が高いのでおすすめです。

多少手間はかかりますが、小分けして移植することで問題のアセットを発見することができそうです。

 

ランチャーから目的のバージョンのエンジンを開いてプロジェクトを作成しましょう。

作成したプロジェクトのエクスプローラーを開き、元のContentフォルダからコピペします。

f:id:namiton:20220406151219p:plain

 

また、Configを共有すると入力やコリジョンのプロファイルデータも上書きすることができます。

f:id:namiton:20220406151708p:plain

起動できるか確認しましょう。

 

最後に

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。