UE4

UE4でVR空間にカノジョを錬金 23日目

UE4でVR空間にカノジョを錬金する Advent Calendar 2017 23日目の記事です。

12/1~25日までに一人で、UE4を用いてサ○○レッスンとかVR○○ジョっぽいゲームを作って仮想彼女を生み出すことにチャレンジします。

今回、吐くのに必要な回転値を求める計算式を書きます。
呼吸ロジック最後の記事です。

回転値を求める計算式

21日目に書いてあるのと同様の処理を、吐く用変換して実装します。

ただ、吸うときの処理をそのまま入れるとアニメーションがおかしくなるため、回転値を求めた後、各ボーンのinhaleから引いた値を回転値としてセットします。

GetExhaleRoatatorという関数を作成し、上記に記載した処理を実装しています。
image.png

つづいて、吐くアニメーションに必要な回転値を実装します。

[各ボーンの吐くアニメーション最大回転値] * EffectRate * Sin((GetAudioTimeSecounds - StartTime)/(exhale*durationRate))

上記の計算式をBluePrintで書くと以下の通りになります。
image.png

胸、首、頭も同様の処理を挟みます。
これで息を吐くアニメーションが出来たと思います。

呼吸アニメーション実装完了です。

次回

残り2日、何を実装しようかな……。
現在考え中です。