ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- Boolean 変数は true / false の 2 値を持つ。フラグ管理や条件分岐の基本データ型
- 初期値は変数を選択 → 詳細パネルの Default Value でチェックを切り替える
- 初期値欄が 編集できない場合はツールバーの Compile を 1 回押す(コンパイル後に表示される)
- 実行時の値変更は Set ノード、判定は Branch ノードを使う
- インスタンスごとに別の初期値を持たせたいときは Instance Editable を ON にする
1Boolean 変数とは
Boolean(ブール)型は true(真)/ false(偽)の 2 値だけを持つデータ型です。UE5 のブループリントでは、赤いピンと チェックボックスのアイコンで表現されます。プレイヤーが鍵を持っているか、扉が開いているか、敵が見えているか、などのフラグ管理に多用します。
2初期値(Default Value)を変更する手順
1. ブループリントを開く
コンテンツブラウザから対象のブループリント(例: BP_PlayerCharacter)をダブルクリックして開きます。
2. 変数を作る or 既存変数を選ぶ
マイブループリントパネルの Variables 欄で + を押し、新しい変数を作成します。すでに変数がある場合はその変数をクリックして選択します。
3. 変数の型を Boolean に設定
右の詳細パネル(Details)の Variable Type ドロップダウンから Boolean を選びます。
4. ツールバーの Compile を押す
ここが UE5 初学者がつまずく最重要ポイントです。初期値の入力欄は変数を作っただけでは表示されません。必ず一度ツールバー左上の Compile ボタンを押します。コンパイル後に詳細パネルの最下部に Default Value セクションが出現します。
5. Default Value のチェックを切り替え
詳細パネルの Default Value → 変数名のチェックボックスをクリックして true / false を切り替え、再度 Compile → Save で確定します。
3初期値が表示されないときのチェックリスト
| 症状 | 原因 / 対処 |
|---|---|
| Default Value 欄がない | Compile を押していない。ツールバー左の Compile をクリック |
| Default Value がグレーアウト | 変数の Category が Component として認識されている。型と参照先を確認 |
| レベル配置済みのアクタで反映されない | レベルに配置済みのインスタンスは別途編集が必要。インスタンスを選択して詳細パネルから上書き、または右クリック → Reset to Default |
4インスタンスごとに別の値を設定したい場合
同じブループリントから複数のアクタをレベルに配置し、それぞれに異なる初期値を持たせたいときは Instance Editable を ON にします。
- 変数を選択して詳細パネルを開く
- Variable セクション → Instance Editable のチェックを ON
- 同じ流れで Expose on Spawn を ON にすると
SpawnActorノードのピンとしても露出する - レベルに配置したインスタンスを選択すると、詳細パネルにその変数欄が出るので個別に設定
5実行時に値を変更する ─ Set ノード
ゲーム進行中に値を更新したいときは、イベントグラフ上で変数をドラッグ&ドロップして Set を選びます。
| ノード | 役割 |
|---|---|
| Get | 現在の値を取り出す(青いピンから出力) |
| Set | 新しい値を書き込む。チェックボックスで true / false を指定 |
| Toggle(NOT Boolean → Set) | 現在の値を反転して書き戻す。鍵の開け閉めなどに便利 |
6値で分岐する ─ Branch ノード
Boolean 変数の値で処理を分けるには Branch ノードを使います。if 文に相当します。
- イベントグラフを右クリック → 検索欄に Branch と入力して追加
- Condition ピンに Boolean 変数(Get)を繋ぐ
- True / False それぞれに処理を繋ぐ
7命名のベストプラクティス
| 命名例 | 意味 |
|---|---|
bIsAlive | 生きているか(先頭 b + 形容詞) |
bHasKey | 鍵を持っているか |
bCanJump | ジャンプ可能か |
bIsVisible | 表示中か |
UE5(および C++ 側)では Boolean に 先頭 b を付ける命名規約が慣習です。
8クラスのデフォルト値とインスタンスの上書き
UE5 の変数値には3 段階の階層があります。これを理解しておくと「なぜ値が戻る / 戻らない」が一発で分かります。
| 階層 | 編集場所 | 影響範囲 |
|---|---|---|
| クラスのデフォルト値 | ブループリントエディタ → Default Value | そのブループリントから生成される全インスタンスの初期値 |
| インスタンスの上書き値 | レベルに配置済みアクタを選択 → 詳細パネル | そのインスタンスのみ。クラスデフォルトより優先 |
| 実行時の値 | Set ノードで変更 | ゲーム実行中のみ。終了でリセット |
レベル配置済みアクタの値を「クラスデフォルトに戻したい」ときは、詳細パネルでその変数を右クリック → Reset to Defaultを選びます。逆に「インスタンスごとの違いを無視して全部統一したい」ときは、各インスタンスでこの Reset を実行してからクラスデフォルトを編集します。
9サンプル ─ 鍵フラグを使う扉
変数: bHasKey Boolean Default=false [Instance Editable: ON]
Event: OnOverlapBegin (扉のコリジョン)
↓
Branch Condition = bHasKey
True → Open Door (扉の Mesh を Rotate)
False → Print String "鍵が必要です"
Event: OnKeyPickup (鍵のアイテム)
↓
Set bHasKey = true
上記の構成では、扉アクタの bHasKey をクラスデフォルトで false にしておき、レベル配置時に「最初から開いている扉」だけインスタンス側で true に上書きできます。ゲーム実行中は鍵を拾った瞬間に Set ノードで true になります。
10NOT ノードと AND/OR の組み合わせ
Boolean を条件式で扱うときに必須なのが論理演算ノード群です。検索欄で次の語を入力すると追加できます。
| ノード名 | 役割 | 例 |
|---|---|---|
| NOT Boolean | true / false を反転 | bIsDead の NOT で「生きている」を判定 |
| AND Boolean | 両方 true のときのみ true | bHasKey AND bIsNearDoor |
| OR Boolean | どちらかが true で true | bIsAdmin OR bIsOwner |
| Equal Boolean | 2 つの Boolean が等しいか | 同期チェック |
AND / OR ノードはピン横の + ボタンで入力ピンを 3 個以上に増やせます。条件が多いときに Branch を何段も繋ぐより、AND ノードで集約してから 1 個の Branch に渡す方が見通しが良くなります。
11関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- ブループリントで途中から親クラスを指定する方法
- C++で編集となっているコンポーネントをブループリントで編集する方法
- Boolean変数の初期値を変更する方法
- ブループリントで特定のキーが押された時にイベントを発火させる方法
- ブループリントで配列からインデックスを指定して取得する方法
- Blueprintで「Esc」キーを使ってイベントを発生させる方法
- Blueprintで「Cast To」を使い、複数のクラスに対応する方法
- Blueprintで指定した確率で処理を分岐させる方法
- FrameGrabberをBlueprintで使用する方法
- ブループリントで現在日時を取得する方法
- Enhanced Input とは?Input Action と Input Mapping Context の基本
- Enhanced Input でキー入力を受け取る手順
- 旧 Input Mappings から Enhanced Input へ移行する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?