CommonUIのAnalogSliderにてアナログスティックで入力する際の問題について

いつもお世話になっております。

CommonUIのAnalogSliderにてMinValue, MaxValueを変更するとアナログスティックで左右を入力した際のリピート間隔が増減する事象を確認しております。

例えばMinValueを0、MaxValueを100にし、StepSizeを1にした場合に十字キーでは操作感が変わりませんが、アナログスティックではリピート操作が著しく遅くなる状況となります。(状況を添付の動画にて確認いただけます)

AnalogSliderではアナログ操作時にMinValue, MaxValueを0~1にする前提の挙動が実装されている状況となりますでしょうか。

何卒ご確認のほどよろしくお願いいたします。

[Attachment Removed]

お世話になっております。サンプルプロジェクトを共有頂きありがとうございます。

SAnalogSlider の Value はコメントどおり 0〜1 の正規化として実装されています。

		/** A value that drives where the slider handle appears. Value is normalized between 0 and 1. */
		SLATE_ATTRIBUTE(float, Value)

アナログの「速いときのリピート間隔」は StepSize に比例するようになっており、StepSize = 0.01 (デフォルト)は 最短でも約 0.03 秒/ステップ、StepSize = 1 は最短でも 3 秒/ステップになり、アナログだけが極端に遅く感じます。また、Min / Max はリピートには使われません。また、十字キーが変わりにくい理由

左右は OnNavigation で ナビゲーションのリピートが効き、ここでは StepSize の ± だけで、上記の FastestStepTime は使いません。

	const float StepSizeValue = StepSize.Get();
	const float AnalogStepThreshold = 0.5f;
	const float SlowestStepTime = 1.0f;
	const float TimeToSlideFromZeroToOneAtFullSpeed = 3;
	const float FastestStepTime = TimeToSlideFromZeroToOneAtFullSpeed * StepSizeValue;

アナログスティックでの入力を変更する場合は、SAnalogSliderの継承先クラスで上記のSAnalogSlider::OnAnalogValueChanged をオーバーライドしてロジックを変更して頂くか、エンジンで上記をカスタマイズすることで、0~1を超えた値に対しても独自の制御を加えることが可能になります。

[Attachment Removed]

ご確認いただきありがとうございます。

AnalogSliderでアナログスティックを考慮する場合は標準ではMinValue, MaxValueが0~1である必要がある旨承知いたしました。

今回はSAnalogSliderを継承したクラスにてOnAnalogValueChangedをオーバーライドする対応を検討したいと思います。

以上、よろしくお願いいたします。

[Attachment Removed]