UE4インストールからパッケージングまで
今回、UE4でパッケージングを行う際に必要なソフトをまとめました。
まず、最初に必要なのは「Visual Studio 2015」
そして、「Visual Studio 2015」を起動した後
「Install Visual C++ 2015 Tools for Windows Desktop」
をインストールします。
↓インストール手順参考
C++/Visual Studio 2015 プログラミング
そして、何も入ってなければ「WnidowsSDK」がないとエラーが出るのでこちらのサイトからダウンロード
Windows SDK アーカイブ - Windows アプリ開発
これで最低限パッケージングに必要なソフトのインストールは完了です。
UE4でヒット演出解説
Unreal Engine 4 (UE4) Advent Calendar 2017 の8日目です。
今回はアクションゲームで重要となるヒット演出について
・物理アニメーション
・カメラシェイク
・ヒットストップ
・ヒットエフェクト
・吹き飛ばし演出
この5つで紹介していきます
最後にサンプルプロジェクトを配布しているので
参考にどうぞ!
今回、紹介するのはこんな感じ
物理アニメーション
まずキャラクターにダメージモーションをセットしたいところですが
今回はダメージモーションがなしのため物理アニメーションを採用したいと思います
alweiさんのブログや公式が紹介していますが改めて紹介します
モーションが物理的なオブジェクトの影響を受けてそれにそった動きをします。
~alweiさんのブログより~
ここに関してはalweiさんのブログや動画を参考にしてもらえれば大丈夫です
付け加えて言うとpelvisではなくspine_2などを選ぶとその子ボーンのみ
アニメーションさせることができます
この実装でこんな感じ
カメラシェイク
UE4にカメラシェイク用のクラスが用意されており
こちらのブログで紹介されていますが改めて紹介します
UE4 カメラを振動させる(Camera Shake BP、Client Play Camera Shake) 凛(kagring)のUE4とUnityとQt勉強中ブログ
おなじみのブループリントクラスから
「CameraShake」クラスを選択し
こちらの詳細で設定したものを
ブループリントから呼び出します
おまけですが、なるさんがアクションゲームを参考に例をあげたものが
とても参考になるのでここに添付しておきます
ヒットストップとカメラ揺れを色々試してた pic.twitter.com/TmGrCFtt1w
— なる (@nal_ew) 2017年10月26日
カメラシェイクを入れると微妙ですがこんな感じに
(すいません、GIFだとわかりにくいですね)
ヒットストップ
これに関しては2つ方法があってベヨネッタのウィッチタイムのような敵だけがスローモーションになって自分は自由に動かせたい場合、こちらの
「Custom Time Dilation」を0~1の間で設定することで
遅くしたり一時停止させることができます
しかし、今回は全体的に遅くしたいのでこちらのブログの最初で紹介された
「Set Global Time Dilation」を使い、ヒットストップを実装していきます。
まずヒットストップというのは、ヒットしたときに何フレーム描画を停止するまたは遅くすることを言います。
ヒットストップを入れるとこんな感じに結構いい感じになります。
(Gif画像が分かりにくくてすいません)
↓参考までにどうぞ
ヒットストップについて
— Wazen (@Assault_Spy) 2016年4月8日
Hit stopは両アクターのCustom Time Dilationを一時的に0にすることで実装できます😋👍 ※動画は効果の有無を比較したもの。参考に。 #UE4 #UE4Study pic.twitter.com/ruwLMvY51S
吹き飛ばし演出
あとは下の画像のノードのように
ヒットしたときにライフカウントを計算して
Simulate Physicsをオンにしてあげれば吹っ飛ぶようになります
こんな感じに
あとはこれに当たった時のエフェクトやサウンドを適当に入れれば
良い感じのヒット演出ができます。
今回は敵のブループリントクラスだけで完結しています。
敵のブループリントはこのようになっています
今回、結構ブログやツイートの紹介に頼っている部分が多くて申し訳ありません
しかし、他の方がとてもよくまとめているのでそのまとめ記事として投稿しました
日々情報発信をしていただいている方には頭が上がりません、本当にありがとうございます
最後に今回紹介したことをまとめたプロジェクトファイルを下記で配布しています
もしよければダウンロードして参考にしてください。
SampleHitAction.zip - Google ドライブ
Unreal Engine 4 (UE4) Advent Calendar 2017 - Qiita
明日はまめおさん(まめお (@PaperSloth) | Twitter)の
「Unreal C++を書くにあたってやっておいた方がいいこと」です。
ありがとうございました。
UE4で残像演出
以前、開催されたUE4GameJamにて作成したTPSアクションゲームで残像演出をどのように実装しているかよく聞かれたのでここに書き記しておきます。
基本的にはヒストリアさんのポーズのスナップショットを使っています。
残像演出にはいくつか方法がありますが、
今回は1フレームごとのキャラクターのポーズを保持して、それをキャラクターと同じメッシュに流し込む方法を解説します。
まずは残像に使いたいアクターを作成します。
この時に残像させたいメッシュと同じメッシュを作成してください。
名前やマテリアルは自由に決めてもらって大丈夫です。
だいたいで半透明ぐらいにしておくと見栄えが良くなります。
BPの構成はこんな感じです。
「Snapshot」というPose Snapshotクラスの変数をスポーン時に入れられるように設定しています。下のTickでは徐々に透明になるという処理を組み込んでいます。
残像のメッシュのマテリアルですが
こんな感じでマテリアルインスタンスを作成してブループリントから値を調整して徐々に透明になるように作成しています。
この後、残像用のアニメーションブループリントを作成します。
ここでは残像のブループリントクラスからSnapshotを受け取ってアニメーションブループリント用のSnapshot変数に格納しています。
そして、それを最終アニメーションポーズに適応させます。
ここでポーズスナップショットを赤で囲っている設定にしてください。
あとは残像させたいBPクラスでこのように組みます。
こんな感じです。
基本的にはSpawnActorで作成した残像ブループリントクラスを生成していく感じになります。それをどのタイミングで生成していくかどのポーズを適応させていくかどのように残像っぽく見せるかを調整していければ良いと思います。
最後に今回のプロジェクトをこちらに公開しておきます。
SampleAfterImage.zip - Google ドライブ
ご自由にお使いください。
ありがとうございました。
※ 注意
今回、紹介したこのやり方は場合によってはボトルネックになってしまう可能性があるので改善するとしたらあらかじめ残像ブループリントクラスをある程度(7~8体)最初に生成しておいてそれにポーズを流し込むやり方を推奨します。
拡張エディタ Third Person Controller - Melee Combat Template 使い方まとめ アセット真夏のアドカレ8/27 ~武器の作成~
はじめに
この記事は「Unity アセット真夏のアドベントカレンダー 2017」8月27日の記事になります。
今回は拡張エディタ「Third Person Controller - Melee Combat Template」の使い方のまとめの「武器の作成」の記事ととなります。
今回、紹介する武器の作成はこちらの動画で
紹介されていますが、さらに掘り下げて紹介していきます。
注意
こちらの記事は前回の「基本的な使い方」の続きとして紹介していきます。
目次
1、現在の状態を確認
2、武器の作成
1、現在の状態を確認
武器を作成する前にまず現在の状態を確認しましょう。
現在クリックまたはXboxコントローラーでRBを押すとこんな感じにパンチコンボ攻撃をします。
これはデフォルトで設定されている攻撃になります。
まずはこの仕組みについて解説していきます。
現在、このオブジェクトにコンポーネントである「vMeleeManager」の「Wepons」には何も入っていない状態です。
この状態だと素手であると認識するため先ほどのパンチの攻撃を繰り出すようになります。それをどこで認識しているかというとキャラのAnimationControllerの
Layersの「FullBody」の「Attacks」の
「WeakAttacks」「StrongAttacks」とありますが構造はどちらも同じなので今回は「WeakAttacks」を軸に紹介します。
「Unarmed」がパンチコンボ攻撃のStateになります。
他にもStateがありますが後に説明をします。
「Unarmed」を開くと
「A」→「B」→「C」と並んでいます。
これがコンボ攻撃の流れになっています。
「A」のInspectorを開くと
赤字で引いた部分が重要な項目になります。
「Start Dmage」「End Damage」というのはモーションで攻撃の当たり判定が発生する時間帯を指しています。当たり判定はこの黄色いボックスになります。
この「PunchLeft」というモーションの場合だと
25%=0.25
としてカウントされ、ここから右腕の当たり判定が機能します。
そしてこちら
60%=0.6
ここまでのモーション期間が攻撃判定になります。
「Damage Multiplier」はキャラの攻撃力の加算値です。
このパラメーターはモーションごとに攻撃力を変化させたいときに使用します。
「Melee Attack Type」は「Unarmed」と「Melee Weapon」の二つのタイプがありますが武器を持っていないので「Unarmed」になっています。武器を設定したモーションの際は「Melee Weapon」にします。
最後に重要なのが
「Reset Attack Trigger」です。
これはコンボ攻撃の最後のモーションの場合チェックを入れてください。
この場合だと「C」が最後になるのでこちらにチェックが入っています。
これで現在の状態の解説は以上となります。
2、武器の作成
Invector→Melee Combat→Create Melee Weaponを選択し、右のウィンドウを開きます。
こちらキャラクター作成と同じように武器にしたいモデルデータを入れます。
するとこのように生成されるので、まず黄色いコリジョンを整えます。
オブジェクト構造はこのようになっていて「hitBox」を拡大縮小するなどで整えます。
こんな感じにモデルより大きめに取ると良い感じに判定がしやすくなります。
こちらの武器のコンポーネントで「vMeleeWeapon」があります。
これは武器の詳細になっており、重要なのは
「Hit Box」当たり判定コリジョン
「Attack ID」攻撃モーションタイプ
「Stamina Cost」使用時のスタミナコスト
の3つになります。
「Attack ID」攻撃モーションタイプというのはアニメーションコントローラーのこの部分です。これで武器ごとにモーションを設定することが出来ます。
この場合、剣を振るモーションにするため「Attack ID」を1にします。
作成した武器をキャラの手につくように調整します。
これで攻撃が剣を振るモーションになりますが、一応キャラの「vMeleeManager」の「RightWeapon」に作成した武器を入れます。
これにて武器の作成は以上となります。
次回に続きます。
拡張エディタ Third Person Controller - Melee Combat Template 使い方まとめ アセット真夏のアドカレ8/27 ~敵の作成~
はじめに
この記事は「Unity アセット真夏のアドベントカレンダー 2017」8月27日の記事になります。
今回は拡張エディタ「Third Person Controller - Melee Combat Template」の使い方のまとめの「敵の作成」の記事ととなります。
今回、紹介する敵の作成はこちらの動画で
紹介されていますが、さらに掘り下げて紹介していきます。
注意
こちらの記事は前回の「武器の作成」の続きとして紹介していきます。
キャラ作成と同じようにInvector→Melee Combat→Create NPCよりCharactorウィンドウを表示し、モデルデータとAnimator Controllerの「Invector_MeleeCombatv2」 をもとに敵用のAnimator Controllerをセットします。
作成すると敵オブジェクトができますが、AIは働かずプレイヤーを認識しません。
NavMeshを作成します。
Window→NavigationよりBakeを行います。
※ステージはStaticでなければいけません。
NavMeshの詳しい資料はこちらまで
これで敵はプレイヤーを認識してくれるようになりますが攻撃をしてきません。
敵キャラに「vMeleeManager」を追加します。
これで素手のみですが敵キャラらしく、プレイヤーを発見したら戦闘状態になって適度に攻撃してくる感じになります。
申し訳ありませんが、AIの調整に関しては現段階では自分拡張するのが一番早いです。
敵も自キャラと同じように武器を持たせたり、パラメーターを変更することができるので「基本的な使い方」より参考にしていただければと思います。
以上で敵の作成を終わらせていただきます。
拡張エディタ Third Person Controller - Melee Combat Template 使い方まとめ アセット真夏のアドカレ8/27 ~基本的な使い方~
はじめに
この記事は「Unity アセット真夏のアドベントカレンダー 2017」8月27日の記事になります。
今回は拡張エディタ「Third Person Controller - Melee Combat Template」の使い方のまとめの「基本的な使い方」の記事ととなります。
目次
1、プレイヤーキャラを作成する
2、Charactorウィンドウの設定
1,キャラモデルデータ
2,アニメーションコントローラー
3,カメラデータ
4,UIデータ
3、各詳細設定
最初はアセットをインポートした後、
Assets\Invector-3rdPersonController\Melee Combat\DemoScenesの中にある「vMeleeCombat_DemoScene」を開いてみましょう。
開くとゲーム感覚で一通り機能を体験できるのでぜひやってみましょう
個人的にこの段階でゲームとしてよく出来ていると感じました・・・
今回、紹介する基本的な使い方はこちらの動画で
解説されていますが、動画の手順や解説していない部分を記載していきます。
解説する内容はUnityちゃんを使って解説していきます。
1、プレイヤーキャラを作成する
Invector→Melee Combat→Create Melee Controllerを選択するとCharactorウィンドウが表示されます。
2、Charactorウィンドウの設定
1,キャラモデルデータ
動かしたいキャラのモデルデータを入れる
2,アニメーションコントローラー
動かすアニメーションコントローラーを選択
注意事項
基本的に「Invector_MeleeCombatv2」というあらかじめ用意されているアニメーションコントローラーを使用するのですが、このアニメーションコントローラーはキャラごとに拡張していくのでコピーを取っておくこと推奨します。
3,カメラデータ
こちらもあらかじめ用意されているカメラデータを使用します。今回作成するのはTPSアクションゲームを想定しているので「vMeleeCombat@CameraState」を選択しましょう。他にもトップダウン型やサイドスクロール型もあるので興味があれば触ってみるのもアリです。
4,UIデータ
こちらもあらかじめ用意されているUIを使用します。
これでキャラクターの作成が終わりました。
Gif
3、各詳細設定
それでは今回作成した内容をもとに各解説を行います。
1,「vThirdPersonCamera」
今回作成したキャラクターを追尾するカメラになります。
基本的に現時点でそこまで違和感のあるカメラの挙動はしていないのでデフォルトで大丈夫だと思いますが、調整するとしたらカメラとキャラの距離は「Distance」、カメラの高さは「Height」を調整すれば良いと思います。
2,「vThirdPersonMelee」
実際に動かすプレイヤーになります。
構成はこのようになっています。
「vThirdPersonController」
デフォルトの設定クラス
「Default」「Stamina」「Layers」「Locomotion」「Jump」「Grounded」の6つのパラメーターを調整できますが基本的に「Default」が一番使うと思うのでそちらのみの解説を行います。
重要なパラメーターを赤で引きました。
「Max Health」・・・キャラの最大HP
「Max Stamina」・・・キャラの最大スタミナ
「Stamina Recovery」・・・キャラのスタミナ回復速度
「Current Health」・・・キャラの現在の体力
キャラを成長させたい場合はこちらの値を調整すればいけると思います。
「vMeleeCombatInput」
プレイヤー入力の設定クラス
「vGenericAction」
新規のアクションクラス
既存以外で新しくアクションシステムを作成する場合、こちらのクラスを設定して使います。(基本的にあまり使う機会は少ないです。)
「vMeleeManager」
バトルアクションクラス
戦闘するうえでとても重要なクラスになります。
「On Damage Hit」に関数をセットすれば、このキャラにダメージがヒットした際にその処理が走ります。
「Wepons」では右手、左手の武器を設定することが出来ます。武器の説明はこの後の記事でご紹介します。
「vLockOn」
ロックオンクラス
「Aim Image Prefab」・・・ロックオン時に表示される画像
「Aim Image Size」・・・ロックオン時に表示される画像サイズ
現在、デフォルトの画像が入っていますがオリジナルに切り替える場合こちらを切り替えていただければ
3,「vGameController」
主にゲームオーバーの時の処理になります。
このオブジェクトはゲームマネージャーとしての役割を担っているの拡張する際はこちらを参考にすると良いと思います。
4,「vUI」
このオブジェクトの子オブジェクトに「HUD」があります。
「Health Slider」・・・HPゲージ
「Stamina Slider」・・・スタミナゲージ
「Damage Image」・・・ダメージ時の画面エフェクト画像
「Flash Speed」・・・ダメージ時の画面エフェクト速度
「Flash Colour」・・・ダメージ時の画面エフェクトの色
重要な項目としてこんなところです。
今回はここまで次回に続きます
拡張エディタ Third Person Controller - Melee Combat Template 使い方まとめ アセット真夏のアドカレ8/27
みなさん、お疲れ様です。
個人でよくゲーム開発を行っているYuuki Hiraiです。
この記事は「Unity アセット真夏のアドベントカレンダー 2017」8月27日の記事になります。
今回は拡張エディタ「Third Person Controller - Melee Combat Template」の使い方のまとめを紹介していきます。
https://www.assetstore.unity3d.com/jp/#!/content/44227
PV
こんな感じのアクションRPGを手軽に作成することができる拡張エディタになっております。
使用例PV
あまりにも機能が多すぎるため、一つの記事でまとめず複数の記事で解説していきたいと思います。
・基本的な使い方
・武器の作成
・敵の作成
この3項目で解説していきます。
よろしくお願いします。
おまけ
YuukiHiraiの薦めるファンタジーアセットです。
YuukiHiraiの薦めるアクションゲーム用のアニメーションアセットです。
これよりクオリティの高いアニメーションアセットないと思います。