Обновить
0
@outgoingread⁠-⁠only

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

Отправить сообщение

5 способов нарисовать обводку

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели14K

Рендеринг обводки (контуров) — это техника, часто используемая в играх или из эстетических, или из геймплейных соображений. Например, в игре Sable контуры применяются для создания стиля, напоминающего комиксы, а в The Last of Us контуры используются для выделения врагов, когда игрок переходит в режим скрытности.

В этом посте мы расскажем о пяти способах рендеринга контура вокруг объекта.

Читать далее

Когда и зачем нужен RabbitMQ

Время на прочтение5 мин
Охват и читатели336K

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

Читать далее

Манипуляция мешами в реальном времени на Unity

Время на прочтение17 мин
Охват и читатели52K
image

Одно из преимуществ Unity в качестве платформы для разработки игр — её мощный 3D-движок. В этом туториале вы познакомитесь с миром 3D-объектов и манипуляций мешами.

В связи с ростом технологий виртуальной и дополненной реальности (VR/AR) большинство разработчиков сталкивается со сложными концепциями 3D-графики. Пусть этот туториал будет для них отправной точкой. Не волнуйтесь, здесь не будет сложной 3D-математики — только сердца, рисунки, стрелки и куча интересного!
Читать дальше →

Как обновить все сцены в Unity за один клик? Автоматизируем рутину

Время на прочтение20 мин
Охват и читатели7.2K

Надоело тратить часы за обновлением уровней в Unity? Давайте автоматизируем это!

В этой статье мы напишем простой и понятный инструмент, благодаря которому вы сможете делать всё, что вам угодно, за считанные клики: сериализовать поля, менять иерархию на сценах, настраивать Fuse/IClone/DAZ и других персонажей, добавлять новые префабы, менять интерфейс и многое другое!

Погнали!

Python: Как написать систему модов для игры / плагинов для программы

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Итак, всех приветствую.

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

А начнем мы с того, что установим importlib в ваше виртуальное окружение.

Читать далее

Автостопом по мультиплееру. Часть 1: Для кого и для чего

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.3K

Это первая статья цикла, посвящённому разработке мультиплеерных игр. Мультиплеер — это весьма объёмная область, из-за чего в ней очень легко потеряться или пойти не туда. Я хочу попробовать расставить ориентиры, которые бы помогли начать и пройти по этому направлению.

В этой вводной части я хочу поделиться наблюдениями, которые я успел сформировать, чтобы объяснить свою мотивацию к написанию этого материала, и, возможно, объяснить мотивацию для изучения этого направления, если этот процесс ещё не был запущен.

Читать далее

Упрощённые рейкасты в Unity

Время на прочтение8 мин
Охват и читатели11K

Всем привет, меня зовут Григорий Дядиченко, и я технический продюсер. Недавно я столкнулся с одной интересной задачкой в ходе реализации проекта, и подумал что стоит наверное рассказать про физику в Unity, про нюансы работы с ней и про то, какие существуют альтернативные варианты в решении разных задач. Как связывать это всё дело с EventSystem и расширять Unity классы. Если вам это интересно - добро пожаловать под кат.

Читать далее

Сказ о том, чему в немецких вузах игроделов учат

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели41K

Продолжаем тему, начатую в предыдущей статье.

Итак, отучившись уже год в Cologne Game Lab, могу смело разобрать что тут к чему, чем местные игроделы занимаются, а уж хорошо это или никуда не годится судите сами.

Сразу скажу, наверное, главную мысль этой статьи. Хорошие решения рождаются в правильной обстановке и атмосфере. Сейчас, оглянувшись назад, могу с уверенностью сказать, что меня подстегивает дружеское соперничество с креативными ребятами, чьи идеи вдохновляют тебя на еще лучшие идеи, а еще лучшие идеи генерируют продуманные идеи и так далее до вменяемого результата. Этого, мне кажется, не хватает отечественным программам, как вузовским так и прочим эдтехам.

Первый год для всех специализаций одинаковый и делится на следующие блоки:

Читать далее

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели101K

Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.

Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана — получить максимальный результат при минимальных затратах времени и сил.

Читать далее

Методы оптимизации в машинном и глубоком обучении. От простого к сложному

Уровень сложностиСложный
Время на прочтение29 мин
Охват и читатели51K

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

Читать далее

MVP в Unity или как упростить жизнь

Время на прочтение3 мин
Охват и читатели23K

Для начала разберемся, что такое MVP (Model View Presenter)


Зачем же он нужен? Самый простой ответ — для постройки удобной и расширяемой архитектуры.


Стоит разобраться зачем нужно дробить взаимодействие на три разных класса. Во-первых разделение обязанностей, следую принципам SOLID. Во-вторых для простого взаимодействия с серверами для синхронизации данных.

