読者です 読者をやめる 読者になる 読者になる

UE4で1日ゲームジャムたかし君【9:00~11:15】

Unreal Engine 4 (UE4) Advent Calendar 2016 http://qiita.com/advent-calendar/2016/ue4 の21日目、1つめです。

まっったくUE4を触ったことない人向けに、

1日でかんたんなゲームを作ってみようという記事です。

 

※この話はフィクションです

 

 

たかし君はゲーム会社で企画職として働いています。

明日、社内で開催される1日のゲームジャムにて、

先輩エンジニアとペアとなってUnreal Engineというツールを使うことになりました。

前日

「一日でゲームなんて作れるのだろうか…」

 

「でも、Unreal Engineは同じチームの先輩エンジニアで扱えるから大丈夫っしょ!」

 

「先輩に言われたとおり、Unreal Engineのランチャー?と最新版だけ落としておこう」

当日

しかし会場に先輩の姿は無かった…

【9:00】

 

司会「今回はUnityのチームが3チーム、Unrealが1チームですね。」

 

司会「あれ?Unreal 1人しかいないの?Unityの方に合体してもいいけど、Unrealなくなっちゃうのやだなぁ~~何とかがんばってww」

 

「えっ?えっ??先輩いないんだけど???? つんだ(^o^)

 

とりあえずノートPCの電源を入れるたかし君。

すると先輩からSkypeが。

「たかし君、おはよう~」f:id:wakanya:20161218150942j:plain

 

おはようじゃないですよ!いまどこですか!

 

「ちょっと足くじいちゃって今日行けなくなっちゃったのよね~」f:id:wakanya:20161218150942j:plain

 

 

嘘つけ絶対クリパだぞ!なんだその格好は!」

 

 「えっ??あっ」f:id:wakanya:20161218150942j:plain

 

プツン        

 

「通話切れたww」

再びコールするたかし君。

「すまないとは思っている」f:id:wakanya:20161218150947j:plain

 

「とりあえずゲームジャムどうしたらいいですか…」

「指示だすから、あなたが実装してちょうだい」f:id:wakanya:20161218150942j:plain

 

 

「俺、企画することはあってもゲーム自体作ったことないですよ!」

「なんとかなるよ。Unreal Engineは用意してあるの?」f:id:wakanya:20161218150942j:plain

 

「あ、ウッス。ランチャー?っていうところで落としてきて、

 あとは何も触ってないっす。」

f:id:wakanya:20161218180146p:plain

 

「いいね。今日のタイムスケジュールは?」f:id:wakanya:20161218150942j:plain

 

「今が9:00で10時に企画発表、開発の終了が17時で、そこから発表って感じです。」

 

みっじかww 発表準備もある、ゲーム内容を作る時間は、、」f:id:wakanya:20161218150942j:plain

 

「10:30~16時からお昼を除いてだいたい5時間弱ですかね。。」

 

「と、とりあえず整理するといいわ。ホワイトボードとかある?」f:id:wakanya:20161218150942j:plain

 

「あります。ちょっと書いてみます。」

f:id:wakanya:20161218180051j:plain

 

「有能じゃないの」f:id:wakanya:20161218150942j:plain

 

 

「えへへ。14時に中間を設けてみました」

 

「作れるものを作るしかないわね。企画や作りたいものはある?」f:id:wakanya:20161218150942j:plain

 

 

「先輩、俺最近007にハマってるんです。」

「スパイ映画のやつね。」f:id:wakanya:20161218150942j:plain

 

「特に64のゲーム!あれ友達と徹夜しながらやると最高ですよ。」

 

「たしかに面白かったわね。それに近いものを作りましょうか」f:id:wakanya:20161218150942j:plain

 

 

はい!はやく友達や先輩を○したいです!

「…。」f:id:wakanya:20161220231119p:plain

 

「時間も限られているし、テンプレートを使いまわしましょう」f:id:wakanya:20161218150942j:plain

 

 

「テンプレート?」

「ランチャーから起動してみたらわかるわ」f:id:wakanya:20161218150942j:plain

 

「ういーす」

 

「えーと、いっぱいでてきました。」

f:id:wakanya:20161218180149p:plain

「これから新規プロジェクトを作成するのだけど、」f:id:wakanya:20161218150942j:plain

よく使われるテンプレートを含めて作ることができるわ」f:id:wakanya:20161218150942j:plain

 

 

