UnrealEngine奮闘記

アンリアルエンジンでの開発やTIPSをまとめたblogです

横スクロールアクションを作る 番外編 動く床を作る

うっかり動く床の記事を書くのを忘れてましたので、番外編と言う事で作りたいと思います。

まずブラシで適当な床を作成し、スタティックメッシュにします。
更にコリジョンもメッシュに設定します。
f:id:swiftnest:20140614141637j:plain:w460
この辺りはインベーダーゲームで何度もやっているので大丈夫だと思います。

次にclass Actorを作成し、Componentsに先ほどのスタティックメッシュを指定します。
f:id:swiftnest:20140614004922j:plain:w460

Blueprintに移り、「Add Timeline」でタイムライン関数を作成します。
f:id:swiftnest:20140614141949j:plain:w460

■Timelineのドキュメント(日本語)
Unreal Engine | タイムライン

タイムラインとは、時間軸でのアニメーションが簡単に作れるツールです。
今回はY座標だけ動かしたいので、「AddFloatTrack」でFloatのタイムラインを作ります。
キーを追加するには、Shift キーを押しながら、グレーのバー内をクリックします。

今回は0秒地点に0、2.5秒地点に1、5秒地点に0を設定します。
f:id:swiftnest:20140614144306j:plain:w460

また、キーを右クリックすると補間形式を選ぶことが出来ます。
今回は曲線を選びます。
f:id:swiftnest:20140614144649j:plain:w460

Blueprintプリントに戻り、以下の様に接続します。
f:id:swiftnest:20140614145553j:plain:w460

ポイントはスタート時点で座標を保存し、タイムラインの結果をそこに加算してます。
これで床が動くかと思います

ただし、このままだと全ての床が同じ動きになります。
そこで床ごとに開始時間を設定出来る様にします。

StartTime変数を作成し、デフォルトで0を入れておきます。
PropatyのEditableにチェックを入れ、Categoryに好きな名前(今回はParam)を入れます。
f:id:swiftnest:20140614151223j:plain

これで、レベルエディタ上のアクターにパラメータが表示されるようになります。
f:id:swiftnest:20140614151234j:plain:w460

例えばここに2.5を入れると、床の動きをずらせる様にBlueprintを書き換えます。
ここでのポイントは、TimeLine_0の初期設定方法です。
TimeLine_0をBlueprintに配置すると、左の変数枠にもTimeLine0が自動で追加されています。
この変数をドロップアンドドラッグでBlueprint内に配置し、Getを選ぶ事でSet New Time関数を呼び出してます
f:id:swiftnest:20140614154340j:plain:w460

これで本当に横スクロールアクション終了となります。