Новое Распределяем каналы MAX по категориям и территориям. Читать новость
Открытый канал ID 71451153604666

aks2dio | Unity и геймдев

Про GameDev, разработку на Unity и C#, менеджмент, образование, менторство и карьеру в целом.

С 2017 г. разрабатываю, лидую, преподаю и консультирую.
Был в найме, стартапах, фрилансе, инди.
Опыт: Mobile, Desktop, Web, XR.

Каналов в рубрике
101 367
Место этого канала
№ 87 902
Открыть рубрику →
Каналов в рубрике
2 093
Место этого канала
№ 881
Открыть рубрику →
Каналов в рубрике
3 405
Место этого канала
№ 3 405
Открыть рубрику →
Каналов в рубрике
8 642
Место этого канала
№ 5 776
Открыть рубрику →
Открыть в MAX

Публикации за период

По реакциям

Поиск и вся лента — после бесплатной регистрации. Свои даты — по подписке; владелец канала видит их бесплатно. Сортировка по реакциям — по подписке. Зарегистрироваться

Загрузка…

Загружаем изображение…
Обновление UniText v3
Уровень материала: #news #tool

В этом месяце состоялся релиз новой версии пакета UniText. Периодически возвращаюсь к этому ассету, проверяю и прицениваюсь на предмет переезда. Делюсь результатами текущего набега.

В этой версии появился миграционный тул, который анализирует проект на TextMeshPro и помогает мигрировать на UniText. К сожалению, не делает полную миграцию автоматически. Но вчера уже вышла версия, в которой этот момент должен быть улучшен.

Он заменил все компоненты, все ассеты шрифтов, все сериализуемые ссылки в коде. Но оставил нетронутым API (например, нужно text заменить на Text) и потерял все ссылки на новые компоненты в префабах. Особенно это больно во всяких LocalizeStringEvent. Это решаемо, но требует дополнительных усилий и времени.

Из-за этого тесты на потребление ОЗУ и размеры билда пока не состоялись — в рабочих проектах слишком многое отлетает. А на личных мелких совсем не показательно. Попробую позже вернуться к этому вопросу.

Однако я таки пересобрал несколько сцен и экранов в большом WebGL-проекте. Работает и рендерится хорошо. В этот раз никаких багов в билде не встретил. Но были затупливания рендеринга в редакторе. Сам же редактор прокачали — стало симпатичнее, понятнее и удобнее. Добавили больше эффектов — настраивается всё просто.

Помимо выросшей цены (теперь это уже минимум $70), в Changelog версии попало огромное кол-во изменений. В комментариях собрал наиболее интересные из них 💬
Просмотры: 55
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
Content Directories в Unity 6.6: закат Asset Bundles
Уровень материала:
📢 #news #tool

Unity опубликовали ролик-анонс новой версии 6.6
и бегло засветили новую любопытную технологию. И нет, речь не про сериализуемые словари. Если бы мы только знали, что это такое — так что придётся знакомиться.

Content Directories — новая низкоуровневая система сборки и загрузки контента, которая планирует заменить собой уже изрядно постаревшие AssetBundles.

Преследует похожие цели:

1️⃣ Разделить билд на core-контент, который нужен сразу, и остальной контент, который нужен не сразу.

2️⃣ Предоставить lazy references на эти ассеты и подгружать их в память во время выполнения по востребованию.

Но делают они это до банального иначе (многие старожилы узнают в этом свои велосипеды). И работают только для локального контента, который не загружается по remote-каналам и тянется через StreamingAssets.
(что для WebGL и за Remote-канал сойдёт, хе-хе)

Документация: 💻 Unity Docs

Продолжение в комментариях ⬇️
- Суть работы
- Вытекающие особенности
- Совместимость с Addressables
- Выводы
Просмотры: 55
Перейти в пост Открыть в MAX Сообщить о неточности
Unity CLI & Pipeline
Уровень материала:
📢 #news #tool

Действительно стоящая внимания новость за долгое время. Unity сделали CLI. Пока в бете. И пока бесплатно (хорошо, если так оно и останется).

В первую очередь, это тул для управления редакторами и проектами. Как Hub, но из командой строки. Даже позволяет авторизацию проводить без GUI. Что значительно повышает удобство в DevOps-задачах.

При этом поддерживает Structured Output и очень дружелюбен к AI-агентам. Останется только skill'ми это всё смазать.

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

Пакет позволяет просто добавлять кастомные CLI-команды через атрибут [CliCommand]. И выполнять внутри проекта произвольный C#-код через unity eval (аналог вот такого из JS), очень быстро и без перекомпиляций.

Работает это великолепие начиная с Unity 6000. И настраивается в 2 команды:



curl -fsSL https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.sh
| UNITY_CLI_CHANNEL=beta bash