「よく使われるやつとは」

「ファーストパーソン視点、FPSとかで使われるものとか」f:id:wakanya:20161218150942j:plain

 

 

「それ使ったらもう007できるんじゃないっすか?」

「そうね。」f:id:wakanya:20161218150942j:plain

 

「へ~、サードパーソンもある!Vehicleってのは車?」

「正解。」f:id:wakanya:20161218150942j:plain

 

「なんでもできるな!うーん」

「どうしたの?ファーストパーソン視点に決定では?」f:id:wakanya:20161218150942j:plain

 

「なんとなく自分自身を視野に入れたいのでサードパーソンがいいです」

「いいでしょう。さっそく本家と違う要素を入れてきたわね」f:id:wakanya:20161218150942j:plain

 

「下の入力欄に、保存先とプロジェクト名を入力するんですね。」

 

「そうよ。」f:id:wakanya:20161218150942j:plain

 

「作成しました。」

f:id:wakanya:20161218144810p:plain

 

「上のプレイって書いてある三角形押すとプレイできるわ。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144805p:plain

 

え?もう?またまたご冗談をポチー」

f:id:wakanya:20161218181909g:plain

 

「マジだった…」

 

「W,A,S,Dキーで前後左右移動、スペースでジャンプできるわね。」f:id:wakanya:20161218150942j:plain

 

 

「完」

「これからゲーム内容を作るのよ」f:id:wakanya:20161220231426p:plain

 

 

「満足した」

 

 

「満足したらプレイ状態をEscキーで解除してね」f:id:wakanya:20161218150942j:plain

 

「うす・・・」

「ところで対戦ゲームを作りたいのよね?」f:id:wakanya:20161218150942j:plain

 

「ええ。対人戦がいいですね。」

「ノートパソコンしか持ってきていないわね?」f:id:wakanya:20161220231119p:plain

 

 

「はい。あー…、キーボードの左側と右側を使って2人プレイができたら

 って感じです」

「ほいほい。作り方考えるから3分くらい待ってね」f:id:wakanya:20161218150942j:plain

 

 

「はい。(ノリノリじゃないか。。。なんで来なかったんだ…)」

 

3分後

「さっきの予定に合わせた実装内容を送ったから書いてちょうだい」f:id:wakanya:20161218150942j:plain

 

「ノリノリじゃないか!!!なんで来なかったんだ!!!」

 

 

f:id:wakanya:20161218180056j:plain

「オレンジの内容が5つ。なんかできそうな気がする(できるとは言っていない)」

 

「だいぶ絞ったわ」f:id:wakanya:20161218150947j:plain

 

「弾を撃つ、当たって相手が死ぬ。最低限ですね」

「そうね。ゲームにはなりそう」f:id:wakanya:20161218150942j:plain

 

「なんかマルチプレイ対応が難しそうでビクビクしているのですが」

 

「これは私も悩んだんだけど、力技で実装できるにはできる」f:id:wakanya:20161218150942j:plain

 

「おまかせします…」

 「あとは余裕があったらステージやサウンドを考える感じで」f:id:wakanya:20161218150942j:plain

 

「(そこまでは無理なのでは…)」

f:id:wakanya:20161218180059j:plain

 

【9:30】

「10時から企画発表だったわね?」 f:id:wakanya:20161218150942j:plain

 

「はい。とりあえず2人プレイの○し合いってことでゆるくスライドを作成します。」

 

「私はパーティの準備に、じゃなかった足の療養に戻るね」f:id:wakanya:20161218150942j:plain

 

「そういえば足をくじいた設定でしたっけねえ!!」

 

 |

 |

【10:30】

 

オラッ、パイセン出てこいや!!

「なによー」f:id:wakanya:20161220231119p:plain

 

「どうやって『撃つ』んじゃ!!!」

 「おちついて。そしたら『何を』、撃つかを作りましょう」f:id:wakanya:20161218150942j:plain

 

「あー、弾からですね」

 「下の方のコンテンツブラウザってところを見て」f:id:wakanya:20161218150942j:plain

 

「フォルダっぽい。ウィンドウズのアレっぽい」

f:id:wakanya:20161218144831p:plain

 

「そうね。エクスプローラと同様にゲーム内のものを見られるわ」f:id:wakanya:20161218150942j:plain

 

「ここだけなら使いこなせそう」

「コンテンツ階層に移動してちょうだい」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144831p:plain

 

「これが最上階ってこと(?)」

f:id:wakanya:20161218144822p:plain

 

「そう。実際にはContentって名前のフォルダ以下の内容よ。」f:id:wakanya:20161218150942j:plain

 

「既にたくさんある」

テンプレートとスターターキットを含めたからよ。」f:id:wakanya:20161218150947j:plain

 

「ありがとうサードパーソン」

「フォルダを作成してちょうだい。右クリックから選んで。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144835p:plain

「フォルダだけ作ることに関しては一流になれそう」

 

「名前は今回のプロジェクトの名前にするのがいいわ」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144838p:plain

「これ作る必要あるんですか?」

 

ある!f:id:wakanya:20161220232450p:plain

 

「ヒッ」

「でも、今回はぶっちゃけ必要ないわ。」f:id:wakanya:20161218150942j:plain

 

「どっちなんすか」

他のプロジェクトと合体するときに衝突しないようにするのよ」f:id:wakanya:20161218150947j:plain

 

 

「なるほど・・・使いまわしやすくするんですね。」

「でも今回はテンプレートコンテンツに手を入れると思うからなぁ」f:id:wakanya:20161218150942j:plain

 

 

「ああ、他のプロジェクトのテンプレート内容とぶつかりそうですね」

 

「せめて新しく作るアセットなんかはその中に作りましょう」f:id:wakanya:20161218150942j:plain

 

「ウス」

「さっきのプロジェクトトップフォルダの下にまたフォルダ作って」f:id:wakanya:20161218150942j:plain

 

「名前は?」

「『Blueprints』で」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144841p:plain

でたー!名前は聞いたことあるけどよくわからないやつ~

 

「さっそくそのフォルダの中で右クリックして」f:id:wakanya:20161218150942j:plain

 

「もしや、このブループリントクラスを作成…」

f:id:wakanya:20161218144845p:plain

「そうよ。押して」f:id:wakanya:20161218150942j:plain

 

「いっぱいでてきた。もうだめだ」

f:id:wakanya:20161218144848p:plain

Actorを選択してね♡f:id:wakanya:20161218150942j:plain

 

「声色を変えてもわからんものはわからん」

 

BP_Bullertと名付けてね♡f:id:wakanya:20161220232655p:plain

「やめろ!」

f:id:wakanya:20161218144856p:plain

「このまま何もわからず操り人形と化しそう」

 

「軽く説明すると、」f:id:wakanya:20161218150942j:plain

 

「待ってました」

 

見た目、登場したときの挙動、現在の挙動を設定しますf:id:wakanya:20161218150942j:plain

 

「設定したものを、ゲーム中に使う?」

「そんな感じね。弾の見た目、弾がどう進んでいくかを設定するf:id:wakanya:20161218150942j:plain

 

 

「ふーん。名前のBulletは弾。BP_というのは?」

「接頭辞ね。ブループリントですよってこと」f:id:wakanya:20161218150942j:plain

 

「ファイル名によってコレが何なのかわかりやすくするって事なんですかね」

「そう。検索で他人に見つけやすく、自分でも忘れるし、重要」f:id:wakanya:20161218150942j:plain

 

 

「そしていよいよブループリントを書くんですね…」

「実装するうちになんとなくわかるわ。ダブルクリックで開いて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144859p:plain

「専用の画面があるんですね…(遠い目)」

 

「弾の見た目を作りましょう。コンポーネントを追加から、」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144903p:plain

 

「球を選んでちょうだい。まずはまんまる作りましょう」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144906p:plain

 

「発射されて、みんなコレに○されるんですね」

f:id:wakanya:20161218192711p:plain

 

「名前はBulletとかにして、次はこんな感じにドラッグして」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144910g:plain

「これはどういった意味が…?」

「衝突の判定をしやすくするよ。最初からついてるRootが面倒なの」f:id:wakanya:20161218150942j:plain

 

「ふぅーん。」

「じゃ、保存とコンパイルしといてね」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144913p:plain

「先生、コンパイルとは…」

「『反映』と思ってくれればいいわ。」f:id:wakanya:20161218150942j:plain

 

「はーい」

「ボタン押したら出るようにしましょう」f:id:wakanya:20161218150942j:plain

 

「楽しみ」

「上の『編集』から『プロジェクト設定』を選択して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144917p:plain

