【UE4.12で】alweiさんの『UE4 一通りの要素を入れたゲームを作ってみる』をやってみた
前回の記事で、UE4の独習プランを立てました。
今日はその一歩目、alweiさんの『UE4 一通りの要素を入れたゲームを作ってみる』にトライしました!下記のスライドに沿って、UE4の基本的な機能をおさえながらゲームを作ります。
すっごく簡単にゲーム(動くもの)が作れました!
スライドが分かりやすく、AIやライフポイントなど今後の開発にも使えそうな機能や仕組みを使っているので、楽しみながら作ることができました。ただし、
- スライドで使われているUEのバージョンは4.8、2016年6月現在の最新版はバージョンは4.12なので、解説と異なっているものがあった。
- 超初心者にとっては「それなに?」「どうやるの?」という疑問がでる箇所がいくつかあった。
ので、この記事では
- UE4.12でやるときに気をつけたいこと
- ガチ初心者がつまづきそうなポイントの紹介
の2つを紹介します。
1. UE4.12でやるときに気をつけたいこと
alweiさんがスライドを公開した時と2016年6月現在では、0.4もバージョンが上がっています。
なので、バージョン変更による差でつまづいたら嫌だなー...と思っていたのですが、気になった差は"2つ"しかありませんでした。1つめは、
スライドNo.38『AIControllerとビヘイビアツリー作成』で、
更に新規アセット作成で『その他』から、『ビヘイビアツリー』を作成します。名前は『EnemyBT』にします。
とありますが、UE4.12では『ビヘイビアツリー』は『その他』ではなく『AI』の中にあります。
2つめは、スライドNo.49『タスクノードを呼び出し』で、
ノードの右上に数字がありますが、これがタスクの実行される順番です。
とあり、スライドではタスクのみに番号が振られていますが、私が作ったものはその上位の『Sequence』ノードにも番号が振られていました。
以上、この2点だと思います。
「いや、UE4.12になったからじゃなくて、お前が間違ってるだけだよwwwww」
という場合は、Twitterにて教えていただけると助かります。もしかしたら他にも細かいUIの違いや、システム的な違いがあるのかもしれませんが、つまづくことなくスムーズに進めることができました。
※私はUE4初心者ですが、Unityを少しだけ触ったことがあったり、JavascriptやC言語などを嗜んだことがありました。もしかしたら"つまづくことなくスムーズに進めることができた"理由はこれかもしれません。もちろん、Unityやプログラミングの知識が明確に必要なシーンはないので、これらの知識が無くてもできます。
2. ガチ初心者がつまづきそうなポイントの紹介
スライドがとても分かりやすいので、つまづくポイントはほとんどないのでは?と思いました。ただ、このスライドは「ハンズオンセミナー」用でalweiさんが話しながら紹介する前提で作られているはず。
そのため、「口頭説明で十分なもの/口頭で補足するもの」については、きっと書かれていません。なので私は、数カ所でプチつまづきをしました。
私みたいにUE4の超初心者で、alweiさんの『UE4 一通りの要素を入れたゲームを作ってみる』からやってみよう!という方に向けて、補足したいことを紹介します。
2-1. ドラッグ&ドロップ指定はちゃんと守ろう
ブループリントの解説スライドの中には、ピンに赤丸がしてあったり、「D&D(ドラッグ&ドロップ)する」といった指示が書いてあります。
このような指示があった場合は、「ノードは右クリックで検索メニューから表示」という新しく得た知識を使いたい気持ちは抑えて、この指示に従いましょう。目的のものが本当に出ません。
※検索メニュー右上の「状況にあわせた表示」を解除すると、D&Dせずに出るかもしれませんが、手間だし見づらいのでD&Dするのがオススメです。
2-2. 名前が表示されていないノードについて
スライド後半になると、ブループリントのスクショが提示され「このように作ってください」という指示が出てきます。
各ノードには名前が表示されているので、名前を見て検索すれば同じノードが見つかるはずです。ただし、一部のノードは名前が表示されていません。なので、
「ん!?いきなり出てきたけどなんじゃこれ!?」
となります。でも少し考えたり、とりあえず検索するとすぐ分かるものでした。
まず、スライドNo.46『タスクの中身を作成』の
これは、「Get Target Point」で検索すると出てきます。意味を考えればすぐわかりますね。このスライドにおいては、名前の表示がないものは大体「Get ○○」です。
名前の表示がないものと言えば、もう1つ。スライドNo.63『タックルでダメージを与える』の
これは演算のノードで、『float - float』で検索すると出てきます。ノードの中央に「-」が見えるので、このノードは引き算ですね。
同じように、スライドNo.71『敵を倒したらスコアを足す』にある演算ノードは『integer + integer』で、No.83『仮死状態の制御』にある演算ノードは『float < float』で検索すると出てきます。
2-3. ノードどうしをつなげないとき
スライドのブループリント通りにノードをつなごうとしても、エラーでつなげないときがあります。
ものによるのですが、私は「変数名を間違えていたため」に、ノードがつながらないことがありました。5分くらい時間をムダにした記憶があります。
正しいノードとピンを選んでいるのにノードどうしがつながらない場合は、変数名が間違っていないか再度確認してみてください。
2-4. 新規ブラックボードが出てこなくても連打しない
スライドNo.42『新規ブラックボードの作成』では、ツールバー上のボタンを押して新規ブラックボードを作成します。
ただし、現在のウィンドウ内には変化は起こりません(起こってるかもしれないけど気づかなかった)。なので、「出てこないじゃん!もう1回押してみよう」ってなりました。結果、新規ブラックボードがたくさん生成されました。
新規ブラックボードは、『コンテンツブラウザ』内に表示されていると思います。「EnemyCharacterブループリント」が入っているところです。
2-5. プレイ画面での操作や戻りかた
プレイを開始するとマウスが使えなくなります。そのため、どうやって停止させればいいかわからない人がいるかと思いますが、キーボード左上にある「esc」を押せば止まります。また、プレイ中にマウスを使いたい場合は「Shift + F1」で使えるようになります。
なお、プレイ中のActorの操作は、WASDそれぞれのキーで移動し、マウスでカメラの回転を行います。
知識として定着させたかったので3周しました
弾のエフェクトを変えてみる、EnemyCharactorのマテリアルやAI設定を変えてみる、などして、alweiさんの『UE4 一通りの要素を入れたゲームを作ってみる』を3周しました。
UE4の一歩目として、とても楽しく学習できました。"何をやっているのか"は正直まだ危ういところがありますが、紹介されていた機能や流れの概要はつかめた気がします。
あと、独習プラン通り、こちらもやってみました。問題なく作れました。
早くOculusかViveで試してみたいですね...!!