Pull to refresh
46
0
Кирилл Надеждин @KumoKairo

User

Send message
А как вы помогали? Не пытались научить или заинтересовать в продолжении самообучением?
Опять же непонятно откуда взялась история про «переименование». Даже в самых первых упоминаниях движка на Unite 2007 (San Francisco) авторы движка называют его Unity. Источник — www.youtube.com/watch?v=bU17M_HDRBE
Движок всё-таки называется Unity. Название Unity3D привязалось к нему из-за имени домена unity3d.com. (к слову — домен unity.com они выкупили относительно недавно, буквально года полтора назад он ещё не редиректил на основной unity3d.com) Нигде в официальных источниках или в документации вы не найдёте упоминания Unity3D.
Так что всё-таки придётся как-то жить с двумя разными вещами, называнными Unity.
Я помню, как запустил игру, кликнул мышкой по экрану и мой персонаж с мечом в руках пошел и разбил скелет на кусочки!

В Classical Game Post Mortem про Diablo есть запись видео этого момента. Очень советую посмотреть весь доклад. www.youtube.com/watch?v=VscdPA6sUkc
Можете рассказать о минусах подобного подхода? Помимо того, что «не всем подходит»
Дебаггер это отдельная история. На данный момент для Visual Studio на Windows устанавливается специальный плагин, который подцепляется к юньковскому рантайму. Visual Studio for Mac это по сути Xamarin Studio, то есть с Win версией VS общего ничего не имеет. Для всех редакторов (VS Code например) необходима такая надстройка, которая подружит текстовый редактор с Unity. Для «встроенного» в Unity MonoDevelop она интегрирована по умолчанию, а для Visuai Studio (Windows) и VS Code (Windows + Mac) она устанавливается отдельно. Не часто дебажу в Unity с Мака, но по-моему дебаггер пока можно подключать только во встроенном Mono Develop, либо в VS Code.
Если рассматривать контекст Unity, то Visual Studio работает с ней как простой редактор кода, ничем не отличный от обычного блокнота или Notepad++. После сохранения скрипта в Visual Studio нужно переключиться на окно с Unity чтобы она собрала (с помощью внутреннего компилятора) основную текущую сборку (Assembly-CSharp). Рантайм у Unity и в редакторе и на таргет девайсах тоже свой. Причём на iOS там вообще не Mono, а IL2CPP. То есть «кроспилированный» код из IL в С++. Если игровой код Unity компилировать прям в Visual Studio — результат сам по себе просто провалится в бездну, он нигде не используется. Есть конечно возможность использовать готовые .dll файлы, собранные специально под текущий .NET Profile в Unity (стабильный в юньке до сих пор .NET 3.5), но при компиляции на тагрет девайсы с IL2CPP рантаймом, они всё равно перегоняются в С++.

Если резюмировать — неважно в чём вы пишете код для Unity, т.к. движок сам занимается конечной сборкой кода и настройкой рантайма на конечном устройстве.
Можете привести конкретную цитату? Скорее всего либо автор имел в виду что-то другое, либо есть вероятность неверного перевода.
Около двух тысяч сейчас живёт, в статье это упоминается. Коммерческая недвижимость — все первые этажи спроектированы под коммерцию, причём с указанной ценой 100 рублей за кв.м. Но там какие-то бюрократические проволочки, желающих снять и попасть много, но мало у кого получается добиться результатов. Пока успешно используются только те самые «свечки» одноподъездные — есть бар, книжный магазин, хостел, прокат спортивного инвентаря. Из «длинных» домов — супермаркет бахетле, и недавно открывшаяся пиццерия (не знаю как у них получилось снять часть первого этажа в «длинном» доме). Есть автомойка, где кроме прочего вроде делают мелкие ремонтные работы. За всем остальным — в Казань.
Плюсую про статью, тоже интересно прочитать
Я помню собеседовался как-то на вакансию с запросом зарплаты в 100к рублей.
Меня спросили про то, какие я знаю паттерны. Я спросил все ли мне по списку перечислять или лучше что-то конкретное на примере рассказать? Спросили про синглтон и про то, в каком случае лучше всего использовать именно его. Я ответил что обычно нет случаев, когда можно использовать только синглтон и ничего другого. В любом случае есть разные варианты, а злоупотребление синглтонами некоторые считают антипаттерном. Рассказал немного про strategy и композицию вместо наследования, про template method. Из рабочей практики кроме этих вещей вспомнить ничего больше не смог, хотя в своё время прям балдел от этих паттернов (тот самый период паттернов головного мозга), прочитал Head First и оригинальную книжку банды четырёх.