「きっと発射ボタンの設定だ!」

「そうよ。設定しましょう。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144923p:plain

「グワー目が」

「落ち着いて。左の領域から『インプット』を探して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144927p:plain

「あ、あったぞ」

 

「そこから、『Action Mappings』『Axis Mappings』の三角押して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144939p:plain

 

「開きました。お、ジャンプとか書いてある」

f:id:wakanya:20161218144934p:plain

 

「『Jump』を開いてみて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144945p:plain

 

「なるほど!スペース押したらジャンプする設定なんですね!」

f:id:wakanya:20161218144948p:plain

 

『Jump』命令が飛ぶって感じね。飛んだあとの内容は別に書くf:id:wakanya:20161218150942j:plain

 

「下の『Axis Mappings』も見てみよう」

f:id:wakanya:20161218144951p:plain

「…??」

「Wを押すと前に1.0進んで、Sで-1.0進むってことなんだけど」f:id:wakanya:20161218150942j:plain

 

前に-1進むってややこいですね!後ろに1進むことになるんですね!」

 

「では撃つアクションを追加しましょう。『Action』の方の+押して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218144954p:plain

f:id:wakanya:20161218144957p:plain

「追加されました。」

 

「名前は自由につけられるわ。」

 

「『Shoot』にしよう」

「Noneって書いてあるところをクリックすると設定できるわ」f:id:wakanya:20161218150942j:plain

 

「とりあえずシフトキーにしたい」

 

「検索窓にshiftって入れてみて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218145000p:plain

「shiのときに出てきた。左右でわけられるのか」

 

「とりあえず左にした」

f:id:wakanya:20161218145003p:plain

「あとで2P用の設定もするけど、とりあえず弾を出しましょう」f:id:wakanya:20161218150942j:plain

 

「はやく出したい」

 

「Third Person BP > Blueprintsに移動してちょうだい」f:id:wakanya:20161218150942j:plain

 

「左側の段アイコンをクリックするとツリー構造で見れるよ」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218202431p:plain

「おー、ツリーで見れるのはいいな!」

 

「ThirdPersonCharactorをダブルクリックして開いてみて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218202435p:plain

「こいつがさっき操作したキャラクターってことなんですね」

 

 「ってぐわあああ」

f:id:wakanya:20161218202439p:plain

 

「全体は大きくて威圧感あるけど一つ一つは難しくないの」f:id:wakanya:20161218150942j:plain

 

「ほんとぉ?」

「Jumpのところをマウスホイールや右クリックで拡大してみて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218204306p:plain

「インプット…Jump…」

 

「どう?」f:id:wakanya:20161218150942j:plain

 

「設定のところでJump設定してあったのが左の四角で、

 Jumpボタン押したら右のジャンプの四角、離したらジャンプをやめる右の四角に

 処理が流れるってことか!」

 

「察しが良すぎて気持ち悪いわ。減点」f:id:wakanya:20161218150942j:plain

 

「えっ」

「その通りで、設定したアクションに対し青い処理が続いている」f:id:wakanya:20161218150942j:plain

 

「自分で設定した『Shoot』ノードを追加してみましょう」f:id:wakanya:20161218150942j:plain

 

「やったぜ」

なにもないところで右クリックしてね♡f:id:wakanya:20161218150942j:plain

 

「パソコン教室に通っている気分だ…」

f:id:wakanya:20161218204345p:plain

「また選ぶ感じの画面が出てきました」

 

shootで検索してね♡f:id:wakanya:20161220232655p:plain

f:id:wakanya:20161218204354p:plain

「おおっ選択肢に出るようになっている。(スルーしよう…)」

 

f:id:wakanya:20161218204404p:plain

「選択すると『Jump』と同じ感じのが出てきました」

 

「『Shoot』の対応ボタンを押したり離したりしたら呼ばれるわ」f:id:wakanya:20161218150942j:plain

 

「シフト押されたら呼ばれる、か。押された後の実装はその後に続けて書くんですね」

 

「ええ。そのまえに弾をどこから出すのか決めないといけない」f:id:wakanya:20161218150942j:plain

 

「魔法はケツからですね」

「ビューポートを開いてちょうだい」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218205902p:plain

 

「おおっ、相棒!久しぶりだな」

f:id:wakanya:20161218205920p:plain

 

