チュートリアル動画『サードパーソン ブループリント ゲーム (v4.7)』シリーズ の概要

本シリーズの内容を簡単にまとめると、キーなどを操作してキャラクターに何らかの動作をさせ、それをアニメーションで表現するために必要となる設定を行うということになります。つまり、キー操作を受け入れるための設定、アニメーションを動かすための仕組みについて勉強することになります。素材となるものはすべて公式のサイトから入手できます。

なお、「サードパーソン」とは三人称視点のゲームのことです。つまりプレイヤーが動かすキャラクターは、プレイヤーからその全体が見えるようなゲームです (反対に、ファーストパーソンであれば、プレイヤーが操作するキャラクターはプレイヤーから見えません。プレイヤーそのものがキャラクターになった感じです)。また、ブループリントととは、ゲームを制御することができるスクリプトのことです。C++ などのプログラミング言語を使わなくても、素晴らしいゲームを作ることができるのです。

また、スクリプトとは備わっている既存の機能を組み合わせて何らかの動作をさせるもの、といったような感じです。ブループリントで言えば、C++ ですでに作られている機能をビジュアル的に利用できることになります。


(1) 本シリーズの紹介

(5:34)
これから作成するものと学ぶことのリストが紹介されています。具体的な作業はまだ行いません。

(2) プロジェクト作成と FBX のダウンロード

(3:59)
まずプロジェクトを作成することから学び、さらに、これからプロジェクトで使うアセット (ゲーム作成に利用できるデジタル データのまとまり) を入手できる場所が紹介されています。

まっさらの新規プロジェクトを作成する方法
スターターコンテンツを利用する方法
(UE4 備え付けのアセットを利用する方法)

(3) FBX のインポートとスケルトンの使用

(3:59)
スケルトン、スケルタル メッシュ、物理アセットの役割を学びます。簡単です。

FBX アセットを UE4 にインポートする最も簡単な方法
複数のスケルタル メッシュで同一のアニメーションを共有する方法
スケルタル メッシュをインポートした時にスケルトンを自動的に作る方法
FBX のインポート時に、FBX から法線をインポートする方法
(FBX のインポート時に、UE4 に法線を計算させないようにする方法)
ペルソナのビューポート内で視点 (カメラ) を自在に動かす方法
ペルソナでスケルトンを表示させる方法
コンテンツ ブラウザ内ですべてのファイルを選択する方法
コンテンツ ブラウザ内で複数のファイルが選択されている状態で、特定のファイルの選択を解除する方法
コンテンツ ブラウザで新規フォルダを作成する方法
未保存のファイルを見分ける方法


(4) ペルソナ入門

(9:50)
UE4 のアニメーション編集ツールであるペルソナについて、その操作方法の基本を学びます。

ペルソナを開く方法
コンテンツ ブラウザでアセットの種類別に参照する方法
ペルソナでソケットを追加する方法
ペルソナでソケットを移動させる方法
ペルソナのビューポートで視点を動かす方法
ペルソナのビューポートで特定のものをクローズアップする方法
ペルソナでアニメーションを逆再生する方法
ペルソナでアニメーションの最終フレームに飛ぶ方法
ペルソナのビューポートでメッシュにカメラを追随させる方法
ペルソナで表示方法を変更する方法
ペルソナのビューポートでソケットを表示する方法
ペルソナのビューポートでボーン名を表示する方法
ペルソナのビューポート内左上に表示される情報を非表示にする方法
ボーンの階層を確認する方法

(5) 入力の設定

(12:21)
ゲーム内でキャラクターを動かしたり、ジャンプさせたりするためには、キーボードのキーやゲームパッドを使うことになりますが、そのための設定 (キーバインディング) が必要となります。とても簡単です。

ゲームで移動/方向転換するための入力を設定する方法
ゲームで動作を制御するための入力を設定する方法

(6) キャラクターのための基本的なマテリアル

(11:35)
キャラクターに自前のマテリアルを貼り付ける方法を学びます。そのためには、マテリアルを作成することから作業します。

マテリアルを作成する方法
マテリアル エディタを開く方法
マテリアルのノードに関する情報を表示する方法
マテリアルのカラーを設定する方法
マテリアル エディタでカラーピッカーを使う方法
マテリアル エディタでワイヤを接続させる方法
マテリアル エディタでワイヤを切断させる方法
マテリアル エディタで Linear Interpolate (=Lerp) (線形補間) をショートカットキーで呼び出す方法
周辺部の色味を強くする方法
マテリアルでザラザラ感を出す方法
マテリアルで金属感を出す方法
マテリアル インスタンスを作成する方法
マテリアル インスタンスで設定を変更する方法
マテリアルをキャラクターに適用する方法

