UE4

アクタをクリックしてハイライトする

ゲーム中にクリックしたアクタをハイライトできるようにする。 1. マウスカーソルを表示させる プレイヤーコントローラーを開く。 マウス有効ボタンをクリックするとマウスカーソルが表示され、もう一度クリックするとマウスカーソルが非表示されるようにブ…

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]の子階層にボッ…

AnimationMontageでコンボ攻撃を実装する

「逆袈裟斬り、袈裟斬り、突き」の三段コンボを作成する。 1. アニメーションモンタージュを作成 1-1. アニメーションモンタージュを作成 [Content]を左クリックで[Animation]>[Animation Montage]を作成する。 1-2. セクションを設定 [Asset Browser]パネ…

戦闘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…

AIチュートリアル③ 〜プレイヤーを追跡する〜

プレイヤーを見つけて追跡するAIを実装する。 1. タスクを作成する ビヘイビアツリー[BT_SamuraiTaisho]を開き、[New Task]の[BTTask_BlueprintBase]を選択して新しいタスクを作成し、[FindPlayerLocation]と名前を変更する。Blackboard Key型の変数を[Vecto…

AIチュートリアル② 〜ランダムな場所に移動する〜

ランダムに場所を決めてそこに移動する、というAIを作成する。 1. ブラックボードでキーの定義 ブラックボード[BB_SamuraiTaisho]を開く。 [Blackboard]パネルの[New Key]から[Vector]を選択し、[TargetLocation]と名付ける。 2. タスクの作成 ランダムな場…

AIチュートリアル① 〜準備〜

AIキャラクターを作成していくに当たって、必要となるファイル等を作成していく。 1. AIに必要なファイルを作成する まずはContent直下に「AI」フォルダを作り、その下に「SamuraiTaisho」フォルダを作る。そして「SamuraiTaisho」の下にキャラクタークラス…

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

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

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

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

アニメーションのリターゲット

アニメーションのリターゲットには「同じスケルトンを使用したリターゲット」と「異なるスケルトンを使用したリターゲット」の2種類ある。 同じスケルトンを使用したリターゲット 異なるスケルトンを使用したリターゲット 1. アニメーションアセットのスケル…

ウォーゲームを作る② ヘックスセルの種類を配列で指定して自動で敷き詰める

ウォーゲームを作る①ではヘックスセルを自動で敷き詰めたが、今回は配列で様々なタイプ(色)のヘックスセルを指定して、それを自動で敷き詰めたい。まず、色々な種類のヘックスセルを作成する。 ブループリント [HexMap]にヘックスセルのタイプを指定するinte…

ウォーゲームを作る① ConstructionScript を使ってヘックスセルを敷き詰める

ヘックスマップのウォーゲームを作成する。 その最初の一歩として、ヘックスセルを敷き詰めてヘックスマップを作成する。 ヘックスセルを自動で敷き詰めるにはConstructionScriptを使う方法とEventBeginPlayを使う方法が考えられるが、両者には以下の違いが…

AIの作り方① セッティング編

AIをプログラミングするに当たり、必要なファイルや最初のセッティングを解説する。 AIのBaseClass的な感じで作ってもいいのかも知れない。 1. ナビメッシュを敷く [モード]パネルから[ナビメッシュ バウンズ ボリューム]をビューポートにドラッグ&ドロップ…

アニメーションをつける

UE4のマーケットプレイスでアニメーションを購入して利用するまでの流れを解説する。 異なるスケルトン間でアニメーションをリターゲットするということを行う。 アニメーションリターゲティング この刀のアニメーションを購入したので、これを例に進めてい…

プレイヤーキャラクターの作成

ハードウェアからの入力を取ってキャラクターを動かせるようにしたい。 1. 入力マッピングを設定する ツールバーの[セッティング]>[プロジェクト設定]>[インプット]を選択 アクションマッピング アクションマッピングを設定する。アクションマッピングは離…

キャラクターを動かす

UE4

キャラクターのアセットをインポートして、動かすまでの流れをメモ。 1. キャラクターをインポート [コンテンツ]の下に[Characters]フォルダを作成する。 2. ブループリントを作成 ブループリントを作成 [コンテンツ]の下に[Blueprints]フォルダを作成する。…