戦闘

ロックオン時のカーソルを表示する

画像のようなロックオン時のカーソルを表示するようにする。 1. ウィジェットを作成する [User Interface > Widget Blueprint]から「User Widget」を継承したウィジェットを作成し、「UIW_LockonCursor」と命名する。 CanvasPanelの中にImageを配置し、アン…

4方向のヒットリアクションの出し分け

攻撃を受けた時の敵との位置関係によって前後左右のヒットリアクションを出しわける方法について。 1. コリジョンを設定する キャラクターの武器にコリジョンを付ける。ProjectSettingsでコリジョンのチャンネルを作成する。 武器のコリジョンを以下のように…

GASを使ってコンボ攻撃を実装する

GameplayAbilitySystemを使用してコンボ攻撃を実装する方法 1. プラグインを有効化 [Edit > Plugin] から「GameplayAbilities」のチェックを入れてエディタを再起動する。 2. GAの親ファイルを作成 [Blueprint]フォルダの中に[GAS]フォルダを作成する。 その…

1対1戦闘AIを作る

1. 準備 1-2. データを準備 Enumerationの「E_BushiState」を作成。Structureの「S_AIBushiData」を作成。Data Tableの「DT_AIBushiData」を作成。 2.ステートを定義 ステートを定義する。 3. AIコントローラに敵リストを更新する機能を作る AIコントローラ…

敵をロックオンする

敵をロックオンする機能を実装する。 ロックオンすると、左右の移動が敵を中心に円を描くような移動になる。 1. ロックオンする敵を決める 1-1. ロックオン可能領域を定義する プレイヤーのキャラクターBPを開く。 [Components]パネルで[Mesh]の子階層に[Sph…

槍で敵を攻撃する

槍で敵を攻撃し、敵がダメージのアニメーションを再生するようにする。 0. 敵キャラクターを用意する 敵のキャラクターBPを作成しておく。 1. プレイヤーのキャラクターBPを編集 1-1. 槍にコリジョンを設定する [Components]パネルから[Yari]の子階層にボッ…

戦闘AIの作り方【Dynamic Combat Systemをリバースエンジニアリング】

1対1の戦闘システム作成の参考にするため、UE4マーケットプレイスで販売している「Dynamic Combat System」をリバースエンジニアリングする。 ブラックボード ブラックボードには以下のキーを定義。 [behavior]キーには[E_AIBehavior]というEnumerationが割…

AIチュートリアル④ 〜プレイヤーを攻撃する〜

AIがプレイヤーを攻撃するようにする。 1. サービスの作成 ブラックボード[BB_SamuraiTaisho]にBool型のキー[PlayerIsMeleeRange]を追加する。そして、ビヘイビアツリー[BT_SamuraiTaisho]の[ツールバー]>[New Service]から新しいサービスを追加し、[IsPlay…

刀で敵を攻撃できるようにする(トレースを使用する方法)

1. 刀のソケットを作成する プレイヤーキャラクターのスケルトンエディタを開き、刀の始点と終点のソケットを加える。 [hand_r]の子に[Katana_TopSocket]と[Katana_BottomSocket]を作成する。 2. Anime Notify Stateクラスのブループリント を作成する Anime…

刀で敵を攻撃できるようにする(コリジョンを使用する方法)

1. 刀にコリジョン を付ける [Components]パネルで、[Katana]の子に[Sphere Collison]を作成し、[KatanaCollision]と命名。位置を調整する。 ([Katana]はキャラクターの右手に設置したソケットを Parent Socket に設定している。)そして、[KatanaCollision…