pub struct FlyingCameraController {Show 21 fields
pub yaw: InheritableVariable<f32>,
pub pitch: InheritableVariable<f32>,
pub speed: InheritableVariable<f32>,
pub sensitivity: InheritableVariable<f32>,
pub pitch_limit: InheritableVariable<Range<f32>>,
pub move_forward_key: InheritableVariable<KeyBinding>,
pub move_backward_key: InheritableVariable<KeyBinding>,
pub move_left_key: InheritableVariable<KeyBinding>,
pub move_right_key: InheritableVariable<KeyBinding>,
pub acceleration_curve: InheritableVariable<Curve>,
pub deceleration_curve: InheritableVariable<Curve>,
pub acceleration_time: InheritableVariable<f32>,
pub deceleration_time: InheritableVariable<f32>,
pub reactivity: InheritableVariable<f32>,
pub velocity: InheritableVariable<Vector3<f32>>,
pub target_velocity: InheritableVariable<Vector3<f32>>,
pub acceleration_coeff: f32,
pub move_forward: bool,
pub move_backward: bool,
pub move_left: bool,
pub move_right: bool,
}Expand description
Flying camera controller script is used to create flying cameras, that can be rotated via mouse and moved via keyboard keys. Use it, if you need to create a sort of “spectator” camera. To use it, all you need to do is to assign it to your camera node (or one if its parent nodes).
Fields§
§yaw: InheritableVariable<f32>Current yaw of the camera pivot (in radians).
pitch: InheritableVariable<f32>Current pitch of the camera (in radians).
speed: InheritableVariable<f32>Maximum speed of the camera.
sensitivity: InheritableVariable<f32>Mouse sensitivity.
pitch_limit: InheritableVariable<Range<f32>>Angular limit of the pitch of the camera (in radians).
move_forward_key: InheritableVariable<KeyBinding>A key, that corresponds to forward movement.
move_backward_key: InheritableVariable<KeyBinding>A key, that corresponds to backward movement.
move_left_key: InheritableVariable<KeyBinding>A key, that corresponds to left movement.
move_right_key: InheritableVariable<KeyBinding>A key, that corresponds to right movement.
acceleration_curve: InheritableVariable<Curve>A curve, that defines a how speed of the camera changes when accelerating to the max speed.
deceleration_curve: InheritableVariable<Curve>A curve, that defines a how speed of the camera changes when decelerating to the zero speed.
acceleration_time: InheritableVariable<f32>Amount of time (in seconds) during which the camera will accelerate to the max speed.
deceleration_time: InheritableVariable<f32>Amount of time (in seconds) during which the camera will decelerate to the zero speed.
reactivity: InheritableVariable<f32>A coefficient, that defines how fast the camera will respond to pressed keys.
velocity: InheritableVariable<Vector3<f32>>§target_velocity: InheritableVariable<Vector3<f32>>§acceleration_coeff: f32§move_forward: bool§move_backward: bool§move_left: bool§move_right: boolImplementations§
Source§impl FlyingCameraController
impl FlyingCameraController
pub const YAW: &'static str = "yaw"
pub const PITCH: &'static str = "pitch"
pub const SPEED: &'static str = "speed"
pub const SENSITIVITY: &'static str = "sensitivity"
pub const PITCH_LIMIT: &'static str = "pitch_limit"
pub const MOVE_FORWARD_KEY: &'static str = "move_forward_key"
pub const MOVE_BACKWARD_KEY: &'static str = "move_backward_key"
pub const MOVE_LEFT_KEY: &'static str = "move_left_key"
pub const MOVE_RIGHT_KEY: &'static str = "move_right_key"
pub const ACCELERATION_CURVE: &'static str = "acceleration_curve"
pub const DECELERATION_CURVE: &'static str = "deceleration_curve"
pub const ACCELERATION_TIME: &'static str = "acceleration_time"
pub const DECELERATION_TIME: &'static str = "deceleration_time"
pub const REACTIVITY: &'static str = "reactivity"
Trait Implementations§
Source§impl Clone for FlyingCameraController
impl Clone for FlyingCameraController
Source§fn clone(&self) -> FlyingCameraController
fn clone(&self) -> FlyingCameraController
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlyingCameraController
impl Debug for FlyingCameraController
Source§impl Default for FlyingCameraController
impl Default for FlyingCameraController
Source§impl Reflect for FlyingCameraControllerwhere
Self: 'static,
impl Reflect for FlyingCameraControllerwhere
Self: 'static,
fn source_path() -> &'static str
fn try_clone_box(&self) -> Option<Box<dyn Reflect>>
fn type_name(&self) -> &'static str
fn derived_types() -> &'static [TypeId]
fn query_derived_types(&self) -> &'static [TypeId]
fn doc(&self) -> &'static str
Source§fn assembly_name(&self) -> &'static str
fn assembly_name(&self) -> &'static str
#[derive(Reflect)]) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.Source§fn type_assembly_name() -> &'static str
fn type_assembly_name() -> &'static str
#[derive(Reflect)]) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.fn fields_ref(&self, func: &mut dyn FnMut(&[FieldRef<'_, '_>]))
fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [FieldMut<'_, '_>]))
fn into_any(self: Box<Self>) -> Box<dyn Any>
fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>
fn as_any(&self, func: &mut dyn FnMut(&dyn Any))
fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut dyn Any))
fn as_reflect(&self, func: &mut dyn FnMut(&dyn Reflect))
fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut dyn Reflect))
Source§fn set_field(
&mut self,
field_name: &str,
value: Box<dyn Reflect>,
func: &mut dyn FnMut(Result<Box<dyn Reflect>, SetFieldError>),
)
fn set_field( &mut self, field_name: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, SetFieldError>), )
#[reflect(setter = ..)] or falls back to
Reflect::field_mutfn field( &self, name: &str, func: &mut dyn FnMut(Option<&(dyn Reflect + 'static)>), )
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut (dyn Reflect + 'static)>), )
fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))
fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )
fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))
fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )
fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )
fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )
fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )
fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )
fn as_handle( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHandle + 'static)>), )
fn as_handle_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHandle + 'static)>), )
Source§impl ScriptTrait for FlyingCameraController
impl ScriptTrait for FlyingCameraController
Source§fn on_os_event(
&mut self,
event: &Event<()>,
context: &mut ScriptContext<'_, '_, '_>,
) -> GameResult
fn on_os_event( &mut self, event: &Event<()>, context: &mut ScriptContext<'_, '_, '_>, ) -> GameResult
Source§fn on_update(&mut self, context: &mut ScriptContext<'_, '_, '_>) -> GameResult
fn on_update(&mut self, context: &mut ScriptContext<'_, '_, '_>) -> GameResult
crate::engine::executor::Executor::set_desired_update_rate method.Source§fn on_init(
&mut self,
ctx: &mut ScriptContext<'_, '_, '_>,
) -> Result<(), GameError>
fn on_init( &mut self, ctx: &mut ScriptContext<'_, '_, '_>, ) -> Result<(), GameError>
Source§fn on_start(
&mut self,
ctx: &mut ScriptContext<'_, '_, '_>,
) -> Result<(), GameError>
fn on_start( &mut self, ctx: &mut ScriptContext<'_, '_, '_>, ) -> Result<(), GameError>
ScriptTrait::on_init, but in separate pass, which means that all
script instances are already initialized. However, if implementor of this method creates a new
node with a script, there will be a second pass of initialization. The method is guaranteed to
be called once.Source§fn on_deinit(
&mut self,
ctx: &mut ScriptDeinitContext<'_, '_, '_>,
) -> Result<(), GameError>
fn on_deinit( &mut self, ctx: &mut ScriptDeinitContext<'_, '_, '_>, ) -> Result<(), GameError>
Source§fn on_message(
&mut self,
message: &mut (dyn ScriptMessagePayload + 'static),
ctx: &mut ScriptMessageContext<'_, '_, '_>,
) -> Result<(), GameError>
fn on_message( &mut self, message: &mut (dyn ScriptMessagePayload + 'static), ctx: &mut ScriptMessageContext<'_, '_, '_>, ) -> Result<(), GameError>
ScriptTrait::on_start method: Read moreSource§impl Visit for FlyingCameraController
impl Visit for FlyingCameraController
Source§fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
Auto Trait Implementations§
impl !Freeze for FlyingCameraController
impl !RefUnwindSafe for FlyingCameraController
impl Send for FlyingCameraController
impl !Sync for FlyingCameraController
impl Unpin for FlyingCameraController
impl UnwindSafe for FlyingCameraController
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
Source§impl<T> BaseScript for T
impl<T> BaseScript for T
Source§fn clone_box(&self) -> Box<dyn ScriptTrait>
fn clone_box(&self) -> Box<dyn ScriptTrait>
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
AnySource§fn as_any_ref_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_ref_mut(&mut self) -> &mut (dyn Any + 'static)
AnySource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSend for T
Source§impl<T> FieldValue for Twhere
T: Reflect,
impl<T> FieldValue for Twhere
T: Reflect,
Source§fn field_value_as_any_ref(&self) -> &(dyn Any + 'static)
fn field_value_as_any_ref(&self) -> &(dyn Any + 'static)
self to a &dyn AnySource§fn field_value_as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn field_value_as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self to a &mut dyn Anyfn field_value_as_reflect(&self) -> &(dyn Reflect + 'static)
fn field_value_as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn type_name(&self) -> &'static str
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<T> ReflectBase for Twhere
T: Reflect,
impl<T> ReflectBase for Twhere
T: Reflect,
fn as_any_raw(&self) -> &(dyn Any + 'static)
fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)
Source§impl<T> ResolvePath for Twhere
T: Reflect,
impl<T> ResolvePath for Twhere
T: Reflect,
fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )
fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )
fn get_resolve_path<'p, T>(
&self,
path: &'p str,
func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>),
)where
T: Reflect,
fn get_resolve_path_mut<'p, T>(
&mut self,
path: &'p str,
func: &mut dyn FnMut(Result<&mut T, ReflectPathError<'p>>),
)where
T: Reflect,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.