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

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

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

Интересная дата 5 сентября. Будет ровно год, как запойного Григоровича официально убрали из бенефициаров GSC Game World.

Благодаря Boulder Dash и Flying Shark я вошёл в IT со своим первым языком программирования - ассемблером, "хакая" количество жизней :)

 Если у вас в окне 10 кнопок сделаны одним префабом, то вы легко не поменяете стиль у половины из них.

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

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

А я - нет. I2 CSS Styles | GUI Tools | Unity Asset Store

P.S. Выравнивание в UI Toolkit всё ещё не починили, уже более полугода прошло...

Вы неправильно меня поняли. Я говорю о префабах не окон, а конкретных uGUI контролов: кнопок, текстовых полей, переключателей, слайдеров и т.д. В Unity есть вариации префабов, а совсем недавно появились еще и вариации материалов и вам не нужно создавать множество материалов с идентичными параметрами, которые отличаются, например, только цветом. Достаточно создать базовый прототип материала с определенными настройками Diffusion / Normal / Metallic / Height и т.д. и потом создавать вариации материалов, в которых меняется только цвет Diffusion.

Извиняюсь за прямоту, но, по всей видимости, у вас было совсем немного практики в создании UI на uGUI, если задача по смене цвета интерфейса вызвала у вас необходимость переходить на UI Toolkit. USS и UXML я изучал с самых первых версий, так что про комбинации селекторов я знаю. Но в итоге побаловался, ощутил непередаваемую мощь привнесённых Web-технологий, и вернулся к uGUI. Хотя безработным верстальщикам-формошлёпам, стремящимся войти в геймдев, вполне себе зайдет. Осталось еще только вернуть Unity Script (специфический Java Script для Unity), благополучно выпиленный в Unity 2018 и будет полное счастье.

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

Ну да, ну да, префабы и варианты префабов используют же только слабаки. UI Toolkit - очередная бесполезная блажь от Unity Technologies, которая мало кому интересна. Бесплатный UI Toolkit Sample – Dragon Crashers - полноценный мобильный UI на UI Toolkit - собрал аж 8 оценок и отзывов за 3,5 месяца (на данный момент) с момента публикации в Asset Store. Настолько высок интерес к продукту...

Ну и, как обычно, оно часто ломается от версии к версии. В 2022.2 сломали ширину PropertyFields и разрабы, вместо того, чтобы пофиксить баг, присоветовали знакомому разработчику весьма популярного ассета добавить класс  .unity-base-field__aligned во все контролы. В упомянутом ассете, все инспекторы свойств созданы при помощи UI Toolkit и контролов там далеко за пару сотен, а то и больше.

Переходить на UI Toolkit для создания игрового UI, как по мне, это не самая лучшая идея, пока идеально работает связка UGUI + Modern UI Pack, а вот для создания инспекторов и сервисных UI для Unity Editor подходит неплохо.

непонятно на кого она рассчитана

От 14-летнего автора для 12-летних новичков. Пусть лучше пишут, читают и делают игры, чем пьют или курят по подворотням...

В следующей части я подробно расскажу о работе в Unity

Если на уровне "уроков" YouTube " У нас есть редактор, а в нём окна..." с пересказом их назначения и описанием как поместить на сцену кубик и подвигать его, то лучше не надо. Вообще, судя по заголовку, получается очень похоже на меметичную картинку "Как нарисовать сову".

Почему же сразу мусором? Это полезная информация для написания кроссплатформенного кода. Не я же писал спецификации С++, поэтому повлиять на наличие "мусора" я не могу. Хотя, вообще-то, я в своём посте говорил о скорости и качестве восприятия информации в целом.

