CameraComponent Class
Namespace: Stride.EngineAssembly: Stride.Engine.dll
Describes the camera projection and view.
[DataContract("CameraComponent")]
[Display("Camera", null, Expand = ExpandRule.Once)]
[DefaultEntityComponentProcessor(typeof(CameraProcessor))]
[ComponentOrder(13000)]
[ObjectFactory(typeof(CameraComponent.Factory))]
public sealed class CameraComponent : ActivableEntityComponent, IIdentifiable
Name | Description | |
---|---|---|
Constructors | ||
CameraComponent() | Create a new CameraComponent instance. |
|
CameraComponent(Single, Single) | Create a new CameraComponent instance with the provided target, near plane and far plane. |
|
Fields | ||
DefaultAspectRatio | ||
DefaultFarClipPlane | ||
DefaultNearClipPlane | ||
DefaultOrthographicSize | ||
DefaultVerticalFieldOfView | ||
Frustum | The frustum extracted from the view projection matrix calculated automatically after calling Update() method. |
|
ProjectionMatrix | Gets or sets the local projection matrix. See remarks. |
|
Slot | ||
ViewMatrix | Gets or sets the local view matrix. See remarks. |
|
ViewProjectionMatrix | The view projection matrix calculated automatically after calling Update() method. |
|
Properties | ||
ActuallyUsedAspectRatio | Gets the last used aspect ratio. |
|
AspectRatio | Gets or sets the custom aspect ratio. |
|
FarClipPlane | Gets or sets the far plane distance. |
|
Name | ||
NearClipPlane | Gets or sets the near plane distance. |
|
OrthographicSize | Gets or sets the height of the orthographic projection. |
|
Projection | Gets or sets the projection. |
|
UseCustomAspectRatio | Gets or sets a value indicating whether to use a custom AspectRatio. Default is |
|
UseCustomProjectionMatrix | Gets or sets a value indicating whether to use custom ProjectionMatrix. Default is |
|
UseCustomViewMatrix | Gets or sets a value indicating whether to use custom ViewMatrix. Default is |
|
VerticalFieldOfView | Gets or sets the vertical field of view in degrees. |
|
Methods | ||
Update() | Calculates the projection matrix and view matrix. |
|
Update(Nullable<Single>) | Calculates the projection matrix and view matrix. |
Constructors
CameraComponent()
Create a new CameraComponent instance.
public CameraComponent()
CameraComponent(Single, Single)
Create a new CameraComponent instance with the provided target, near plane and far plane.
public CameraComponent(float nearClipPlane, float farClipPlane)
Parameters
Type | Name | Description |
---|---|---|
System.Single | nearClipPlane | The near plane value |
System.Single | farClipPlane | The far plane value |
Fields
DefaultAspectRatio
public const float DefaultAspectRatio = 1.77777779F
Field Value
Type | Description |
---|---|
System.Single |
DefaultFarClipPlane
public const float DefaultFarClipPlane = 1000F
Field Value
Type | Description |
---|---|
System.Single |
DefaultNearClipPlane
public const float DefaultNearClipPlane = 0.1F
Field Value
Type | Description |
---|---|
System.Single |
DefaultOrthographicSize
public const float DefaultOrthographicSize = 10F
Field Value
Type | Description |
---|---|
System.Single |
DefaultVerticalFieldOfView
public const float DefaultVerticalFieldOfView = 45F
Field Value
Type | Description |
---|---|
System.Single |
Frustum
The frustum extracted from the view projection matrix calculated automatically after calling Update() method.
public BoundingFrustum Frustum
Field Value
Type | Description |
---|---|
BoundingFrustum |
ProjectionMatrix
Gets or sets the local projection matrix. See remarks.
public Matrix ProjectionMatrix
Field Value
Type | Description |
---|---|
Matrix | The local projection matrix. |
Remarks
This value is updated when calling Update() or is directly used when UseCustomViewMatrix is true
.
Slot
[DataMember(50)]
public SceneCameraSlotId Slot
Field Value
Type | Description |
---|---|
SceneCameraSlotId |
ViewMatrix
Gets or sets the local view matrix. See remarks.
public Matrix ViewMatrix
Field Value
Type | Description |
---|---|
Matrix | The local view matrix. |
Remarks
This value is updated when calling Update() or is directly used when UseCustomViewMatrix is true
.
ViewProjectionMatrix
The view projection matrix calculated automatically after calling Update() method.
public Matrix ViewProjectionMatrix
Field Value
Type | Description |
---|---|
Matrix |
Properties
ActuallyUsedAspectRatio
Gets the last used aspect ratio.
public float ActuallyUsedAspectRatio { get; }
Property Value
Type | Description |
---|---|
System.Single |
Remarks
This value is updated when calling Update().
It either holds the aspect ratio of the window that called Update or the manually set aspect ratio AspectRatio if UseCustomAspectRatio is true
.
AspectRatio
Gets or sets the custom aspect ratio.
[DataMember(40)]
public float AspectRatio { get; set; }
Property Value
Type | Description |
---|---|
System.Single | The custom aspect ratio. |
FarClipPlane
Gets or sets the far plane distance.
[DataMember(30)]
public float FarClipPlane { get; set; }
Property Value
Type | Description |
---|---|
System.Single | The far plane distance. |
Name
[DataMember(-5)]
[Obsolete("This property is no longer used.")]
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NearClipPlane
Gets or sets the near plane distance.
[DataMember(20)]
public float NearClipPlane { get; set; }
Property Value
Type | Description |
---|---|
System.Single | The near plane distance. |
OrthographicSize
Gets or sets the height of the orthographic projection.
[DataMember(10)]
[Display("Orthographic size", null)]
public float OrthographicSize { get; set; }
Property Value
Type | Description |
---|---|
System.Single | The height of the orthographic projection. |
Projection
Gets or sets the projection.
[DataMember(0)]
public CameraProjectionMode Projection { get; set; }
Property Value
Type | Description |
---|---|
CameraProjectionMode | The projection. |
UseCustomAspectRatio
Gets or sets a value indicating whether to use a custom AspectRatio. Default is false
, meaning that the aspect ratio is calculated from the ratio of the current viewport when rendering.
[DataMember(35)]
[Display("Custom aspect ratio", null)]
public bool UseCustomAspectRatio { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | The use custom aspect ratio. |
UseCustomProjectionMatrix
Gets or sets a value indicating whether to use custom ProjectionMatrix. Default is false
public bool UseCustomProjectionMatrix { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
UseCustomViewMatrix
Gets or sets a value indicating whether to use custom ViewMatrix. Default is false
public bool UseCustomViewMatrix { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
VerticalFieldOfView
Gets or sets the vertical field of view in degrees.
[DataMember(5)]
[Display("Field of view", null)]
[DataMemberRange(1, 179, 1, 10, 0)]
public float VerticalFieldOfView { get; set; }
Property Value
Type | Description |
---|---|
System.Single | The vertical field of view. |
Methods
Update()
Calculates the projection matrix and view matrix.
public void Update()
Update(Nullable<Single>)
Calculates the projection matrix and view matrix.
public void Update(float? screenAspectRatio)
Parameters
Type | Name | Description |
---|---|---|
System.Nullable<System.Single> | screenAspectRatio | The current screen aspect ratio. If null, use the AspectRatio even if UseCustomAspectRatio is false. |