Как стать автором
Обновить
57.3

Unity *

Инструмент разработки 2D/3D-игр

Сначала показывать
Порог рейтинга
Уровень сложности

Как избавиться от призрачных столкновений в Unity

Время на прочтение4 мин
Количество просмотров975

Работая над уровнем в Unity, составленным из блоков или модульных элементов, вы наверняка сталкивались с неприятной ситуацией: шар (или другой объект) катится по поверхности, но внезапно отскакивает в случайном направлении. Эта проблема, известная как «призрачные столкновения» (ghost collisions), может стать настоящей головной болью, особенно в играх с физикой, таких как мини-гольф или платформеры. В этой статье мы разберем, почему возникают призрачные столкновения, и рассмотрим два решения: быстрое, но не совсем надежное, и более сложное, но масштабируемое.

Читать далее

Новости

Звуковой дизайн в рогалике

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров509

Всем привет, меня зовут Иван. Я один из участников небольшой команды разработчиков игр. В данный момент у нас идет активная разработка игры в жанре roguelike. В какой-то момент возникла потребность во внедрении звуков в игру. А, так как команда небольшая, мы набираем задачи не по принципу кто что умеет, а по принципу кому что больше нравится. И вот меня заинтересовало создание звуков для нашей игры.

Когда я принялся записывать звуки, я понимал, что звук — это 50% атмосферы. Но у меня не было ни профессионального оборудования, ни опыта. Только микрофон, FL Studio и куча энтузиазма.

Читать далее

Процедурная генерация зданий в Unity с помощью сплайнов

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров526

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

Читать далее

Как сделать любую поверхность сенсорной

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров17K

Моя цель была создать из стола планшет с детскими играми, а я сделал горку, стол и стену интерактивными. Я превратил все поверхности в сенсорные.

Читать далее

SRP ч2, Уравнение рендеринга. Функции освещения

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.6K

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

Читать далее

Сетевой чат в Unity: Часть 1 — Основы и простой интерфейс

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров750

Просто о сложном: первая часть из серии статей на тему создания сетевого чата в Unity с использованием Netcode for GameObjects. Для тех, кто начинает разбираться в сетевой логике.

Читать далее

Как убить игру парой слов?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров12K

Я уже несколько лет провожу геймджемы и постоянно вижу холивары вокруг судейского фидбека. Да что за сын маминой подруги этот «фидбек», почему за ним так гоняются?

Читать далее

Процедурная генерация миров с использованием AI: интеграция MidJourney и GauGAN2 в геймдев

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

Создание сотен локаций вручную непрактично для инди-разработчиков, а алгоритмы шума о которых я писал ранее ограничены. Искусственный интеллект, такой как MidJourney и NVIDIA GauGAN2 (интегрирована в NVIDIA Canvas, бесплатно доступный для пользователей с видеокартами NVIDIA RTX), предлагает новые возможности: нейросети генерируют текстуры, биомы и концепт-арт с высокой детализацией.

Читать далее

Мой худший образец полезного кода

Время на прочтение5 мин
Количество просмотров9.3K

Однажды на собеседовании меня попросили привести примеры написанного мной кода: один — которым я наиболее горжусь, и другой — который я считаю наиболее неудачным. Недолго думая, я осознал, что на оба вопроса у меня готов ответ, и это один и тот же фрагмент кода. Горжусь я им потому, что, пожалуй, из всей моей практики именно этот код оказался наиболее весом, а стыжусь из-за него, так как, по мнению большинства из его читателей, этот код начался с костыля, который затем стали развивать: 

Читать далее

Как подключить Ton Connect 2.0 к проекту на Unity

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров628

В рамках данной статьи будет рассмотрена библиотека Uniton Connect, с помощью которой можно быстро реализовать подключение TON кошельков и отправку транзакций.

Читать далее

Свой проект — это ловушка для новичка

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров15K

Когда мне было 16, я устроился работать в небольшую студию. Это была по факту официальная работа: с реальными задачами, пайплайном, дедлайнами и даже большим издателем. Тогда это казалось чем-то невероятным. Игра, над которой мы работали, выглядела амбициозно. У неё были красивые промо, целевая аудитория, маркетинг — всё как у взрослых.

А в центре команды был парень, старший разработчик, которому на тот момент было 23. Для меня он был почти как герой: я только начинал, а он уже 7 лет программировал. Уверенный, спокойный, очень самостоятельный. Я всерьёз думал, что именно к этому и стоит стремиться.

