Обновить
4
0

Пользователь

Отправить сообщение
У вас может быть совершенно гениальный 2D художник в распоряжении. Никакое 3D ни за какие деньги этого не заменяет. Вот это, например, наш за один день нарисовал:
image
Куча способов, работающих с 5-6 месяцев, проверены на нашем.
1) Ребёнок не успокаивается на руках у папы.
2) Ребёнок что-то ищет. Если постарше — в возрасте месяцев 8 — посматривает в сторону кухни.
3) Наконец третий, для людей лишённых наблюдательности — показать бутылочку. Но если он действительно голоден, то разводить смесь вы будете после этого под аккомпонимент серены, пока не отдадите ему бутылку.
>> Пытался сделать несколько таких вариантов, пока хорошего и удобного не получилось, но продолжаю поиски в фоновом режиме.
Для Юнити не так критично если вы не используете DestroyInstantly и рейтрейсинг после изменений в дереве. Потому что она всё равно дерево отображения перестраивает один раз за кадр. А вот для Флэши, которая перестроение всего дерева делала после каждого SwitchDepth это было огого как критично.

Моё решение было такое — благодаря этим вот массивам, которые я описал выше легко искать ближайший элемент, который ниже, и ближайший элемент, который выше. Я вставляя новый элемент искал место в существующей сортировке, если обнаруживался конфликт, когда первый элемент который выше вставляемого оказывался ниже последнего элемента который ниже, я брал одну из этих элементов, например верхний и двигал по сортировке до максимально допустимого для него положения. После этого повторял и если всё ещё конфликт брал нижний и сдвигал его вниз. Обычно в одно-три движения конфликт разрешается.
Сам сильно зауважал дядей писавших Linq с их оптимизациями когда попытался дополнить его своими функциями, делающими то же самое, что и последовательность из нескольких коробочных команд. К сожалению забыть о нём придётся по более банальной причине — некоторые его функции не работают на iOS. А учитывая соотношение доходов от iOS и Android в юнитёвых проектах это смертный приговор.
Предложенная вами сортировка вытянутых убийственно проста и одновременно с тем убийственно медленная. Можете затестить сколько сравнений она у вас сделает имея в кадре 300 объектов, например.

Гораздо более шустрое решение ИМХО можно получить сохраняя промежуточные данные между кадрами и меняя сортировку элементов только тогда, когда один из них меняет положение. Так можно ещё одного эффекта добиться, иногда полезного — можно сделать пересортировку минимальным количеством перестановок. Для этого вам нужно хранить кроме положения каждого элемента по каждой из двух координат и размеров ещё два List<List> вдоль каждой из координат. В первый вы записываете все элементы, которые в этой целочисленной координате начинаются вдоль данной оси, а во второй все элементы, которые в этой координате заканчиваются.

Имея такую структуру данных вы в первый раз отсортируете элементы очень быстро, а при перемещении одного из элементов сможете делать изменение в минимальное количество перестановок. В изометрической игре, как правило, реально подвижных элементов не больше 10%.
Для разных стран ограничения разные. Если ты в Великобританию вывозишь — можешь быть хоть десять раз гражданским. А вот если ты вдруг в страны заражённые чумой непослушания вывозишь, типа России, тогда получи 185 лет тюрьмы.
Кстати, был сегодня в музее космонавтики и читал там документы об аресте Королёва и Глушко. Формальным поводом для ареста являлось то, что институт за 7 лет существования и несколько сот тысяч рублей построил только игрушечную ракету взлетающаю на 400 метров. Следователей НКВД тогда в 38-ом тоже поразил размах попилов и непродуктивного и кустарного расходования средств Королёвым Сергеем Павловичем.

Никаких намёков, просто к слову пришлось.
Всех почему-то так искренне удивляет, что машины тоже могут оверыититься под тренировочные тесты…
Ну у меня не один пул, на самом деле а лист из нескольких. По одному пулу на префаб, но у меня графика не слишком странная поэтому в итоге получается немножко. В одном пуле лежать просто спрайты, во втором два спрайта один над другим (пригождается для зачёркнутых, грубо говоря, элементов. В третьем пуле анимации лежат, и так далее. Имя префаба используется как первый ключ.

А дальше получается что-то вроде:
var item = poolController.Get(PrefabName);
item.decorate(imgDescription);

Пришёл к такой схеме потому что оказалось, что переключится с атласа на атлас спрайту почти так же быстро. В первой версии заводил по бассейну под каждый атлас. Думаю с юнитами у вас проканает примерно такой же подход.

А ещё я реализовал полезную штуку — что когда если в кадре к пулингМенеджеру не обращались, он про запас создаёт по одному префаб, пока их сотня в резерве не накопится.
Используем в своём проекте такую же штуковину. Дело в том, что инстанцирование префаба операция раз в 30 медленнее, чем сменить UV координаты и сделать объект видимым. Поэтому я держу несколько пулов, в каждом лежат обезличенные префабы. Когда надо добавить на экран спрайт из этого атласа из пула вынимается объект, включается в дерево отображения и выставляются координатки для тестуры или какое ещё там поведение на инициализации нужно. Получается штук 5-6 разных бассейнов на игру.

На сцене у меня порой возникает по 2-3 сотни объектов почти одновременно и при этом я забыл про тормоза инстанцирования.

Внедрять в реальном проекте имеет смысл не сразу, а только после того, как этап прототипирования вообще прошёл и начинается борьба за живучесть.
Призывы думать логично выдают в вас полное непонимание потребностей «рассерженного среднего класса». На гиктаймсе такое неуместно и ваш минус девятый рейтинг наглядно это иллюстрирует.
Когда-то у меня был отличный критерий:
Если рейтинг Кинопоиска выше, чем IMDB на заметную величину, значит надо смотреть. Если выше больше чем на 0,5 — смотреть обязательно.

А сейчас в Яндексе кто-то научился машинлёрнинг и пытаются заменить им мозг. :( И все эти Теги как раз отсюда. Они с Тегами работать научились, а с полнотекстовой информацией, видимо, мозг ещё не дозрели. :(
Вазюкайте пользователя по экрану чтоб не дай бог не сорвался — стратегия очень большого количества игр. Такой подход очень хорошо виден в статистике игры — пользователь сбегает сломя голову как только у него появляется возможность подумать. Например у вас три уровня туториала, и при этом с третьего уровня до на 4-ый не переходит в два раза большая доля пользователей чем отваливаются раньше или позже.
Практически никогда не выключаю комп. Это 500 Ватт на пике, чуть меньше в простое. Дальше можно не считать, :(
Это проблему неожиданно хорошо решают при приёме в кланы разных игрушках. Увидел в прошлом году. В начале правил клана сделан опросник. А во второй части устава клана написано, при отправке анкеты исключите из него пункт 5-ый.
Всем живущим в мире весёлых пони кушающих радугу…
http://top.rbc.ru/economics/05/10/2015/561276949a7947600a3bcb48
Транс-тихоокеанское соглашение подписано, не смотря на то, что подписавшие его лидеры, например, не имеют права ещё 5 лет разглашать своему населению что именно они подписали.
Транс-атлантическое на подходе. Страшно торопятся, но всё равно могут не успеть, конечно.
Это соглашение в соответствии с Гражданским кодексом является публичной офертой. Акцепт оферты означает безоговорочное принятие всех ее условий без каких-либо изъятий или ограничений на условиях присоединения
Маленькая деталь, я могу ошибаться, это надо у юриста уточнять, но на сколько я помню, любые пункты договора противоречащие российскому законодательству считаются ничтожными с момента его подписания. То есть подписав эту офферту вы подписали только её законные пункты.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность