Class CharacterComponent
[DataContract("CharacterComponent")]
[Display("Character", null)]
public sealed class CharacterComponent : PhysicsComponent, IIdentifiable
- Inheritance
-
CharacterComponent
- Implements
- Inherited Members
Constructors
CharacterComponent()
public CharacterComponent()
Properties
FallSpeed
Gets or sets if this character element fall speed
[DataMember(80)]
public float FallSpeed { get; set; }
Property Value
- float
true, false
Gravity
Gets or sets if this character is affected by any gravity
[Display("Gravity", null)]
[DataMember(95)]
public Vector3 Gravity { get; set; }
Property Value
- Vector3
A Vector3 representing directional gravity in Stride world units
IsGrounded
Gets a value indicating whether this instance is on the ground.
public bool IsGrounded { get; }
Property Value
- bool
true
if this instance is grounded; otherwise,false
.
JumpSpeed
Gets or sets if this character jump speed
[DataMember(90)]
public float JumpSpeed { get; set; }
Property Value
- float
A float representing character jump speed in Stride world units
LinearVelocity
Gets the linear velocity from the kinematic character
public Vector3 LinearVelocity { get; }
Property Value
- Vector3
Vector3
MaxSlope
Gets or sets if this character element max slope
[Display("Maximum Slope", null)]
[DataMember(85)]
public AngleSingle MaxSlope { get; set; }
Property Value
- AngleSingle
true, false
Orientation
Sets or gets the orientation of the Entity attached to this character controller
public Quaternion Orientation { get; set; }
Property Value
Remarks
This orientation has no impact in the physics simulation
StepHeight
Gets or sets the height of the character step.
[DataMember(75)]
public float StepHeight { get; set; }
Property Value
- float
The height of the character step.
Methods
ComposeShape()
Reconstruct of character controller to avoid possible UAF issues Context: On ColliderShape changes, when ComposeShape is ran to rebuild ColliderShape properties, disposing the old ColliderShape can cause UAF issues inside KinematicCharacter and inside Simulation discreteDynamicWorld due to old disposed references to the native object.
public override void ComposeShape()
Jump()
Jumps this instance.
public void Jump()
Jump(Vector3)
Jumps this instance.
public void Jump(Vector3 jumpDirection)
Parameters
jumpDirection
Vector3
Move(Vector3)
Moves the character towards the specified movement vector. Motion will stay in place unless modified or canceled passing Vector3.Zero.
[Obsolete("Please use SetVelocity instead. SetVelocity internally applies this.GetSimulation().FixedTimeStep")]
public void Move(Vector3 movement)
Parameters
movement
Vector3The velocity vector, typically direction * delta time
var dt = this.GetSimulation().FixedTimeStep;
* speed.
OnAttach()
Called whenever an entity with this component is added to scene.
protected override void OnAttach()
OnDetach()
protected override void OnDetach()
SetVelocity(Vector3)
Sets the character velocity. Velocity will be applied every frame unless modified or canceled passing Vector3.Zero.
public void SetVelocity(Vector3 velocity)
Parameters
velocity
Vector3The velocity vector, typically direction * speed.
Remarks
The engine internally will multiply velocity with the simulation fixed time step.
Teleport(Vector3)
Teleports the specified target position.
public void Teleport(Vector3 targetPosition)
Parameters
targetPosition
Vector3The target position.