UE4:スローモーションの実装について
どうも僕です。
スローモーションの実装について考えてみました。
UE4 スローモーション slowmotion - YouTube
スローモーションを実装しよう!
スローモーションに使うノード
Set global time delation
Custom Time delation
今回使うテンプレートまたはアセット
ThirdPersonTemplate
Mimamo Animation Pack(無料)
では実装していきましょう。
Set Global time delationを使ったスローモーションの実装
[Set Global Time Delation]はレベル全体の時間のスピードを早くあるいは遅くします。
1×TimeDilationが指定したいスピードになります。
0以下を入れると一定の遅いモーションになるようです。(-10を入れても0とほぼ同じでした)
今回はスローモーションをなので0.2を入れます。
ThirdPersonCharacter[バージョン4.6以下はMyCharacter]のBluePrintを開きます。
Gを押した時にスローモーションが始まるようにします
以下のように設置します
FlipFlopとは
押された奇数回がAに流れ偶数回はBに出力されます(例:Gを一回→A、Gを2回→B、Gを三回→A.....)
押してみると
遅くなった!
しかしこれはレベル全体をスローモーションにしてしまいます。
試しにMimamoのゴブリンを召喚し、追いかけてくるようにします。
ゴブリンの簡易AIの実装<Mixamo_Goblinのグラフ>
それに加えNav Mesh Bounds Volumeを設置で完了
すると、
スローモーションで鬼ごっこになってしまいます。
これじゃ俺ツエー出来ないじゃん!!!
ということで、個別に速度を変えるのが
Custom Time Delationです。
基本的に数値も[Set Global TIme Delation]を同じ考え方が同じではありますが、0を入れると完全に止まります。
ということで、実装していきます。
Custom Time delationを使ったスローモーションの実装
今回はゴブリンの速度を遅くしてみます。
Mixamo_Goblinのグラフを開きます。
カスタムノードを設置し名前をSlowMotionにします。
そして以下のように設置します。
次にThirdPersonCharacterのグラフを開きます。
変数:アクターを作成します。(お目目アイコンにチェック)
そのアクターにMixamo_Goblinを入れます。
アクターの変数からMixamo_GoblinにキャストしAs Mixamo Goblinの青い点から先ほど作ったSlowMotionを出します。
すると
ゴブリンだけがスローモーションになっています
これで愛しのゴブリンにイタズラできる・・・
ちゃちゃっとスローモーション又はゴブリンをスローモーションにしたい方はレベルブループリントから以下のように作成可能です。(ただレベルに依存します)
もちろんスローモーション以外にもスピードアップなどに使えます。
スローモーションとOculusで色々と出来そうですね!
最後に
本日UE4が無償化されたそうです。
UE4の本に1年間無料になるプロモコードがついていて、エピック・ゲームズ・ジャパン神か???と思っていましたが、エピック・ゲームズ・ジャパンの人はこいつら数カ月後無償化されるのに喜んでやがるよwHahaha!と笑っていたのかも知れませんね。結局手のひらで踊らされていた・・・・(知らなかった可能性のほうが大きいです。中の人たち凄くいい人達ばっかなので多分
しかしUnityに食らいつく感じとても感動です!!
プログラミング苦手な方も多分BluePrintは楽しめるはずです
みなさんBluePrintやりましょう!!(そして面白いもの見つけたら教えてね;;;;)
以上