изображение под экран Sprite2D

Программирование на Юнити.

изображение под экран Sprite2D

Сообщение xakmenpro 19 дек 2016, 23:49

привет всем. весь день хожу вокруг да около, не могу подогнать 2д спрайт по размеру экрана со скрипта
есть несколько изображений идущих друг за другом, все они разных размеров. мне нужно сделать так, чтобы изображение по ширине было равно ширине экрана, сохраняя пропорции
пробовал изменять текстуру с помощью Sprite.Create(), почти работает. проблема в параметре pixelsPerUnit, я не могу получить точное число, для уменьшения или увеличения изображения, может кто знает как это сделать? я могу вручную подогнать, но мне нужна формула
пробовал изменять Camera.main.orthographicSize, подгонять под каждое изображение по формуле, почти хорошо работает под уменьшение маштаба, думаю немного повозиться и можно будет и под увеличение сделать, но такой метод меня не устраивает. все объекты вокруг тоже изменяют свой размер, а мне нужен только один объект либо текстуру в нем
пробовал изменять localScale у объекта, все истыкал-получается кривь вкось. кто может подогнать рабочий пример, скрипт или дать совет, направить на правильный путь?
xakmenpro
UNец
 
Сообщения: 21
Зарегистрирован: 13 фев 2016, 02:56

Re: изображение под экран Sprite2D[РЕШЕНО]

Сообщение xakmenpro 05 янв 2017, 20:17

Синтаксис:
Используется csharp
может кому пригодится, прога в портрете

float cK = Camera.main.orthographicSize * Camera.main.aspect;//ширина камеры
float iW = GetComponent<SpriteRenderer>().sprite.texture.width;//ширина изображения
float K = cK / iW * 200f;//вычисляем коэффициент

transform.localScale = new Vector3(K, K, 1f);//подгоняем изображение под экран
xakmenpro
UNец
 
Сообщения: 21
Зарегистрирован: 13 фев 2016, 02:56


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 16