unity pipeline install

Более подробный анонс — здесь
Официальная видео-демонстрация — здесь

Также Unity опубликовали видео с Unite Seoul 📱 и анонсировали Unity 7. Пересказы этого уже разлетелись по всевозможным каналам. Больше всего, конечно, обсуждают переход на CLR. Но это мы уже успели ранее разобрать

Баловаться новой игрушкой, увы, некогда. Поэтому инструмент сразу полетел в рабочие проекты. Пока выглядит многообещающе — кажется, MCP можно будет выдёргивать из розетки 🔌
Просмотры: 62
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
Инструменты для экстремальной разработки
Уровень материала: ☕️ опять #ai и #offtop

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

Успел собрать себе тех стек для выживания в экстремальных условиях. Надеюсь, никому не пригодится 😅

——————————

1️⃣ Linux для работы.
Основной ноутбук перевёл на Linux. С медиа-софтом есть неудобства, благо это не единственное устройство. По разработке же всё работает чётко и отзывчиво.

Посадил AI-агента в домашнюю папку — кастомизирует и автоматизирует любой каприз. И решает все возникающие проблемы.
Про свой опыт работы с несколькими рабочими станциями писал тут 📥

——————————

2️⃣ Synergy для управления всеми устройствами.
Работает отлично и стабильно. И со всеми десктопными ОС. Также поддерживает переключение через шорткаты. Успел забрать по какой-то мимолётной скидке почти даром.

——————————

3️⃣ OpenCode как агент.
Всё ещё мой основной агент. Использую везде: рабочие станции, CI, сервера. Отлично подходит для любой сессионной работы, где не требуется постоянный масштабный контроль от агента.

——————————

4️⃣ OpenChamber для управления OpenCode.
Сторонний Web-GUI. Немного перегружен возможностями, но это окупается. Есть всё: сессии, worktree, гит, диффы, файлы, markdown, mermaid, cron. Подсвечивает синтаксис, рендерит текстовые файлы, позволяет их редактировать.

Самое главное, это так же работает с телефона и планшета через туннель. Т.е. можно полноценно вести работу удалённо (удалённо работаем удалённую работу — дожили).

Раньше листал в телефоне тг-чаты, теперь листаю чаты в OpenChambr. Начал понимать, для кого придумали Fold’ы.

——————————

5️⃣ CloudPub для туннелей.
Простой и удобный ру-сервис. Бесплатного тарифа для домашнего рядового использования хватает с головой. Подписка доступная. Работает как часы круглые сутки хоть с VPN, хоть без.

——————————

6️⃣ OpenWhispr для транскрибации.
На Linux показал себя лучше всех. Куча локальных нейросетей и для транскрибации, и для авто-исправлений. Лишь бы памяти хватало. Есть ещё удобный интерфейс для транскрибации файлов.

Parakeet с nvidia GPU работает молниеносно, не всегда точно, но настроенный словарь терминов решил многие проблемы.

——————————

7️⃣ Kimi как основная модель.
Возглавляет мой личный топ LLM для работы.
Мультимодальная — можно кормить разнородный контент.
На обжитых проектах перформит сопоставимо с Codex’ом.

Тарифа за $40 хватает на крайне активную разработку с кучей параллельных сессий. Но порой успеваю вылететь за недельные лимиты.
Соседний GLM за $70 выдыхается за пару часов и уступает по качеству.

Про Codex и CC за $100 без акций на лимиты говорить не приходится — в таких условиях только за $200. Но зачем $200, если с тем же усилием задачи решаются и за $40.

Рекламный пост

Просмотры: 43
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
Большое обновление текстового движка UniText
Уровень материала: 📎 #tool #news

Пару месяцев назад писал про новый текстовый движок для Unity. Настолько он выглядел амбициозно, что вообще не верилось в его правдивость.

На этой неделе подкрался релиз новой версии 2.0. Это уже буквально другой продукт. Про возможности, про текущий прайсинг (который появился, да), про мой опыт — в краткой заметке на VK
Просмотры: 37
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
Unity → CoreCLR
Уровень материала: #news

Unity очень давно упоминают о планах по переводу своего runtime на CoreCLR. Я до сих пор помню эту статью из 2022, а это даже не точка старта. И вот на прошедшем Unite они вновь подняли эту тему и уже полные уверенности заявили, что этому быть и уже очень скоро.

На их канале на днях вышло подробное видео c GDC, рассказывающее о деталях этого перехода. Что нас ждёт, когда, какие шаги будут предприняты и какие системы будут затронуты.

Постепенный переход начнётся уже в этом году, с версии 6.5 (6.4 уже вышла). И в версии 6.7 они уже собираются это всё публиковать в experimental режиме. Mono в конечном итоге будет выпилен совсем, как уже устаревшее решение.

Что они планируют:

• Современные актуальные возможности для C# и .NET в целом, в т.ч. новый GC;

• Замена Domain Reload на более хитрую модель через Assembly Load Context. Что должно значительно увеличить скорость работы с редактором и вход в PlayMode.

• Но это потребует аккуратности от разработчиков со статикой, обработчиками ивентов и прочими штуками, удерживающими ссылки на объекты слишком долго и приводящими к утечкам памяти (см этот пост).

• В помощь разработчикам в Project Auditor будут добавлены анализаторы для проверки всего, что мешает Domain Reload.

• BinaryFormatter станет и в Unity "запрещёнкой": его поддержку приберут.

• Обновят сериализатор. Станет быстрее и заимеет больше возможностей. В т.ч. даже обещают сериализовать словари.

• Более глубокая интеграция Entities в Runtime и более тесная с GameObject'ми и Transform'ами. В 6.5 появится общий Hierarchy View для энтитей и GO. А в 6.6 для GO и Transform будут предоставлены удобства для работы в Jobs.

• Обещают всяческие низкоуровневые оптимизации и улучшения.

• AI в профайлер, говорят, встроят. Логгер оптимизируют.

И ещё большая горстка комментариев и тезисов. Весьма насыщенно для своих 20 минут и очень обнадёживающе. Продолжать не верить всё сложнее. Ждём
Просмотры: 27
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
AI-Driven Development

Записал и опубликовал Full Home Director's Cut Video Edition своего доклада с прошедшего GameDev CityFest.

Если кто-то хотел, но не смог, или смог, но не хватило, то видео уже можно найти на площадках.

YouTube | VK Video | RuTube

Занятие оказалось сложнее, чем предполагал. И сильно дольше, чем хотел.

Тем не менее, со всеми урезками и компромиссами всё равно 3 часа получилось 🫠

На этом отправляюсь в загруженный окранчительный сезон релизов — так что новых видео определённо не обещаю 🫡
Просмотры: 30
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
В выходные посещал Новосибирск для выступления на Gamedev Cityfest. Рассказывал и показывал про использование AI в разработке. Успел мало, но с коллегами по цеху обсудил много — всё ценное, увы, осталось за кадром.

Но раздаточный материал никуда не делся. Это выдержка из нашей собранной корпоративной базы знаний по #ai, в которой я оставил только то, что касается разработки. Но и этого мало не покажется.

https://funzen.slite.page/p/2eH_1HjOCous0W/AI-Notebook
Просмотры: 24
Перейти в пост Открыть в MAX Сообщить о неточности
⬆️ назад ⬆️

Дополнительные рекомендации

• Всегда передавайте CancellationToken в каждый асинхронный метод, в т.ч. вложенные.

• Строго контролируйте жизненный цикл каждого такого метода и его CancellationTokenSource.

• Не забывайте вызывать и Cancel, и Dispose для финализации CancellationTokenSource.

• В MonoBehaviour можно использовать this.GetCancellationTokenOnDestroy(), привязанный к конкретному MonoBehaviour, по аналогии с Coroutine.
Просмотры: 25
Перейти в пост Открыть в MAX Сообщить о неточности
⬆️ назад ⬆️

Когда это нужно

Только тогда, когда есть чужое внешнее API, которое не принимает токен отмены, но вам необходимо прервать ожидание.

Например, загрузка Addressables. Но тут важно не просто прервать ожидание: нужно ещё в фоне дождаться завершения загрузки и выполнить затем Release. Иначе этот ассет останется невыгруженным.

```
// один из десятка способов это сделать
async UniTask<Sprite> LoadIconAsync(string key, CancellationToken token)
{
var handle = Addressables.LoadAssetAsync<Sprite>(key);
try
{
return await handle.ToUniTask()
.AttachExternalCancellation(token);
}
catch (OperationCanceledException)
{
_ = handle.ToUniTask()
.ContinueWith(_ => Addressables.Release(handle));
throw;
}
}

```
Т.е. некоторые такие "неотменяемые" операции обязательно нужно дожидаться и финализировать.

⬇️ далее ⬇️
Просмотры: 21
Перейти в пост Открыть в MAX Сообщить о неточности
Вся лента — после бесплатной регистрации
ВКонтакте Телеграм Одноклассники
Избранное в datool.ru

Следите за каналом в личном кабинете

Зарегистрируйтесь в datool.ru, чтобы добавить канал «aks2dio | Unity и геймдев» в избранное и отслеживать его показатели.

Зарегистрироваться
Для владельцев каналов

Подтвердите свой канал

Войдите или зарегистрируйтесь в datool.ru, затем добавьте нашего бота в канал по инструкции в личном кабинете. После проверки владения замок исчезнет и вам станет доступно управление каналом.

Войти или зарегистрироваться

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти