Unity - 2D - Нарисуй спрайт с его "реальным" размером - PullRequest
0 голосов
/ 09 октября 2019

Есть ли способ рисовать спрайт 10x20px всегда с 10x20px независимо от разрешения?
Я не хочу добавлять его в качестве объекта пользовательского интерфейса / холста, я хочу иметь возможность разместить его в мире ипереместите его или переместите камеру.
спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Если вы используете компонент Image, вы можете нажать кнопку Установить собственный размер в Инспекторе

Установить размеры окна изображения наисходный размер текстуры в пикселях.

Чтобы переместить его и поместить в 3D, он должен быть потомком Canvas с RenderMode = WorldSpace

Затем обратите внимание на параметры Canvas, в особенности значение CanvasScaler -> Reference Pixels Per Unit. Это должно быть 1 в вашем случае, прежде чем нажать Установить собственный размер в Image.

0 голосов
/ 10 октября 2019

Вы можете сделать это, установив правильный размер для камеры. Попробуйте пакет 2D Pixel Perfect Camera от Unity https://blogs.unity3d.com/2019/03/13/2d-pixel-perfect-how-to-set-up-your-unity-project-for-retro-8-bits-games/

Сценарий в этом пакете автоматически установит размер вашей камеры в соответствии с заданными параметрами. Если вы хотите установить его вручную, формула будет иметь вид:

Размер камеры в орфографии = разрешение по вертикали / PPU / 2

Разрешение по вертикали означает целевое разрешение по вертикали, которое ваш спрайтбыл разработан для. Например, если ваш спрайт спроектирован так, чтобы выглядеть идеально на пикселях на экране 1600x900, то разрешение по вертикали будет 900.

PPU означает пиксель на единицу, по умолчанию все импортированные спрайты установлены на 100.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...