Подгонка Sprite не Gui под разширение Экрана

Общие вопросы о Unity3D

Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 10 июл 2017, 12:00

Добрый День! Столкнулся опять с проблемой Почти сделал Новелу и тут оказалось, что на каждом экранах **1280х600 **1920х1080 показывает по-разному тоесть картинки (Sprite ) обрезаются по краям если на 1280х600 всё показывает идеально. то 1920х1080 обрезает слева и справа!(что не есть хорошо) Думаю написать костыль например если соотношении монитора 1920/1080, то сузить картинку, если 1280/600, то расширить. Но я думаю что это не есть хорошая идея в юнити есть же наверно инструменты решающие эту проблему, может через камеру как?
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение snezhok_13 10 июл 2017, 15:20

Обычно это делается углом камеры
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение eonyanov 13 июл 2017, 10:56

snezhok_13 писал(а):Обычно это делается углом камеры

Под углом тут понимается OrthographicSize, как я понимаю.
И да, надо писать костыль, чтобы при изменении пропорций выставлялся правильный OrthographicSize.
Сами спрайты лучше не сужать и не трогать. Всё исключительно через камеру. И надо ещё подумать, чем замещать пустое пространство по бокам.
А может правильней будет вообще перенести всё на uGui. Там со скейлом экрана попроще.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 14 июл 2017, 00:09

У меня спецэфекты на этой картинки поставлены с GUI они не работают насколько я знаю или я ошибаюсь? Не никакие манипуляции с камерой не помогают надо скрипты какие то делать как лучше не понятно
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение eonyanov 14 июл 2017, 09:54

Спец эффекты? То есть ParticleSystem? Если да, то они могут рисоваться поверх uGUI. Нужно у объекта ParticleSystem выставить Layer = UI, а в разделе Renderer в поле OrderInLayer выставить значение побольше.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение jet_aleks 15 июл 2017, 01:47

не согласен с постами выше. Тут нужно строить пропорцию отваливаясь от размеров экрана. Высчитать формулу которая будет скелить спрайты. Это самый разумный подход. К тому же это проверено,Я подобное делал. Может конечно я ошибаюсь и есть более разумный подход.
Toy Trophy:
_https://itunes.apple.com/us/app/toy-trophy/id1180494544?l=ru&ls=1&mt=8
_https://www.youtube.com/watch?v=f5MgMJn15KU
_https://www.youtube.com/watch?v=CZ0viTyf63g
jet_aleks
Старожил
 
Сообщения: 609
Зарегистрирован: 02 июл 2013, 22:28
Откуда: г.Харьков
Skype: jetsan8

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 15 июл 2017, 11:24

Gui не подходит(( надо костыль писать
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение eonyanov 16 июл 2017, 13:12

jet_aleks писал(а):не согласен с постами выше. Тут нужно строить пропорцию отваливаясь от размеров экрана. Высчитать формулу которая будет скелить спрайты. Это самый разумный подход. К тому же это проверено,Я подобное делал. Может конечно я ошибаюсь и есть более разумный подход.

Во всех постах про оптимизацию пишут, что скейлить спрайты не стоит.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение jet_aleks 16 июл 2017, 13:20

Эти посты были написаны года 2-4 назад. Все дико поменялось. Скейлить не желательно было из-за проблем рендеринга, если я не ошибаюсь, и это был баг движка до какойто из 3._ версий. Сейчас вы можете провести эксперимент со скейлом спрайтов.!!!!
Toy Trophy:
_https://itunes.apple.com/us/app/toy-trophy/id1180494544?l=ru&ls=1&mt=8
_https://www.youtube.com/watch?v=f5MgMJn15KU
_https://www.youtube.com/watch?v=CZ0viTyf63g
jet_aleks
Старожил
 
Сообщения: 609
Зарегистрирован: 02 июл 2013, 22:28
Откуда: г.Харьков
Skype: jetsan8

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение eonyanov 17 июл 2017, 12:02

В любом случае, имхо, проще одну камеру настроить, чем скейлить всё спрайты.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 17 июл 2017, 21:45

ну вот не понятно как можно изменять углом камеры чтобы экран не резался По Горизонтали и по вертикали вот например как режиться на разных экранах http://www.gamedev.ru/files/images/?id=127051 Тоесть почти на 1 единицу с каждой стороны
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение samana 17 июл 2017, 21:56

Могу ошибаться по поводу понимания проблемы, но может вам это решение подойдёт https://youtu.be/rMCLWt1DuqI?t=36m9s (с перемоткой).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение eonyanov 18 июл 2017, 12:25

Вот Вам скрипт, попробуйте его повесить его на камеру. Хотя не обязательно и на камеру так то.
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraSize : MonoBehaviour
{
    public Vector2 ReferenceResolution = new Vector2(1280f, 600f);

        // Use this for initialization
        void Start ()
    {
        float aspect = (float) Screen.width / Screen.height;
        float newHeight = ReferenceResolution.x / aspect;
        Camera.main.orthographicSize = newHeight / 200f;
        }      

}


В поле ReferenceResolution в инспекторе введите разрешение, под которое у Вас настроена игра.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 18 июл 2017, 19:44

спс Надо пробовать.
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22

Re: Подгонка Sprite не Gui под разширение Экрана

Сообщение Orcan 04 авг 2017, 20:31

я не понял как это работает Можешь продемонстрировать на живом проекте eonyanov Пожауйста
Orcan
UNITрон
 
Сообщения: 191
Зарегистрирован: 25 сен 2016, 04:22


Вернуться в Общие вопросы

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


cron