UE4-BP

UE4 / 不具合 / プラグインのチュートリアルBPを実行すると他プロジェクトがパッケージ化できなくなる

概要 プロジェクト内プラグインのチュートリアルBPを実行すると他プロジェクトがパッケージ化できなくなる 原因 チュートリアルBPを実行するとUE4共用の設定ファイル(EditorSettings.ini)にチュートリアルBPのパスとともに進捗データが書き込まれるため、そ…

UE4 / BP / NameとTextとStringの違い

Name 内容変更不可で、内部で文字列をハッシュ値に変換して表現する特殊な文字列。検索や比較がとても高速で、主にアセット名や要素名に使用されている。 Text 内容変更不可の文字列。ローカライズに対応できる。主に表示用文字列に使用される。Stringより高…

UE4 / BP / 数値の文字列化で桁や","の有無を指定する方法

Format Textノードでは"{year}/{month}/{day}"のようにすると、"2,019/6/26"のように桁がばらばらで1000以上の値では","がついてしまう。 桁を合わせたい場合や","をつけたくない場合は、ToTextノードを経由すれば文字列化の設定を指定できる。 Use Grouping…

UE4 / BP / 同じ入力イベントを複数のBPで処理したい場合

デフォルトでは同じ入力イベントは1つのBPだけでしか処理できないようになっている。 左クリックイベントの処理などを複数のBPでそれぞれ処理したい場合は、すべてのBPで、入力イベントノードを選択して "詳細 > Input > Consume Input" をoffにすれば処理…

UE4 / BP例:Box領域内のランダムな表面位置を取得

スポーン可能な場所を自動で探すなどに使える。 概要 ActorにBoxコリジョンコンポーネントを追加し、GetScaledBoxExtentでBoxのサイズを取得し、RandomPoint in BoundingBoxでBox内のランダムな位置を得て、LineTraceByChannelでなにかにヒットするまで繰り…

UE4 / BP / AI(NPC)の実装例

UE4ではビヘイビアツリーをつかって自動で動くキャラクタAIを実装することができる。 ビヘイビアツリーを作り、AIの記憶用にブラックボードを作り、AIコントローラにそれらをセットし、自動化したいキャラクタにそのコントローラを適用すると自動で動くキャ…

Format Textノードの書式指定は{}

日本語のノード名は「テキストをフォーマット」 format文字列に書式を指定する。{0}のように{}の部分が自動的に入力pinになる。 たくさんの値をまとめて表示するときなどに便利。 小数点以下の桁数指定のような機能はなさそう。書式例: "{0},{1}" pin0とpin…

BPの共通処理:マクロと関数の違いと速度比較

共通処理を書く方法はマクロと関数の2種類ある。 どちらも新しいノードとして利用できる。 毎回ノードを組むより楽になるし、処理の中身を調整するのも1回で済む。1つのノードにまとめることができるのでグラフが読みやすくなる。 速度計測してみると、ど…

BPでメッシュ作成(プロシージャルメッシュ)

概要:アクタにProcedualMeshコンポーネントを追加し、BPで配列でメッシュデータを用意して、CreateMeshSection。作成されたメッシュはStaticMeshとして保存もできる。 以下詳細

CSVファイルからデータを読んで利用する方法

概要:CSVの列名にあわせた構造体をつくってDataTableとしてCSVをインポートして利用する(本記事ではUE4エディタでの読み込みのみ) CSVの用意 構造体の作成 CSVのインポート BPでデータを利用

ノードのピンは分割や再結合ができる

ピンの右クリックメニューから可能。 Vectorピンをx,y,zに分割したり、分割したピンを元に再結合したりできる。 Vector以外のいろいろな型でも可能。

ノードめも

Format Textノード Set Relative Rotationノード

プレイヤーポーンを任意の方向に向けたい場合

AddYawInputノードを使う。変化させたい回転角度をGetInputYawScaleで割った値を指定する。位置のセットはSetActorLocationで可能だが、回転はSetActorRotateノードではうまくいかない。+90度回転させる場合のBP