UE4
はじめに Unreal Engine (UE) Advent Calendar 2023の記事です。 qiita.com 過去、書いた記事で紹介したREエンジンの講演に「迂回する経路を取るためにWaypointで大まかな経路を探索し、NavMeshで詳細な経路を探索する」方法が紹介されていた。迂回する経路…
はじめに 実験のために「角度が近いオブジェクトを取得する」ブループリントを作ろうとしたけど、思いの外手間取ってしまったので次回からはパパッと作れるようにメモ書きしておく。 実装方法 角度が重要なので毎度おなじみ内積を利用する。単位ベクトル同士…
はじめに RE:2023 ナビゲーションAIシステム概要とタイトル活用事例 - YouTube 上記の講演ビデオ中にある「ナビメッシュを分割できるオブジェクトを事前に配置しておき、動的なオブジェクトに合わせて有効・無効を切り替えることで、ナビメッシュの動的分割…
問題のブループリント Set ActiveでFalseを渡すことで非アクティブ化しComponentのTickも停止させている。その後、逆の手順で再アクティブ化している。 しかしタイトルの通り、この手順ではProjectile Movement Componentは正しく動かない。 解決策 幸いにも…
はじめに ソースコード 使い方 1. プロジェクトのContentフォルダ内にPythonフォルダを作る 2. Pythonフォルダ内でpythonファイルを新規作成し、ソースコードをコピペ 3. EUWを作る 4. 実行して結果を確認する おわりに 参考資料 はじめに 購入したサウンド…
はじめに レンダーターゲットを使った作例やチュートリアルは豊富にあるものの、例えば「踏みしめた雪の上に新しい雪が積もり足跡が消える」といった徐々に消えていく効果を解説するような内容のものは非常に少なく感じました。(検索の仕方が良くなかったか…
はじめに UE4に標準搭載されているHTN PlannerプラグインのサンプルをGitHubの方にアップしました。 この記事では制作したサンプルプロジェクトの解説をしていきます。 はじめに プロジェクトの実行結果 プロジェクト HTNとは HTN Plannerプラグイン プロジ…
問題 EnvQueryGenerator_BlueprintBaseを継承して自作のEnvQueryGeneratorを作成し、RunEQSQueryで動作確認してみるも、いくらやっても結果が空になる。 原因 生成結果を追加するための「Add Generated ...」ノードがサポートする型とクラスオプションにある…
はじめに モジュール分割 どちらのモジュールに含まれるか? エディタモジュールのクラスをランタイムモジュールのクラスから呼び出した場合 空っぽのUTesBlueprint モードによるエディタレイアウト ExpandNode エディタに記述した処理がなぜ呼び出せるのか …
お知らせ はじめに プロジェクトのダウンロード 任意のプロジェクトへのインストール方法 プログラムについて 大まかな地図 マップについて マップ構造 Propagation Map Working Map Interest Map ナビメッシュを利用したノードグラフの作成 ノードグラフか…
お知らせ はじめに Influence Map 影響 伝播 プロジェクトのダウンロード 任意のプロジェクトへのインストール方法 プロジェクト サンプルマップについて Propagation_P WorkingMap_P Attenuation_P CloseTo_P、EvadeFrom_P、CloseEnemyEvadeAlly_P、CloseAl…
はじめに この記事ではC++を使ってRecast NavMeshをカスタマイズしたコスト計算を使うように拡張して経路探索をコントロールする方法を紹介します。 C++での拡張以外にもNavModifierVolumeと動的なナビメッシュの生成を組み合わせて経路探索をコントロールす…
はじめに UE4での経路探索はRecast & Detourライブラリに実装されているString Pullと呼ばれる経路整形処理によって小回りの効いた経路を出力します。ほとんどの状況ではString Pull後の経路で問題ありませんが、時には道の中心を歩いたり、ゆとりを持って角…
はじめに UE4にはNavigation Raycast(以降Nav Raycastと呼ぶ)というノードがあります。このノードの動作は少々癖があり自分の想像していた結果と異なることが多々あるため、一度Nav Raycastノードの動作を整理してみようと思いこの記事を書きました。 はじ…
はじめに 第14回ぷちコン応募作品でも実装した超簡単な3Dインジケーターの実装を紹介します。 3Dインジケーターがどのように機能するかは次の動画をご覧ください。 youtu.be はじめに プロジェクトはこちら インジケーターブループリント Begin Play Tick 見…
はじめに 2020年7月18日~8月31まで開催されていた第14回ぷちコンに作品を応募しました。 youtu.be この記事では箇条書きですがプロジェクトの実装メモを紹介していきます。 はじめに プレイヤー プレイヤーの移動 コンポーネント プレイヤーの向きと移動の…
はじめに デフォルトできれいな空を描画してくれているが、これを単色の背景色としたいときの設定をまとめる。 変更前と変更後 変更前 変更後 準備するもの Light Source:必須 Sky Sphere:必須 Sky Light:任意 設定 Light Source デフォルトのまま Sky Sp…
はじめに ナビゲーションメッシュを1から自作した経験が全くなかったのでナビゲーションメッシュ(以降ナビメッシュと呼ぶ)の自作にチャレンジしてみました。 はじめに 用語について 結果 プロジェクトはこちら プロジェクトの使い方 Blenderを利用してナ…
はじめに 応募した作品 プロジェクトはこちら 注意 プレイヤー カメラは固定のままカーソル方向へ向く ダッシュ移動 攻撃 武器攻撃の流れ 敵キャラクター 継承関係 ザコ敵BehaviorTree プレイヤーの周りをウロチョロする 複数の敵が同時に攻撃しないようにす…
はじめに 結果 プロジェクトはこちら Flow Field とは Flow Field の生成 巨大なフィールドに対応させる グリッドの階層構造 HPA* アルゴリズム ポータルを生成する ポータルネットワークの構築 Flow Field x HPA* おわりに 参考資料 はじめに World of War …
はじめに Blender作成したモデルのパーツごとにそれぞれマテリアルを割り当てるとUE4にインポートした際にマテリアルスロットとして扱われ、パーツごとに異なる質感を表現したいときに便利ではあるが、単に色を変えただけのマテリアルや全く複雑ではないマテ…
本題 Unreal C++ ではEnum(列挙型)を定義する際に以下のように定義する UENUM() enum class EHoge : uint8 { Hoge, Fuga, Var }; このとき列挙子(HogeやFuga等)でTrueやTRUE、FalseやFALSEを使うとエラーになる。 UENUM() enum class EHoge : uint8 { TR…
いつだかツイッターに書いたような気がするが探すのが億劫なのでざっくりとここに書き出す。 継承したAI ControllerクラスのTickを無効にする。 キャラクタクラスはMovementComponentのOrient Rotation to Movementのチェックを入れる。(もしかしたらこれ要…
問題点 望ましい貼られ方 Box Geometry Brushにそのまま貼り付けた場合。 画面がほぼ真っ白だがエッジ部分に適用されるはずのエミッシブがおかしいことになっているため。(詳しい原因はわからない) Unlitで確認してみると次のようにマテリアルが貼られてい…