CRYENGINE V プレイヤーキャラクターの変更方法

テンプレートプロジェクトのプレイヤキャラクターの変更方法

ここでは、C++ Template project の「Isometric Pathfinding」を使用しています。GameSDKは使用しません。他のテンプレートプロジェクトでも、もちろんプレイヤキャラクターを変更可能です。

https://docs.cryengine.com/display/CEMANUAL/Tutorial+-+Replacing+the+Player+Character

使用バージョン CRYENGINE 5.5

使用する外部ソフト

  • Microsoft Visual Studio
  • 任意のxmlエディタ (Notepad++がおすすめ)

サンプルファイルのダウンロード

公式マニュアルのページからサンプルファイルをダウンロードしてください。他のキャラクター.fbxを使用することも、もちろん可能です。
https://docs.cryengine.com/display/CEMANUAL/Tutorial+-+Replacing+the+Player+Character#Tutorial-ReplacingthePlayerCharacter-Files

キャラクターモデルとTextureのインポート

[Asset Browser]からObjects\Charactersフォルダを開き右クリックからCreate Folderで名前deerのフォルダを作り、[deer.fbx]と[deer_texture.tif]ファイルをドラッグ&ドロップします。または、Character Toolを開き、ビューポートにdeer.fbxファイルをドラッグ&ドロップします。

キャラクターモデルを読み込みを行うと、関連する複数の異なるAssetが作成されるため、objects/characters内に新しいフォルダ (objects/characters/deerなど) を作成することをお勧めします。

キャラクターモデルにTextureの割り当て

このdeerキャラクターモデルには、[Normal Map]が含まれていないので[Normal Map] を削除します。削除するには、[Asset Browser]からdeerのMaterialをダブルクリックし、[Material Editor]を開き [Texture Maps] から[Normal Map]を削除します。

[Diffuse Map] をdeerフォルダのdeer_texture.ddsに変更します。[File] → [Save] を選択し、 [Material Editor] を閉じます。

アニメーションのインポートと調整

[Character Tool]の右メニューのAnimationsから[deer_Take001]を選択。

アニメーションを見ると、このモデルに付属しているアニメーション(deer_Take001)が、実際には、アイドルアニメーション、歩きアニメーション、走るアニメーションという3つの異なるアニメーションで構成されていることがわかります。

まず、どのフレームがどのアニメーションを表しているかを知ることが重要です。そのためには、 [Character Tool] -> [Playback] パネルに移動し、 [Seconds] を [Frames] に変更します。

アニメーションがいつ開始され、どのフレームが各アニメーションの最後になるかを確認します。後で使用するために、これらのフレームを書き留めておきます。

最初のフレーム0はデフォルトのTポーズで、アニメーションの一部ではありません。フレーム1から最初のアニメーションが開始されます。

アニメーションを分離する

次のいずれかの方法で、[Animation importer]を開きます。

[Character Tool]で、[File] > [Import FBX] > [Animation] または、SandboxのUIから、 [Tool] > [FBX Import] > [Animation] を選択します。

deer.fbxを[Animation importer]にドラッグ&ドロップしfbxファイルを読み込みます。

左のメニューから[Preview this]をクリックすると右のパネルに、1つの長いアニメーションが表示されます。

この1つの長いアニメーションを3つに分け、3つのアニメーションクリップを作成します。まずは、アイドルアニメーションから作成します。このdeerキャラクターモデルの場合は、アイドルアニメーションのフレーム部分はフレーム1から始まりフレーム616で終わり、歩行アニメーションはフレーム617から始まりフレーム647で終わります。

[Animation clips]の右の数字をクリックし、[add]で項目を増やし、アイドルアニメーション(deer_Idle)、歩きアニメーション(deer_Walk)を追加し保存します。

Skeletonを追加

deerのSkeletonを追加するには、[Character Tool]を使用するか、skeletonlist.xmlを編集します。

Character Toolで追加する

左側のAssetsからCompression (Animations/)を展開し、Skeleton Listを選択。

Properties -> Aliases
ドロップダウンボタンからAddを選択し「deer.chr」Skeletonを追加し保存します。

Skeletonには、インポートしたファイルの名前と同じ名前 (この場合はdeer) を付けることをお勧めします。

三人称モデルをdeerのモデルに変更

モデルとそれに関連するすべてのAsset(Skeleton、Textureなど)がSandboxにインポートされたので、新しいキャラクターモデルをロードするようにテンプレートのソースコードを修正する必要があります。

Sandboxを閉じます。

プロジェクトのルートフォルダに移動し、[game.cryproject]ファイルを右クリックし、Generate solutionを選択します。

C++の場合

新しいsolutionフォルダが生成されます。このフォルダのサブフォルダ「win64」を開き、「game.sln」を開きます。

ソリューションエクスプローラから「player.cpp」を探し、開きます。

25行目を以下のように編集します。
m_pAnimationComponent->SetCharacterFile(“Objects/Characters/deer/deer.cdf“);

行番号は、エンジンのバージョン間で異なる場合があります。

C#の場合

[Game.sln]ファイルが[game.cryproject]ファイルと同じフォルダ内にあるので開きます。

ソリューションエクスプローラから「player.cs」を探し、開きます。

15行目を以下のように編集します。

private const string PlayerGeometryUrl = “Objects/Characters/deer/deer.cdf“;

行番号は、エンジンのバージョン間で異なる場合があります。

ビルド > ソリューションのビルド

Visual Studioを閉じます。

Assets/Animations/Mannequin/Preview/Player.xml を開きます。

4行目と5行目を変更したモデルdeer.cdfへのパスに変更します。

保存して閉じます。

アニメーションを変更

このままでは、テンプレートのアニメーションと新しいdeer skeletonとで互換性がないため、新しいアニメーションを使用するようにキャラクターを設定する必要があります。

Sandboxを開き、[Mannequin Editor]を開きます。
Tools > Animation > Mannequin Editor

[File] > [Load Preview Setup]を選択し、[player.xml]を選択します。このとき、エラーが表示されますが問題ありません。次に、左下隅にある[Fragments]タブをクリックします。

左上のツリーで、 Idle > Walk から展開しOption 1をダブルクリック。

右側の[Fragment Editor]の下部の[ThirdPerson(Thirdperson): Walk:]をクリックします。

[Anim Clip Properties]の[Animation]フィールドをクリックし、これをdege_walkアニメーションに変更します。

Idle > Default > Option 1も同じように設定し、[Animation]のフィールドをdeer_idleアニメーションに変更します。

[File] – > [Save Changes]を選択してMannequin Editorを閉じます。

テスト

Ctrlキー+ Gを押してLevel上でテストします。「Isometric Pathfinding」のLevelでは任意の場所をクリックすると、鹿が歩くはずです。

LINEで送る
Pocket

コメントを残す