スプライトがプレイヤーのカメラ方向を常に向き、ふわふわ・くるくる。消えたり、現れたり

レベルにスプライト(平面)を置いて常にカメラを向く仕様を実装します。

まず、プレイヤーを作りますがPawnで作成してCollisionをつけてカメラもくっつけときます。collisionは当たりの判定用に使います。

で、平面を置いて、まず、マテリアルを作ります。

こんな感じで作ります。LerpにAlphaって名前をつけてます。

Alphaの設定はこんな感じ。デフォルトは1です。

マテリアルを作ったら平面に貼ります。

こんな感じ。でこれが常にPlayerを向くようにします。

実装はこんな感じです。

ちなみにお化けなのでふわふわさせます。

こんな感じ。上下にふわふわしながらやや周回します。

まあ、これだけじゃ面白くないのでお化けに近づくとお化けが驚いて怒って逃げる(消える)ってのを実装します。

全体はこんな感じ。

詳しくはお化けのcollisionを350cmに設定しているので、playerがお化けのcollisionに触れて、お化けのダイナミックマテリアルの値が1ならテクスチャを差し替えるって事をします。

で、0.5秒後に怒った絵に差し替えて

2秒後にイベントが発生してタイムラインが動いて2秒でAlphaが0になって消えるって実装です。

ダイナミックマテリアルはコンストラクションスクリプトの中で設定しています。

で、何でAlphaが1か1以外かを見ているのかというと、消える2秒の間で再びお化けのcollisionに触れた場合に絵を差し替える処理をさせないためです。

ちなみにお化けのcollisionから出た場合は以下の処理になります。

またここでAlphaが0かどうかの判定がありますが、0なら10秒後に現れるんですが、でもお化けとPlayerの距離が350cm以上離れてないとAlphaが0から戻らないようにしています。

350cm以上はなれると再び2秒でAlphaが1に戻り姿を現します。

という感じ。

カテゴリーUE4

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です