И, в итоге, получится многосерийный арт-хаус "не для всех", потому что типичный workflow 90+% пользователей Unity не включает в себя практически ничего из вышеперечисленного. Обычно всё как-то так:
1. Сэкономил денег, купил доступный Low-Poly пак от Synty с модельками замков, хижин и персонажей, расставил на сцене - красиво!
2. Почитал про программирование логики игры в C#. Блин, как же сложно.
3. Попробовал бесплатный Visual Scripting, тоже не осилил, снова начал экономить.
4. Купил какой-то Builder, поменял модельки, стало ха-ра-шо. Уже можно грабить корованы, собирать лут и раздевать принцессу.
5. Захотелось добавить воду, снова начал экономить, купил ассет воды. Вода почему-то пропадает, если я удаляю скрипт Water System, надо впаять 1 звезду, пожаловаться разработчику (это не стёб! пруф) и запросить рефанд.
6. Рефанд отклонили, надо копить на новый ассет воды...
и так до бесконечности, а вы тут DOTS, ECS, Burst...

Анонс мнимого продолжения "У Unity всё плохо. Часть 2, или Что у кого болит..."
В этом выпуске мы пожалуемся на:
• Scriptable Rendering Pipelines и какого хрена Unity Technologies постоянно всё ломает;
• пакеты Input System и Animation Rigging и почему они не станут панацеей от болезней систем ввода и анимации;
• замороженную разработку пакета Kinematica, реализующего технологию Motion Matching;
• новый сетевой стек Netcode for GameObjects, который в плане эффективности устарел ещё до релиза;
• отсутствие нативной поддержки Terrain Details в HDRP.

Начинать учить условно-сложные языки (C, С++, ASM и т.п.) как раз и надо лет с 14-15, когда мозг лучше и быстрее воспринимает информацию. Просто вспоминаю, как в свои 15 слёту достаточно хорошо освоил ассемблер для Z80, а вот с годами, время на освоение других языков только росло, даже с учётом уже имеющегося опыта.

Один из наших сооснователей Станислав Осипов до этого уже несколько лет занимался созданием плагинов и публиковал их на мировом Asset Store. Высокий уровень полезности созданных ассетов подтверждался наличием большого количества загрузок...

А подробнее можно или "фамилия моя слишком известна, чтобы я её называл"?

Советую обратить внимание на Game Creator 2 - ремейк популярного фреймворка, у которого более высокий уровень абстракции по сравнению с Visual Scripting, и который использует Burst, Threads вместо Coroutines, а также Animation Rigging для встроенного контроллера персонажей. А еще в нём нет простыней с квадратиками. Ценник, конечно будет немаленький после выхода и покупки всех модулей (именно для Game Creator 2), но лично я считаю, что ничего лучше для быстрого старта новичка в Asset Store нет. Хотя и опытный одиночный разработчик или небольшая команда из 2-5 человек могут существенно ускорить разработку, используя Game Creator 2. Модульность самого фреймворка (не имеются ввиду модули как дополнения) позволяет унифицировать и упростить написание собственных расширений, имеется интеграция с Visual Scripting.

Самая главная проблема Unity для начинающих - это, как ни парадоксально, низкий порог входа для начинающих. Постоянно присутствуя на паре десятков серверов Discord, посвященных Unity (в том числе, посвященных фреймворкам для быстрой разработки и популярным ассетам), могу привести несколько "вредных советов", основанных на наблюдениях в Discord:

1) если вы одиночный начинающий разработчик, то обязательно начинайте сразу делать бесшовный RPG в открытом мире, с размером карты не меньше, чем в GTA 5 или Skyrim.

2) если вам удалось найти напарника в мини-команду, то сразу же трансформируйте проект в MMORPG, Batle Royale или, на крайний случай, сессионный шутер, и сразу же увеличивайте размер карты в 5 раз.

3) учиться логике программирования в целом, и C# не обязательно, можно купить ассеты для быстрого создания игр типа всяких <Dummy Genre> Builder, <Dummy Genre> Template, <Dummy All-In-One> Controller. Обязательно купите весь набор дополнений к ассетам, даже если вы не знаете, для чего они. Позже обязательно пригодятся.

4) Никогда не читайте книг или печатных руководств, особенно те, где много букв и мало картинок или видео. Всегда смотрите видеоуроки, так как там есть всё, что вам нужно: достаточно повторять набор кода, ставя видео на паузу каждые 5 секунд.

