【UE4】#Tips アクターを移動させるブループリント

UnrealEngineでアクターを移動させるブループリントを作ります。

UnrealEngine4で波動拳 その1 | ぴよキャラ先生のひよこベース というブログを見て、波動拳ではないけどUE4で弾撃ちみたいなものがしたくなりました。ブループリントは意味がわからなくても画像の通りつなげばいいだけなので結構簡単かとおもいきや、盛大にはまってしまいましたので、アクターを移動させるブループリントを整理してここに記しておきたいと思います。

スポンサーリンク

アクターを移動させるブループリントの下準備をする

アクターを移動させるブループリントですので、なんらかのアクターが必要になります。この下準備でも大事なポイントがあります。

  1. Geometoryにはブループリントがつかえないので、ベーシックのアクターを用意する
  2. 配置したアクターの詳細パネルでMobilityの項目をMovableにしておく(重要)ue4 詳細パネル Mobility
  3. EditBluePrintボタンをおし、アクターのブループリントを作成する

Mobilityの項目でMovableをえらんでおかないとブループリントを組んでも、アクターは動いてくれません。アクターをうごかす必要がある場合はMovableはをえらぶようにします。これは公式マニュアルでも言及されています。

アクタの可動性 | Unreal Engine

スポンサーリンク

アクターを移動させるブループリントを作る

とりあえずアクターを移動させるブループリントの完成品をみたあとに、このブループリントノードはどういうことになっているのか、またいくつかのポイントについて解説したいと思います。
UE4 アクターの移動 ブループリント

各ノードの役割は以下になります。

  • EventTick → 毎フレームよばれるイベントになります。
  • World_setting → 変数になります。
  • GetActorLocation → アクターの位置を取得します
  • SetActorLocation → アクターの位置をセットします

World_settingsは自前で作成した変数になります。この変数の型は vector型 になっています。またこの変数の値を設定していなったか場合、結果的には当たり前なのですが動きません。私はこの値を設定していなかったので盛大にはまっていしまいました。
ue4 変数の値

結局のところ上記のブループリントノードは毎フレーム20ずつ移動するノードになります。位置取得 → 20移動 → 位置取得 → 20移動 を毎フレームくりかえしているのでアクターが移動しつづけることになります。変数の値は結果的には移動のはやさになるので適切に設定する必要があります。

BPTips アクターの移動 動画

動画ににしてまとめておきます。

アクター移動ブループリントの補足事項

最初に紹介したひよこベースというサイトにも書いてありますが、このままではアクターが移動しつづけるので、DelayノードとDestoryノードを使って「〇秒後にアクターを消す」というプログラムを上記のノードに追加します。

SetLocationNodeのSweepにチェックをつけると(trueにしておくと)、アクターがなにかにぶつかると停止します。

コメント

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