Pull to refresh
5
0
Send message
Спасибо за описание алгоритма, может пригодится. У меня вопрос безотносительно вашего плагина и Unity3d, но про изометрию.

Допустим мы хотим положить наши 2д тайлы в атлас. В случае с простыми прямоугольными тайлами (как в марио) есть множество инструментов для упаковки атласов с возможностью повторения граничных пикселей — более-менее стандартный способ избежать мерцания на стыках, возникающего из-за интерполяции текстур.

Но хочется иметь специализированный паковщик для изометрических тайлов:
  • В случае с простыми одноуровневыми тайлами их можно упаковать плотнее срезая уголки (почти в 2 раза)
  • Повторялка краев чтобы избежать мерцания (по периметру ромба)
  • В игре использовать правильную геометрию — ромбик. Снижается fillrate в 2 раза, а также можно отключить альфа-блендинг.


Как-то не хочется для ландшафта использовать квады с альфа блендингом, рисуя в 2 раза больше пикселей чем на самом деле надо. Но судя по отсутствию инструментария все так и делают?
Как замену png имеет смысл рассмотреть webp.
Если lossless, то можно рассчитывать на 30% экономии по сравнению с png после ImageOptim.
Lossy с качеством 90-100% на глаз не отличается, а размер в несколько раз меньше (сильно зависит от картинок, на одном проекте экономия была в 3 раза, на другом — в 7 раз).

Конечно, webp далеко не самый лучший кодер по соотношению качество/размер. Но очень удобный по доступности и простоте интеграции библиотеки, плюс производительность не хуже чем у png.
Если приглядываться — то видно (особенно на специальных картинках потипу чередующихся черно-белых полос). Видео и игры могут рендериться без даунсемплинга, но когда на экране появляются UI-элементы, то даунсемплинг опять включается.

При повседневном использовании не заметно, но зная о такой фигне всегда подсознательно будешь искать артефакты (и само собой, иногда находить).

Тут подробнее: www.idownloadblog.com/2014/11/20/iphone-6-downsampling-explained/
У нас эта тема давно. Хоть деревня не так уж и далеко от цивилизации (Тверская область), но электричества никогда не было. Первую батарею купили лет 15 назад.

Контроллер не помню точно, какой-то очень старый и простой из solarhome. Аккумуляторы автомобильные легковые, так же довольно старые — сейчас появилось много доступных и интересных вариантов, а на тот момент цены были конские. Соседи используют аккумуляторы от камазов. Зарядник с советских времен.
Если использовать электричество только для света и только в летнее время, то 2х100 достаточно. Мы тоже в деревне на солнечных батареях живем. По мощности примерно так же (в сумме около 300). Вместо холодильника — подпол.

Воду накачиваем раз в день, обычно совмещая с поливкой участка, для этого включается генератор. Да, без генератора действительно никуда. Если был пасмурный день (или несколько подряд), то аккумуляторы можно от генератора подзарядить.
Через меня прошло 3 рейзеровских мышки: два DeathAdder и Mamba. Все страдают от дабл-клика на левой кнопке. Но самый первый DeathAdder все еще более-менее работает — похоже у меня изменился хват и теперь не часто дабл-кликает.
Больше не возьму никогда.

BlackWidow не пробовал, у меня G710+, механика — это полюбому вещь.
Это типичная ситуация в мобильном гейм-деве. Большинство проектов из топ1 принадлежит таким же компаниям «одной игры».

Кстати, «диверсификация» у Rovio мне видится куда более успешной — и в оффлайне (игрушки, напитки, парки развлечений), и на рынке видеоигр. А еще вот у Halfbrick неплохо получается, хотя до топа гроссинга довольно далеко, но у них сразу несколько очень популярных проектов.

Невозможно ведь выпускать каждый раз уникальную, интересную и классную игру, но при этом превращаться в еще один Gameloft или Game Insight как-то тоже неправильно.
В растре уже потеряно очень много информации. С вектором можно использовать меньший размер глифа, поэтому по быстродействию все не так однозначно. Freetype сначала аппроксимирует кривые дугами и прямыми, а потом уже растеризует, по идее по ним же можно попробовать строить скелет.

В Qt5 вроде используется этот способ рендеринга шрифтов.
Столкнулся с этой же проблемой, когда добавлял поддержку DF для рендеринга шрифтов (глифы кэшируются в текстуру в рантайме с помощью freetype2). Чаще всего используют посчитанную заранее текстуру, при этом можно брать глиф изначально увеличенный раз в 16, считать distance field, потом уменьшать — сглаживаются все артефакты.

