pub struct Vpeol3dCameraControl {
    pub plane_origin: Vec3,
    pub plane: InfinitePlane3d,
    pub allow_rotation_while_maintaining_up: Option<Dir3>,
    pub proximity_per_scroll_line: f32,
    pub proximity_per_scroll_pixel: f32,
}Expand description
Move and rotate a camera entity with the mouse while inisde the editor.
Fields§
§plane_origin: Vec3Panning is done by dragging a plane with this as its origin.
plane: InfinitePlane3dPanning is done by dragging along this plane.
allow_rotation_while_maintaining_up: Option<Dir3>Is Some, enable mouse rotation. The up direction of the camera will be the specific
direction.
It is a good idea to match this to Vpeol3dPluginForEditor::drag_plane.
proximity_per_scroll_line: f32How much to change the proximity to the plane when receiving scroll event in
MouseScrollUnit::Line units.
proximity_per_scroll_pixel: f32How much to change the proximity to the plane when receiving scroll event in
MouseScrollUnit::Pixel units.
Implementations§
Source§impl Vpeol3dCameraControl
 
impl Vpeol3dCameraControl
Sourcepub fn sidescroller() -> Self
 
pub fn sidescroller() -> Self
Preset for sidescroller games, where the the game world is on the XY plane.
With this preset, the camera rotation is disabled.
This combines well with Vpeol3dPluginForEditor::sidescroller.
Sourcepub fn topdown() -> Self
 
pub fn topdown() -> Self
Preset for games where the the game world is mainly on the XZ plane (though there can still be verticality)
This combines well with Vpeol3dPluginForEditor::topdown.
Trait Implementations§
Source§impl Component for Vpeol3dCameraControl
 
impl Component for Vpeol3dCameraControl
Source§const STORAGE_TYPE: StorageType = ::bevy::ecs::component::StorageType::Table
 
const STORAGE_TYPE: StorageType = ::bevy::ecs::component::StorageType::Table
Source§type Mutability = Mutable
 
type Mutability = Mutable
Component<Mutability = Mutable>],
while immutable components will instead have [Component<Mutability = Immutable>]. Read moreSource§fn register_required_components(
    _requiree: ComponentId,
    required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
 
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
 
fn clone_behavior() -> ComponentCloneBehavior
§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
on_add [ComponentHook] for this [Component] if one is defined.§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
on_insert [ComponentHook] for this [Component] if one is defined.§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
on_replace [ComponentHook] for this [Component] if one is defined.§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
on_remove [ComponentHook] for this [Component] if one is defined.§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
on_despawn [ComponentHook] for this [Component] if one is defined.§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
 
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
EntityMapper]. This is used to remap entities in contexts like scenes and entity cloning.
When deriving [Component], this is populated by annotating fields containing entities with #[entities] Read moreSource§impl FromReflect for Vpeol3dCameraControl
 
impl FromReflect for Vpeol3dCameraControl
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
 
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Self from a reflected value.§fn take_from_reflect(
    reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
 
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self using,
constructing the value using from_reflect if that fails. Read moreSource§impl GetTypeRegistration for Vpeol3dCameraControl
 
impl GetTypeRegistration for Vpeol3dCameraControl
Source§fn get_type_registration() -> TypeRegistration
 
fn get_type_registration() -> TypeRegistration
TypeRegistration] for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
 
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl PartialReflect for Vpeol3dCameraControl
 
impl PartialReflect for Vpeol3dCameraControl
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
 
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
TypeInfo] of the type represented by this value. Read moreSource§fn reflect_kind(&self) -> ReflectKind
 
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
 
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
 
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
 
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
    self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
 
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
 
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
 
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
 
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
 
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
 
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
 
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
 
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self using reflection. Read more§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
 
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
§fn to_dynamic(&self) -> Box<dyn PartialReflect>
 
fn to_dynamic(&self) -> Box<dyn PartialReflect>
§fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>where
    T: 'static,
    Self: Sized + TypePath,
 
fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>where
    T: 'static,
    Self: Sized + TypePath,
PartialReflect], combines reflect_clone and
take in a useful fashion, automatically constructing an appropriate
[ReflectCloneError] if the downcast fails. Read more§fn reflect_hash(&self) -> Option<u64>
 
fn reflect_hash(&self) -> Option<u64>
§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
 
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
§fn is_dynamic(&self) -> bool
 
