Григорий Дядиченко
Video message
Ну и текстом. Если кому-то неудобно слушать.
Не подскажешь куда копать, читать и что смотреть по теме сжатия Unity билдов?
Хорошая идея для статьи. Напишу в след году в начале. Про настройки оптимизации текстур и ассетов в юнити и в общем про техники «как подужаться»
Как используешь namespace? С одной стороны удобно разделять логику, но по итогу лишь задолбался от этого. Да и так мало кто делает, судя по коду в интернете. Может продолжу использовать namespace, но без разделения на всякие ProjectName.UI, ProjectName.Utils и тому подобные. Оставлю лишь название проекта и все.
В соло проектах смысл не так очевиден. А в крупных.
Во-первых, чтобы не попасть в ад длл и конфликт в именах, когда подключаются какие-то плагины.
Во-вторых, я по специфике сам не всегда этим пользуюсь в аутсорсе. А в продуктах идея в том, что если есть namespace Core и UI, то удобно завести контракт что Core никогда не обращается в UI. Это простое правило делает сопровождение логичной архитектуры проще. И косяк сразу видно на ревью по подключенному неймспейсу.
Не подскажешь куда копать, читать и что смотреть по теме сжатия Unity билдов?
Хорошая идея для статьи. Напишу в след году в начале. Про настройки оптимизации текстур и ассетов в юнити и в общем про техники «как подужаться»
Как используешь namespace? С одной стороны удобно разделять логику, но по итогу лишь задолбался от этого. Да и так мало кто делает, судя по коду в интернете. Может продолжу использовать namespace, но без разделения на всякие ProjectName.UI, ProjectName.Utils и тому подобные. Оставлю лишь название проекта и все.
В соло проектах смысл не так очевиден. А в крупных.
Во-первых, чтобы не попасть в ад длл и конфликт в именах, когда подключаются какие-то плагины.
Во-вторых, я по специфике сам не всегда этим пользуюсь в аутсорсе. А в продуктах идея в том, что если есть namespace Core и UI, то удобно завести контракт что Core никогда не обращается в UI. Это простое правило делает сопровождение логичной архитектуры проще. И косяк сразу видно на ревью по подключенному неймспейсу.
👍7
Классная подборка материалов для разработчиков игр
https://dtf.ru/gamedev/1540562-podarok-dlya-dtf-bolshoy-sbornik-naydennyh-materialov-dlya-razrabotchikov-igr-za-2022-god
Классные туториалы, интересные видео. В общем крутая подборка!
#новости
https://dtf.ru/gamedev/1540562-podarok-dlya-dtf-bolshoy-sbornik-naydennyh-materialov-dlya-razrabotchikov-igr-za-2022-god
Классные туториалы, интересные видео. В общем крутая подборка!
#новости
DTF
Подарок для DTF. Большой сборник найденных материалов для разработчиков игр за 2022 год — Gamedev на DTF
🔥6👍1
Скрыть папки в Unity
Иногда многие не знают про какие-то удобные мелочи. Так как они о них не задумываются. У нас сейчас в проекте под айос не собирается Yandex AppMetrica. (Ошибка 'YandexMobileMetrica/YandexMobileMetrica.h' file not found) А тестировать основной функционал всё равно надо. И есть по сути с такими ошибками сборки два пути.
Удалить метрику целиком. Но это странный диф в репозитории или коммит, который потом ревёртить.
Или же скрыть папку на препроцессинге билда (ну либо руками, диф будет просто меньше, и понятнее как вернуть. Просто заменив символ). А в Unity чтобы скрыть папку достаточно прописать ~ в конец её названия. Так например с метрикой папка будет называться AppMetrica~.
Мелкая фича, а бывает довольно удобной :)
#трюки
Иногда многие не знают про какие-то удобные мелочи. Так как они о них не задумываются. У нас сейчас в проекте под айос не собирается Yandex AppMetrica. (Ошибка 'YandexMobileMetrica/YandexMobileMetrica.h' file not found) А тестировать основной функционал всё равно надо. И есть по сути с такими ошибками сборки два пути.
Удалить метрику целиком. Но это странный диф в репозитории или коммит, который потом ревёртить.
Или же скрыть папку на препроцессинге билда (ну либо руками, диф будет просто меньше, и понятнее как вернуть. Просто заменив символ). А в Unity чтобы скрыть папку достаточно прописать ~ в конец её названия. Так например с метрикой папка будет называться AppMetrica~.
Мелкая фича, а бывает довольно удобной :)
#трюки
🤯17👍9🔥3
EscapeUrl и Uri Scheme
В операционных системах есть такая удобная фигня как uri scheme. На ней строится функционал диплинков. И есть много удобных схем типа mailto. Пользуясь такими схемами не стоит забывать, что это обращение по URL. И соответственно правила там точно такие же. И проблемы возникают аналогичные.
У нас недавно была проблема, что mailto работал на андроид, но не работал на айос. И почему? Так как в шаблоне тела письма были "пробелы". Решается это довольно просто (как на скриншоте). Главное помнить, что обращение по uri схеме обладает такими же ограничениями, как обращения по урлу. И не все веб клиенты автоматически эскейпят нужные символы. Думаю кому-то понимание этого вопроса может сэкономить время
#советы
В операционных системах есть такая удобная фигня как uri scheme. На ней строится функционал диплинков. И есть много удобных схем типа mailto. Пользуясь такими схемами не стоит забывать, что это обращение по URL. И соответственно правила там точно такие же. И проблемы возникают аналогичные.
У нас недавно была проблема, что mailto работал на андроид, но не работал на айос. И почему? Так как в шаблоне тела письма были "пробелы". Решается это довольно просто (как на скриншоте). Главное помнить, что обращение по uri схеме обладает такими же ограничениями, как обращения по урлу. И не все веб клиенты автоматически эскейпят нужные символы. Думаю кому-то понимание этого вопроса может сэкономить время
#советы
👍7
Игра с помощью Chat GPT в Unity
https://www.youtube.com/watch?v=u4vYtmaOerA
Всех ещё раз с новым годом! Праздники, праздниками, а посты по расписанию (если бы особенно оно у меня было). Ну надо же под что-то есть прошлогодние салаты XD
Прикольное видео про создание игры с помощью нейросетей. И очень крутой результат. Вообще надо поковырять будет ChatGPT как-нибудь, но думаю недолго осталось до момента, когда кто-то встроит нейросеть в свою IDE.
Вероятно появится обучение по тому "как правильно писать промты". Но программистов конечно же эта штука не заменит. А вот для прототипирования просто гениальная штука. Выглядит круто конечно :)
#новости
https://www.youtube.com/watch?v=u4vYtmaOerA
Всех ещё раз с новым годом! Праздники, праздниками, а посты по расписанию (если бы особенно оно у меня было). Ну надо же под что-то есть прошлогодние салаты XD
Прикольное видео про создание игры с помощью нейросетей. И очень крутой результат. Вообще надо поковырять будет ChatGPT как-нибудь, но думаю недолго осталось до момента, когда кто-то встроит нейросеть в свою IDE.
Вероятно появится обучение по тому "как правильно писать промты". Но программистов конечно же эта штука не заменит. А вот для прототипирования просто гениальная штука. Выглядит круто конечно :)
#новости
YouTube
НЕЙРОСЕТЬ Chat GPT создала ИГРУ на Unity! Программисты и геймдизайнеры больше не нужны?
В этом видео я расскажу как нейронная сеть создала игру на Unity 3d. Как Chat GPT уже сейчас может писать неплохой код. А нейросеть MidJourney создавать реалистичные арты по любому запросу. Может ли это стать концом для творческих профессий? И куда все это…
👏5👍1
Неиронки и лабы
https://youtu.be/L9oA58siF3k
Год у нас прям начинается с ИИ. Но думаю, какое-то время в этом году это будет довольно активным трендом. Наткнулся на такой видос на ютубе и задумался. Как теперь проверять студентов?
Проблема существует и с ассетами, но с нейросетями люди станут ещё меньше писать код. Для профессионалов это просто полезный инструмент. Но любопытно не приведёт ли это к деградированию среднего специалиста в разработке в целом :)
Со всеми лабами неиронка я уверен, что справится. С простыми задачами да. Но мне кажется получать в руки такие инструменты, или пользоваться ассетами в коммерческой разработке можно, когда у тебя уже рука набита. Так как ты знаешь как что-то исправить, понимаешь проблемы ассетов и так далее.
Как бы не расхаживали новичков нейросети. Так как нас будет ждать прикольная эра слабых программистов, которые собирают тысячи багованных программ :) И таких же бизнесов и бизнес моделей :)
#мысли
https://youtu.be/L9oA58siF3k
Год у нас прям начинается с ИИ. Но думаю, какое-то время в этом году это будет довольно активным трендом. Наткнулся на такой видос на ютубе и задумался. Как теперь проверять студентов?
Проблема существует и с ассетами, но с нейросетями люди станут ещё меньше писать код. Для профессионалов это просто полезный инструмент. Но любопытно не приведёт ли это к деградированию среднего специалиста в разработке в целом :)
Со всеми лабами неиронка я уверен, что справится. С простыми задачами да. Но мне кажется получать в руки такие инструменты, или пользоваться ассетами в коммерческой разработке можно, когда у тебя уже рука набита. Так как ты знаешь как что-то исправить, понимаешь проблемы ассетов и так далее.
Как бы не расхаживали новичков нейросети. Так как нас будет ждать прикольная эра слабых программистов, которые собирают тысячи багованных программ :) И таких же бизнесов и бизнес моделей :)
#мысли
YouTube
When ChatGPT Is A Better Programmer Than You...
Get Your Billy T-Shirt: https://my-store-d2b84c.creator-spring.com/
Discord: https://discord.gg/Ap2sf3sKqg
Instagram: https://www.instagram.com/mrpsolver/
Discord: https://discord.gg/Ap2sf3sKqg
Instagram: https://www.instagram.com/mrpsolver/
👍7
Код Хаффмана
https://www.youtube.com/watch?v=B3y0RsVCyrw
Классное виде про код Хаффмана. Очень полезно знать идеи кодирования и декодирования информации. Логики алгоритмов сжатия и т.п. Данные знания позволяют делать очень много прикольных оптимизаций. У меня например как-то стояла задача сжать 3д модели с весьма специфичной структурой вертексов. И это получилось сделать разработав свой простенький формат в который перегонялись вертексы и другие параметры модели, и так же оптимизировав данные по идеям кода Хаффмана.
#теория
https://www.youtube.com/watch?v=B3y0RsVCyrw
Классное виде про код Хаффмана. Очень полезно знать идеи кодирования и декодирования информации. Логики алгоритмов сжатия и т.п. Данные знания позволяют делать очень много прикольных оптимизаций. У меня например как-то стояла задача сжать 3д модели с весьма специфичной структурой вертексов. И это получилось сделать разработав свой простенький формат в который перегонялись вертексы и другие параметры модели, и так же оптимизировав данные по идеям кода Хаффмана.
#теория
YouTube
Huffman Codes: An Information Theory Perspective
Huffman Codes are one of the most important discoveries in the field of data compression. When you first see them, they almost feel obvious in hindsight, mainly due to how simple and elegant the algorithm ends up being. But there's an underlying story of…
👍6🆒1
Работа на дядю
Последние годы я вижу какой-то тренд, что «не модно» работать на дядю :) Тут хочется вставить свои пять копеек со стороны человека не работающего «на дядю» уже 5 лет.
На дворе второе января, а я уже работаю. Над задачами за которые мне никто напрямую не платит. Так сказать административочка. Сверстать бюжет на 2023, посчитать баланс, прикинуть планы как искать клиентов в НГ и т.п. Не работая на дядю иногда завидуешь работающим. Так как сделал задачи и отдыхай спокойно на праздниках или в отпуске.
Когда я только начинал бизнес я зарабатывал больше, чем последующие три года с бизнесом. Сейчас мне предлагают суммы в два раза больше, чем я в среднем зарабатываю в месяц. Так что свобода и деньги весьма условные.
Почему же я ещё нигде не работаю? Бизнес такая штука и предприниматель такой человек, что он просто не может заниматься чем-то другим. Ему скучно, там нет того драйва. Я когда последний раз был в крупной компании уволился до конца испытательного срока, так как мне было тупо скучно.
Спустя 5 лет в бизнесе уже тяжело пойти на работу и не умереть от скуки. А то что это свобода и богатство, я считаю красивой сказкой. Это просто новый вид работы. И вместо одного дяди, ты отвечаешь перед кучей дядь :)
#мысли
Последние годы я вижу какой-то тренд, что «не модно» работать на дядю :) Тут хочется вставить свои пять копеек со стороны человека не работающего «на дядю» уже 5 лет.
На дворе второе января, а я уже работаю. Над задачами за которые мне никто напрямую не платит. Так сказать административочка. Сверстать бюжет на 2023, посчитать баланс, прикинуть планы как искать клиентов в НГ и т.п. Не работая на дядю иногда завидуешь работающим. Так как сделал задачи и отдыхай спокойно на праздниках или в отпуске.
Когда я только начинал бизнес я зарабатывал больше, чем последующие три года с бизнесом. Сейчас мне предлагают суммы в два раза больше, чем я в среднем зарабатываю в месяц. Так что свобода и деньги весьма условные.
Почему же я ещё нигде не работаю? Бизнес такая штука и предприниматель такой человек, что он просто не может заниматься чем-то другим. Ему скучно, там нет того драйва. Я когда последний раз был в крупной компании уволился до конца испытательного срока, так как мне было тупо скучно.
Спустя 5 лет в бизнесе уже тяжело пойти на работу и не умереть от скуки. А то что это свобода и богатство, я считаю красивой сказкой. Это просто новый вид работы. И вместо одного дяди, ты отвечаешь перед кучей дядь :)
#мысли
👍27👌3
KeenTools AR Geo Tracker
https://80.lv/articles/keentools-geotracker-for-after-effects-officially-released/
Вышла прикольная тулза для афтера, которая позволяет притречиваться к объектам. По рекламному ролику работает прям хорошо :)
#новости
https://80.lv/articles/keentools-geotracker-for-after-effects-officially-released/
Вышла прикольная тулза для афтера, которая позволяет притречиваться к объектам. По рекламному ролику работает прям хорошо :)
#новости
80LV
KeenTools GeoTracker for After Effects Officially Released
The 3D object tracker is now a paid tool with a 15-day trial period.
❤2👍1
Appmetrica и ARCore
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity). Гугл и его депенденси.
Если же вы подключаете что-то, что скажем использует
Первое переезд на ARFoundation 5.0.3. Но чтобы это стало квестом Unity почему-то не дало права выбирать версию в менеджере пакетов. А нужно лезть в манифест и править руками. Инструкция есть тут. И всё соберётся, так как 5.0.3 опирается на ARCore 1.31 и соответственно там уже нет конфликта с installreferrer.
Второе же. Удалить installreferrer. Но не файл, он будет постоянно появляться. А в градле. Для этого вы создаёте кастомный темплейт градла и добавляете в него запись — как на скриншоте. Она исключит эту либу из сборки. Это костыль-костыль. Метрику почему-то он не ломает (мне не совсем ясно почему). Но если вы никак не можете переехать на 5.0.3 — как временное решение может сработать. Мне оно не нравится, но ничего элегантнее я не нашёл.
В общем разработка это просто говорили они. Там всё легко. Поэтому я не люблю делать что-то на сторы XD
#советы
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity). Гугл и его депенденси.
Если же вы подключаете что-то, что скажем использует
com.android.installreferrer.installreferrer-2.2-runtime.jar то вместе с ARCore у вас вызовет ошибку. Duplicate class a.a.a found in modules arcore_client-runtime.jar (:arcore_client:) and com.android.installreferrer.installreferrer-2.2-runtime.jar (:com.android.installreferrer.installreferrer-2.2:)В версиях старше ARCore 1.24 оно пофикшено (ох уж эти одинаковые классы в двух либах от гугла). Но для версии 1.24 (которая ща в Unity основная) — нет. И есть два пути решения проблемы, которые оба очень неочевидные для Unity разработчика.
Первое переезд на ARFoundation 5.0.3. Но чтобы это стало квестом Unity почему-то не дало права выбирать версию в менеджере пакетов. А нужно лезть в манифест и править руками. Инструкция есть тут. И всё соберётся, так как 5.0.3 опирается на ARCore 1.31 и соответственно там уже нет конфликта с installreferrer.
Второе же. Удалить installreferrer. Но не файл, он будет постоянно появляться. А в градле. Для этого вы создаёте кастомный темплейт градла и добавляете в него запись — как на скриншоте. Она исключит эту либу из сборки. Это костыль-костыль. Метрику почему-то он не ломает (мне не совсем ясно почему). Но если вы никак не можете переехать на 5.0.3 — как временное решение может сработать. Мне оно не нравится, но ничего элегантнее я не нашёл.
В общем разработка это просто говорили они. Там всё легко. Поэтому я не люблю делать что-то на сторы XD
#советы
👍6
Григорий Дядиченко
Appmetrica и ARCore Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity).…
Да, к прошлому. Кастомный тимплейт делается через галочку в Player Settings -> Publishing Settings и нужна именно галочка на Launcher.
👍1
Наса рассматривает возможность использования AR в костюмах космонавтов
https://80.lv/articles/nasa-is-exploring-the-idea-of-using-ar-in-spacesuits/
Прикольная концепция, хотя с оптикой там очень много гемора. Но в скафанде на кнопочки особо не пожимаешь, и дисплей наверное никуда не засунешь. Так что вместо аудио информации зрительная — может быть полезно)
#новости
https://80.lv/articles/nasa-is-exploring-the-idea-of-using-ar-in-spacesuits/
Прикольная концепция, хотя с оптикой там очень много гемора. Но в скафанде на кнопочки особо не пожимаешь, и дисплей наверное никуда не засунешь. Так что вместо аудио информации зрительная — может быть полезно)
#новости
80LV
NASA Is Exploring the Idea of Using AR in Spacesuits
The agency is seeking an AR solution that would be able to provide access to information without communication with the Earth as well as withstand radiation, dust, and extreme temperatures.
🐳2
Баланс в играх
https://habr.com/ru/post/709012/
Прикольная обзорная статейка про баланс в играх. Это конечно задача геймдизайнеров балансом заниматься, но в общих чертах всё равно полезно понимать. А уж в инди там ты и сам себе программист, и сам себе геймдизайнер. Помню когда ещё работал геймдизом читал Fundamentials of Gamedesign. Классная книжка.
#новости
https://habr.com/ru/post/709012/
Прикольная обзорная статейка про баланс в играх. Это конечно задача геймдизайнеров балансом заниматься, но в общих чертах всё равно полезно понимать. А уж в инди там ты и сам себе программист, и сам себе геймдизайнер. Помню когда ещё работал геймдизом читал Fundamentials of Gamedesign. Классная книжка.
#новости
Хабр
Баланс в играх или как достичь недостижимой цели?
Всем привет! А вот и новый блог подъехал. Сегодня у нас на разборе будет весьма интересная тема, которая относиться к игровым механикам. Как думаете, что должно быть в каждой игре? На что чаще всего...
👍3
Appmetrica и IOS
Настоящий кроссплатформенный разработчик — это не тот, кто знает кроссплатформенный фреймворк. А тот кто ещё понимает нюансы самих платформ. Итак, андроид мы победили (обновив ARFoundation до 5.0.3) Теперь поговорим про айос.
На айос, особенно если вы как и я сборки собираете под виндой, может возникнуть такая ошибка (кстати не только с этим плагином).
1. Установить cocoapods
2. Установить гит (если он не стоит для терминала)
3. Сделать cd в папку с собранным xcode проектом
4. Сделать команду pod install в ней
5. Зайти в появишийся xcworkspace файл
6. (Возможно) потребуется ещё а проекте Pods-Unity-Iphone поставить Enable Bitcode в Build Options
И вуаля. Всё соберётся. Под макосью такая проблема тоже может возникнуть, если кокоаподс не стоит или стоит как-то криво. Чисто по той причине, что юнити не вернёт вам ошибку, а просто не соберёт xcworkspace.
Возможно там ещё будут какие ошибки в подсах, но они уже гуглятся. Думаю это может кому-то сэкономить часы времени поисков решения этой проблемы
#советы
Настоящий кроссплатформенный разработчик — это не тот, кто знает кроссплатформенный фреймворк. А тот кто ещё понимает нюансы самих платформ. Итак, андроид мы победили (обновив ARFoundation до 5.0.3) Теперь поговорим про айос.
На айос, особенно если вы как и я сборки собираете под виндой, может возникнуть такая ошибка (кстати не только с этим плагином).
'YandexMobileMetrica/YandexMobileMetrica.h' file not found
При этом не будет файла xcworkspace, только xcproject. Дело в том, что обычно такие плагины и зависимости подключаются через cocoapods. Чинится это довольно просто. На макбуке.1. Установить cocoapods
2. Установить гит (если он не стоит для терминала)
3. Сделать cd в папку с собранным xcode проектом
4. Сделать команду pod install в ней
5. Зайти в появишийся xcworkspace файл
6. (Возможно) потребуется ещё а проекте Pods-Unity-Iphone поставить Enable Bitcode в Build Options
И вуаля. Всё соберётся. Под макосью такая проблема тоже может возникнуть, если кокоаподс не стоит или стоит как-то криво. Чисто по той причине, что юнити не вернёт вам ошибку, а просто не соберёт xcworkspace.
Возможно там ещё будут какие ошибки в подсах, но они уже гуглятся. Думаю это может кому-то сэкономить часы времени поисков решения этой проблемы
#советы
Telegram
Григорий Дядиченко
Appmetrica и ARCore
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity).…
Программирование было бы простой работой, если бы всё работало из коробки. Забавное наблюдение. Это конечно не коснётся вас если вы юзаете ARCore XR Plugin 5.0 в Unity (так как это баг аркора до 1.24 версии, которая в 4+ ARCore Unity).…
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Рисуем график
#задачка
Давайте элегантно нарисуем график функции y = x ^ 2 в UI в Unity. Задачку нужно решить с использованием MaskableGraphic и VertexHelper.
Решение:https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task_2/Scripts/GraphRenderer.cs
Обоснование к решению я напишу в спойлере ниже. Сразу скажу, что задача на знание того, как делаются кастомные UI компоненты с рядом важных нюансов. Из-за чего решается она не элементарно.
Плюс добавлю опрос. Интересен ли такой формат задач или слишком сложно?
#задачка
Давайте элегантно нарисуем график функции y = x ^ 2 в UI в Unity. Задачку нужно решить с использованием MaskableGraphic и VertexHelper.
Решение:
Плюс добавлю опрос. Интересен ли такой формат задач или слишком сложно?
👍13
Григорий Дядиченко
Рисуем график #задачка Давайте элегантно нарисуем график функции y = x ^ 2 в UI в Unity. Задачку нужно решить с использованием MaskableGraphic и VertexHelper. Решение: https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task…
Комментарий к решению задачке "Рисуем график"
Дальше под спойлером нюансы решения. Просто разбора такого примера недостаточно для "статьи на хабр". А знание довольно полезное и может пригодиться.
В Unity есть замечательная возможность через меш генерацию делать свои кастомные UI элементы. По сути для этого нужно унаследовать класс от MaskableGraphic. Переопределить метод OnPopulateMesh(VertexHelper vh) и сделать свою реализацию этого метода. Но тут есть несколько нюансов, которые стоит знать, чтобы "чудо произошло".
Чтобы график в целом нарисовался, помимо самого скрипта на объекте должен находится CanvasRenderer. Иначе ничего не будет рендерится и не будет вызываться метод OnPopulateMesh
Помимо этого можно затереть базовую реализацию этого метода, так как она делает лишние вещи.
Дальше нужно немного понимать в меш генерацию. И сделать генератор нужного нам меша с VertexHelper.
Дальше нужно разобраться с системой координат. Там много способов сделать самые разные варианты.
Моё решение выше, оно как бы общее. Можно было бы элегантно сгенерить меш под график y = x ^ 2, но по сути данное решение позволяет легко нарисовать любой график.
Важно понимать, что суть задачи не в конкретной реализации (как и всех задач в будущем, так как у всех реализация будет разная). А в сути на что это упражнение и какие нюансы нужно знать, чтобы его в целом сделать. Тут нужно в первую очередь знать про CanvasRenderer и про то, как делаются кастомные UI элементы. Причём проще всего наследоваться от MaskableGraphic, чтобы просто не прокидывать логику реализации масок и т.п.
Дальше под спойлером нюансы решения. Просто разбора такого примера недостаточно для "статьи на хабр". А знание довольно полезное и может пригодиться.
Чтобы график в целом нарисовался, помимо самого скрипта на объекте должен находится CanvasRenderer. Иначе ничего не будет рендерится и не будет вызываться метод OnPopulateMesh
Помимо этого можно затереть базовую реализацию этого метода, так как она делает лишние вещи.
Дальше нужно немного понимать в меш генерацию. И сделать генератор нужного нам меша с VertexHelper.
Дальше нужно разобраться с системой координат. Там много способов сделать самые разные варианты.
Моё решение выше, оно как бы общее. Можно было бы элегантно сгенерить меш под график y = x ^ 2, но по сути данное решение позволяет легко нарисовать любой график.
Важно понимать, что суть задачи не в конкретной реализации (как и всех задач в будущем, так как у всех реализация будет разная). А в сути на что это упражнение и какие нюансы нужно знать, чтобы его в целом сделать. Тут нужно в первую очередь знать про CanvasRenderer и про то, как делаются кастомные UI элементы. Причём проще всего наследоваться от MaskableGraphic, чтобы просто не прокидывать логику реализации масок и т.п.
🔥6👍2
Григорий Дядиченко
Рисуем график #задачка Давайте элегантно нарисуем график функции y = x ^ 2 в UI в Unity. Задачку нужно решить с использованием MaskableGraphic и VertexHelper. Решение: https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task…
Интересны ли такие задачи на знание нюансов в Unity? Просто мне не хочется перепечатывать стандартные задачи типа "сделай класс зоопарка с тиграми". Хочется задачи на конкретные нюансы Unity. А они будут требовать некоторых усилий.
Anonymous Poll
74%
Да, супер. Задачка интересная.
3%
Нет, хочется, задачи которые можно решить в уме.
5%
Нет, слишком сложно и непонятно.
19%
Интересная задачка, но делать я её не буду. Так как долго