AnimationModifierを適用手順に関して質問です。
現在、AnimationModifierを適用してカーブ情報を取得しようと思うと、
AnimationModifierを適用したあとで一度手動でカーブトラックを編集しないと意図した値が取得できません。
当方でのAnimationModifier適用手順は以下のようになっています。
------------------------------------------------------------------------------------------------
[手順]
1.AnimationModifier適用してないアニメーションデータを開く
2.AnimationModifierを適用する
3.適用したアニメーションを再生する
4.アニメーションカーブウィンドウの値に変化がないことを確認する
5.カーブトラックから任意のトラックを1つ削除する(手動でカーブトラックの操作を行う)
6.再度AnimationModifierを適用する
7.アニメーションカーブウィンドウの値が変わっているのを確認する
※AnimationModifier内ではOnApplyイベントでAddCurveとAddFloatCurveKeyのノードを主に呼び出しています。
------------------------------------------------------------------------------------------------
本来なら「4」時点で値が変化してほしいですが、
アニメーションカーブウィンドウの値もAnimInstance::GetCurveValue()で取得した値も
意図した値(適用した値)になりません。
「4」時点で適用するための方法があれば教えていただけないでしょうか。
お世話になっております。
ランチャー版のUE4.21.1にて、以下のシンプルなAnimationModifierでテストしたところ、4の段階でカーブが新規で生成されることを確認いたしました。
また既存のカーブに対してキーの追加・値変更も試したのですが、同じく4の時点で反映されることを確認いたしました。そのため、まだご報告いただいた現象を確認できていない状況です。
お手数ですが再現プロジェクトをご用意いただくことは可能でしょうか?ご検討いただけますと幸いです。
よろしくお願いいたします。
こちらでヴァニラエンジンで再度再現した手順を動画にして添付しました。
プロジェクトも用意しましたが100Mを超えているのでアップできませんでした。
必要であればアップロードする場所を教えて下さい。
<環境>
ヴァニラバージョン:UE4.21.1
ThirdPersonプロジェクト
<動画説明>
1:19辺りまでが1~4の手順に当たります。
1:21あたりから5~7の手順になり画面右下の「AnimCurves」ウィンドウ内のカーブ値が変化するようになります。
※フォーカスされているウィンドウの関係でトラック操作が写っていませんが、
1:19あたりで「Remove Track」でAAAトラックを手動削除しています。
以上、よろしくお願いします。
[link text][1]
お世話になっております。
動画のご用意、誠にありがとうございます。そして、ご報告頂いた内容を誤解していたことを理解し手元の環境でも再現することを確認いたしました。大変申し訳ありませんでした。
現在原因・解決方法の調査を進めていますので、もう少々お待ちいただけますと幸いです。
よろしくお願いいたします。
こちらの環境でも「Finalize Bone Animation」ノードを追加することで
「4」の段階で反映することを確認できました。
対応ありがとうございました。
お世話になっております。
OnApplyイベントにてカーブを追加・編集した後に、Finalize Bone Animationノードを呼び出すことで、4の段階で「AnimCurves」ウィンドウ内のカーブ値が変化することを確認いたしました。お手数ですが一度試していただいてもよろしいでしょうか?
よろしくお願いいたします。