(7) ブレンド スペース

(9:23)
まず、ブレンド スペースとはどういうものかじっくりと学びます。さらにブレンド スペースを実際に作ります。これによって、ある条件 (たとえば、移動速度) に応じて、キャラクターの動作 (アニメーション) が混ざり合うように (ブレンドしながら) スムーズに変わります。

(1 次元の) ブレンド スペースを作成する方法
ペルソナでアニメーションのプレビューを有効にする方法

(8) アニメーション ブループリント入門

(6:41)
アニメーション ブループリントのためのエディタについて学びます。実際の作業はアニメーション ブループリントを作るだけです。

アニメーション ブループリントを作成する方法
ペルソナでアニメーション ブループリントのためのエディタを開く方法

(9) ステートマシン入門

(12:11)
ステートマシンの仕組みについて学びます。実技は次回チュートリアルからです。

(10) アニメーション グラフを作成する

(15:21)
いよいよステートマシンを作ります。最終的には、移動速度に応じてポーズが変化するステートマシンができあがり、プレビューでキャラクターの動きを確認できるようになります。

ペルソナでステートマシンを作る方法
ペルソナでステートを作る方法
値を変数化する方法
再生が完了した割合を算出させる方法
値の大小比較をする方法
条件を反転させる方法 (NOT)
ペルソナのビューポートでアニメーションを確認する方法
ステートマシンによるアニメーションの処理落ちを解消する方法

(11) アニメーション ブループリント のイベント グラフ

(6:09)
キャラクターはマウスやキーボードで動きますが、その動きは値となって変数に格納されます。そうすることによって、最終的にアニメーションを制御できるからです。今回は、イベント グラフ上で、変数に入る値が更新されるようにします。

イベントグラフを更新する方法
Event Blueprint Update Animation の使い方
Try Get Pawn Owner の使い方
Get Movement Component の使い方
Get Velocity の使い方
Vector Length の使い方

(12) Character ブループリントのコンポーネント

(13:43)
前回作成した Animation ブループリントに値を供給できる Character ブループリントを作成します。Character ブループリントに含まれている Movement コンポーネントが重要となります。また、スケルタル メッシュも割り当てます。

Character ブループリントを作成する手順
Pawn と Character の違い
ブループリントに関する解説が多数掲載されているページ
ブループリントにコンポーネントを追加する方法
Movement コンポーネントの概要
スケルタル メッシュを割り当てる方法
カメラを追加する方法
Class Defaults の設定について
キャラクターが空中で動けるようにする方法
キャラクターを移動方向に自動で回転させる方法

(13) Character ブループリントのキーボードとマウス制御

(12:43)
「⑤ 入力の設定」では、キャラクターを動かすためのキーボードのキーやゲームパッドのスティックを指定しましたが、それらに入力があった時にキャラクターを動くようにブループリントを組みます。

キーボードなどからの入力でキャラクターを動かす方法
Event MoveForward の使い方
Add Movement Input の使い方
Scale Value とは
World Direction とは
Get Control Rotation の使い方
Rotation とは
構造体を分解する方法
Break Rot の使い方
Make Rot の使い方
Get Forward Vector の使い方
Axis Event MoveRight の使い方
Get Right Vector の使い方
キャラクターを方向転換させる方法
Turn の使い方
TurnRate の用途
Axis Value の使い方
Add Controller Yaw Input (コントローラに Yaw の入力を追加) の使い方
LookUp の使い方
LookUpRate の用途
Add Controller Pitch Input (Pitch 入力をコントローラに追加) の使い方
Jump 関数の使い方
親クラスを Pawn ではなく Character にした理由

(14) Game Mode とテスト

(16:21)
Game Mode の用途と設定の方法を学びます。また、カメラの上下の動きをマウスで制御する場合、マウスを動かす方向を逆にできるようにします。

Game Mode の用途
ゲームで使うデフォルトのクラスを指定する方法
Game Mode ブループリントの作成方法
プロジェクトが Game Mode を使うようにする方法
カメラの上下の動きとマウスの動きとの対応関係を反転させる方法
カメラの上下の動きとマウスの動きとの対応関係を詳細パネルで反転させる方法
ツールチップを作る方法

(15) Character ブループリントのゲームパッドとタッチコントロール

(14:46)
ゲームパッドのサムスティックやモバイルのタッチ コントロールで操作できるようにするための方法が紹介されています。

ゲームパッドのサムスティックでカメラを動かせるようにする方法
タッチ コントロールでカメラを動かせるようにする方法
エンジンのコンテンツをコンテンツ ブラウザで表示させる方法
カメラの回転の量、回転の速度または見上げる速度を調節する方法
Delta time (単位: 秒) を得る関数 (Get World Delta Seconds)
変数をレベルエディタで編集できるようにする方法
変数のデフォルトの値を設定する方法
Add Controller Yaw Input 関数
Add Controller Pitch Input 関数
タッチコントロールのテストを行う方法
Input Touch イベント
Input Touch イベントの Finger Index の使い方
モバイルのプレビューでテストする方法

(16) アニメーション モンタージュの概略

(6:44)
アニメーション モンタージュとはどのようなもので、どのような使い方をするのか、その概略を説明しています。パンチ シークエンスをどのように設定するのか、その概略についても説明しています。

アニメーション モンタージュとは
パンチのアニメーション シークエンスはどのように作るか
Notify とは

(17) スケルトンのリターゲティングとモンタージュのセットアップ

(17:08)
前回の概略を受けて、アニメーション モンタージュを実際に作成し、パンチのシークエンスを設定します。合わせて、アニメーションのリターゲティングも行います。

アニメーション モンタージュを作成する方法
アニメーションをスクラブ再生する方法
リターゲティング機能の使い方
Translation Retargetting (トランスレーションのリターゲティング) にアクセスする方法
スケルトン ツリーの Show Advanced Options (高度なオプションを表示) について
アニメーションでキャラクターを接地させる方法
アニメーションでキャラクターの関節が外れている問題を修正する方法
シークエンスのループから脱出する方法
Notify Event の使い方
Add Notify (通知の追加) の使い方
シークエンスの再生速度を調節する方法
Slot とは
キャラクターで異なる複数のアニメーションを再生する方法

(18) アニメーション ブループリントでパンチを設定

(7:52)
キャラクターのブループリントとアニメーションのブループリントが互いに交信できるようにします。具体的には、Cast To ノードを利用して、キャラクターのブループリントで使われている変数をアニメーションのブループリントでも使用できるようにします。

キャラクターのブループリントとアニメーションのブループリントを交信させる方法
Cast To ノードの使い方

(19) アニメーション モンタージュを再生する

(10:35)
前回の続きです。アニメーション ブループリントの Event Graph を設定することによって、アニメーション モンタージュを再生します。現在のパンチから適切なエンディングのシークエンスにジャンプできるようになります。

アニメーション ブループリントを設定してアニメーション モンタージュを再生できるようにする方法
Cast To ノードとは (前回の補足)
Montage Play 関数の使い方
AnimNotify イベントの使い方
Montage Set Next Section の使い方
ノードを一度だけ実行する方法
DoOnce ノードの使い方

(20) スロット ノードを使う

(8:48)
前回の続きとして、CharacterAnimBP の AnimGraph でパンチ モンタージュを追加します。

アニメーションをブレンドさせる方法
AnimGraph での設定方法
モンタージュの追加
Slot を追加する方法
Layered Blend Per Bone の使い方
Cached Pose の使い方

(21) パンチのための物理コンポーネントを追加する

(7:48)
キャラクターが球体にパンチすると球体が動くようにします。

両手にコリジョンを追加する方法
Sphere Collision を設定する方法
コリジョン プリセットの設定方法
Attach To 関数の使い方
Construction Script の役割
コリジョンを有効化する方法
Set Collision Enabled 関数の使い方

(22) UE4 でアニメーション Notify を作る

(11:44)
アニメーション Notify を使って、キャラクターが走る時に足の接地とともにホコリが立つようにします。

Notify とは何か?
Notify の設定方法
ソケットを追加する方法
Anim Notify セクションでエフェクトを選択する方法
パーティクル エフェクトを編集する方法
カスケードの開き方
エミッタの利用方法
カスケードで Warmup Time の設定方法
カスケードの Lifetime の使い方
カスケードの Spawn の使い方
カスケードの Distribution の使い方
カスケードの Process Spawn Rate の使い方
カスケードの Required の使い方
カスケードの Emitter Loops の使い方
カスケードの Kill on Completed の使い方
カスケードの Color Over Life の使い方
カスケードの Alpha Over Life の使い方
カスケードの Initial Velocity の使い方
カスケードの Initial Size の使い方
カスケードの Drag の使い方

シェアする

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

フォローする

コメント

  1. こや より:

    こんにちは!
    いつもこちらで勉強させていただいており、たいへん助かっています。

    (12)の動画が(13)の動画になってしまっているので、コメントさせていただきました。

    これからも更新頑張ってください!

    • なつのや より:

      的確なご指摘、ありがとうございます!たいへん助かります。
      最近、更新が滞りがちなのですが、より見やすいサイトに少しずつ改変しているところです。
      お言葉を励みに、これからもお役に立てるような記事を書いていければと思います。
      ありがとうございました!