お題目
- Third Personテンプレート
- ヘルスの処理をBPで作成
- イベントAnyDamageを配置
- 変数Healthを配置
- Cntr+D&Dでゲットで配置(MacはCommand)
- Alt+D&Dでセットで配置
- ヘルスバーを表示
- 新規追加でフォルダを追加
- フォルダ内で右クリック>ユーザーインターフェイス>ウィジェットブループリントを作成
- パレット>共通>progress Barを配置
- 詳細>Progress>バインド>バインディングを作成
- 右上のデザイナー>グラフのグラフ側がオレンジになる
- イベントグラフタブを開く
- 右クリックでGetPlayerCharacterを配置
- 右クリックでcastと検索し、ThirdPersonCharacterへキャストを選ぶ
- キャストの出力で変数に昇格する
- 次にGetPercentタブを開く
- 先ほど昇格した変数を配置
- (0:39:40 ~ 0:42:28までクラッシュ対応)
- フォルダのThirdPersonBP>Blueprint>ThirdPersonGameModeをダブルクリック
- ブループリントエディタを開く
- イベントBeginPlayを配置
- ウィジェットを作成(UIを作るためのノード)
- classのドロップダウンリストから先ほど作ったPlayerUIを選択(新規フォルダに作成したウィジェットブループリント)
- Add to ViewPortを配置して完成
- 敵ユニットの作成
- コンテンツブラウザのThirdPersonBP>Blueprintに新規BPクラスをアクターで作成
- ダブルクリックでBPエディタを開く
- コンポーネントを追加>スタティクメッシュコンポーネント
- 詳細のstatic meshにてShape_Cylinderを選択
- Construction ScriptでSetRelativeLocationを配置
- Construction Scriptはインスタンス生成時に実行される処理。
- 座標のピンを右クリックで分割を選択
- タワーの頭をプレイヤーに追従させる(1:12:00)
- イベントグラフタブ
- 弾を作成する
- 新規BPをアクタークラスで作成(これが弾となる)
- コンポーネント追加でSphereコリジョンを追加
- コリジョンプリセットをBlockALLに変更
- コンポーネント追加でCommonから球を追加
- こちらはただの外観なので、コリジョンプリセットはNoCollisionに変更
- Projectile Movementを追加
- レベルに配置して確認
- この辺りからエラーが出るようになるが無視して進める(動画でもエラーが表示されている)
- バウンドしない
- コリジョンをDefoultSceneRootにD&Dする(13:33:00)
- 弾を頭から発射する
- Arrowコンポーネントを追加し、「頭」の子にする
- イベントグラフにカスタムイベントを配置
- 「クラスからアクターをスポーンします」を配置
- 変数内にあるコンポーネントの、先ほど作成したArrowをgetで配置
- イベントBeginPlayの接続先をSet Timer by Function Nameにする。Function Nameは直接入力
- 動く敵を作る
- 新規BPをキャラクターで作成
- ブレークポイントの作成
- ブレーク後にゲームを止めるには、BPエディタ内上部にある「停止」ボタンを押す。ただ、動作が不安定でボタンが反応しない時がある。イベントグラフ内を右クリックをすると治る時があった。
- Nav Mesh BoundsボリュームはレベルのビューポートでPキーを押すと、正常にビルドされた範囲が緑色で表示される(参考)。
- マテリアルを作る
- 3キーを押しながら左クリックでVector3をショートカットで配置できる
- ノードへの色の反映は10秒ほど時間かかる
- 連続爆発
- Alt+クリックでリンクの解除
- ディレイノードを追加
- DoOnceのリセットに接続する
- ゲームオーバーを作る
- GameOverUIにテキストとボタンを配置
- イベントグラフにOnClickedを配置し、リスタートするようにする
- Restart Gameノードは「状況に合わせた表示」のチェックを外さないと出てこない
- ThirdPersonGameMode
- カスタムイベントを配置し、詳細にてインプットにDeadというboolean変数を用意する
- GameOverUIウィジェットをAdd to Viewportするようにする
- ThirdPersonCharacterカスタムイベントを配置
- GetGameModeを配置し、そこからドラッグし、ThirdPersonCharacterにキャストする
- 先ほど作成したGameoverイベントを呼び出す。この時Deadにチェックを入れる。
- Set Show Mouse Cursorに接続し、チェックを入れる
- Set Input Mode UI onlyに接続する
- ゴールの作成
- 新規BPをアクターで作成
- Text Renderはまだ日本語対応されていない
- Horizontal Alignment(水平整列)を中央にする
- GameOverUIに処理を追加
- 右上のグラフを選択
- マウス操作のみにした後に、ThirdPersonGameModeへキャストし、結果を変数として出力するようにする
- 一旦、コンパイルしてからデザイナーに戻り、テキストのConentにてバインドを選択すると先ほど作成した結果の変数が表示され、そこからさらにThirdPersonGameModeで作成したGameOverMessegeがプロパティとして選択できるようになっているので選択する
- プレイヤーから弾を発射する
- 編集>インプット>BindingsにてShootを作成し、左クリックを対応ボタンとする。これによりShootというアクションイベントを呼び出せるようになる。
- 玉がThirdPersonCharacter以外に当たったらDestroyするようにするが、この処理を加えると自分と接触しているのか弾が出なくなる。時間がないのでこれにて講義は終了となる。
0 件のコメント:
コメントを投稿