‫こんにちは､ ようこそ｡
‫この講義では､ 動くプラットフォームを実装しています｡
‫実際にこのプラットフォームを動かすには､ ゲームループというものを理解し､ C++のtick関数がそれにどう関係しているのかを理解する必要があります｡
‫潜入して確かめてみよう｡
‫つまり､ ここまでは､ この関数､ ティック関数を無視していたわけです｡
‫ビギンプレイにすべて入れているのは､ 以前『Blueprint』で使ったことがあるからです｡
‫しかし､ このティック機能については､ 少しばかり解説しておきましょう｡
‫tickを理解するためには､ ゲームループの概念を理解する必要があり､ ほとんどのゲームエンジンはこの方法でエンジンを構築します｡
‫その仕組みは､ まずゲームエンジンがプレイヤーからの入力を受け止めます｡
‫スペースバーが押されているのか､ Wキーなのか､ マウスが少し動いただけなのか､ マウスボタンが押されているのか､
‫現在起きていることは何でもゲームエンジンに取り込まれて処理されるわけです｡
‫そして次に､ その情報をもとにゲームの状態が更新されます｡
‫プレイヤーが少し前に動くとか､ ボールが跳ねるとか､ そういうことが計算されて､
‫物理エンジンが動いて､ これまでのゲームで見てきたような素晴らしいものが出てくるわけです｡
‫そして第3段階として､ ゲームエンジンがゲームの状態を受け取り､ 「プレーヤーはここ､
‫カメラはここ､ ボールはあそこ」と言い､ それをディスプレイにレンダリングするのです｡
‫数字の羅列から､ 画面に表示する画像に変えてくれるのです｡
‫さて､ その画像はフレームと呼ばれ､ フレームは動画を構成する一連の画像の中の1枚の画像です｡
‫さて､ あなたのコンピューターは1秒間にたくさんのフレームをレンダリングできるかもしれませんし､ レンダリングできる数が少ないかもしれません｡
‫しかし､ それはフレームレートと呼ばれるものです｡
‫あなたのコンピューターは1秒間に何フレームまでゲームループが可能ですか？
‫入力を処理し､ 状態を更新し､ それをレンダリングする頻度が高いか？
‫アンリアルでは､ ゲーム ループの中間ステップでゲームの状態を更新するのに役立つ
‫tick 関数を使用しています｡
‫フレームごとに呼び出される関数で､ イベントと同様にブループリントに存在します｡
‫つまり､ tickイベントを取得することで､ 基本的に1フレームごとにゲームを更新するようなことができるようになるわけです｡
‫さて､ 今回の場合､ これでプラットフォームを動かしたいのです｡
‫では､ どうすればいいのか｡
‫さて､ 設定したアクターの位置を再生開始時に削除し､ 代わりにティックでその位置を更新しても､
‫最初はあまり効果がありません｡ なぜなら､ 常に同じ位置に位置を設定して更新しているだけだからです｡
‫アクターの位置､ 私のベクトル､ そしてセミコロンを設定すると､ 1フレームごとに､ ゲームループを1回繰り返すだけです｡
‫俳優を同じ場所に配置するだけです｡
‫しかし､ これが面白くなるのは､ 私のベクターの中の値を更新する場合です｡
‫つまり､ 私のベクトルドットzは､ 私のベクトルドットzに1を足したものに等しいということができます｡
‫ここでやっていることは､ 現在ベクトルZに存在している値を取り出しているわけです｡
‫それに1を足して､ その結果全体をベクトルdot zに戻しているのです｡
‫つまり､ このゲームループを通過してアンリアルエンジンからtickが呼ばれるたびに､ 私のベクトルzは1ずつ増えていくはずです｡
‫では､ その結果を見てみましょう｡
‫Unreal に入ってコンパイル ボタンを押し､ 次に再生ボタンを押します｡
‫プラットフォームが上昇し､ 空中に浮いているのがわかるでしょう｡ Z位置を増やしているので､
‫どんどん高くなっています｡
‫そこで､ Zを変えるのではなく､ Yを変えることに挑戦してほしいのです｡
‫そこで､ 正しいコードの行を変更します｡
‫複数の箇所を変更する必要があるかもしれません｡
‫プラットフォームキューブのサイズを変更して､ 飛び乗るのに適したプラットフォームにし､ Zを更新する代わりにYを更新することでプラットフォームに飛び乗れるかどうかを確認し､
‫ビデオを一時停止して試してみてください｡
‫なるほど｡
‫お帰りなさい｡
‫では､ Visual Studioのコードに飛び込んでみましょう｡
‫そして､ ベクトルyをベクトルyに1を足したものにしたいのです｡
‫つまり､ Z軸ではなくY軸に沿って移動させることになります｡
‫そして､ my vector変数に格納されている結果に､ 毎フレーム位置を設定することになります｡
‫そこで､ Unrealに戻り､ コンパイルを確認します｡
‫次に､ 移動するプラットフォームをアウトラインで検索し､ 選択します｡
‫詳細ペインに移動します｡
‫ここで､ 基本的にプラットフォームをダブルクリックして表示させ､ それを少し拡大したいと思います｡
‫そこで､ Rキーでスケールツールを使って､ YスケールとXスケールを大きくし､ Zスケールを小さくしてみます｡
‫だから､ 私のプラットフォームは少し短くなっています｡
‫そうすると､ レベルを保存してプレイを押すと､ プラットフォームが私の右側に浮いているようになるかもしれませんね｡
‫だから､ 大きくもなって､ 上に来て立てるようになったということです｡
‫そして､ そこに行く｡
‫最初のちょっとしたゲームの仕組みができました｡
‫動くプラットフォームができた
‫そのあたりは､ 今後の講義で少しずつ解明していきたいと思います｡
‫でも､ とりあえず､ 実際にC++でゲームの機能を実装してみました｡
‫今この瞬間､ あなたはとても誇らしく思うはずです｡
‫自分をほめてあげて､ 次の講義でお会いしましょう｡