青写真
目次
ブループリント ビジュアル プログラミング - ドアの開閉インタラクションの実装
ドア ブループリント クラスの作成 - アクターとコンポーネント、ドアとピボット ポイントの変更の違い
ブループリントのビジュアル プログラミング - ボタンを押してドアを開閉する
ブループリントのビジュアル プログラミング - マウスをクリックしてドアを開閉します
知識ポイント 1: ブループリントはビジュアル プログラミングです
知識ポイント 2: ブループリントはオブジェクト指向のコンパイル済みビジュアル プログラミング言語です
知識ポイント 3: レベル ブループリントとブループリント クラスの違い
レベル ブループリントは、ゲーム内にレベルやシーンを作成するために使用されるツールです。これにより、ゲーム開発者はブループリントでのオブジェクトの作成、物理プロパティの設定、ゲーム ロジックの追加などを行って、完全なゲーム レベルを構築できます。
ブループリント クラスは、再利用可能なコード、関数、アルゴリズムを作成するためのツールです。これにより、ゲーム開発者はブループリントでカスタム クラスを作成し、関数や変数などを定義して、それらをゲーム内で複数回呼び出して再利用できるようになります。
レベル ブループリントとブループリント クラスの違いは、制御範囲と変更できる程度にあります。レベル ブループリントは現在のレベルのオブジェクトと動作のみを制御し、リアルタイムで変更できます。一方、ブループリント クラスはゲーム オブジェクトのすべての情報を定義し、ゲーム中に変更することはできませんが、さまざまなレベルで使用できます。
知識ポイント 4: ブループリントのデータ型
- 赤い横棒に対応するブール型
- 緑色の水平バーに対応する整数
- 薄緑色の横棒に対応する浮動小数点型
- ローズレッドの横棒に対応した紐タイプ
-
操作する小さな白い人の三人称を追加
小さな白人たちにシーンをコントロールさせましょう: 詳細 - 自分 - 所有者 - プレイヤー 0
ブループリントの基本ロジック
ブループリントのコンテンツでは、主にサイドバーと中央のビューポート領域を使用します。ツールバーの上部には、今日のコースのメインコンテンツである「ブループリント」という 2 つの単語が含まれています。マウスの左ボタンをクリックして、分析を展開します。オプション、レベル ブループリントを選択し、マウスの左ボタンをもう一度クリックします。入力したインターフェイスは、レベル ブループリントの編集インターフェイスです。
-
レベル ブループリントを右クリックしてノード検索バーを展開します
-
「BeginPlay」と入力します。大文字は関係ありません。イベント「BeginPlay」を選択し、マウスの左ボタンをクリックして選択します。
-
もう一度右クリックしてノード検索バーを展開し、「PrintString」と入力して、背景がグレー表示になっている PrintString ノードを選択します。
-
BeginPlayノードの右側にある白い三角ピン上でマウスの左ボタンを押して信号線を引き出し、PrintStringノードの左側にある白い三角ピンに接続します。
-
同時に、PrintString ノードの中央にある Hello を、画面に印刷する内容に変更します。例: Hello, blueprint
Unreal Engine 4 エンジンでは、プログラムの実装は、ノード接続を介して信号を送信することによって実行されます。表示されている 2 つのノードには、総称して実行ピンと呼ばれる白い三角形のピンがあり、左側の実行ピンは入力ピンと呼ばれます。, そして、右側の実行ピンは出力ピンと呼ばれます. BeginPlay ノードには左側に入力がありません。これは、純粋な出力ノードであることを意味します。その機能は、再生ボタンが押されたときに解放されることです。ゲームが開始され、信号線で接続された次のノードの入力ピンに信号が伝わり、影響を与えます。同時に、次のノードが機能を完了した後も、信号を次のノードに送信し続けます。接続に沿った次のノード (信号線を指す) 終了すると、このセクションのロジックが実行されます。
ブループリント ビジュアル プログラミング - ドアの開閉インタラクションの実装
センサードアは生活の中でどのように機能するのでしょうか? センサードアは、人の接近を感知するセンサー素子があり、自動的にドアが開き、人が離れると自動的にドアが閉まります。ゲーム、その後 ue4 はボックス トリガーと呼ばれます。
現実のセンサー - ue4 ボックス トリガー。
必須キーワード: レベル ブループリント - シーン内にいくつかのインタラクション、イベント、衝突を書き込みます。
事例1 ドアの開閉をインタラクティブに表示
-
必須: 新しいアイテムの追加 - コンテンツ パック - 開始コンテンツ - SM ドア
-
(追加しただけでは型をすり抜けてしまいます。キャラクターをブロックするには衝突を追加する必要があります)
-
衝突: オープンドアモデル。衝突 - 衝突を単純化するボックスを追加します(衝突を追加した後、player0 はドアを通り抜けることができなくなります)
-
衝突サイズの調整: ショートカットキー R ズーム + プルサイズ(衝突サイズはプレイヤー0がドアに当たった後に動けなくなる範囲です)
-
ボックストリガー: モード - 基本 - ボックストリガー
-
(ドアを開ける操作はボックストリガーの範囲内に緑色の枠で表示されます)
-
ドアを移動可能に変更します: ドアを選択 - 変形 - 移動可能
-
ボックストリガーをクリック - ツールバー - ブループリント - オープンレベルブループリント - 右クリック
-
ドアをクリックします - ドアへの参照を作成します - アクターの回転を設定します - Z 軸を 85 度に変更します(ドア ターゲットを Y 軸を中心に 85 度回転するようにシステムに指示します)
-
(保存して実行すると、player0 がドア/ボックスに近づくとトリガーが開くことがわかります)
-
新しいタイムラインを作成します - ダブルクリックして浮動小数点トラックを追加します - 右クリックしてキーフレーム 1 (時間 0、値 0) を追加します - キーフレーム (時間 2、値 85) を追加します (値は回転角度に基づきます)
-
キーフレーム 1 を右クリックして [自動] をクリックし、キーフレーム 2 を右クリックして [自動] をクリックします(ドアの開きをスムーズにするため)
-
接続線
-
タイムラインの意味:
ドア ブループリント クラスの作成 - アクターとコンポーネント、ドアとピボット ポイントの変更の違い
画面上に物が多い場合、ドアごとにトリガーを作成してからレベルのブループリントを書くと作業負荷が非常に高くなるので、Actorを作成してその後の操作を容易にします。
理解: 俳優はカテゴリーとして理解できる
事例 1 - ドアの開閉をインタラクティブに表示
-
右クリック - ブループリント クラス - アクター - New Door_BP - ダブルクリックして開きます(アクターには人間の服、帽子、ズボンとして理解できるコンポーネントが多数あります)
-
コンポーネント 1 - スケルタル メッシュ (静的メッシュ = モデル) - DoorFrame という名前を追加します。
-
静的メッシュ—SM_DoorFrame
-
コンポーネント 2 - スケルタル メッシュ (静的メッシュ = モデル) - 名前付きドアを追加します。
-
静的メッシュ—SM_ドア
-
-
ボックスコリジョンの追加(ボックスコリジョン(ボックストリガー)) - コリジョンボックスのサイズを調整します(ボックスコリジョンとドアを同じレベルに配置します。同じレベルに配置されていない場合、トリガーボックスも移動します)ドアが動き、ドアが開くと、動くトリガーボックスの範囲内にいる人はドアを閉めることができなくなります)
-
イベント チャートの書き込み - ボックスをクリック - イベント - コンポーネント上 オーバーラップ開始 - コンポーネント終了オーバーラップ上 - タイムライン - キーフレーム 1 (0, 0) を追加 - キーフレーム 2 (1.5, 75) を追加 - —長さ 2—自動右クリック (コンポーネント上)衝突ボックス内で開始オーバーラップ、衝突ボックスの範囲外でコンポーネント終了オーバーラップ)
-
位置を基準にして回転を設定します。
SetRelativeRotation: 相対位置の回転を設定します。ドアとドア枠の位置などの相対位置は変化しません。単一のコンポーネントが独自の軸を中心に回転します。
SetWorldRotation: ワールド座標は変更されません。座標は常に 0, 0, 0 です。単一のコンポーネントはワールド軸に基づいて回転します。
SetActorRotation: コンポーネントの数に関係なく、ブループリント クラス全体を自己回転します。
ブループリントのビジュアル プログラミング - ボタンを押してドアを開閉する
ゲーム操作ではドアの開閉などにキーボードを使うのが一般的です。
ケース - ゲームボタン e でドアが開きます
ノード:
1..イネーブル入力 (イネーブル入力)
2.入力を無効にする(出力を無効にする)
3.Get Player Controller(プレイヤーコントローラーの取得)
[要するに、上記の 3 つの組み合わせは、ブループリントがキャラクターを操作するプレイヤーのキーボードからの命令を受け入れるか拒否できるかを決定する制御文字 (Get Player Controller) を指定します。入力を有効にする (Enable Input)、入力を無効にする (Disable Input) )、キャラクターがトリガー条件を満たすと、入力が有効または無効になります。つまり、キャラクターはキーボードからキーを入力する権利を獲得または失うことができます(この場合、次のケースはマウスです。要約すると、からの入力)デバイスは受け入れられるはずです)、そして「後ろに混乱があります」をトリガーします]
4.E(Eボタン)
5. Gate (Open または Close が満たされたとき) を前提として、E (Enter) が入力されたときにイベントがトリガーされます。
6. フリップフロップ (連続的な反転、A と B が順番に実行され、最初の呼び出しで A が実行され、2 番目の呼び出しで B が実行され、3 番目の呼び出しで A が実行されます...)
7. SetRelativeRotation(相対位置回転の設定)
ブループリントのビジュアル プログラミング - マウスをクリックしてドアを開閉します
ケース - マウスをクリックしてドアを開きます
1. [Add On Clicked] (クリック時)、[Door] - [Event] - [On Clicked] をクリックします (モデルをクリックするとイベントがトリガーされます)。
2. ワールド設定 - ウィンドウ、ワールド設定 - ゲームモードを開く
3.キャラクターが近づくとマウスを表示する