サードパーソン ブループリント ゲーム入門 (12) – キャラクター ブループリントのコンポーネント

ビデオの内容紹介 
前回はアニメーション ブループリントを組みました。今回は、それに値を供給できるようにするキャラクター ブループリントを作り、Movement Component の設定を変更したり、カメラを設置します。

原題 Introduction to Third Person Blueprint game – 12 – Character Blueprint Components

[1] キャラクター ブループリントを作成する
まず、メインエディタのコンテンツ ブラウザで、Character フォルダを選択状態にして、
11-1
スペースで右クリックして、メニューを表示させます。
11-2
[ブループリント] を選択します。すると、[親クラスを選択] というダイアログボックスが表示されるので、[キャラクター] を選択します。
160730-106
ファイルができるので、MyCharacter という名前を付けます。

キーワード 親クラス
まずクラスとは、データ (プロパティなど) と機能 (関数など) をひとまとめにして、扱いやすくしたものです。物事は何でもそうだと思いますが、何らかのグループを作って、きちんと管理しなければ、扱いが難しくなったり、他から想定外の影響を被ってしまうことがあります。今回は、ブループリントでキャラクターのクラス (繰り返しになりますが、キャラクターのためのデータと機能です) を作りますが、その雛形となるクラスを親クラスと呼んでいます。自分で最初から作らなくても、雛形があれば、それを利用できるので楽で早いです。ここで言う「データ」(プロパティ) は、具体的に Movement Component で出てきますので、ご覧ください。また「機能」は歩いたりできることが例として挙げられます。

キーワード Character クラス
これから作るキャラクターのためのクラスの親クラスです。Pawn クラスの一種ですが、Character クラスには、歩いたりできる機能が含まれています。これは Pawn クラスにはない機能です。

[2] メッシュを割り当てる
キャラクター ブループリント (クラス) にメッシュを割り当てるには、まず、先ほど作成した MyCharacter をダブルクリックして、エディタを開きます。そして、[コンポーネント] タブで、[Mesh] を選択状態にします。
12-9
その状態にしたままで、メインエディタから HeroTPP を [Skeletal Mesh] にドラッグアンドドロップします。
12-10
すると、次のように、あの懐かしいキャラクターが表示されることになります。
12-11
青い矢印をつかんで、キャラクターを下に引いて、カプセル (コリジョンに使われるものです) に収まるようにします。
12-12
さらに、カプセルから出ている青い矢印 (赤い丸で囲んであります) は、正面方向を表しています。ですから、キャラクターもこの方向に向かせることにします。そのためには、ビューポート内右上アイコン群左から 2 番目 (赤で囲んであります) をクリックして、回転のためのウィジェットを出して、これまた青いやつをつかんで回転させます (青い矢印で示しているように)。
12-13

[3] アニメーションを割り当てる
今のところ、アニメーションは None (なし) になっていますが、
12-14
そのドロップダウンメニューをクリックして、CharacterAnimBP を選択します。
12-15
すると、キャラクターがあの Idle のポーズを取って動くようになるのが分かります。
12-16

[4] カプセルの大きさを調整する
キャラクターがカプセルから少しはみ出しているので (コリジョンがうまく判定されなくなるので)、
12-17
次のように調整します。
12-18
Capsule Half Height (カプセルの高さの半分) を 94.0 に、Capsule Radius (カプセルの半径=この場合、カプセルの太さ) を 45.0 にしています。

[5] Spring Arm を追加する
キーワード Spring Arm
直訳すれば、「バネの腕」ということになります。これにカメラをアタッチする (付ける) のですが、カメラが何かにぶつかりそうになると、バネのようにカメラを引き寄せて事なきを得ます。カメラはこの Spring Arm に追随することになります。

まず、CapsuleComponent を選択状態にしたままで、[コンポーネント] タブで [コンポーネントを追加] をクリックします。
12-19
検索欄で spring などとして、Spring Arm を出して、クリックします。
12-20
すると、次のように Spring Arm がビューポートにも表示されるようになります。
12-21
後でアタッチするカメラ (=プレイヤーの視線) のために、Spring Arm の Z の位置を上げて調整します。そのためにはビューポート内右上アイコン群左端をクリックしてから、ウィジェットの青矢印を上方向にドラッグします。
12-22
30 くらいにしています。[詳細] で直接数値を入力してもよいです。
ここで、Spring Arm の名前を CameraBoom に変更します。(このコンポーネントがどのような役割かを分かりやすくするためでしょう。boom [カメラブーム] には、カメラの位置調整をする装置という意味があります。)
12-23
最後に、UsePawnControlRotation にチェックを入れます。これによって、マウスを動かすと、Spring Arm (とそれに付随するカメラ) が回転します。
12-24

[6] カメラをアタッチする
カメラを追加するために、まず、[コンポーネント] タブの [コンポーネントを追加] をクリックして、表示されるドロップダウンメニューの検索欄に camera と入れて、Camera を出し、それをクリックします。Camera が コンポーネントととして表示されるので、それを CameraBoom にドラッグアンドドロップします (青矢印のように)。
12-25

12-26
すると、Camera が CameraBoom に付随するようになります (CameraBoom を親とします)。Camera が 1 段下がっていることから分かります。
12-27
さらに、名前を FollowCamera とします。
12-28
チュートリアルでは行われていませんが、Camera の位置を (0.0, 0.0, 0.0) とします (チュートリアルでは自動的にそのようになります)。
12-29
また、UsePawnControlRotation のチェックを外しておきます。これは、CameraBoom によって、すでに制御されているためです。

最後に、いくつか調整してお終いです。まず、[コンポーネント] タブで、CharacterMovement を選択状態にしてから、Jump Z Velocity (ジャンプ時の Z 方向の速度) を 600.0 にします。
12-30
(なお、このように Character Movement セクションには多数のプロパティがあります。これがあるために、Character クラスを親クラスにしました。)

次に、Orient Rotation to Movement (移動の方に回転させる) にチェックを入れます。それによって、加速度のかかった方向にカメラが向かうことになります。
12-31
ただし、これを有効化したら、bUseControllerRotationYaw を無効にしなければなりません。そのためには、[デフォルト] モードにして、検索欄に use controller などと入れ、bUseControllerRotationYaw のチェックを外します。
12-32

以上で、カメラの設定は完了しました。今回はこれでお終いです。お疲れ様でした!


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. blendegg より:

    カメラをキャラクターの周りで、円を描くようにグルグル回したいのですが、何のblueprintノードを使うのでしょうか?
    似たようなサンプルが、サードパーソンの中に入っていましたが、仕組みが良く分かりません。右キーや左キーを押すと、キャラクターの周りを円のようにカメラが回るというものです。

    • 通りすがり より:

      たしかThirdPersonのテンプレではじめっからキーボードの左右の矢印キーでそれ出来た気がします。