Но потом к нам присоединились более опытные ребята. Разработчики, у которых за плечами были и запущенные проекты, и провальные — но главное — была реальная практика и мышление архитектора. Они сразу начали задавать вопросы: — Почему у нас 6000 строк в одном скрипте? — Почему нет нормального разделения логики? — Почему переменные называются a, b1, mainLogic, veryImportantManager?

Код, который мы считали рабочим, оказался большой горой хрупкого говнокода, которая могла рухнуть от любого изменения. И когда она рушилась — её латали так же вслепую. Без юнит-тестов, без понимания, почему оно работает. Главное, чтобы запускалось.

🧨 А потом проект провалился. Несмотря на издателя

Читать далее

Монетизация мобильных игр: Как выбрать между рекламой, покупками и подписками

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров835

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.1K

Всем привет! Меня зовут Владимир, в этом году я заканчиваю обучение в магистратуре по направлению «Программирование игр» в одном из федеральных университетов. В рамках своей выпускной квалификационной работы я решил затронуть довольно актуальную для Unity‑разработчиков тему — сравнение архитектурных подходов MonoBehaviour и Zenject при создании игрового проекта.

Что меня сподвигло на такое исследование? Начнем с того, что, в сфере разработки игр я относительно недавно и опыта работы над большими проектами у меня нет. Когда была поставлена задача выбрать тему диплома, больших раздумий не было нужна игра, для «Я Игр», но как её делать? Практически с каждого обучающего ресурса, говорят не использовать подход Monobehaviour для больших проектов, так как это сложно расширяемая архитектура. Хотя на мой взгляд это не совсем верно. Именно с этого началась работа над темой моей ВКР.

Целью которой поставить точку в спорах в моей голове об архитектурных подходах и прийти к более оптимальному выбору.

И параллельно, подтвердить или опровергнуть гипотезу «Более сложная архитектура упрощает разработку».

Читать далее

Ближайшие события

Сериализация в Unity: известные атрибуты и их проблемы

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

Любой Unity-разработчик знаком с атрибутом [SerializeField], который позволяет сериализовывать непубличные члены класса и, соответственно, отображать их в инспекторе. Но, в силу его ограниченности, позже начали появляться и другие способы сериализации.

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

Читать далее

AR-технологии в Unity: Твой первый шаг в дополненную реальность с AR Foundation

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров457

Первые шаги в дополненную реальность. Простой туториал по AR Foundation в Unity для начинающих. Создай свое первое AR-приложение.
Всё проще, чем кажется!

Читать далее

Вселенная Сетевых Игр в Unity: Руководство для Юного Создателя

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.7K

Простое и понятное руководство по Unity Netcode for GameObjects, которое поможет начинающим разработчикам (и не только!) сделать первый шаг в мир сетевых игр.

Читать далее

WaveManager: Реализуем систему управления волнами врагов в Unity

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

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

Читать далее

Zenject (Extenject) в Unity: Исчерпывающее руководство по внедрению зависимостей

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2K

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

Zenject (Extenject) решает это раз и навсегда.

Эта статья о том, что такое zenject и как им пользоваться.

Читать далее

Оптимизируйте свой код с Unity Job System

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.5K

В этой статье мы разберем неявное использование многопоточности с Unity Job System: узнаем про преимущества использования такого подхода перед явным созданием потоков, поговорим про неуправляемую память, про преимущества неуправляемой памяти перед управляемой и многое другое...

Читать далее

Как я делал свой первый прототип игры на Unity

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3K

Вводные: всегда хотел работать в геймдеве, поэтому решил начать с малого — попробовать сделать хоть какой‑то прототип игры с нуля. С C# знаком на среднем уровне, с блендером на нулевом), с Unity чуть‑чуть (делал тетрис, и пытался сделать мультиплеер для него поверх Steam через Spacewar).

Изначально идея была сделать что‑то на минут 10–15, как обычно в голове много идей и мелочей, реализация которых поможет создать более приятный геймплей, но когда доходит дело до реализации, то приходит понимание, что не все так легко, как кажется.

Выбор пал на создание какой‑нибудь простенькой хоррор игры, которую необходимо пройти, т.к. опыта в Blender у меня нет, я решил сделать что‑то максимально простое, поэтому я посмотрел пару гайдов на ютубе и начал «творить».

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

Стена была сделана из нескольких плоскостей, на которые была натянута текстура кирпичной кладки, предварительно пикселизованная.

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