Страница 1 из 1

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

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

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

СообщениеДобавлено: 05 янв 2017, 20:17
xakmenpro
Синтаксис:
Используется 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);//подгоняем изображение под экран