Table of Contents

Class TwistServoConstraintComponent

Namespace
Stride.BepuPhysics.Constraints
Assembly
Stride.BepuPhysics.dll
[DataContract]
[DefaultEntityComponentProcessor(typeof(ConstraintProcessor), ExecutionMode = ExecutionMode.Runtime)]
[ComponentCategory("Physics - Bepu Constraint")]
public sealed class TwistServoConstraintComponent : TwoBodyConstraintComponent<TwistServo>, IIdentifiable, ITwoBody, IServo, ISpring
Inheritance
object
TwistServoConstraintComponent
Implements
Inherited Members

Constructors

TwistServoConstraintComponent()

public TwistServoConstraintComponent()

Properties

LocalBasisA

Local space basis attached to body A against which to measure body B's transformed axis. Expressed as a 3x3 rotation matrix, the X axis corresponds with 0 degrees, the Y axis corresponds to 90 degrees, and the -Z axis is the twist axis. When viewed along the twist axis, positive change in angle causes counterclockwise rotation in right handed coordinates.

public Quaternion LocalBasisA { get; set; }

Property Value

Quaternion

LocalBasisB

Local space basis attached to body B that will be measured against body A's basis. Expressed as a 3x3 rotation matrix, the transformed X axis will be measured against A's X and Y axes. The Z axis is the twist axis.

public Quaternion LocalBasisB { get; set; }

Property Value

Quaternion

ServoBaseSpeed

Minimum speed that the constraint will try to use to move towards the target. If the speed implied by the spring configuration is higher than this, the servo will attempt to use the higher speed. Will be clamped by the MaximumSpeed.

public float ServoBaseSpeed { get; set; }

Property Value

float

ServoMaximumForce

The maximum force that the constraint can apply to move towards the target.

public float ServoMaximumForce { get; set; }

Property Value

float

Remarks

This value is specified in terms of force: a change in momentum over time. It is approximated as a maximum impulse (an instantaneous change in momentum) on a per-substep basis. In other words, for a given velocity iteration, the constraint's impulse can be no larger than MaximumForce * dt where dt is the substep duration.

ServoMaximumSpeed

Maximum speed that the constraint can try to use to move towards the target.

public float ServoMaximumSpeed { get; set; }

Property Value

float

SpringDampingRatio

The ratio of the spring's actual damping to its critical damping. 0 is undamped, 1 is critically damped, and higher values are overdamped. Higher damping ratios reduce oscillations and make the connection less elastic.

public float SpringDampingRatio { get; set; }

Property Value

float

SpringFrequency

The target number of undamped oscillations per unit of time. Higher frequency values create stiffer connections, while lower values allow more elasticity in the joint.

public float SpringFrequency { get; set; }

Property Value

float

TargetAngle

Target angle between B's axis to measure and A's measurement axis.

public float TargetAngle { get; set; }

Property Value

float