UnrealEngineで『エレベーター』を表現するBluePrintを構築するやり方を書いていきます。
今回作るエレベーターのブループリントはキャラクターが床にのったら動き出し、キャラクターが床からはなれたら、床は元にもどる。というブループリントになります。
エレベーターのブループリントを作る前に必要なもの
エレベーターのブループリントをつくっていたのですが、その前に必要なものがいくつかあります。それが以下になります。
- BoxTrigger → ボックストリガーはこの中に入ったらイベントを発火するというブループリントをくむのでイベント発火用の空間だとおもえばわかりやすいかもしれないです。
- MatineeActor → マチネアクターとは、カットシーンを再生するために必要になります。動く床自体はマチネエディターを使って作成します
- LevelBlueprint → レベルブループリントは上記の2つを使用し、ブループリントエディターで実際にエレベーターを動かすブループリントノードを構築していきます。
マチネエディターでの作業としては、床を制御するためキーフレームを登録してアニメーションを作成します。マチネの完成図としては以下のような形です。
『ボックス内に入るとマチネで作ったアニメーションを再生する』という仕組みはブループリントエディターでつくっていきます。アニメーションを再生するというよりかは、アンリアルエンジン的に言えばマチネを再生するということになるかと思います。
アンリアルエンジンでエレベーターをつくる手順
アンリアルエンジンエレベーターをつくる簡単な手順を紹介したあと、ブループリントノードを紹介します。
- エレベーター用の床をビューに配置する
- 床の上あたりにボックストリガーを配置する
- マチネエディターで床制御用のマチネ(アニメーション)を作成する
- ブループリントでボックス内に入ったらマチネを再生するようにノードを構築する
エレベーターのブループリントの完成品は以下のようになります。このブループリントはレベルブループリントで作成します。
各ノードの役割は以下のとおりです。
- OnActorBeginOverlap → ボックス内に入ったらイベントが発火します
- OnActorEndOverlap< → ボックス内から出たらイベントが発火します
- Play → マチネがフックアップされていますので、指定のマチネを再生します
- Reverse → リバースはマチネを逆再生します(エレベーターの降りる動作を再現)
ボックストリガー内に入ったらマチネが再生され、エレベーターは上にのぼります。ボックス内からでるとマチネが逆再生されエレベーターは下におりていきます。結構シンプルなノードですが、これだけでエレベーターのようなものがつくれます。アンリアルエンジンはすごいソフトです。
エレベーターのBPTips動画
エレベーターのブループリントを作る作業を動画にしておきましたので、よろしければごらんください。
エレベーターのBPTipsまとめ
ボックスとマチネを使うことでシンプルなブループリントプログラミングでエレベーターをつくることができました。
注意点としてはボックスの範囲が小さすぎた場合、エレベーターがチャタリングをおこすことがあります。(ボックストリガーからでたりはいったりすることによって、エレベーターの挙動がおかしくなる)そういうときはボックストリガーのスケールをおおきめに調節すればエレベーターの動きは正常になるかと思います。
これこの記事を終わります。
コメント