コンポーネントのところでこのBPの要素が見れるわね」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218205940p:plain

「さっき弾を作ったときと同じ感じで、カメラまでついてる」

 

「BPはブループリントの略…か」

 

「実際にこのカメラからの視点でゲームしているの」f:id:wakanya:20161218150942j:plain

 

「そういえば、この子武器をもってないですね」

「弾をどこから発射するかという問題が出てきたわね」f:id:wakanya:20161220231119p:plain

 

「目からビームか、股間しか思い浮かびませんでした」

「相手も同じ人なら目より股間から発射したほうが当てやすそうね」f:id:wakanya:20161218150942j:plain

 

やったぜ股間から出すぜ!

コンポーネント追加から、Sceneを追加してちょうだい」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218210117p:plain

「股間大活躍シーン」

「名前は発射するっぽい名前にしてね」f:id:wakanya:20161218150942j:plain

 

「P、、『Shooter』にしました…」

f:id:wakanya:20161218210331p:plain

 

Shooterの矢印をいじって発射口の位置を調整してね♡f:id:wakanya:20161220232655p:plain

 

f:id:wakanya:20161218210621g:plain

「・・・・・。」

 

「イベントグラフの方へ戻ってちょうだい」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218210827p:plain

 

「ShootイベントのPressedの三角をドラッグドロップして」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218211107g:plain

 

「えーと、また選ぶ感じですね」

 

「spawnで検索して、『クラスからアクタ~~』を選択」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218211308p:plain

「スポーンは産まれるとかって意味ですね。ゲームやってると時々聞きます」

 

FPSなんかだと倒されたらどこかにリスポーンするとか言うわね」f:id:wakanya:20161218150942j:plain

 

「クラスを選択を押して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218211920p:plain

 

「スポーンする弾を選択するんですね!」

 

「そう。Bulletで出てくるはず」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218212020p:plain

 

「で、どこにスポーンするかを決めていくわ。」f:id:wakanya:20161218150942j:plain

 

「まだ設定することがあるんですね」

 

「Shooterの参照をゲットするわ」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218212242g:plain

 

日本語でおk

Shooterから出したいからShooterちゃんをボロンさせてね♡f:id:wakanya:20161220233655p:plain

 

「なんとなくは、わかる」

「Shooterの○から引っ張って検索して」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218212532p:plain

「もしかして、これから引っ張って検索しての繰り返しになる?」

 

「なる!だから言い方もだんだん省略的になるから覚えてね」f:id:wakanya:20161218150942j:plain

 

「はーい」

「『get trans』で検索してワールド座標を使う」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218212811p:plain

「この『Get World Transform』ってやつですね」

 

「Transformには位置、向き、大きさの情報が入っているわ」f:id:wakanya:20161218150942j:plain

 

 

「なるほどShooterの…右曲がりとかも含まれているんですね」

「何を言っているのかしら」f:id:wakanya:20161220231119p:plain

 

「乗ってあげたのに!」

「『Get~~』ノードのReturnからSpawnノードにつなげて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218213256p:plain

「色々揃った気がする」

「ええ、保存とコンパイルしてプレイしてみましょう」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218213831g:plain

 

「出てる…自分の出したものに押されて後ずさっている…」

 

いっぱいでたね♡f:id:wakanya:20161218150942j:plain

 

「出たものを進ませたいです」

 

「そしたら、弾のBPへ進む処理を入れましょう」f:id:wakanya:20161218150942j:plain

 

「BP_Bulletを開きました」

f:id:wakanya:20161218192711p:plain

 

「イベントグラフへ移動して、変数を追加します」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218214759p:plain

「変数?」

 

「それぞれの弾が持つパラメータって感じのものね」f:id:wakanya:20161218150942j:plain

 

「『進む向き』をもたせたいから、名前はDirectionとかにして」f:id:wakanya:20161218150942j:plain

 

「はーい」

 

「右の方の詳細で、変数の型をVectorにして」

f:id:wakanya:20161218215031p:plain

「ああ、3次元の向きを持ったってことですね。」

「値だけね。反映はこれから。編集可能にチェックしといて。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218215158p:plain

 

「そして反映?」

 

「ええ。イベントTickノードが見えるかしら」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218215753p:plain

「みえます。」

 

「これが更新のたびに呼ばれるノード」f:id:wakanya:20161218150942j:plain

 

「毎フレームの処理とかそういうやつですか」

 

「そんな感じ。なにもないところで『Get Actor Location』作って」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218215739p:plain

 

「これは?」

f:id:wakanya:20161218215833p:plain

自身の位置を取得しているわ」f:id:wakanya:20161218150942j:plain

 

「自分探しをしないといけないんですね」

 

「次に弾が飛ぶ速度。変数に『Speed』を追加して。型はfloatね」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218220112p:plain

f:id:wakanya:20161218220118p:plain

「だんだんペースが早くなってきている…」

 

「保存とコンパイルしたら、デフォルト値を100くらいにして」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218220421p:plain

「速度変えたいときは、ここをいじればいいんだな」

 

「あれ?向きのデフォルトは?」

「それはあとで、スポーンさせたBP側から前方を与えるわ。」f:id:wakanya:20161218150942j:plain

 

「そっか一定じゃないもんなぁ」

 

「DirectionとSpeedの参照をとってきて」f:id:wakanya:20161218150942j:plain

 

「? ゲットとセットの選択肢が出てきました」

f:id:wakanya:20161218220805p:plain

 

「セットはその変数の値を変えるノードが出るわ。今回はゲットで」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218220907p:plain

「ふい~カラフルですね」

 

「Directionから伸ばして、検索に『*』を入れて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218221058p:plain

「『*』?掛け算?」

「そう。『向き』×『スピード』で位置の変化量を出すわ」f:id:wakanya:20161218150942j:plain

 

「理系っぽい」

 

vector*floatの演算を選択したら、Speedと結びつけて」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218221416p:plain

f:id:wakanya:20161218221421p:plain

「掛け算するのも一苦労だ」

「自分自身と掛け算の結果を足し算するの。できる?」f:id:wakanya:20161218150942j:plain

 

「検索のときに『+』をつかえば、できそう!」

f:id:wakanya:20161218221708p:plain

f:id:wakanya:20161218221718p:plain

f:id:wakanya:20161218221726p:plain

 

「なかなかやるじゃない」f:id:wakanya:20161218150942j:plain

 

「先輩、俺プログラマいけるかもしれない」

 

「才能あるかもね。次は、『Set Actor Location』」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218221942p:plain

f:id:wakanya:20161218222253p:plain

「自分の位置を変えるってことですか」

「そうよ。自分の位置と変化量を加えたところに移動するの」f:id:wakanya:20161218150942j:plain

 

「そして、いつ位置を変えるか?」

「イベントTickの白い矢印から、Setノードにつなげるのよ」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218222246p:plain

 

「おおおおわかってきた気がする。更新のたびに変化量分移動するんですね」

 

「次は向きね。保存とコンパイルして、相棒のBPに行って」f:id:wakanya:20161218150942j:plain

 

「うっす。Third Person Charactor開きました。Shootのところ?」

f:id:wakanya:20161218222624p:plain

 

「そこでいいわ。Return ValueからSet Directionを選択」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218222922p:plain

f:id:wakanya:20161218222931p:plain

「ええと、向きは正面に発射したいです」

 


「そしたらShooterから、『Get World Rotation』」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218223214p:plain

「これは?」

 

「ワールド座標での回転具合ね」f:id:wakanya:20161218150947j:plain

「前方を取得するには、そこから『Get Forward Vector』」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218223427p:plain

「やりたいことはわかっててもググったり知ってないと作り方わからない感じだなぁ」

 

「これをセットに使うんですね。」

 

「ええ。Spawnからの白いノードもつなげてね。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218223751p:plain

「この白いのが続いてないと流れてこないんですか?」

 

「そうよ。他の値がいくら入ってても繋がってないと流れてこない」f:id:wakanya:20161218150942j:plain

 

 「もしかしてもう動きます?」

「動くわ。保存とコンパイルね。」f:id:wakanya:20161218150942j:plain

f:id:wakanya:20161218224834g:plain

おほおおお~出てりゅうううう

 

よかったね♡f:id:wakanya:20161218150942j:plain

 

【11:15】

「先輩、予定では12時までの45分でマルチプレイ化なんすけど…」

f:id:wakanya:20161218230141p:plain

 

「そうね、これからBPの説明の仕方を省略的にいくわよ」f:id:wakanya:20161218150947j:plain

 

「まじか~がんばるぞい」

 

次の記事に続きます。

wakanya.hatenablog.com