Но мне хотелось генерить глифы в рантайме, да еще и на мобильных устройствах, а вариант с суперсэмплингом для этого слишком медленный. Если не использовать суперсэмплинг, то даже улучшенный CDA в результате выглядит ступеньками (алгоритм dead reckoning, при окне 3х3 дает почти идеальный результат — статья).

Поскольку freetype рендерит глифы с антиалиасингом, глупо выкидывать эту информацию из обработки. Сейчас использую алгоритм с поддержкой АА — edtaa3. Результат вполне годный, буковку первоначально отрендеренную размером в 48px можно увеличивать раз в 10 без особых потерь.

Хотя более правильно глиф сразу рендерить в distance field, но freetype так не умеет. Как-нибудь бы вытащить векторные контура и из них уже генерировать sdf, есть у кого опыт?
На самом деле, можно заменить x на 2cos(a). Это из анализа ОДЗ.
Вспоминаем тригонометрические формулы, извлекается корень.

У нас была не совсем обычная школа. Наизусть никто конечно не знал формулу Кардано, но прочитать в интернете и воспроизвести мог каждый. Все заслуживали внимания к своей персоне, ну и каждый получал его в какой-то мере.

Задачка довольно странная, потому что до подобных замен невозможно додуматься. Кстати, препод врал, и автомат не поставил, а кажется только пятерку с коэффициентом 5 (как за финальную контрольную).
Там есть одна замена… Вообщем, я почти исписал тетрадку 96 листов, ну и где-то неделя ушла на поиски… Я выложу подсказку через пару дней.
После возведения в квадрат можно разложить на квадратное и кубическое. Кажется, я как-то случайно нашел корень квадратного уравнения то-ли подбором. В любом случае это можно сделать только методом пристального взгляда.
WolframAlpha поможет: factor((x+2)(x*x-1)^2-1).
Но это не тот путь. Кубическое все-равно не айс решать.
В школе нам как-то задали уравнение (со звездочкой), за решение которого было обещано 5 в четверти автоматом. До сих пор его помню:

Вряд ли бы мне эта штука помогла тогда… WolframAlpha выдает ответ, посчитанный формулой Кардано. Хотя такое решение принимали, но оно не было «правильным», можно было все сделать много проще.
Там нет такого повального пофигизма и безучастия от людей вокруг как у нас. Они не будут стоять и просто смотреть или проходить мимо, потупив взгляд. Они помогут человеку в беде или позвонят в полицию, если считают что был нарушен закон. У нас тоже скорее всего помогут, а вот доносить в органы — это в разы реже происходит.

Когда мы жили в штатах (мне было 10), мама не могла оставить меня дома с годовалым братом. Один раз соседка ей сказала что если увидит как оставляют детей одних — будет звонить в полицию.
Купил бы однозначно. Часто использую канистры в дачный сезон, проверка бензина в деревенской глуши актуальна как никогда (хотя, от заправки до заправки бывает и 50 км… выбора иногда нет).
У меня на телефоне стоит Withings Health Mate (дома их напольные весы) и он прекрасно измеряет сколько я прошел без всяких доп. гаджетов, используя метрику со смартфона.
Интересная штучка. Большие игроки типа Unity3D или Unreal Engine и так поддерживают 3-5 разных графических API, добавить еще один им не сложно.

А так жалко конечно что опять все разное на всех платформах. С другой стороны, простые кроссплатформенные 2д движки могут ограничиться OpenGL и не париться особо. Сменить OpenGL на metal полностью еще не скоро станет возможным (на рынке полно старых девайсов), а поддерживать оба АПИ сложно и не факт что вообще что-то даст в плане производительности.
Я когда миник брал 2.5 года назад сразу же купил оперативки 8 Гб на замену. Через некоторое время поставил ссд, Все очень шустро работает, дискомфорта не возникает.

ОЗУ меняется без отвертки просто руками. С хардом чуть сложнее уже.
Вряд ли Юнити станет новым флешом. Пока еще плеер есть не у всех, и не все его ставят.

Есть WebGL с asm.js — вполне рабочая демка у Epic получилась. UE4 вот поддерживает браузеры как платформу, хотя на данный конечно очень сыро. Но и сами Юнити экспериментируют с WebGL, там что может скоро избавимся от браузерных плагинов.

В принципе, можно хоть сейчас сделать полноценный 3д проект на html5 (да хоть свой С++ движок портировать в браузер через emscripten — это на самом деле вполне сносно работает), вот только проблем огребется миллион. Стоимость разработки возрастает в разы.
1

Information

Rating
Does not participate
Registered
Activity