Читать дальше →

Record vs struct — когда кто кого

Время на прочтение13 мин
Охват и читатели44K

В .Net, помимо типов class и struct, с недавних пор есть еще и типы record и record struct. Появление двух новых типов могло внести запутанность по поводу того, в чем их сходства и различия, и в каких случаях стоит их применять. В этой статье мы разберем, в каких ситуациях использовать class, record, struct, и какие преимущества даёт тот или иной тип в различных ситуациях. В конце мы приведем шпаргалку, которая поможет быстро определиться, какой из видов типов лучше подходит в том или ином случае.

Читать далее

Уровни английского языка: детальный разбор критериев в 2023

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели109K

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

Читать далее

Сжатые атласы в Unity Runtime

Время на прочтение10 мин
Охват и читатели15K

Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.

Речь пойдет про получение сжатых атласов в рантайме. Для начала мы выясним, что вообще такое атласы, для чего они нужны и какие требования предъявляются к исходным текстурам. Затем рассмотрим самый простой способ собрать в рантайме атлас и оценим результат с технической точки зрения. После этого я расскажу о наших экспериментах с компрессией в рантайме. Наконец, мы посмотрим, что общего у разных алгоритмов сжатия изображений, и подойдем к тому, ради чего статья и задумывалась: поговорим о нашем альтернативном подходе, при котором вообще не придется заниматься пережиманием пикселей в рантайме для получения сжатого атласа.

Читать далее

Метод проб и ошибок: как мы создавали кастомный импортер в Unity3D для текстурных массивов

Время на прочтение10 мин
Охват и читатели5.6K

Основной контент в играх — это почти всегда текстуры, поэтому нужно особенно внимательно следить за ними в целом, их размерами и сжатием. 

Раньше на проекте  War Robots у нас был устоявшийся и вполне рабочий пайплайн по импорту текстурных массивов, на выходе которого мы получали массивы в конечном формате (ASTC, ETC2), отлично удовлетворяющие нашим требованиям для мобильных платформ. С этим все у нас было хорошо — до поры. Проблемы начались тогда, когда возникла необходимость релиза на ПК. 

В этой статье мы поговорим о проблемах, с которыми мы столкнулись и какие нам пришлось преодолеть: о проблеме специфической поддержки текстурных массивов Unity и о проблеме разных форматов под разные платформы. Наконец, расскажем о работе ScriptedImporter, который помог нам решить обе: как делать нельзя и как нужно.

Читать далее

Zenject: приемы и хитрости

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели37K

В мой джентельменский набор разработчика входят Zenject, Addressables и DOTween, значительно облегчающие разработку любого проекта на длинной дистанции.

У Zenject-а есть очевидно лишние (привет, Signals) и запутанные модули и возможности. Зачастую, чтобы сделать все красиво, приходится хорошенько покопаться в устройстве DI-контейнера.

Рассказываю о способах приготовления тех фич и тонкостей Zenject, которые за несколько лет разработки нашел полезными и постоянно применял.

копнуть поглубже

Сто паттернов для разработки корпоративных программ. Часть первая

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели30K

В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.

Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут посвящены паттернам из книг Мартина Фаулера и Роберта Нистрема.

Читать далее

Нодовая архитектура на Unity

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.9K

Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.

Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContainer. Поэтому чего-то феноменального в этой статье вы не увидите. Но, поскольку я люблю делать свои велосипеды, то в свою архитектуру я привнес парочку интересных вещей, которых нет в других DI фреймворках на Unity. Ну шо, поехали :)

Читать далее

Не монолитом единым. Модульный подход в Unity

Время на прочтение7 мин
Охват и читатели8.8K
image

В данной статье будет рассмотрен модульный подход при проектировании и дальнейшей реализации игры на движке Unity. Описаны основные плюсы, минусы и проблемы с которыми приходилось сталкиваться.

Под термином «Модульный подход» имеется ввиду организация ПО, которая использует внутри себя независимые, подключаемые, конечные сборки которые можно разрабатывать параллельно, менять на ходу и достигать разного поведения ПО в зависимости от конфигурации.
Читать дальше →

Допиливаем VirtualMouse в новой Input System, для геймпада в Unity

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.5K

Привет, Хабр! Читаю Хабр с момент его появления, но всегда в риад онли режиме и этой статьей решил изменить ситуацию. Меня зовут Вениамин Афанасьев и я cоло инди разработчик, работающий в Unity. Довольно часто сталкиваюсь с различными проблемами движка и способах их решения. Сегодня я расскажу вам как заставить VirtualMouse из нового Input System Unity работать.

Читать далее
1

Информация

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