Доброго дня и хороших выходных, котаны)
У нас с Ромой скоро стартует интенсив. Ваша активность под недавним постом о навыках просто 🥰
Выполняю обещание и рассказываю поподробнее про программу курса👇
У нас будет 2 лекции + закрепление материала через дз и 2 дня практики:
Лекция №1 - Написание расширений для редактора при помощи CustomEditor и визуализация данных с OnSceneGUI + Handles
За два часа разберем:
- Структуру расширений редактора;
- Все возможные элементы, которые используются в кастомном инспекторе;
- GUILayoutOption для более точной настройки элементов;
- Немного GUI. skin для создания сочных отдельных блоков;
- Горизонтальные и вертикальные группы;
- Создание красивых кнопок с любыми иконками или значками;
- Создание блоков с возможностью их сворачивания;
- Визуализация данных при помощи OnSceneGUI + Handles;
- Практическая отработка навыков на 2-3 примерах.
В конце отвечу на все ваши вопросы)
Лекция №2 - Написание расширений в отдельных окнах при помощи EditorWindow.
За 2-3 часа разберем:
- В чем отличие кастомизации инспектора от написания отдельных окон;
- Как создать дополнительные окна Unity, которые открываются из меню;
- Как зонировать окно;
- Модификацию внешнего вида окна;
- Пак небольших уникальных элементов;
- Как построить сетку и рисовать внутри окна;
- Напишем 3 расширения для Unity
Ну и, конечно, отвечу на все вопросы.
Практические дни
На два полных выходных (10 и 11 декабря) мы разобьём вас на команды, которые будут решать сложную техническую задачу. Параллельно с этим Code Review ваших работ на протяжении всего дня.
А ещё всем закину свой pdf, в котором собрал всю документацию по разработке расширений)
Пост выходит слишком большим и пришлось чуть сократить, в курсе будет ещё больше приятностей :3
Как вам план? Уже во вторник стартует жесткая и плотная работа в Dungeon, не призываю, но и не хочу, чтобы потом кто-то обижался, из 40 мест осталось совсем немного. Все подробности здесь
У нас с Ромой скоро стартует интенсив. Ваша активность под недавним постом о навыках просто 🥰
Выполняю обещание и рассказываю поподробнее про программу курса👇
У нас будет 2 лекции + закрепление материала через дз и 2 дня практики:
Лекция №1 - Написание расширений для редактора при помощи CustomEditor и визуализация данных с OnSceneGUI + Handles
За два часа разберем:
- Структуру расширений редактора;
- Все возможные элементы, которые используются в кастомном инспекторе;
- GUILayoutOption для более точной настройки элементов;
- Немного GUI. skin для создания сочных отдельных блоков;
- Горизонтальные и вертикальные группы;
- Создание красивых кнопок с любыми иконками или значками;
- Создание блоков с возможностью их сворачивания;
- Визуализация данных при помощи OnSceneGUI + Handles;
- Практическая отработка навыков на 2-3 примерах.
В конце отвечу на все ваши вопросы)
Лекция №2 - Написание расширений в отдельных окнах при помощи EditorWindow.
За 2-3 часа разберем:
- В чем отличие кастомизации инспектора от написания отдельных окон;
- Как создать дополнительные окна Unity, которые открываются из меню;
- Как зонировать окно;
- Модификацию внешнего вида окна;
- Пак небольших уникальных элементов;
- Как построить сетку и рисовать внутри окна;
- Напишем 3 расширения для Unity
Ну и, конечно, отвечу на все вопросы.
Практические дни
На два полных выходных (10 и 11 декабря) мы разобьём вас на команды, которые будут решать сложную техническую задачу. Параллельно с этим Code Review ваших работ на протяжении всего дня.
А ещё всем закину свой pdf, в котором собрал всю документацию по разработке расширений)
Пост выходит слишком большим и пришлось чуть сократить, в курсе будет ещё больше приятностей :3
Как вам план? Уже во вторник стартует жесткая и плотная работа в Dungeon, не призываю, но и не хочу, чтобы потом кто-то обижался, из 40 мест осталось совсем немного. Все подробности здесь
🔥21👍4🤡2👏1🤔1👌1
ЗАВТРА СТАРТУЕМ
Котаны, час Х близок. Уже завтра начнём прокачивать Unity, и врата вВАЛЬХАЛЛУ 5-дневный напильник для вас откроются.
Осталась пара свободных мест, кто хочет залететь, ещё есть шанс ворваться. Все подробности здесь!
А я пойду завершать финальные приготовления, страдать х*йней эту неделю я вам точно не дам 🔥
Котаны, час Х близок. Уже завтра начнём прокачивать Unity, и врата в
Осталась пара свободных мест, кто хочет залететь, ещё есть шанс ворваться. Все подробности здесь!
А я пойду завершать финальные приготовления, страдать х*йней эту неделю я вам точно не дам 🔥
🔥13👍3👌2🤔1🤡1
Фух, привет, котаны 😼
Потерялся на неделю, но не из-за безделья. Плотно поработал с ребятами на тренинге по созданию расширений для Unity. Рассказываю, как все прошло:
Я подготовил материала на 4 часа по два на каждую лекцию (ага, если бы…), но так получилось, что на первой лекции за 3 часа я объяснил только процентов 80 из всего материала.
Пришлось в срочном порядке провести ещё одну часовую лекцию сверху на следующий день, из-за чего финальная лекция сдвинулась на пятницу, впритык к практикуму.
Наученный опытом первой лекции, я переработал вторую, и уже она прошла прям з*бись, от ребят прилетел хороший фидбек!
Дальше была ПРАКТИКА. Распределили всех на команды, каждая из которых должна была запилить своё расширение для постройки уровня. Суть расширения: Префабы закидываются в специальную сгенерированную папку, расширение их вытягивает и строит грид с превьюшками, из которого можно выбирать устанавливаемый префаб, причем у нас таких каталогов может быть несколько, переключаются при помощи тулбара.
Ребята бились над задачей как львиные тигры, а я 2 дня нон-стоп был на саппорте и помогал разруливать проблемы, с которыми команды сталкивались.
Вобщем, все ребята были реально толковые, очень заряжали меня и друг друга. Но самое крутое, что все вовлеклись в интенсив и е*ашили от души.
Кстати говоря, больше всего ребятам зашла командная работа. Некоторые сработались настолько, что задумались над совместным проектом после интенсива.
Мне приятно работать с такими людьми, а код-ревью в онлайне порадовал ещё больше, не без ошибок, конечно, но за все работы мы проговорили много крутых приемов. Накидайте🔥и я разберу пару кейсов с интенсива.
В общем и целом ребята оценили тренинг по достоинству, о чем говорят душевные отзывы, которые греют сердце. Всем спасибо, было пизд*то! :3
Потерялся на неделю, но не из-за безделья. Плотно поработал с ребятами на тренинге по созданию расширений для Unity. Рассказываю, как все прошло:
Я подготовил материала на 4 часа по два на каждую лекцию (ага, если бы…), но так получилось, что на первой лекции за 3 часа я объяснил только процентов 80 из всего материала.
Пришлось в срочном порядке провести ещё одну часовую лекцию сверху на следующий день, из-за чего финальная лекция сдвинулась на пятницу, впритык к практикуму.
Наученный опытом первой лекции, я переработал вторую, и уже она прошла прям з*бись, от ребят прилетел хороший фидбек!
Дальше была ПРАКТИКА. Распределили всех на команды, каждая из которых должна была запилить своё расширение для постройки уровня. Суть расширения: Префабы закидываются в специальную сгенерированную папку, расширение их вытягивает и строит грид с превьюшками, из которого можно выбирать устанавливаемый префаб, причем у нас таких каталогов может быть несколько, переключаются при помощи тулбара.
Ребята бились над задачей как львиные тигры, а я 2 дня нон-стоп был на саппорте и помогал разруливать проблемы, с которыми команды сталкивались.
Вобщем, все ребята были реально толковые, очень заряжали меня и друг друга. Но самое крутое, что все вовлеклись в интенсив и е*ашили от души.
Кстати говоря, больше всего ребятам зашла командная работа. Некоторые сработались настолько, что задумались над совместным проектом после интенсива.
Мне приятно работать с такими людьми, а код-ревью в онлайне порадовал ещё больше, не без ошибок, конечно, но за все работы мы проговорили много крутых приемов. Накидайте🔥и я разберу пару кейсов с интенсива.
В общем и целом ребята оценили тренинг по достоинству, о чем говорят душевные отзывы, которые греют сердце. Всем спасибо, было пизд*то! :3
🔥44👍6🤯2⚡1
А вот и реальное расширение подъехало
Очень хочу показать вам, как работает расширение от команды ISeniorLvlGodAzurRank8, пацаны вообще ребята, они сделали его за 2 дня практики. Тут respect+ не иначе, поддержите ребят 👍
Ну и пишите в комментах, что думаете о расширении и хотите ли его подробный разбор
https://www.youtube.com/watch?v=op6OagFavPs
Очень хочу показать вам, как работает расширение от команды ISeniorLvlGodAzurRank8, пацаны вообще ребята, они сделали его за 2 дня практики. Тут respect+ не иначе, поддержите ребят 👍
Ну и пишите в комментах, что думаете о расширении и хотите ли его подробный разбор
https://www.youtube.com/watch?v=op6OagFavPs
YouTube
ISeniorLvlGodAzurRank8 -BuildCity
👍22🔥4😁2
ПРАКТИЧЕСКАЯ ЧАСТЬ 🧑💻
Всем привет) Зафиналиваю рассказ об интенсиве, и наконец настала очередь практики. Собсна, “Какое было задание?”. Задание дал по харду: “Написать расширение, помогающее левелдизайнеру строить уровни”. Давайте закину вам ТЗ, может кто-то захочет повторить))
1. Размещаемые объекты должны быть префабами для удобства настройки геймплея;
2. Префабы должны браться из сгенерированной папки, куда разработчик поместит префаб после его настройки;
3. В расширении префабы выводятся в сетку, которая должна подстраиваться под размер окна;
4. У каждого элемента должна быть превьюшка, но сделанная не вручную;
5. Все префабы должны быть разделены на каталоги, по типу "постройка", "окружение" и тд;
6. При помощи клавиатуры добавить возможность поворота;
7. При активации кнопки постройки и перемещении указателя на сцену должно появиться превью постройки;
8. Постройки не должны ставиться одну в другую.
Звучит сложно, но до этого на теории мы разобрали всю базу для этого, включая работу с файлами и всеми элементами GUILayour.
А зачем вообще упоролись в практику, ведь могли за 2 дня еще чо-нить разобрать? Странный вопрос (я сам его придумал) думаю итак все понимаете на*уя нужна практика. Но все-таки, я очень хотел, чтобы все участники:
А) Закрепили пройденный материал;
Б) Погрузились в реальный небольшой спринт и поняли, как это работает в реальности;
В) Научились работать в команде и распределять задачи.
Ну и да, все получилось. Распределили команды +- равномерно по опыту разрабов, каждый прочувствовал на себе, что такое спринт и как это выматывает, когда до дедлайна час. Особенно порадовало как ребята адекватно раскидали таски между собой без прожект манагеров))
А результат вы уже видели в прошлом посте, и если хотите увидеть разбор кода, то накидайте реакций, и будем долбить дальше 🔥
Всем привет) Зафиналиваю рассказ об интенсиве, и наконец настала очередь практики. Собсна, “Какое было задание?”. Задание дал по харду: “Написать расширение, помогающее левелдизайнеру строить уровни”. Давайте закину вам ТЗ, может кто-то захочет повторить))
1. Размещаемые объекты должны быть префабами для удобства настройки геймплея;
2. Префабы должны браться из сгенерированной папки, куда разработчик поместит префаб после его настройки;
3. В расширении префабы выводятся в сетку, которая должна подстраиваться под размер окна;
4. У каждого элемента должна быть превьюшка, но сделанная не вручную;
5. Все префабы должны быть разделены на каталоги, по типу "постройка", "окружение" и тд;
6. При помощи клавиатуры добавить возможность поворота;
7. При активации кнопки постройки и перемещении указателя на сцену должно появиться превью постройки;
8. Постройки не должны ставиться одну в другую.
Звучит сложно, но до этого на теории мы разобрали всю базу для этого, включая работу с файлами и всеми элементами GUILayour.
А зачем вообще упоролись в практику, ведь могли за 2 дня еще чо-нить разобрать? Странный вопрос (я сам его придумал) думаю итак все понимаете на*уя нужна практика. Но все-таки, я очень хотел, чтобы все участники:
А) Закрепили пройденный материал;
Б) Погрузились в реальный небольшой спринт и поняли, как это работает в реальности;
В) Научились работать в команде и распределять задачи.
Ну и да, все получилось. Распределили команды +- равномерно по опыту разрабов, каждый прочувствовал на себе, что такое спринт и как это выматывает, когда до дедлайна час. Особенно порадовало как ребята адекватно раскидали таски между собой без прожект манагеров))
А результат вы уже видели в прошлом посте, и если хотите увидеть разбор кода, то накидайте реакций, и будем долбить дальше 🔥
🔥37👍3⚡2🤡1
Привет, котаны)
Я сел заниматься разбором LevelBuilder и встал в небольшой тупик. Скрипт вышел под 300 строк, что для расширений так-то адекватно, но есть где сократить. В одном посте все не поместится, и мне кажется, что лучше сделать серию постов по самым горячим темам.
👇 Ниже скину опрос)
Я сел заниматься разбором LevelBuilder и встал в небольшой тупик. Скрипт вышел под 300 строк, что для расширений так-то адекватно, но есть где сократить. В одном посте все не поместится, и мне кажется, что лучше сделать серию постов по самым горячим темам.
👇 Ниже скину опрос)
👍11🔥5👌2
Собственно, к чему я это всё? Мне нужна ваша помощь: какую тему вы хотите видеть в разборе больше всего?
Напишите в комментах свои пожелания, и уже завтра я выкачу первый пост, который выберете вы :3
Напишите в комментах свои пожелания, и уже завтра я выкачу первый пост, который выберете вы :3
Anonymous Poll
27%
Разбор механик расширения
22%
Рефакторинг кода для сокращения размера
30%
Интересные приемы из кода
18%
Разбор ошибок и возможных улучшений
2%
Версия в комментах
👍7🔥5👌1
РАЗБОР ВВОДА В РАСШИРЕНИЯХ
Спасибо за участие и комменты в опросе :3 Как и обещал, закидываю пост)
Во время практики ребятам нужно было сделать управление размером/поворотом объекта при помощи нажатия клавиш. Вроде все изи, но есть нюанс: ввод, который мы используем в плеймоде, отличается от ввода в редакторе.
Ситуация такая, класс Input для редактора недоступен, но есть класс Event с информацией о пользовательском вводе или рендеринге окна. Для каждого вызова OnGUI в скриптах создается новый Event, т.е. каждый метод отрисовки в редакторе может создать новый Event и значит их может быть несколько.
Остается вопрос: как мне определить нужное событие и вычленить из него нажатие клавиши?
Я смотрю на статическое свойство current, содержащее в себе Event. Он обрабатывается прямо сейчас в том скрипте, где я обращаюсь к этому свойству. И при помощи поля type я определяю, что за событие сейчас происходит, и провожу сравнение с желаемым событием из EventType.
После проверки события дело остаётся за малым, я уже знаю, что тип события - это нажатие на клавишу, а значит, могу обратиться к полю keyCode, которое хранит код нажатой клавиши, и среагировать соответствующим образом.
Такие дела, накидывайте 🔥, если вам заходит такой формат)
Спасибо за участие и комменты в опросе :3 Как и обещал, закидываю пост)
Во время практики ребятам нужно было сделать управление размером/поворотом объекта при помощи нажатия клавиш. Вроде все изи, но есть нюанс: ввод, который мы используем в плеймоде, отличается от ввода в редакторе.
Ситуация такая, класс Input для редактора недоступен, но есть класс Event с информацией о пользовательском вводе или рендеринге окна. Для каждого вызова OnGUI в скриптах создается новый Event, т.е. каждый метод отрисовки в редакторе может создать новый Event и значит их может быть несколько.
Остается вопрос: как мне определить нужное событие и вычленить из него нажатие клавиши?
Я смотрю на статическое свойство current, содержащее в себе Event. Он обрабатывается прямо сейчас в том скрипте, где я обращаюсь к этому свойству. И при помощи поля type я определяю, что за событие сейчас происходит, и провожу сравнение с желаемым событием из EventType.
После проверки события дело остаётся за малым, я уже знаю, что тип события - это нажатие на клавишу, а значит, могу обратиться к полю keyCode, которое хранит код нажатой клавиши, и среагировать соответствующим образом.
Такие дела, накидывайте 🔥, если вам заходит такой формат)
🔥31⚡2👍2❤1🍓1
С превью префаба можно работать!
На практике вебинара мы дали ребятам задание отобразить все префабы в каталоге. Если для каждого элемента делать отдельную иконку, - это ад, а расширение каталога занимает больше времени специалиста.
На самом деле для этой задачи у меня есть элегантное решение. Вы заметили, что Unity для префабов генерирует специальную иконку предпросмотра, которой мы будем пользоваться.
В Unity есть фишка - AssetPreview. Очень удобный класс, с которым мы получим превьюшку объекта, если у нас есть ссылка на него.
На практике мы пробегались по всему каталогу и получали превьюшку типа Texture2D для каждого элемента. Дальше - во время создания грида в качестве контента мы передаем иконки, а не сами объекты. Так можно делать, ибо индекс иконки соответствует индексу объекта в каталоге.
Ну и, напоследок, хотелось бы поздравить всех с наступающим Новым годом) Желаю вам всем в новом году крутых райзов, интересных задач и бенчёвых проектов! 🎄
На практике вебинара мы дали ребятам задание отобразить все префабы в каталоге. Если для каждого элемента делать отдельную иконку, - это ад, а расширение каталога занимает больше времени специалиста.
На самом деле для этой задачи у меня есть элегантное решение. Вы заметили, что Unity для префабов генерирует специальную иконку предпросмотра, которой мы будем пользоваться.
В Unity есть фишка - AssetPreview. Очень удобный класс, с которым мы получим превьюшку объекта, если у нас есть ссылка на него.
На практике мы пробегались по всему каталогу и получали превьюшку типа Texture2D для каждого элемента. Дальше - во время создания грида в качестве контента мы передаем иконки, а не сами объекты. Так можно делать, ибо индекс иконки соответствует индексу объекта в каталоге.
Ну и, напоследок, хотелось бы поздравить всех с наступающим Новым годом) Желаю вам всем в новом году крутых райзов, интересных задач и бенчёвых проектов! 🎄
🎄22👍8🔥3⚡1