定义力回馈效果的某些物理方面。
语法
typedef struct GameInputForceFeedbackConditionParams {
GameInputForceFeedbackMagnitude magnitude;
float positiveCoefficient;
float negativeCoefficient;
float maxPositiveMagnitude;
float maxNegativeMagnitude;
float deadZone;
float bias;
} GameInputForceFeedbackConditionParams
成员
magnitude
类型:GameInputForceFeedbackMagnitude
力回馈效果的量。
positiveCoefficient
类型:float
力回馈效果的正乘数。
negativeCoefficient
类型:float
力回馈效果的负乘数。
maxPositiveMagnitude
类型:float
效果在正向可以产生影响的最大力。
maxNegativeMagnitude
类型:float
效果在负向可以产生影响的最大力。
deadZone
类型:float
力回馈效果未响应的区域。
bias
类型:float
应用于力回馈效果的偏移。
备注
GameInputForceFeedbackConditionParams
是 GameInputForceFeedbackParams 结构的成员。
GameInputForceFeedbackConditionParams
结构的语义因条件效果的特定类型而异,但考虑它们如何应用于常用的弹簧效果(GameInputForceFeedbackSpring
)会很有帮助。 在一般用例中,当玩家将方向盘放到左侧或右侧时,此效果会尝试更新方向盘。 让我们来看看这 GameInputForceFeedbackConditionParams
个参数是如何驱动此行为的。
方向盘的逻辑中心位置由 bias
确定。
0.0
的值对应于自然居中位置(左右两侧等距),1.0
的值会将方向盘的中心一直放在右侧,而 -1.0
的值会将方向盘的中心一直放在左侧。
deadZone
确定在开始应用反馈之前,方向盘可以从逻辑中心向左或向右移动多少。 当方向盘离开中心位置,0.0
的值会立即触发反馈,0.5
的值将会让方向盘在反馈介入之前移动一半,而 1.0
的值会完全禁用反馈。
positiveCoefficient
和 negativeCoefficient
与方向盘与其逻辑中心的距离一起使用,来分别确定向左和向右的反馈方向和力度。 对于弹簧效果,我们希望方向盘对抗玩家的转向,因此 -1.0
的值适合两者。 请注意,如果给出正值,则方向盘实际上会按照方向加速,而不会对抗运动。
maxPositiveMagnitude
和 maxNegativeMagnitude
分别对正向和负向应用此特定效果的最大力度上限。
CreateForceFeedbackEffect
方法使用一组指定的参数将马达中的硬件资源分配给新的力回馈效果。 它返回 IGameInputForceFeedbackEffect
实例来跟踪这些资源。 如果没有足够的硬件资源来创建该效果,或者如果硬件不支持请求的效果,将返回一个 HRESULT
错误。 力回馈效果由其参数定义,并存储在 GameInputForceFeedbackParams
结构中。
要求
头文件:GameInput.h
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机