“Hey you… You’re finally awake.”
Привет, меня зовут Миша. За 7 лет работы с Unity я делал кучу крутых проектов. Шутеры, пошаговые тактики, платформеры, сити билдеры, три-в-ряд, казуалки, гиперказуалки и так далее. Дал жизнь тонне проектов на фрилансе, в том числе и VR, AR проекты.
Работал и в крупных студиях, и в мелких, и в инди-командах, и в качестве фрилансера.
Активно занимаюсь менторством и помогаю начинающим или состоявшимся специалистам на их карьерном пути. Найти меня как ментора можно здесь.
В жизни каждого разработчика наступает момент, когда его голова начинает заполняться (большей частью бесполезными) знаниями. И чтобы не растерять эту свою “экспертизу”, я решил поделиться ей с тобой!
Переходи на мой Youtube за еще большим количеством контента! И подписывайся на Boosty чтобы увидеть его раньше остальных
Получай удовольствие и не стесняйся все комментировать, ведь это поможет мне сделать канал лучше!
Привет, меня зовут Миша. За 7 лет работы с Unity я делал кучу крутых проектов. Шутеры, пошаговые тактики, платформеры, сити билдеры, три-в-ряд, казуалки, гиперказуалки и так далее. Дал жизнь тонне проектов на фрилансе, в том числе и VR, AR проекты.
Работал и в крупных студиях, и в мелких, и в инди-командах, и в качестве фрилансера.
Активно занимаюсь менторством и помогаю начинающим или состоявшимся специалистам на их карьерном пути. Найти меня как ментора можно здесь.
В жизни каждого разработчика наступает момент, когда его голова начинает заполняться (большей частью бесполезными) знаниями. И чтобы не растерять эту свою “экспертизу”, я решил поделиться ей с тобой!
Переходи на мой Youtube за еще большим количеством контента! И подписывайся на Boosty чтобы увидеть его раньше остальных
Получай удовольствие и не стесняйся все комментировать, ведь это поможет мне сделать канал лучше!
🔥5❤4
Unity + FFmpeg
Сшивать видео в игровом движке, кому такое вообще может прийти в голову?! Но и не такое может случиться, когда сталкиваются заказчики с одного из центральных телеканалов и чувак, который в основном разбирается только в Unity…
Забавно, что FFmpeg поставляется не библиотекой, которую можно нативно вызвать из своего кода, а exe-шником. Поэтому ничего не остается кроме как общаться с ним через System.Diagnostics.Process.
Вообще удивительно что за столько лет всех этих проектов ни разу не было необходимости в таком функционале. Поэтому добавлю этого Франкенштейна в своюпомойку коллекцию полезнейших репозиториев, а после обязательно поделюсь им здесь.
Сшивать видео в игровом движке, кому такое вообще может прийти в голову?! Но и не такое может случиться, когда сталкиваются заказчики с одного из центральных телеканалов и чувак, который в основном разбирается только в Unity…
Забавно, что FFmpeg поставляется не библиотекой, которую можно нативно вызвать из своего кода, а exe-шником. Поэтому ничего не остается кроме как общаться с ним через System.Diagnostics.Process.
Вообще удивительно что за столько лет всех этих проектов ни разу не было необходимости в таком функционале. Поэтому добавлю этого Франкенштейна в свою
❤🔥2🔥2❤1😁1
Какое-то время назад на ютубе появились такие ребята и взорвали мой мир “туториалов на ютубе”, полный довольно второсортного контента. Что не удивительно, когда те самые туториалы начинают пилить архитектор, тимлид и техдиректор знаменитого Raid: Shadow of Legends (ловлю флешбеки от их бесконечной рекламы даже когда читаю название). Там было про адресаблы, юнит тесты, CI и так далее.
Одной из их фичей на курсах была стейт машина, которая целиком контролирует приложение. Загрузка - стейт, главное меню - стейт, уровень - стейт. Я все это время не понимал такого подхода так как:
- Глобальных стейтов у игр не то чтобы много - загрузка, меню, кор игра, а остальное уже внутрянка самих стейтов.
- Запрашивать стейт нам как правило не нужно. Так как сложно представить одинаковые модули, которые бы создавались на многих стейтах, но вели бы себя по разному в зависимости от них.
Короче выглядело, как явное нарушение KISS во имя сомнительного выигрыша по… стабильности? консистентности? простоты?
Удивительнее всего что в конечном итоге такой подход мне пригодился не на огромном проекте, в котором можно “Collect over 700 Champions and take down your opponents!” (простите), а на обычном фрилансе.
Выпал проект который как раз можно разбить на много глобальных стейтов (скрин в комментариях), но при этом последовательность некоторых из них была критична. Изначально я делал на собственномкостыле фреймворке для управления интерфейсом, но благодаря паре менти вспомнил об этом подходе и вуаля!
- Смена экранов привязалась к смене стейта вместо их ручного переключения
- Пропали все перекрестные ссылки между модулями, интерфейс и сервисы для звука и обработки видео стали работать тоже от своих стейтов
- Все модули проекта переехали с pull-модели на push-модель взаимодействия, из-за этого исчез этот вечно раздутый бутстрап, в который приходилось залезать для каждой правки
Вывод: чаще смотри ютуб и лучше слушай тех, кому помогаешь!
P.S. Поддержите огоньками для более подробной статьи на хабре
Одной из их фичей на курсах была стейт машина, которая целиком контролирует приложение. Загрузка - стейт, главное меню - стейт, уровень - стейт. Я все это время не понимал такого подхода так как:
- Глобальных стейтов у игр не то чтобы много - загрузка, меню, кор игра, а остальное уже внутрянка самих стейтов.
- Запрашивать стейт нам как правило не нужно. Так как сложно представить одинаковые модули, которые бы создавались на многих стейтах, но вели бы себя по разному в зависимости от них.
Короче выглядело, как явное нарушение KISS во имя сомнительного выигрыша по… стабильности? консистентности? простоты?
Удивительнее всего что в конечном итоге такой подход мне пригодился не на огромном проекте, в котором можно “Collect over 700 Champions and take down your opponents!” (простите), а на обычном фрилансе.
Выпал проект который как раз можно разбить на много глобальных стейтов (скрин в комментариях), но при этом последовательность некоторых из них была критична. Изначально я делал на собственном
- Смена экранов привязалась к смене стейта вместо их ручного переключения
- Пропали все перекрестные ссылки между модулями, интерфейс и сервисы для звука и обработки видео стали работать тоже от своих стейтов
- Все модули проекта переехали с pull-модели на push-модель взаимодействия, из-за этого исчез этот вечно раздутый бутстрап, в который приходилось залезать для каждой правки
Вывод: чаще смотри ютуб и лучше слушай тех, кому помогаешь!
P.S. Поддержите огоньками для более подробной статьи на хабре
🔥5❤2❤🔥2
Сейчас учусь на последнем семестре прикладной информатики в экономике. И эта война с их фронтедерами принимала самые разные обороты:
- Сначала на их тестах нельзя было просто копировать, поэтому мы драг-н-дропали вопрос в гугл
- Потом они в какой-то семестр что-то поломали и все правильные ответы были первыми, поэтому в этот семестр я был круглым отличником)
- А сейчас новый виток эволюции - уже и текст нельзя выделить.
Буду считать это за мета-экзамен - зачем бы еще они меня поверхностно учили веб разработке, если не ради выдергивания вопросов из верстки.
Жаль, что не успею застать как они начнут отрисовывать всю страницу на канвасе, чтобы еще и это победить...
Бонусом в комментариях сможете посмотреть какими невиданными знаниями надо обладать чтобы учиться в Синергии😂
- Сначала на их тестах нельзя было просто копировать, поэтому мы драг-н-дропали вопрос в гугл
- Потом они в какой-то семестр что-то поломали и все правильные ответы были первыми, поэтому в этот семестр я был круглым отличником)
- А сейчас новый виток эволюции - уже и текст нельзя выделить.
Буду считать это за мета-экзамен - зачем бы еще они меня поверхностно учили веб разработке, если не ради выдергивания вопросов из верстки.
Жаль, что не успею застать как они начнут отрисовывать всю страницу на канвасе, чтобы еще и это победить...
Бонусом в комментариях сможете посмотреть какими невиданными знаниями надо обладать чтобы учиться в Синергии😂
😁3
