Class PixelPerfectCamera
The Pixel Perfect Camera component ensures your pixel art remains crisp and clear at different resolutions, and stable in motion.
Implements
Inherited Members
Namespace: UnityEngine .Rendering.Universal
Assembly: Unity.RenderPipelines.Universal.2D.Runtime.dll
Syntax
[ExecuteInEditMode]
[DisallowMultipleComponent]
[AddComponentMenu("Rendering/2D/Pixel Perfect Camera")]
[RequireComponent(typeof(Camera))]
[MovedFrom(true, "UnityEngine.Experimental.Rendering.Universal", null, null)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest/index.html?subfolder=/manual/2d-pixelperfect.html%23properties")]
public class PixelPerfectCamera : MonoBehaviour, ISerializationCallbackReceiver
Properties
assetsPPU
Match this value to to the Pixels Per Unit values of all Sprites within the Scene.
Declaration
public int assetsPPU { get; set; }
Property Value
Type | Description |
---|---|
int |
cropFrame
Defines how the output display will be cropped.
Declaration
public PixelPerfectCamera.CropFrame cropFrame { get; set; }
Property Value
Type | Description |
---|---|
Pixel |
gridSnapping
Defines if pixels will be locked to a grid determined by assetsPPU.
Declaration
public PixelPerfectCamera.GridSnapping gridSnapping { get; set; }
Property Value
Type | Description |
---|---|
Pixel |
orthographicSize
The target orthographic size of the camera.
Declaration
public float orthographicSize { get; }
Property Value
Type | Description |
---|---|
float |
pixelRatio
Ratio of the rendered Sprites compared to their original size (readonly).
Declaration
public int pixelRatio { get; }
Property Value
Type | Description |
---|---|
int |
refResolutionX
The original horizontal resolution your Assets are designed for.
Declaration
public int refResolutionX { get; set; }
Property Value
Type | Description |
---|---|
int |
refResolutionY
Original vertical resolution your Assets are designed for.
Declaration
public int refResolutionY { get; set; }
Property Value
Type | Description |
---|---|
int |
requiresUpscalePass
Returns if an upscale pass is required.
Declaration
public bool requiresUpscalePass { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
CorrectCinemachineOrthoSize(float)
Find a pixel-perfect orthographic size as close to targetOrthoSize as possible. Used by Cinemachine to solve compatibility issues with Pixel Perfect Camera.
Declaration
public float CorrectCinemachineOrthoSize(float targetOrthoSize)
Parameters
Type | Name | Description |
---|---|---|
float | targetOrthoSize | Orthographic size from the live Cinemachine Virtual Camera. |
Returns
Type | Description |
---|---|
float | The corrected orthographic size. |
OnAfterDeserialize()
OnAfterSerialize implementation.
Declaration
public void OnAfterDeserialize()
OnBeforeSerialize()
OnBeforeSerialize implementation.
Declaration
public void OnBeforeSerialize()
RoundToPixel(Vector3)
Round a arbitrary position to an integer pixel position. Works in world space.
Declaration
public Vector3 RoundToPixel(Vector3 position)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | position | The position you want to round. |
Returns
Type | Description |
---|---|
Vector3 | The rounded pixel position. Depending on the values of upscaleRT and pixelSnapping, it could be a screen pixel position or an art pixel position. |