こんにちは。
ControlRig内でfloat型の変数を定義し、それをインスタンス編集可能に設定したものの、AnimBPからControlRigノードを配置した場合に、その変数に対してカーブ名を直接指定して値を渡すことができずに困っておりました。なぜできなかったのかというとカーブ名を指定するためのドロップダウンボックスがグレーアウトしていたためです。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/control-rig-in-animation-blueprints-in-unreal-engine#:~:text=Control%20Rig%20%E3%82%AF%E3%83%A9%E3%82%B9%E3%80%82-,%E5%A4%89%E6%95%B0%E3%81%8A%E3%82%88%E3%81%B3%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B,-Control%20Rig%20%E3%83%8E%E3%83%BC%E3%83%89
このドキュメントの部分の操作です。
色々と試した結果、どうやらここで想定されている(ControlRigNode側の)floatは単精度のものであり、そしてControlRigやその他のBlueprintから現在作成できるfloatは倍精度のものであることが原因らしいということがわかりました。
幸いなことにGet Curve Valueノードのような出力から変数に昇格することで単精度のfloat変数を作成することができ問題も一応は解決したのですが、単精度のfloatをこのように作成し使用することに問題がないのか、本来ここではどのような方法が想定されていたのかの2点が気になっております。
どなたかご存知の方がいらっしゃれば教えていただけると幸いです。
手元の環境では5.5 と 5.7で同じ現象が発生していることを確認しています。それ以前のバージョンでは試しておりません。
↑変数に昇格することで単精度floatを作成する
↑2種類のfloat
↑倍精度だとカーブ名指定のためのドロップダウンがグレーアウトする。単精度は使用可能。



