ゲーム開発備忘録

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

【UE4・UE5】Unity勢&入門者向け!ゼロからキャラクターを動かしてみる。~①ブループリントの作成とコンポーネントの追加編~

はじめに

このシリーズはゼロからキャラクターを作成して

入力したら動かせるようにしていきたいと思います。

やりかた

⓪前提知識

ゲームを作るには以下の3つが必要です。

GameMode......操作するキャラクターや操作系を割り当てる。マップごとに設定できる。

Character or Pawn........キャラクター本体Characterを使用するとジャンプやしゃがみといった動作を設定できる機能が用意されている。

PlayerController.....キャラクター本体を制御する場所。ハードからの入力を受け付けキャラクターを動かす。

 

Tips 大規模開発ではキャラクターとコントローラーで操作系を分離したほうが管理しやすくなるが、個人製作などの小規模開発ではキャラクターに入力を直接書くことが多いです。

f:id:namiton:20220210131355p:plain

f:id:namiton:20220210132830p:plain

この三つが揃えば新しいマップをすぐに見て回れます。

①新しいマップを作ろう

アンリアルエンジンではマップやステージのことをレベルと呼びますが、

分かりづらいのでマップに統一して説明します。

レベルと言われたらマップのことなんだなぁくらいで理解してもらえればOKです。

 

左上のファイルから新規レベルを選び、Defaultを押します。

f:id:namiton:20220210121754p:plain

左上の現在のレベルを保存を押すと名前と保存先を選べるので

CharacterMapという名前で任意の場所に保存します。

f:id:namiton:20220210122101p:plain

 

②GameModeを作ろう

先に説明したとおりGameModeはいわばお約束みたいなものです。

逆にGameModeを切り替えるだけで操作するキャラクターや挙動を変えることもできるのでTPS用のゲームモード・FPS用のゲームモードのように作っておいてフレームワーク化しておくだけで、マップアセットなどを見て回ることができます。

 

コンテンツブラウザで右クリックしてブループリントクラスを押します。

f:id:namiton:20220210122953p:plain

GameModeBaseを選びましょう。名前をGM_CubeCharacterにします。

f:id:namiton:20220210123344p:plain

開いてみると詳細にクラス設定ができることが分かります。

ここにそのマップで使用するクラスを設定します。

表示されない場合はツールバーのクラスのデフォルトを押して下さい。

f:id:namiton:20220210123558p:plain

 

CharacterMapに作成したGameModeを割り当てます。

真ん中のブループリントから画像のように作成したModeを割り当てましょう。

f:id:namiton:20220210123801p:plain

 

③コントローラーを作る

ブループリントからPlayerControllerを選び名前をBP_CubeControllerにします。

f:id:namiton:20220210125234p:plain

作成したらGameModeのPlayerControllerClassに割り当てます。

f:id:namiton:20220210125600p:plain

ブループリントに変更を加えたら必ずコンパイルを押しましょう。

f:id:namiton:20220210125719p:plain

ヨシッ!

f:id:namiton:20220210125734p:plain

 

④キャラクターを用意する

今回は移動するキャラクターなので

必要なコンポーネントが揃っているCharacterクラスを親にして作成します。

名前をBP_CubeCharacterにしましょう。

f:id:namiton:20220210125943p:plain

こちらもGameModeでDefaultPawnClassに設定しておきます。

f:id:namiton:20220210130200p:plain

ヨシッ!!

f:id:namiton:20220210130214p:plain

 

⑤見た目を調整しよう

BP_CubeCharacterを開きましょう。

コンポーネントのMeshを押しましょう。

f:id:namiton:20220210130442p:plain

 

キャラクタークラスのメッシュは

SkeletalMeshコンポーネントという

骨の付いた(ボーンアニメーションができる)

キャラクターのみ受け付けます。

f:id:namiton:20220210130517p:plain

エンジンに用意されているキューブはStaticMesh(骨がない見た目)ので

こちらでボーンを入れたキューブを作成しました。

 

ダウンロードはこちらから

drive.google.com

 

ファイルを解凍後、SK_Cube.fbxを

コンテンツフォルダーにインポートしてください。

デフォルト設定でインポートを押します。

f:id:namiton:20220210143225p:plain

最後の4つがインポートされていたら成功です。

f:id:namiton:20220210143305p:plain

 

Meshの詳細からインポートしたSK_Cubeを割り当てましょう。

f:id:namiton:20220210143416p:plain

コリジョンを調整しよう

CapsuleComponentを選択してください。

オレンジ色にハイライトされているのが現在のあたり判定です。

f:id:namiton:20220210143533p:plain

見た目と大きく異なっているので

詳細のシェイプから大体一致するように修正します。

f:id:namiton:20220210143602p:plain

またこの状態だと浮いてしまうのでMeshコンポーネントのZを下げます。

f:id:namiton:20220210133815p:plain

 

⑦カメラを作る

StaticMeshの子にSpringArmを追加します。

またSpringArmの子にCameraを追加します。

f:id:namiton:20220210133948p:plain

最終的にこうなればOKです。

f:id:namiton:20220210143823p:plain

SpringArmはいわば自撮り棒です。

TargetArmLengthから長さを変更できるので800にしてみましょう。

また、回転Yに-20と入力してみてください。

f:id:namiton:20220210134250p:plain

ヨシッ!!!

f:id:namiton:20220210125734p:plain

 

実行してみましょう。

f:id:namiton:20220210134532p:plain

 

このように表示されれば成功です。

f:id:namiton:20220210144059p:plain

 

次回はキー入力と移動をやっていきたいと思います。

さいごに

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

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

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

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