В конце общения тоже спрашивал вопросы у собеседующих и один ответ вспоминаю до сих пор.
Вакансия — Unity / C# разработчик на мобилки.
Мой вопрос был такой — какие основные причины утечек памяти по ресурсам (текстуркам и мешам) можно выделить при работе с Unity.
Ответ — про Unity я не знаю, но вот в Marmalade / C++ мы делали вот так… (и далее собственно ответ про ресурсы, я не запомнил все подробности. По-моему это был лид команды разработки на Unity).

В отзыве о собеседовании получил «отсутствие знаний основных паттернов и неумение их применять». (отзыв кстати был подробным, что сейчас редкость)
Обязательно создайте для своего проекта облачное хранилище с совместным доступом участников. Если это Google Диск или Облако Mail.ru, то создайте общие папки. В одном проекте у нас их было 8: “Модели”, “Текстуры”, “База данных”, “Фоны”, “Картинки”, “Скрипты”, “Настройки”, “Общее”. Можно использовать, наверное, более продвинутые инструменты, например, Битрикс24, я не пробовал. Надо, кстати, обратить на это внимание. Наверняка, есть еще инструменты совместного ведения проектной деятельности.

GIT / Mercurial?

И вот тут не очень понятна аргументация —
Например, давайте сделаем так, чтобы свет в комнате включался по хлопку ладонями? Интересная идея, но спросите себя, а зачем, кому это будет нужно, если таких решений уже пруд пруди. Ради изучения чего-то нового?

А разве не для изучения чего-то нового выбираются другие проекты типа сайтов или программ? Я уверен, что и сайтов-анкет например тоже «пруд пруди».
Можете немного рассказать про систему, используемую для создания UI? Окошки / анимация / архитектура
А сколько человек было на предприятии? И какое максимальное количество было заложено в системе? 5 бит как на картинках?
Не очень понятно что имеется в виду. Переменные, например, одного типа int? Независимо от назначения этих переменных?
Скорее всего решается через это самое преобразование Фурье и последующей фильтрацией трека по частотам — например можно найти низкие частоты басовой бочки и по пикам амплитуды определить расстояние. Скорее всего этот «бит» будет отбивать четверти или восьмые с редкими ускорениями, не выбивающимися из общего ритма. И с мелодией (обычно более высокими частотами) то же самое — фильтруем по нужной частоте и смотрим пики амплитуды. Так же, насколько я знаю, в этом деле всегда присутствует какая-то стохастика — есть только определённая вероятность верного определения нужных параметров. Сам я интересовался этой проблемой достаточно поверхностно, но вещи все очень хорошо гуглятся, тема популярная.
А на каком этапе понимания проблемы у вас возник вопрос? Уже после всяких преобразований Фурье или вообще с самого начала (с сырого аудиофайла)?
На самом деле любым инструментом нужно уметь пользоваться. Как и С++/OpenGL, так и любой готовый движок требует определённого опыта. Хорошим контрпримером с «забудьте о батчинге» является игра Mushroom 11, где в огромной сцене с глубиной отрисовки, большим количеством активных объектов количество DC не превышает 10-11. Доклад можно посмотреть тут https://youtu.be/bYqI77dteYk?t=2734 (залинкованное время — скриншот статистики отрисовки).
Это не значит что любой только начавший что-то делать в движке сможет без всяких проблем достичь такого же результата — нужен опыт, контекст, и базовые знания по предметной области.
«Полноценное решение из коробки» в конце статьи относится к новому способу отрисовки цветной векторной графики, основанном на принципе SDF. «Полноценное решение из коробки» основанное на триангуляции описывается ещё в самом начале статьи при разборе Tiny Thief. Контекст предложения важен.
SVG не весь правильно парсит (там упор на Adobe Illustrator). Проблемы были и с Inkscape и со Sketch, приходилось руками парсить и править SVG тэги у файлов чтобы импортер нормально их понимал (SVG это такой же «адский» формат как и Collada — у всех какие-то свои тонкости реализации, порядка и способа закрытия тэгов). Ну и собственно минусы, описанные в статье про память на вершины и прочие вещи. Это отнюдь не значит что SVG Importer не нужно использовать. И принцип решения и само решение в этом пакете хороши «как есть» для своего типа задач.

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity