Unity - 2D - 绘制一个大小为 "real" 的精灵

Unity - 2D - Draw a sprite with it's "real" size

有没有办法无论分辨率如何,始终使用 10x20px 绘制 10x20px 的精灵?
我并不是要将它添加为 UI/canvas 对象,我希望能够将它放置在世界中并移动它或移动相机。
感谢您的帮助!

如果使用 Image 组件,您可以点击检查器中的 设置原生大小 按钮

Set the dimensions of the image box to the original pixel size of the Texture.

为了移动它并以 3D 形式放置它,它必须是 CanvasRenderMode = WorldSpace

的子代

然后还要注意 Canvas 的选项,尤其是 CanvasScaler -> Reference Pixels Per Unit 值。在 Image.

中点击 Set Native Size 之前,您的情况应该是 1

您可以通过将相机正射尺寸设置为正确的尺寸来做到这一点。试试 Unity 的 2D Pixel Perfect Camera 包 https://blogs.unity3d.com/2019/03/13/2d-pixel-perfect-how-to-set-up-your-unity-project-for-retro-8-bits-games/

该包中的脚本将使用提供的参数自动设置您的相机正射尺寸。如果要手动设置,公式为:

Camera ortographic size = vertical resolution / PPU / 2

垂直分辨率是指您的精灵设计的目标垂直分辨率。例如,如果您的精灵设计为在 1600x900 屏幕上看起来像素完美,则垂直分辨率将为 900。

PPU表示每单位像素,默认情况下所有导入的精灵都设置为100。