Class PixelPerfectCamera
The Pixel Perfect Camera component ensures your pixel art remains crisp and clear at different resolutions, and stable in motion.
Inherited Members
Namespace: UnityEngine.Experimental.Rendering.Universal
Syntax
[DisallowMultipleComponent]
[AddComponentMenu("Rendering/2D/Pixel Perfect Camera (Experimental)")]
[RequireComponent(typeof(Camera))]
[MovedFrom("UnityEngine.Experimental.Rendering.LWRP")]
[HelpURL("https://docs.unity.cn/Packages/com.unity.render-pipelines.universal@latest/index.html?subfolder=/manual/2d-pixelperfect.html%23properties")]
public class PixelPerfectCamera : MonoBehaviour, IPixelPerfectCamera
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 |
---|---|
Int32 |
cropFrameX
Set to true to crop the viewport with black bars to match refResolutionX in the horizontal direction.
Declaration
public bool cropFrameX { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
cropFrameY
Set to true to crop the viewport with black bars to match refResolutionY in the vertical direction.
Declaration
public bool cropFrameY { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
pixelRatio
Ratio of the rendered Sprites compared to their original size (readonly).
Declaration
public int pixelRatio { get; }
Property Value
Type | Description |
---|---|
Int32 |
pixelSnapping
Set to true to prevent subpixel movement and make Sprites appear to move in pixel-by-pixel increments. Only applicable when upscaleRT is false.
Declaration
public bool pixelSnapping { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
refResolutionX
The original horizontal resolution your Assets are designed for.
Declaration
public int refResolutionX { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
refResolutionY
Original vertical resolution your Assets are designed for.
Declaration
public int refResolutionY { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
stretchFill
Set to true to expand the viewport to fit the screen resolution while maintaining the viewport's aspect ratio. Only applicable when both cropFrameX and cropFrameY are true.
Declaration
public bool stretchFill { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
upscaleRT
Set to true to have the Scene rendered to a temporary texture set as close as possible to the Reference Resolution, while maintaining the full screen aspect ratio. This temporary texture is then upscaled to fit the full screen.
Declaration
public bool upscaleRT { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Methods
CorrectCinemachineOrthoSize(Single)
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 |
---|---|---|
Single | targetOrthoSize | Orthographic size from the live Cinemachine Virtual Camera. |
Returns
Type | Description |
---|---|
Single | The corrected orthographic size. |
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. |