【UnrealEngine超初心者道場#1】物体を自動で動かす方法

CG/AI雑学

はじめに

Unreal Engine(以下UE)は、初心者でも直感的にゲームやCGを開発できる強力なツールです。
本記事では、UEで物体を自動的に動かす方法を学びます。

ゲームでは、動く床やエレベーター、パトロールする敵など、自動で動くオブジェクトがよく使われます。
これを実現するために、Blueprint(ブループリント)と呼ばれるUEのビジュアルスクリプト機能を活用します。

本記事の目的

  • Unreal Engineでオブジェクトを自動的に動かす方法を学ぶ
  • 初心者でも理解しやすいBlueprintを活用する
  • 基本的なアニメーションの作成方法を身につける

本記事で得られるスキル

  • Blueprintを使って物体を動かす基本テクニック
  • Tickイベントを利用したスムーズな移動処理

UEの基本を押さえていきましょう!

Blueprintを使って物体を動かす基本テクニック

Blueprint Classの作成

UEを開き、新規プロジェクトを作成します(ブループリントを選択)。

コンテンツドロワーをクリックします。
(ここで色々なアセットやマテリアルを確認できます。Windowsのエクスプローラーのようなものです。)

追加をクリックしてブループリントクラスを選択します。
(ブループリントクラスは今から動かす物体の設計図のようなものです。)

今回はアクタを選択します。

コンテンツドロワーに「NewBlueprint」という名前のブループリントクラスが生成されます。
Ctrl+Sのショートカットで保存ができます。
保存出来たらNewBlueprintをダブルクリックします。

以下のような画面が表示されます。

左のコンポーネントにある追加をクリックして今回はキューブを選択します。
(先ほど述べた通り、ブループリントクラスは設計図ですから何を設計するのかは自分で決めてあげないといけません。今回はキューブという立方体を設計するということです。

以下のようなキューブのコンポーネントが作成できていればOKです

コンパイルをクリックして保存します。
(コンパイルの所に?マークが出ていますね。これはブループリントクラスという設計図に変更を加えたことを機械が認識できていないためです。機械に変更箇所を認識させるには必ずコンパイルをする必要があります。)

コンテンツドロワーにCubeのブループリントクラスがあることを確認する。

ブループリントクラスの作成は以上です。

Tickイベントを使った移動

続いて先ほど作成したブループリントクラスを動かしていきましょう。

ブループリントクラスの画面でイベントグラフを選択します。
イベントグラフというのはこのブループリントがどの条件でどうやって動くのかを自分で設計する部分です。

以下のような画面が表示されます。

続いて物体を動かすための設計をしていきます。

イベントグラフ上で右クリックします。(場所はどこでもいいです)
Get Actor Locationを検索してクリックします。

Get Actor Locationはブループリントクラスの位置を取得する関数です。

以下のノードが自動生成されます。
(ノードは関数や処理をブロック単位で表現したものです)

続いてAddノードを追加します。
Get Actor LocationノードのReturn Valueを左クリックした状態で右に引っ張ります。
検索欄にAddと入力しAddを選択します。

以下のようなノードが自動生成されます。
これはGet Actor Locationで取得した位置(XYZ座標)を変化させるための処理です。

続いてどれだけ位置を変化させるかを決めていきます。

今回はAddノードのZの値を2.0にします。
Zは高さ方向の値なので、高さが2増えるイメージです

変更した値をキューブのブループリントに適用していきます。
Getで取得して変更を加えたものはSetで変更を適用する必要があります。

Addノードのピンを左クリックした状態で右に引っ張ります。
検索欄にSet Actor Locationと入力しSet Actor Locationを選択します。

以下のようなノードが自動生成されます。

これで物体がZ方向に2移動するという設計ができました。
ただ、今の状態ではまだ物体は動いてくれません。

何故かというと、どの条件で物体が動くのかを決めていないからです。
物体が動く条件というのも自分で設計する必要があります。

では物体が動く条件を設計していきましょう。
イベントグラフの中にEvent Tickというノードがあります。(ない場合は右クリックで検索してください)

Event TickノードのピンをSet Actor Locationノードのピンにつなげていきます。

これでTickというEvent(条件)の時にZの値が2増加するという設計になりました。
TickというのはPlay実行中に何度も動かすことができるというものです。(周期的に発生するイベント)

つまり、1回のイベントで2増加していくという処理が何度も動くようになります。
最後は忘れずにコンパイルと保存をして下さい。

最後に結果を見ていきます。
NewBlueprintを左クリックでつかんでシーンにドラッグアンドドロップします。
その後上にある緑の三角マーク(Play)をクリックします。

結果

先ほど設計したZ方向に2ずつ増加させる処理が何度も繰り返されるため、徐々に物体が上に移動していきますね。
以上が物体を動かすための基本的なテクニックになります。

まとめ

本記事では、Blueprintを使った物体の動かし方について学びました。
今後もUnrealEngine超初心者向けに役立つ記事を書いていきたいと思います

コメント

タイトルとURLをコピーしました