fn is_dynamic(&self) -> bool
Source§impl Reflect for Vpeol3dCameraControl
 
impl Reflect for Vpeol3dCameraControl
Source§fn as_any_mut(&mut self) -> &mut dyn Any
 
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
 
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
 
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
 
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl Struct for Vpeol3dCameraControl
 
impl Struct for Vpeol3dCameraControl
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
 
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name as a &dyn PartialReflect.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
 
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name as a
&mut dyn PartialReflect.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
 
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index as a
&dyn PartialReflect.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
 
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect.Source§fn name_at(&self, index: usize) -> Option<&str>
 
fn name_at(&self, index: usize) -> Option<&str>
index.Source§fn iter_fields(&self) -> FieldIter<'_>
 
fn iter_fields(&self) -> FieldIter<'_>
Source§fn to_dynamic_struct(&self) -> DynamicStruct
 
fn to_dynamic_struct(&self) -> DynamicStruct
DynamicStruct] from this struct.§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
 
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None if [TypeInfo] is not available.Source§impl TypePath for Vpeol3dCameraControl
 
impl TypePath for Vpeol3dCameraControl
Source§fn type_path() -> &'static str
 
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
 
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
 
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
 
fn crate_name() -> Option<&'static str>
Auto Trait Implementations§
impl Freeze for Vpeol3dCameraControl
impl RefUnwindSafe for Vpeol3dCameraControl
impl Send for Vpeol3dCameraControl
impl Sync for Vpeol3dCameraControl
impl Unpin for Vpeol3dCameraControl
impl UnwindSafe for Vpeol3dCameraControl
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for T
 
impl<T, U> AsBindGroupShaderType<U> for T
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
 
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T [ShaderType] for self. When used in [AsBindGroup]
derives, it is safe to assume that all images in self exist.Source§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
§impl<C> Bundle for Cwhere
    C: Component,
 
impl<C> Bundle for Cwhere
    C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
§fn get_component_ids(
    components: &Components,
    ids: &mut impl FnMut(Option<ComponentId>),
)
 
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Bundle]’s component ids. This will be None if the component has not been registered.§impl<C> BundleFromComponents for Cwhere
    C: Component,
 
impl<C> BundleFromComponents for Cwhere
    C: Component,
§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    T: Any,
§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.§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.§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.§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.§impl<T> DowncastSend for T
 
impl<T> DowncastSend for T
§impl<C> DynamicBundle for Cwhere
    C: Component,
 
impl<C> DynamicBundle for Cwhere
    C: Component,
§unsafe fn get_components(
    ptr: MovingPtr<'_, C>,
    func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
 
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
§unsafe fn apply_effect(
    _ptr: MovingPtr<'_, MaybeUninit<C>>,
    _entity: &mut EntityWorldMut<'_>,
)
 
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
§impl<T> DynamicTypePath for Twhere
    T: TypePath,
 
impl<T> DynamicTypePath for Twhere
    T: TypePath,
§fn reflect_type_path(&self) -> &str
 
fn reflect_type_path(&self) -> &str
TypePath::type_path].§fn reflect_short_type_path(&self) -> &str
 
fn reflect_short_type_path(&self) -> &str
TypePath::short_type_path].§fn reflect_type_ident(&self) -> Option<&str>
 
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident].§fn reflect_crate_name(&self) -> Option<&str>
 
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name].§fn reflect_module_path(&self) -> Option<&str>
 
fn reflect_module_path(&self) -> Option<&str>
TypePath::module_path].§impl<T> DynamicTyped for Twhere
    T: Typed,
 
impl<T> DynamicTyped for Twhere
    T: Typed,
§fn reflect_type_info(&self) -> &'static TypeInfo
 
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info].§impl<S> GetField for Swhere
    S: Struct,
 
impl<S> GetField for Swhere
    S: Struct,
§impl<T> GetPath for Twhere
    T: Reflect + ?Sized,
 
impl<T> GetPath for Twhere
    T: Reflect + ?Sized,
§fn reflect_path<'p>(
    &self,
    path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
 
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read more§fn reflect_path_mut<'p>(
    &mut self,
    path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
 
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read more§impl<T> Identity for Twhere
    T: ?Sized,
 
impl<T> Identity for Twhere
    T: ?Sized,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more