Struct bevy::render::camera::OrthographicCameraBundle
[−]pub struct OrthographicCameraBundle<M> where
M: Component, {
pub camera: Camera,
pub orthographic_projection: OrthographicProjection,
pub visible_entities: VisibleEntities,
pub frustum: Frustum,
pub transform: Transform,
pub global_transform: GlobalTransform,
pub marker: M,
}
Expand description
Component bundle for camera entities with orthographic projection
Use this for 2D games, isometric games, CAD-like 3D views.
Fields
camera: Camera
orthographic_projection: OrthographicProjection
visible_entities: VisibleEntities
frustum: Frustum
transform: Transform
global_transform: GlobalTransform
marker: M
Implementations
impl OrthographicCameraBundle<Camera3d>
impl OrthographicCameraBundle<Camera3d>
pub fn new_3d() -> OrthographicCameraBundle<Camera3d>
impl OrthographicCameraBundle<Camera2d>
impl OrthographicCameraBundle<Camera2d>
pub fn new_2d() -> OrthographicCameraBundle<Camera2d>
pub fn new_2d() -> OrthographicCameraBundle<Camera2d>
Create an orthographic projection camera to render 2D content.
The projection creates a camera space where X points to the right of the screen,
Y points to the top of the screen, and Z points out of the screen (backward),
forming a right-handed coordinate system. The center of the screen is at X=0
and
Y=0
.
The default scaling mode is ScalingMode::WindowSize
, resulting in a resolution
where 1 unit in X and Y in camera space corresponds to 1 logical pixel on the screen.
That is, for a screen of 1920 pixels in width, the X coordinates visible on screen go
from X=-960
to X=+960
in world space, left to right. This can be changed by changing
the OrthographicProjection::scaling_mode
field.
The camera is placed at Z=+1000-0.1
, looking toward the world origin (0,0,0)
.
Its orthographic projection extends from 0.0
to -1000.0
in camera view space,
corresponding to Z=+999.9
(closest to camera) to Z=-0.1
(furthest away from
camera) in world space.
Trait Implementations
impl<M> Bundle for OrthographicCameraBundle<M> where
M: Component,
impl<M> Bundle for OrthographicCameraBundle<M> where
M: Component,
SAFE: ComponentId is returned in field-definition-order. [from_components] and [get_components] use field-definition-order
fn component_ids(
components: &mut Components,
storages: &mut Storages
) -> Vec<ComponentId, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn component_ids(
components: &mut Components,
storages: &mut Storages
) -> Vec<ComponentId, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
unsafe fn from_components(
func: impl FnMut() -> *mut u8
) -> OrthographicCameraBundle<M>
unsafe fn from_components(
func: impl FnMut() -> *mut u8
) -> OrthographicCameraBundle<M>
fn get_components(self, func: impl FnMut(*mut u8))
fn get_components(self, func: impl FnMut(*mut u8))
Calls func
on each value, in the order of this bundle’s Component
s. This will
std::mem::forget
the bundle fields, so callers are responsible for dropping the fields
if that is desirable. Read more
Auto Trait Implementations
impl<M> RefUnwindSafe for OrthographicCameraBundle<M> where
M: RefUnwindSafe,
impl<M> Send for OrthographicCameraBundle<M>
impl<M> Sync for OrthographicCameraBundle<M>
impl<M> Unpin for OrthographicCameraBundle<M> where
M: Unpin,
impl<M> UnwindSafe for OrthographicCameraBundle<M> where
M: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert 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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more