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

Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 08:13
Дмитрий345
Я создаю через инспектор фотографии в сцене и делаю их по высоте в мировом пространстве одного размера.
я в результате могу получить что фото было не достаточного разрешения и оказалось размытым.
как узнать в рантайме что оно размыто и добавить в изображение рамку чтобы вернуть разрешение изображения и оставить размер полотна впокое?

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 08:33
1max1
фото спрайтами или image?
делаю их по высоте

через transform.scale?

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 08:58
Дмитрий345
1max1 писал(а):фото спрайтами или image?
делаю их по высоте

через transform.scale?

спрайтами через скейл

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 12:35
1max1
а чему равно значение pixelPerUnit на спрайтах у тебя?

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 13:54
Дмитрий345
1max1 писал(а):а чему равно значение pixelPerUnit на спрайтах у тебя?

100
то есть надо поделить высоту полотна на высоту файла изображения и получить коефициент?
тогда далее я пытаюсь отобразить изображение в исходном размере в центре а остальное закрасить цветом
если попытаться нарисовать новое изображение, накладно, мипы? или создать дочернее изображение, а в родительском все закрасить цветом?

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 15:48
1max1
тут еще зависит от того, какой orthographicSize на камере стоит.

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 16:03
Дмитрий345
1max1 писал(а):тут еще зависит от того, какой orthographicSize на камере стоит.

вообще в персп
вообще я в эту сторону думал, но мож это не самое то создавать порог до которого (разрешения) все такие будут отображаться в исходном скейле, а оценить что размыты ли конкретно блоки пикселей как то небесно)))

Re: Как узнать что изображение оказалось размытым?

СообщениеДобавлено: 28 май 2018, 17:34
Дмитрий345
1max1 писал(а):тут еще зависит от того, какой orthographicSize на камере стоит.

в общем получилось, спасибо)
Синтаксис:
Используется csharp
bool QualityCalculation()
        {
                float factor = this.GetComponent<SpriteRenderer>().bounds.size.y / this.sprite.bounds.size.y;
                if (factor > kPerUnit)
                        return true;
                return false;
        }

Синтаксис:
Используется csharp
if (QualityCalculation())
                {
                        float s = this.transform.localScale.y;
                        this.GetComponent<SpriteRenderer>().sprite = backSprite;
                        this.GetComponent<SpriteRenderer>().drawMode = SpriteDrawMode.Sliced;
                        this.GetComponent<SpriteRenderer>().size = new Vector2(this.sprite.bounds.size.x, this.sprite.bounds.size.y);
                        this.transform.localScale = new Vector3(s, s, 1f);
                        this.GetComponent<SpriteRenderer>().color = new Color32(45,45,45,255);
                        this.transform.GetChild (1).GetComponent<SpriteRenderer>().sprite = this.sprite;
                        this.transform.GetChild (1).GetComponent<SpriteRenderer>().enabled = true;
                }

получилось что если изображение было увеличено то появляется с рамкой, а если равно или уменьшено то оно остается как создано