pub trait IIKSolverFABRIKMethods: IIKSolverFABRIK {
Show 25 methods
// Provided methods
fn solve_forward(self, position: impl Into<Vector3>) { ... }
fn solve_backward(self, position: impl Into<Vector3>) { ... }
fn get_ik_position(self) -> Vector3 { ... }
fn on_initiate(self) { ... }
fn on_update(self) { ... }
fn get_bone_length_can_be_zero(self) -> bool { ... }
fn solve_joint(
self,
pos1: impl Into<Vector3>,
pos2: impl Into<Vector3>,
length: impl Into<f32>,
) -> Vector3 { ... }
fn on_pre_solve(self) { ... }
fn on_post_solve(self) { ... }
fn solve(self, target_position: impl Into<Vector3>) { ... }
fn forward_reach(self, position: impl Into<Vector3>) { ... }
fn solver_move(self, index: impl Into<i32>, offset: impl Into<Vector3>) { ... }
fn solver_rotate(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
recursive: impl Into<bool>,
) { ... }
fn solver_rotate_children(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
) { ... }
fn solver_move_children_around_point(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
) { ... }
fn get_parent_solver_rotation(self, index: impl Into<i32>) -> Quaternion { ... }
fn get_parent_solver_position(self, index: impl Into<i32>) -> Vector3 { ... }
fn get_limited_rotation(
self,
index: impl Into<i32>,
q: impl Into<Quaternion>,
) -> (Quaternion, bool) { ... }
fn limit_forward(
self,
rotate_bone: impl Into<i32>,
limit_bone: impl Into<i32>,
) { ... }
fn backward_reach(self, position: impl Into<Vector3>) { ... }
fn backward_reach_unlimited(self, position: impl Into<Vector3>) { ... }
fn backward_reach_limited(self, position: impl Into<Vector3>) { ... }
fn map_to_solver_positions(self) { ... }
fn map_to_solver_positions_limited(self) { ... }
fn ctor(self) { ... }
}Provided Methods§
Sourcefn solve_forward(self, position: impl Into<Vector3>)
fn solve_forward(self, position: impl Into<Vector3>)
SolveForward(crate::unity_engine::vector3::Vector3) overload
Sourcefn solve_backward(self, position: impl Into<Vector3>)
fn solve_backward(self, position: impl Into<Vector3>)
SolveBackward(crate::unity_engine::vector3::Vector3) overload
Sourcefn get_ik_position(self) -> Vector3
fn get_ik_position(self) -> Vector3
GetIKPosition() overload
Sourcefn on_initiate(self)
fn on_initiate(self)
OnInitiate() overload
Sourcefn get_bone_length_can_be_zero(self) -> bool
fn get_bone_length_can_be_zero(self) -> bool
get_boneLengthCanBeZero() overload
Sourcefn solve_joint(
self,
pos1: impl Into<Vector3>,
pos2: impl Into<Vector3>,
length: impl Into<f32>,
) -> Vector3
fn solve_joint( self, pos1: impl Into<Vector3>, pos2: impl Into<Vector3>, length: impl Into<f32>, ) -> Vector3
SolveJoint(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32) overload
Sourcefn on_pre_solve(self)
fn on_pre_solve(self)
OnPreSolve() overload
Sourcefn on_post_solve(self)
fn on_post_solve(self)
OnPostSolve() overload
Sourcefn solve(self, target_position: impl Into<Vector3>)
fn solve(self, target_position: impl Into<Vector3>)
Solve(crate::unity_engine::vector3::Vector3) overload
Sourcefn forward_reach(self, position: impl Into<Vector3>)
fn forward_reach(self, position: impl Into<Vector3>)
ForwardReach(crate::unity_engine::vector3::Vector3) overload
Sourcefn solver_move(self, index: impl Into<i32>, offset: impl Into<Vector3>)
fn solver_move(self, index: impl Into<i32>, offset: impl Into<Vector3>)
SolverMove(i32, crate::unity_engine::vector3::Vector3) overload
Sourcefn solver_rotate(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
recursive: impl Into<bool>,
)
fn solver_rotate( self, index: impl Into<i32>, rotation: impl Into<Quaternion>, recursive: impl Into<bool>, )
SolverRotate(i32, crate::unity_engine::quaternion::Quaternion, bool) overload
Sourcefn solver_rotate_children(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
)
fn solver_rotate_children( self, index: impl Into<i32>, rotation: impl Into<Quaternion>, )
SolverRotateChildren(i32, crate::unity_engine::quaternion::Quaternion) overload
Sourcefn solver_move_children_around_point(
self,
index: impl Into<i32>,
rotation: impl Into<Quaternion>,
)
fn solver_move_children_around_point( self, index: impl Into<i32>, rotation: impl Into<Quaternion>, )
SolverMoveChildrenAroundPoint(i32, crate::unity_engine::quaternion::Quaternion) overload
Sourcefn get_parent_solver_rotation(self, index: impl Into<i32>) -> Quaternion
fn get_parent_solver_rotation(self, index: impl Into<i32>) -> Quaternion
GetParentSolverRotation(i32) overload
Sourcefn get_parent_solver_position(self, index: impl Into<i32>) -> Vector3
fn get_parent_solver_position(self, index: impl Into<i32>) -> Vector3
GetParentSolverPosition(i32) overload
Sourcefn get_limited_rotation(
self,
index: impl Into<i32>,
q: impl Into<Quaternion>,
) -> (Quaternion, bool)
fn get_limited_rotation( self, index: impl Into<i32>, q: impl Into<Quaternion>, ) -> (Quaternion, bool)
GetLimitedRotation(i32, crate::unity_engine::quaternion::Quaternion, *mutbool) overload
Sourcefn limit_forward(self, rotate_bone: impl Into<i32>, limit_bone: impl Into<i32>)
fn limit_forward(self, rotate_bone: impl Into<i32>, limit_bone: impl Into<i32>)
LimitForward(i32, i32) overload
Sourcefn backward_reach(self, position: impl Into<Vector3>)
fn backward_reach(self, position: impl Into<Vector3>)
BackwardReach(crate::unity_engine::vector3::Vector3) overload
Sourcefn backward_reach_unlimited(self, position: impl Into<Vector3>)
fn backward_reach_unlimited(self, position: impl Into<Vector3>)
BackwardReachUnlimited(crate::unity_engine::vector3::Vector3) overload
Sourcefn backward_reach_limited(self, position: impl Into<Vector3>)
fn backward_reach_limited(self, position: impl Into<Vector3>)
BackwardReachLimited(crate::unity_engine::vector3::Vector3) overload
Sourcefn map_to_solver_positions(self)
fn map_to_solver_positions(self)
MapToSolverPositions() overload
Sourcefn map_to_solver_positions_limited(self)
fn map_to_solver_positions_limited(self)
MapToSolverPositionsLimited() overload
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<__T: IIKSolverFABRIK> IIKSolverFABRIKMethods for __T
root_motion-final_ik-iksolverfabrik only.