主なコンテンツ

〜主なコンテンツ〜

1. Unityで製作したゲームと製作Tips
  1. 三月精チャレンジ(東方Project二次創作)
    1. 作り方
  2. 英語学習2D(オリジナルスマホアプリ)
2. UE4
3. ゲームアプリ見学
4. Bitbucket & SourceTreeでの一連の流れ
  1. 前半
  2. 後半
5. Tips
  1. UnityのTips
  5. SQL文のTips
  6. Final IK
  7. GearVR+Unity

2016年8月25日木曜日

Unreal Engine 4 の学習 (DAY2)



お題目

  • 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 件のコメント:

コメントを投稿