News Activity Product Learning red Event Contact
Devblog top img

開発ブログ

2018-02-25

乗ると動く足場の作り方

UE4

writer : toppon

乗ると動く足場の作り方

今回は、乗ると動く床、というものを作っていきたいと思います!

床が自分と当たったら動き出す、というコードになります。

今回はFirst Personのテンプレートを使っていきます。(筆者は前の記事のプロジェクトをそのまま使っています)

早速、作っていきましょう!

まず、ブループリントをクリックし、足場のクラスを作成します。

「新規の空のブループリントクラス」をクリックします。

ここでは、アクターを選びます。

名前はMoveFloorとしました。

エディタが開くので、今回は簡単にキューブ一つで床を表現します。

サイズを変更して・・

いい感じになりました!

ここからは、ブループリントを触っていきます。

イベントグラフに移動してください。

イベントHitを出してください。これは、何かに当たったときに呼ばれるノードです。

ここから、自分が乗ったときだけにしたいので、当たった相手がFirstPersonCharacterかどうかを判断するため、castノードを使います。

ここで、「Cast to FirstPersonCharacter」ノードをつなぎます。

次に、タイムラインノードを使い、時間ごとにどこにいるかを指定します。

タイムラインノードをダブルクリックして、編集します。

今回は、直線運動をさせるだけなので、一つのFloatトラックを使いますが、立体的に動かしたいときは、Vectorトラックやスプラインなどの別機能を使ってください。

今回はこのように、0と500で往復するようにしておきます。一回だけ動けばいいのであればいいですが、乗った瞬間からずっと動いてほしいときは、ループのところにチェックを入れてください。

また、最初から動いてほしいときは、イベントヒットとcastノードを消して、オートプレイをオンにしておけば、プレイ開始時からタイムラインが動くことになります。

次に、SetRelativeLocationというノードを使い、Static Meshの相対座標を設定します。

今回はX座標だけを動かそうと思うので、New Locationを右クリックして、

構造体ピンを分割を選んでください。これでVector型を、それぞれの要素に分けることができます。

そして、タイムラインのFloatトラックとXをつなげれば、完成です。

最後に、作った床をマップ上に配置してください。

この状態でプレイすると、乗ると床が動き出し、X方向に往復してくれます。

これで、乗ると動く足場を作ることができました!