bevy_tnua::builtins

Struct TnuaBuiltinClimb

Source
pub struct TnuaBuiltinClimb {
    pub climbable_entity: Option<Entity>,
    pub anchor: Vector3,
    pub desired_vec_to_anchor: Vector3,
    pub anchor_speed: Float,
    pub anchor_acceleration: Float,
    pub desired_climb_velocity: Vector3,
    pub climb_acceleration: Float,
    pub coyote_time: Float,
    pub desired_forward: Option<Dir3>,
    pub hard_stop_up: Option<Vector3>,
    pub hard_stop_down: Option<Vector3>,
    pub initiation_direction: Vector3,
}
Expand description

An action for climbing on things.

Fields§

§climbable_entity: Option<Entity>

The entity being climbed on.

§anchor: Vector3

A point on the climbed entity where the character touches it.

Note that this does not actually have to be on any actual collider. It can be a point in the middle of the air, and the action will cause the character to pretend there is something there and climb on it.

§desired_vec_to_anchor: Vector3

The position of the anchor compared to the character.

The action will try to maintain this horizontal relative position.

§anchor_speed: Float

Speed for maintaining desired_vec_to_anchor.

§anchor_acceleration: Float

Acceleration for maintaining desired_vec_to_anchor.

§desired_climb_velocity: Vector3

The velocity to climb at (move up/down the entity)

§climb_acceleration: Float

The acceleration to climb at.

§coyote_time: Float

The time, in seconds, the character can still jump after letting go.

§desired_forward: Option<Dir3>

Force the character to face in a particular direction.

§hard_stop_up: Option<Vector3>

Prevent the character from climbing above this point.

Tip: use probe_extent_from_closest_point to find this point.

§hard_stop_down: Option<Vector3>

Prevent the character from climbing below this point.

Tip: use probe_extent_from_closest_point to find this point.

§initiation_direction: Vector3

The direction used to initiate the climb.

This field is not used by the action itself. It’s purpose is to help user controller systems determine if the player input is a continuation of the motion used to initiate the climb, or if it’s a motion for breaking from the climb.

Trait Implementations§

Source§

impl Clone for TnuaBuiltinClimb

Source§

fn clone(&self) -> TnuaBuiltinClimb

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for TnuaBuiltinClimb

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl TnuaAction for TnuaBuiltinClimb

Source§

const NAME: &'static str = "TnuaBuiltinClimb"

The default name of the action. Read more
Source§

const VIOLATES_COYOTE_TIME: bool = true

Set this to true for actions that may launch the character into the air.
Source§

type State = TnuaBuiltinClimbState

Data that the action can persist between frames. Read more
Source§

fn apply( &self, state: &mut Self::State, ctx: TnuaActionContext<'_>, lifecycle_status: TnuaActionLifecycleStatus, motor: &mut TnuaMotor, ) -> TnuaActionLifecycleDirective

This is where the action affects the character’s motion. Read more
Source§

fn initiation_decision( &self, _ctx: TnuaActionContext<'_>, _being_fed_for: &Stopwatch, ) -> TnuaActionInitiationDirective

Decides whether the action can start. Read more
Source§

fn target_entity(&self, _state: &Self::State) -> Option<Entity>

If the action targets an entity, return that entity
Source§

fn proximity_sensor_cast_range(&self) -> Float

A value to configure the range of the ground proximity sensor according to the action’s needs.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

Source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromWorld for T
where T: Default,

Source§

fn from_world(_world: &mut World) -> T

Creates Self using default().

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<T> Settings for T
where T: 'static + Send + Sync,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,