5) если в уже купленном ассете нет того, что надо именно вам, то обязательно напишите автору ассета отзыв с требованием немедленно внедрить требуемое, не забыв при этом поставить 1 звезду разработчику и оставить постскриптум "Я разве платил большие деньги, чтобы самостоятельно программировать?". После этого его гарантированно должна замучить совесть. Даже, когда разработчик всё-таки внедрил требуемое, никогда не меняйте рейтинг на более высокий. Наказание должно быть наглядным уроком для разработчика на будущее.

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

7) если вы чего-то не знаете, задавайте свой вопрос во всех найденных серверах Discord о разработке на Unity, желательно продублировав его в нескольких каналах. Если вам ответят, что тут нужно программировать самостоятельно, то обязательно выскажите своё мнение о бесполезности сервера и низком уровне подготовки его посетителей.

8) оптимизация нужна только для пользователей с GTX 1650 или слабенькими Mediatek. Наши пользователи всегда имеют минимум RTX 2080 или Snapdragon 870. В комментариях к релизу всегда появится несколько человек, которые на жалобы о низком FPS и фризах встанут на вашу сторону, отреагировав на жалобу комментарием "Купи себе нормальное железо, нищеброд!".

К чему вёл всё это? Я реально видел / знаю несколько человек, которые при данном подходе умудрились выпустить не одну, и даже не две игры как в Steam, так и в Play Market / App Store и даже успешно монетизировать их. Самое печальное, что складывается стойкое впечатление, что Unity Technologies, по сути, поощряет данный подход, отдавая некоторые востребованные подсистемы, например, воды, облаков (то, что есть сейчас в Unity 2021.2 - это печально), инструменты для создания ландшафта и растительности (ага, 3 года ждем травку в HDRP) и многое другое, "на откуп" сторонним разработчикам в Asset Store. В то же время, Epic предоставляет гораздо больше, чем даже платные ассеты Unity, бесплатно. Я понимаю, что у Unity Technologies нет станка для печатания денег под названием Fortnite, но помпезная покупка Weta Digital за 1.6 млрд. долларов США, даёт основания думать, что Unity Technologies отнюдь не нищенствует и указанное состояние дел их устраивает.

Кодом тоже можно, только вряд-ли вы найдёте новичка, который знает или просто умеет прочитать код на C++

Если именно создавать и даже не париться со встроенным Visual Scripting или блюпринтами, то вариантов по сути немного (всё проверено лично):
1) Unity + Built-In Render Pipeline + Post Processing Stack 2 + что-то для волюметрического света и тумана (Aura 2, например) + Game Creator и его модули (докупаются по необходимости) - великолепное высокоуровневое решение для быстрого создания игровой логики. В UE4 аналога нет.
2) Unity + Universal Render Pipeline + Lux URP Essentials + все тот же Game Creator с модулями.

Отличная мысль: опубликовать перевод спустя неделю после окончания распродажи.
Так как мы некоммерческая организация, у нас нет цели так называемого vendor lock, наоборот, хочется сделать так, чтобы систему мог поддерживать любой, т.к. это экономит наше время и деньги.

После описания всего процесса доработки (с допаиванием элементов, перерезанием дорожек, кастомными прошивками, самописным софтом и т.д.) так и хочется задать каверзный вопрос: «И как, справились?».

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

Это писал Сплит…
Эйнштейн: "Долго делать программу. (относительно)"
Творец: "Теперь мы полностью готовы. К началу."
Вдохновитель: "По началу вас это может напугать, но не боимся и разбираемся."
Мастер интриги: "На самом деле из всей этой каши текста, команд всего 3: на 16, 18, 21 строках. (и то это не команды, а макросы. Мы к командам даже не подобрались)"
Индус: "Самое интересное то что программа весит 2КБ. (Можно сократить и до 1КБ, но для упрощения и так пойдет)"
Философ: "Это штото на подобие команды, но это и близко не команда ассемблера, а просто макрос."
Заботливый: "Не переживайте если нечего не поняли."
Оптимист: "Дальше думаю не стоит объяснять, вроде все понятно."

Ну, началось! С такими претензиями, вы скоро захотите ещё и вернуть утерянное право на самостоятельную замену батареи в смартфоне или ноутбуке на дому без использования инструментов!

1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность