SlideShare a Scribd company logo
UnrealEngine4でオリジナルキャラを動かそう!
3DCG Meetup #10
Kurosawa
1
自己紹介
Name : Kurosawa
Twitter ID : kurosaurus
URL : the-saurus.net
都内のゲーム会社に勤務
UnrealEngineやMayaを使う仕事をしています
2
テンプレートを利用しよう
テンプレート=ゲームのタイプごとのしくみ
• 新規プロジェクト作成時に選択
• 目的に合わせて選択
3
Pazul
Side Scroller
First Person
Top Down
Vehicle
…etc
もちろん自分で全部作っても構わない
ThirdPersonCharacter テンプレート
障害物にぶつかると止まる
4
操作内容 キーボード コントローラー
カメラ回転 マウス 右スティック
移動 WASD 左スティック
ジャンプ Space Aボタン
ThirdPersonCharacter テンプレートで何ができるの?
今日の講演内容 5
ThirdPersonCharacterテンプレートを編集して、
オリジナルキャラを動かそう
(ついでにUnrealEngine4をちょっと理解できたらいいな)
ThirdPerson_AnimBP を使いまわす
同じスケルトンであれば共通の処理を使える
スケルトンはSK_MannequinをFBXで書き出したも
のを流用して調整
6
実は骨の名前さえ合っていればOK(でもジョイントオリエントが違うとアニメが化ける)
全く同じでなくとも、リーフボーンであれば追加削除は問題なし
(途中を追加したり削除したりはNG)
異なるスケルトンにモーションをコピーする方法もある
これくらい違っていても同じスケルトン
モデルの読み込み
モデルをSK_Mannequinスケルトンとして読み込む
7
スケルトンが共通なのでSK_Mannequinで
使われていたモーションが動いている!
プレイヤーキャラクターを交換する
ThirdPersonCharacterを編集
ThirdPersonCharacter=ThirdPersonCharacterテンプレートのプレイヤー
1. スケルタルメッシュを交換する
2. コリジョンスケールとキャラの位置を調整
8
コリジョンについて
コリジョンとは当たり判定のことです。映像系の方は見た目通りのコリジョンを持てばいい
と考えがちですが、インタラクティブコンテンツではコリジョンはなるべくシンプルにした
ほうが都合が良いことが多いです。
カプセルコリジョン
プレイヤーに追従するカメラ
キャラクターを動かす仕組み
などがはいっています
モーションの調整
身長が違うので腰の骨の位置が高い
全体的に宙に浮いてる
ジャンプ関連 9
アニメーションを調整したい!
アニメーショントラックに
キーを加算して調整
モーションの調整
もうひとつの対応方法
腰のジョイントをAnimation Scaledに
10
体系が違っていてもそれなりに動く
キャラ替えできるゲームなどに便利
すべてのアニメーションに影響
ふつうはこっちだけど、今回は一部のモーション
は新体形に合わせて作るのでこの手段は使えない。
ジャンプの高さを変える 11
CharacterMovement
ほかのエンジンではジャンプの仕組みなども
自分で作るが、UE4でCharacterMovement
という便利な仕組みがある。
ジャンプの高さ
ふつうはレベルデザイナーがレベルとともに
決める。モーションに合わせて勝手に変え
ちゃダメ!
ジャンプの高さを調整したい!
ThirdPersonCharacter
>CharacterMovement
Jump Z Velocity を変更
待機/走りモーションの調整
新しい待機/走りモーションを追加
かならず、 SK_Mannequinスケルトンとして追加する
12アイドル/走り
モーションを交換したい!
新しいモーションを追加し、
ステートマシンで交換する
ThirdPerson_AnimBP
AnimationBlueprint
AnimGraph
ステイトマシン
ステイト=状態の推移のこと
(移動/攻撃/ジャンプ)
EventGraph
アニメーション用のBlueprint
アニメーションの更新処理
13
ブレンドスペース
変数(この場合は速度)
に基づいて複数のモーションをブレンド
新規ブレンドスペースを作成してモーションを登録
14
BlendSpace
BlendSpaceには1つの値だけでなく、2つの値を使用
したBlendSpaceもあります。
首の向き(上下左右)の値を使用して、4つの首の向
きから中間的な値を作れます。
ステートマシンの接続を差し替える
Idle/Runステイトの中身を開き、
FinalAnimation Poseにつながっているモーションを交換する
BlendSpaceもモーションと同じように扱えるが変数が必要
15
新しいアクションの登録
新しい攻撃モーションを新規モーションとして追加
AnimeBlueprintエディタで正しく出ていることを確認
16攻撃
新しいアクションを追加したい!
機能を作り、キャラクターの状態を変化させ、
変化に応じたアニメーションを再生する。
攻撃の機能を分解して考える
攻撃の機能を分解
1. イベントを取る
2. 状態を変える
3. 攻撃ヒット用のコリジョンを作成
4. 攻撃が当たる側のコリジョンを設定
5. 状態に応じてアニメを変更
17攻撃
今回は割愛
今回は割愛
キー操作 ProjectSetting>Engine>Input
デバイスからの入力を定義
異なる操作系を一度に定義できる
移植にも強い
Action Mappings ボタン操作
Axis Mappings レバー、マウス操作(向き)
Attackボタンを登録
18
Blueprintに直接キー入力を書くこともできる
ThirdPersonCharacter
キャラクター挙動を制御
入力を取得して移動に影響
Attackイベントを登録
状態を作る(IsAttack変数)
19
モーションの追加
新規Stateを作成
Attackのアニメを登録
Idle/Run Stateから遷移したいので接続
20
ステイトマシンの条件
AnimationBlueprintに
ブーリアン変数IsAttackを作成
Idle/Run → Attack
Attack → Idle/Run
をそれぞれ記載
AnimationBlueprintでチェック
21
状態に応じてアニメを変更する
ThirdPersonCharacterをCastして変数をとる
IsAttack変数をAnimationBlueprintのIsAttackにつなぐ
プレイして確認
攻撃はできるが攻撃から戻らない
攻撃の終わりを取得する必要がある
22
アニメーション通知
アニメーションに通知を埋め込める
サウンド
エフェクト
通知イベント(AnimNortify)
通知イベントで攻撃の終わりを通知
AttackEnd を追加
23
Delayなどで攻撃の終わりを時間で管理する方法もある
通知のイベントを取得 24
AnimationBlueprint
AnimationNortifyを取得できる
AttackEnd AnimNortifyからIsAttackに接続
移動の制限
Disable Input 入力できなくする
Enable Input 入力できるようにする
25
ThirdPersonTemplate
キャラアニメ関連のまとめ
ProjectSetting
ゲーム全体の設定(キー設定)
ThirdPersonCharacter
プレイヤーキャラクターの構成、入力と挙動
ThirdPerson_AnimBP
ステイトマシン/状態によってどうアニメが変わるか
BlendSpace
複数のモーションのブレンド
まずはこの4つだけ覚えればOK
26
Q&A
EpicSkelton(SK_Mannequinのスケルトン)って
DCCツールで扱いにくい
SK_Mannequinのスケルトンを使いまわすことでペルソナ(ステートマシンとかブレンドスペース
とかアニメまわりの機能全部)も使いまわせるようになるので学習には最適です。
今実際のプロジェクトで使用することはほとんどあまりありません。使っているDCCツールに合わせ
たスケルトンを使ったほうが良いです。
(正直個人的にも微妙だなあと)
アニメーションを更新するのに、いろんな場所を編集して面倒
27
アニメーションを更新するだけなら、スケルタルメッシュに対して
PlayAnimtionを接続するだけで可能なので、 ThirdPersonCharacter
に書いてしまうこともできます。
アーティスト的にはデータは一箇所にまとまっていたほうが良いと考
えがちですが、保守性を考えると分けられるものは分けたほうが良い
です。

More Related Content

PPTX
ウディタ講座まとめ
PDF
Narrative
ODP
V taro's
PPT
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
PDF
ブループリント+ビジュアルスクリプトと仲良くやる方法
ODP
V taro's
PPTX
Qpic2017年度 第4回グラフィック講座
PDF
【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ
ウディタ講座まとめ
Narrative
V taro's
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
ブループリント+ビジュアルスクリプトと仲良くやる方法
V taro's
Qpic2017年度 第4回グラフィック講座
【Unity道場スペシャル 2018仙台】Unityでステージをつくるのじゃ

Similar to UnrealEngine4でオリジナルキャラを動かそう! (20)

PPTX
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
PPTX
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
PPTX
ゆるゆるUE4ネットワーク入門
PDF
Ue4 animation
PDF
徹底比較Unreal engine4&unity5
PDF
低スペックPCでも動く!UE4の設定&歩き方
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PDF
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
PDF
早速ゲームを作ってみよう 前編
PDF
Making of ユニティちゃんステージデモ in ComicMarket 86
PDF
UE4初心者がとりあえず動くゲームを作ってみた
PDF
UE4勉強会 in 大阪 - アニメーション基礎
PDF
Mixamo presen
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
PPTX
UE4を用いたTPS制作事例 EDF:IR アニメーション作成事例紹介
PDF
Blender で作ったアニメーションを Unreal Engine 4 で利用する
PDF
UE4社内勉強会 入門
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
ゆるゆるUE4ネットワーク入門
Ue4 animation
徹底比較Unreal engine4&unity5
低スペックPCでも動く!UE4の設定&歩き方
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
早速ゲームを作ってみよう 前編
Making of ユニティちゃんステージデモ in ComicMarket 86
UE4初心者がとりあえず動くゲームを作ってみた
UE4勉強会 in 大阪 - アニメーション基礎
Mixamo presen
猫でも分かる UE4のAnimation Blueprintの運用について
UE4を用いたTPS制作事例 EDF:IR アニメーション作成事例紹介
Blender で作ったアニメーションを Unreal Engine 4 で利用する
UE4社内勉強会 入門
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
Ad

UnrealEngine4でオリジナルキャラを動かそう!