Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Пара вопросов - Unity

Пара вопросов - Unity

Поделиться
SkyDevПостоялецwww31 окт. 201715:17#0
Hello world!


-———————————Q1——————————— [ Resolved: Asset Bundle Variants  ]

Вся графика нарисована в разрешении 1920x1080 ( 16:9 ). И мы запускаем приложение на экране 960x540.
Да, можно даунскейлить 1920x1080 но это трата ресурсов процессора и памяти, оптимальнее создать второй пак ресурсов для девайсов с низким разрешением экрана.

Предположим у нас есть два пака ресурсов. Предусмотрена ли в Unity система позволяющая выбирать откуда грузить графику?
В проекте две папки graphics/high/ и graphics/low, В рантайме мы определяем какой пак будет самым оптимальным, и выбираем его для работы.

В cocos2dx можно было сделать подмену searchpath, а в конфигах описывать относительные пути ( по типу dragon/dragon_head.png ). А в рантайме на основе searchpath и относительного пути уже формировался полный путь.

Как грамотно организовать подобную систему в юнити?

-———————————Q2——————————— [ Resolved: Путь к открываемой базе был неверным, SQLite анонимно создавал новую базу, и работал с ней. ]

Использую sqlite базу для хранения локальных пользовательских данных. Пытаюсь создать таблицу следующим образом:

  using( var conn = new SqliteConnection( pth ) )
        {
            try
            {
                conn.Open();

                using( var command = conn.CreateCommand() )
                {
                    string cmdString = string.Format( "create table if not exists {0} ( __record_id__ integer not null primary key autoincrement default 0 );", table );

                    command.CommandText = cmdString;
                    command.ExecuteNonQuery();

                    conn.Close();
                }
            }
            catch( System.Exception exc )
            {
            }
        }

Смотрю отладчиком, все успешно проходит. Открываю DB Drowser, а в базе нет ни одной таблицы. Почему так?

Правка: 1 ноя. 2017 13:43

KumoKairoПостоялецwww31 окт. 201716:29#1
Предположим у нас есть два пака ресурсов. Предусмотрена ли в Unity система позволяющая выбирать откуда грузить графику?

Asset Bundle Variants
https://unity3d.com/learn/tutorials/topics/scripting/assetbundles… undle-manager
http://unitylist.com/r/b9p/unity-asset-bundle-variants-example в примере показана загрузка тематически различающихся картинок весна-осень, но чаще всего функционал variants используют именно для sd / hd / uhd графики
Использую sqlite базу для хранения локальных пользовательских данных

Перечислите локальные пользовательские данные, которые вам нужно хранить
SkyDevПостоялецwww31 окт. 201717:05#2
KumoKairo
Спасибо!

>Перечислите локальные пользовательские данные, которые вам нужно хранить
Их много: int, bool, string float. И нужна возможность удобной/свободной манипуляции над данными.
К примеру у игрока 4 профиля, и один из которых он захотел удалить - через sqlite я просто удаляю таблицу этого профиля.

KumoKairoПостоялецwww31 окт. 201717:29#3
Просто чаще всего SQLite это оверкил для простой задачи сохранения игрока. Проблемы, помимо прочего, начинаются при попытке перейти на другую платформу, которая может не поддерживаться либой (SQLite может быть просто не скомпилен под нужную платформу или архитектуру платформы), и происходит это обычно в самый неожиданный момент и на самом непредсказуемом наборе устройств.
SkyDevПостоялецwww31 окт. 201718:09#4
KumoKairo
Лучше свое решение, и записывать в файл? Или есть хорошие альтернативы SQLite у юнити?

[ Вопрос о SQLite все еще актуален ]

Правка: 31 окт. 2017 18:14

E-ConeУчастникwww31 окт. 201718:54#5
Я вручную собрал базу на MySQL и завел в ней все поля, а через юнити только отправляю запросы на запись-чтение данных
SkyDevПостоялецwww1 ноя. 201713:42#6
E-Cone
Слишком много ключей в моем случае, это вариант для небольшого количества данных.

[ Работает! Проверил путь к открываемой базе, и он был неверен. sqlite анонимно создавал новую базу по этому пути, и работал с ней. ]

/ Форум / Программирование игр / Общее

2001—2017 © GameDev.ru — Разработка игр