UE4でVR空間にカノジョを錬金する Advent Calendar 2017 20日目の記事です。
12/1~25日までに一人で、UE4を用いてサ○○レッスンとかVR○○ジョっぽいゲームを作って仮想彼女を生み出すことにチャレンジします。
昨日に引き続き、呼吸のロジック実装です。
#吸うロジック
早速吸うように見せるアニメーションの関数説明に入ります。
今回は上にあるSet Inhaleメソッドについての説明です。
##Set Inhaleメソッド
全体は以下の通りです。
簡単に説明すると、このメソッドでは各ボーンの吸うアニメーションに必要な回転値をセットしています。
呼吸の時間は以下のように計算しています。
inhale * durationRate + 0.5
0.5は今回実装した時に自然に呼吸させるように見せるために必要な調整時間です。
これを吸うモーション開始してからの経過時間を計り、もし過ぎたら待機状態にフェーズを移行するようにセットします。
ボーンを回転させるのは縦方向なので、ボーンの向きを見て正しく動くように値をセットします。
今回、ユニティちゃん、グレイちゃん共にX(Roll)が縦方向に回転するので、Xにセットしています。
回転値はGetInhaleTimeという関数を作成して取得しています。
※関数名が色々オカシイのは許してください。元は時間を取るためのメソッドでしたが色々試した結果、最終的に回転値を取るメソッドになってしまいました。
※よい子の皆さんはちゃんと適切な関数名にしましょう。
本日はここまでです。
#次回
明日は回転値の計算式を書きます。