Есть ли способ установить точку поворота спрайта с помощью скрипта? - PullRequest
0 голосов
/ 08 июля 2020

Мы получаем файлы psd от наших дизайнеров для объектов. Мы работаем над игрой isometri c 2.5D, спрайты - это полу-3D рендеры. У нас есть 2 слоя в файлах PSD, один для земли (мы используем его в качестве препятствия с многоугольным 2d коллайдером), а другой слой - это здание / объект. Для точного порядка рендеринга спрайтов мы должны поставить точку поворота здания / объекта на уровень земли. Когда мы импортировали PSD в Unity, точки поворота слоев автоматически оказывались в центре изображения. Нам нужно установить опорную точку спрайта на уровень земли так же, как и опорную точку наземного слоя.

Есть ли какой-либо способ для этого? Похоже, "Sprite.pivot" доступен только для чтения и не может быть изменен с помощью скрипта.

1 Ответ

4 голосов
/ 08 июля 2020

Вы можете создать новый Sprite из существующего и изменить точку поворота, используя Sprite.Create

public Sprite CreateSpriteWithPivot(Sprite existingSprite, Vector2 pivot)
{
    return Sprite.Create(existingSprite.texture, existingSprite.rect, pivot);
}

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