Эххх, ностальгия, сегодня что-то вспомнились времена митапов, когда я делал Unity Moscow Meetup)
Уже несколько лет прошло с тех времён) Это было прикольно, в пике там собирались человек под 200, в какой-то момент к нам пришли MSI и помогли с едой на мероприятии, заказав на всех пиццу. К сожалению это отнимало много времени, и пришлось выбирать чем заниматься, своей студией или митапами) Они правда к тому моменту уже были переименованы в CGDevs, но это ещё и забавная история)
Так как я завёл корп аккаунт, и на нём был ютуб канал, то когда я решил закрывать всё, то решил больше не платить гуглу) Потому что митапов нет, и деньги тратить жалко. Но я вообще не подумал, что ютуб канал удалится, поэтому все видео записи с митапа пропали. Остались только с CGDevs, так как его я завёл на личный аккаунт. Было очень обидно. Но тогда ещё помню 360 видео набирало популярность, поэтому операторы просто принесли и поставили камеру) Так что единственный эксклюзивный артефакт той эпохи на ютубе пока остался :) https://www.youtube.com/watch?v=d-FR61OrNL8
Уже несколько лет прошло с тех времён) Это было прикольно, в пике там собирались человек под 200, в какой-то момент к нам пришли MSI и помогли с едой на мероприятии, заказав на всех пиццу. К сожалению это отнимало много времени, и пришлось выбирать чем заниматься, своей студией или митапами) Они правда к тому моменту уже были переименованы в CGDevs, но это ещё и забавная история)
Так как я завёл корп аккаунт, и на нём был ютуб канал, то когда я решил закрывать всё, то решил больше не платить гуглу) Потому что митапов нет, и деньги тратить жалко. Но я вообще не подумал, что ютуб канал удалится, поэтому все видео записи с митапа пропали. Остались только с CGDevs, так как его я завёл на личный аккаунт. Было очень обидно. Но тогда ещё помню 360 видео набирало популярность, поэтому операторы просто принесли и поставили камеру) Так что единственный эксклюзивный артефакт той эпохи на ютубе пока остался :) https://www.youtube.com/watch?v=d-FR61OrNL8
YouTube
Unity Moscow Meetup 2018.1 immersive video 360
Доклад "Нюансы разработки VR плеера стерео-панорам"Оборудование предоставлено: camera.ru
👍4
Прикольный туториал по VFX, который отлично подойдёт для сейф поинтов или бонусов в игре :)
https://www.youtube.com/watch?v=oaDetLRJ0qQ
https://www.youtube.com/watch?v=oaDetLRJ0qQ
YouTube
Game VFX Breakdown: Kingdom Hearts II - Moogle Shop (Unity Tutorial) || Part 1 - Overview
Doing an effect breakdown and custom reconstruction of the holographic moogle shop from Kingdom Hearts II (2)! This is the overview.
NEXT PART: https://youtu.be/dCtIwVCsxlc.
Get Ultimate VFX: https://assetstore.unity.com/packages/vfx/particles/ultimate…
NEXT PART: https://youtu.be/dCtIwVCsxlc.
Get Ultimate VFX: https://assetstore.unity.com/packages/vfx/particles/ultimate…
Как я понимаю программирование?
На самом деле всё программирование — это искусство преобразовывать одну форму информации в другую форму информации. Вы должны чётко понимать, что такое данные, а что такое логика и разделять их. Большая часть проблем кода новичков, который я видел вытекает из этого непонимания. И не только новичков. Всё что можно вынести в конфиг выносить в текстовые файлы, SO или другие форматы данных должно быть чуть ли не на уровне привычки :)
На самом деле всё программирование — это искусство преобразовывать одну форму информации в другую форму информации. Вы должны чётко понимать, что такое данные, а что такое логика и разделять их. Большая часть проблем кода новичков, который я видел вытекает из этого непонимания. И не только новичков. Всё что можно вынести в конфиг выносить в текстовые файлы, SO или другие форматы данных должно быть чуть ли не на уровне привычки :)
👍9
Зачем нужен продюсер?
Внезапно не кодерская тема, но тем не менее про это стоит написать :) Сейчас я всё же программист в меньшей степени)
Начнём с того, что такое продюсер и чем отличается от менеджера? Продюсер в целом более популярен, как понятие в кино (особенно вольный, типа меня), но в играх он тоже присутствует. Как и полезен был бы в разработке любого айти продукта, который сложный и требует несколько компетенций. По сути это человек который подбирает команду (не обязательно всю, может только топов в зависимости от масштаба проекта), создаёт условия для реализации проекта, сметирует, находит бюджет, регулирует процессы на проекте
Некоторые объединяют понятия менеджера проекта и продюсера. Это вопрос терминологии, поэтому неважно. Я же эти понятия разделяю. Проджект менеджер — это тот, кто руководит процессом производства. А продюсер — это тот, кто делает чтобы это производство состоялось вообще и потом добивается результата. ПМы так сказать один из инструментов в руках, так как задача добиться результата в бюджет и срок)
Что я чаще всего встречал, что только продюсеры умеют хорошо и качественно решать кризисные ситуации, вне рамок обычного процесса :) Скажем чаше всего кризисы в команде возникают из-за непонимания, поэтому решаются они на самом дела просто. Общением со всеми причастными, при этом без затягивания этого дела. Так как в данном случае, если ничего не делать, то всё начинает рушится :) Но бывает много совершенно разных примеров на самом деле :)
Внезапно не кодерская тема, но тем не менее про это стоит написать :) Сейчас я всё же программист в меньшей степени)
Начнём с того, что такое продюсер и чем отличается от менеджера? Продюсер в целом более популярен, как понятие в кино (особенно вольный, типа меня), но в играх он тоже присутствует. Как и полезен был бы в разработке любого айти продукта, который сложный и требует несколько компетенций. По сути это человек который подбирает команду (не обязательно всю, может только топов в зависимости от масштаба проекта), создаёт условия для реализации проекта, сметирует, находит бюджет, регулирует процессы на проекте
Некоторые объединяют понятия менеджера проекта и продюсера. Это вопрос терминологии, поэтому неважно. Я же эти понятия разделяю. Проджект менеджер — это тот, кто руководит процессом производства. А продюсер — это тот, кто делает чтобы это производство состоялось вообще и потом добивается результата. ПМы так сказать один из инструментов в руках, так как задача добиться результата в бюджет и срок)
Что я чаще всего встречал, что только продюсеры умеют хорошо и качественно решать кризисные ситуации, вне рамок обычного процесса :) Скажем чаше всего кризисы в команде возникают из-за непонимания, поэтому решаются они на самом дела просто. Общением со всеми причастными, при этом без затягивания этого дела. Так как в данном случае, если ничего не делать, то всё начинает рушится :) Но бывает много совершенно разных примеров на самом деле :)
👍11
Не изобретайте свои форматы
Хочется рассказать почему стандарты — это круто. Сразу оговорюсь, я не считаю все стандарты правильными и хорошими. Что их не нужно менять, обновлять и т.п. Просто это большая работа, которой нужно заниматься годами. И не придумывать формат под свою задачу, а именно создавать и продвигать новый стандарт)
Пример того, что мы "всё потеряли" — это SVG. Наиужаснейший стандарт и формат. Почему? На данный момент многие согласятся, что это формат стал форматом хранения векторных изображений. И думаю много кто сталкивался с тем, что у вас скажем при экспорте из иллюстратора в фигму что-то ломается или вроде того. Почему же так происходит? Чтобы ответить на этот вопрос достаточно прочитать стандарт SVG... И это не формат хранения картинки, это грёбанный фреймворк. Он даже локализацию поддерживает, анимации, трансформации и ещё в некоторых частях умеет делать кофе. Поэтому нигде нет его полной поддержки, и во многих местах стандарт поддерживается по разному, просто из-за реализации, оптимизаций и ошибок программистов + разных версий свг
Векторные форматы — это сложно, поэтому там столько всего? Да нет, пример другого простого векторного формата — это меш и obj. Это LDraw про который я писал статью https://habr.com/ru/post/433364/ Да в целом многие 3д форматы проще чем SVG. Формат хранения 2д векторных картинок ставший стандартом хранения векторных изображений) Мы храним легковесные иконки, ну нам нужен фреймворк! :)
Ладно. Вернёмся к изначальной теме. Почему свои форматы это плохо? И что важнее когда это плохо?
Простой ответ посмотрите на Web. Там столько мракобесия и дичи, так как при разработке браузеров добавляя фичи не так много лет назад все решили что "сами с усами" и ни о чём мы договариваться не будем. Ну точнее об этом сначала не подумали, потом подумали и сейчас веб писать в разы проще, чем во времена IE10, хрома, оперы и сафари имеющих довольно мало общего)
1. Много готового
Когда вы пользуетесь чем-то стандартизированным, велик шанс найти библиотеки работающие с этим. Допустим тот же PNG оптимизаторов масса, и по весу, и архиваторов. А ваш формат картинки, который вы придумали и у которого своё сжатие никто не знает и вы ограничены лишь своими инструментами. То же касается средств визуализации и подобного
2. Хорошие стандарты вытачивались годами и они обобщены специально
Я понимаю, что у новичков есть мнение "ща я придумаю лучше и всех порву". Сам такой был по крайней мере. И придумать лучше в контексте конкретной задачи несложно. Просто это будет никому не нужно. Стандарты делаются не супер оптимальными, но зато общими, устойчивыми, оттестированными огромным комьюнити. И предоставляются с огромным набором инструментов в довесок. Вот реализовал я тот же парсер LDraw для Unity. Есть такой же для блендера и т.п. Ща с новыми знаниями может по оптимизирую даже его, и добавлю фич (хотя бы цвета в vertexColor шейдер писать для примера). Но помимо этого с другой стороны есть огромное креативное комьюнити, которое делает чертежи таких моделек из которых можно генерить 3д. Разукрашенное, с цветами, хоть персы марвел. И всё потому, что креативным людям дали стандарт
Но конечно же бывают крайности. Просто они бывают реже чем принято считать. Когда я в вузе занимался математическим моделированием, то там 5-10% оптимизации на своём кастомном формате могло превращаться в дни расчётов, и такое тоже есть. Но в геймдеве это супер редкость, когда вам вместо того же bson нужен свой бинарный формат. Вместо rudp свой кастомный протокол передачи данных по сети. Вместо png — свой формат картинок
Хочется рассказать почему стандарты — это круто. Сразу оговорюсь, я не считаю все стандарты правильными и хорошими. Что их не нужно менять, обновлять и т.п. Просто это большая работа, которой нужно заниматься годами. И не придумывать формат под свою задачу, а именно создавать и продвигать новый стандарт)
Пример того, что мы "всё потеряли" — это SVG. Наиужаснейший стандарт и формат. Почему? На данный момент многие согласятся, что это формат стал форматом хранения векторных изображений. И думаю много кто сталкивался с тем, что у вас скажем при экспорте из иллюстратора в фигму что-то ломается или вроде того. Почему же так происходит? Чтобы ответить на этот вопрос достаточно прочитать стандарт SVG... И это не формат хранения картинки, это грёбанный фреймворк. Он даже локализацию поддерживает, анимации, трансформации и ещё в некоторых частях умеет делать кофе. Поэтому нигде нет его полной поддержки, и во многих местах стандарт поддерживается по разному, просто из-за реализации, оптимизаций и ошибок программистов + разных версий свг
Векторные форматы — это сложно, поэтому там столько всего? Да нет, пример другого простого векторного формата — это меш и obj. Это LDraw про который я писал статью https://habr.com/ru/post/433364/ Да в целом многие 3д форматы проще чем SVG. Формат хранения 2д векторных картинок ставший стандартом хранения векторных изображений) Мы храним легковесные иконки, ну нам нужен фреймворк! :)
Ладно. Вернёмся к изначальной теме. Почему свои форматы это плохо? И что важнее когда это плохо?
Простой ответ посмотрите на Web. Там столько мракобесия и дичи, так как при разработке браузеров добавляя фичи не так много лет назад все решили что "сами с усами" и ни о чём мы договариваться не будем. Ну точнее об этом сначала не подумали, потом подумали и сейчас веб писать в разы проще, чем во времена IE10, хрома, оперы и сафари имеющих довольно мало общего)
1. Много готового
Когда вы пользуетесь чем-то стандартизированным, велик шанс найти библиотеки работающие с этим. Допустим тот же PNG оптимизаторов масса, и по весу, и архиваторов. А ваш формат картинки, который вы придумали и у которого своё сжатие никто не знает и вы ограничены лишь своими инструментами. То же касается средств визуализации и подобного
2. Хорошие стандарты вытачивались годами и они обобщены специально
Я понимаю, что у новичков есть мнение "ща я придумаю лучше и всех порву". Сам такой был по крайней мере. И придумать лучше в контексте конкретной задачи несложно. Просто это будет никому не нужно. Стандарты делаются не супер оптимальными, но зато общими, устойчивыми, оттестированными огромным комьюнити. И предоставляются с огромным набором инструментов в довесок. Вот реализовал я тот же парсер LDraw для Unity. Есть такой же для блендера и т.п. Ща с новыми знаниями может по оптимизирую даже его, и добавлю фич (хотя бы цвета в vertexColor шейдер писать для примера). Но помимо этого с другой стороны есть огромное креативное комьюнити, которое делает чертежи таких моделек из которых можно генерить 3д. Разукрашенное, с цветами, хоть персы марвел. И всё потому, что креативным людям дали стандарт
Но конечно же бывают крайности. Просто они бывают реже чем принято считать. Когда я в вузе занимался математическим моделированием, то там 5-10% оптимизации на своём кастомном формате могло превращаться в дни расчётов, и такое тоже есть. Но в геймдеве это супер редкость, когда вам вместо того же bson нужен свой бинарный формат. Вместо rudp свой кастомный протокол передачи данных по сети. Вместо png — свой формат картинок
👍1
И тут есть ещё одна оговорка. Интерпретация стандартов. Вы можете кастомизировать стандарт не отходя от него (как программисты) Допустим у вас паллитра в игре, что вам не нужны все 32 бита ргба, вам достаточно всего лишь 2 бит, чтобы записать все цвета игры (то есть у вас 64 цвета). Тогда в одну 32 бит ргба текстуру мы можете записывать 16 картинок. И потом кастомным парсером доставать их на рендер уже в нормальном виде. При этом у вас будут всё так же работать алгоритмы сжатия и прочие инструменты, так как это всё ещё png картинка с точки зрения системы. Лучше фантазировать и экспериментировать с таким, чем придумывать свой новый супер формат)
👍3
Как пример последней техники. Я периодически так делаю в шейдерах. Допустим у меня есть 3 анимации, я просто разношу их фазы математикой (пример функции одного канала на картинке), делаю через градиенты в фотошопе разное движение и паттерны. Просто беру цвета разных каналов r, g и b и рисую градиенты по маске. Получается по такой картинке правый нижний вариант:
Компьют шейдеры
Compute Shader — это очень мощный инструмент. Они позволяют делать cущюю магию. В основном с симуляциями и отображением миллионов объектов
Сейчас конечно чаще, если задачу решает VFX граф, то используют VFX граф, который основан на компьют шейдерах (поэтому он работает не на всех платформах) Но в целом, тут как всегда. Зная низкий уровень, можно делать в разы больше. Хотя и медленнее писать :) В целом вот прикольное видео с рассказом общим про комьют шейдеры https://www.youtube.com/watch?v=BrZ4pWwkpto
Допустим одна из типовых задач решаемая компьют шейдерами — это отрисовка форматов типа ply (облако точек) Реализация пасс трейсинга. Которое разбирается в этой статье http://three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/ и многое другое :) Причём, так как отрисовка миллионов точек на хорошей гпу стоит не дорого, то получается делать очень красивые динамические эффекты с огромным числом точек :) В общем очень полезная штука)
Compute Shader — это очень мощный инструмент. Они позволяют делать cущюю магию. В основном с симуляциями и отображением миллионов объектов
Сейчас конечно чаще, если задачу решает VFX граф, то используют VFX граф, который основан на компьют шейдерах (поэтому он работает не на всех платформах) Но в целом, тут как всегда. Зная низкий уровень, можно делать в разы больше. Хотя и медленнее писать :) В целом вот прикольное видео с рассказом общим про комьют шейдеры https://www.youtube.com/watch?v=BrZ4pWwkpto
Допустим одна из типовых задач решаемая компьют шейдерами — это отрисовка форматов типа ply (облако точек) Реализация пасс трейсинга. Которое разбирается в этой статье http://three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/ и многое другое :) Причём, так как отрисовка миллионов точек на хорошей гпу стоит не дорого, то получается делать очень красивые динамические эффекты с огромным числом точек :) В общем очень полезная штука)
YouTube
Getting Started with Compute Shaders in Unity
Let's take a look at how we can use Compute Shaders and Compute Buffers to take some of the work that your CPU struggles with and offload it onto the GPU instead.
Tooltip System: https://www.youtube.com/watch?v=HXFoUGw7eKk
Debug Cheats: https://www.you…
Tooltip System: https://www.youtube.com/watch?v=HXFoUGw7eKk
Debug Cheats: https://www.you…
🔥5👍2
Очень интересно смотрящийся шейдер https://www.youtube.com/watch?v=kr_tdKCT2Xs
YouTube
Unity Rift Sphere Shader Tutorial: How to in Shader Graph
A Tutorial on how to create this rift like shader in Shader Graph in Unity. It is a pretty random shader this time, if you have any other ideas please let me know in the comments.
Unity Version: 2019.2.13f1 (using the LWRP / URP)
Music used:
Nathan Moore…
Unity Version: 2019.2.13f1 (using the LWRP / URP)
Music used:
Nathan Moore…
🔥1
Unity Render Streaming
Что-то на неделе я задался идеей сделать свой AR стриминг. Идея его довольно проста в своей сути:
1) Отправляем с устройства позицию камеры в сцене (+ записываем в память кадр видео с таймштампом, и позицию отправляем с ним же)
2) Рендерим Unity сцену исходя из полученной позиции камеры
3) Возвращаем фрейм из Unity с альфа каналом + таймштамп
4) Склеиваем 2 кадра (из юнити и видео)
5) Отправляем результат в очередь на вывод
Дальше регулируя задержку вывода в зависимости от сети и широты канала можно получить неплохой эффект. Но так как, я люблю стандарты, то писать свой протокол стриминга мне не особо хочется. Поэтому я решил поискать "а что есть готового?" И наткнулся на очень интересный пакет. Из коробки конечно он не совсем нужный функционал покрывает, но делает скажем так 80% работы. Это https://docs.unity3d.com/Packages/com.unity.renderstreaming@3.1/manual/
Сделано там всё на основе WebRTC, у него есть ряд довольно странных багов (скину скрины ниже) Но в целом для прототипа идеи попрёт. И главное вывод можно делать хоть в браузер. Хоть куда хочется
Почему важно, что он основан на WebRTC? Протоколов стриминга на самом деле много, но более менее стандартными являются RSTP, HLS, LL HLS, RTMP, RTMP Tuned, DASH, SRT и так далее. И все они в отличии от WebRTC имеют в среднем задержку более секунды. А мы же хотим "почти реалтайм")
У WebRTC же с другой стороны так же есть проблема. Он поддерживает 24 битные цвета без альфа канала. Но в целом, если мы на цветовую информацию отдадим по 6 бит на цвет, то альфу как-нить запихнём. Стандартные плееры будут конечно выводить чушь, но вот кастомный — скушает и не подавится. Что можно сделать шейдером, даже не меняя сам энкодинг-декодинг. Просто интерпретировать по-другому информацию о цвете на гпу при выводе
В общем если дойду до чего-то вменяемого, залью реализацию этого дела на гитхаб) А пакет в целом рекомендую поковырять, он любопытный :) Для моей же идеи мне кажется нужно ковырять https://docs.unity3d.com/Packages/com.unity.webrtc@2.4
Что-то на неделе я задался идеей сделать свой AR стриминг. Идея его довольно проста в своей сути:
1) Отправляем с устройства позицию камеры в сцене (+ записываем в память кадр видео с таймштампом, и позицию отправляем с ним же)
2) Рендерим Unity сцену исходя из полученной позиции камеры
3) Возвращаем фрейм из Unity с альфа каналом + таймштамп
4) Склеиваем 2 кадра (из юнити и видео)
5) Отправляем результат в очередь на вывод
Дальше регулируя задержку вывода в зависимости от сети и широты канала можно получить неплохой эффект. Но так как, я люблю стандарты, то писать свой протокол стриминга мне не особо хочется. Поэтому я решил поискать "а что есть готового?" И наткнулся на очень интересный пакет. Из коробки конечно он не совсем нужный функционал покрывает, но делает скажем так 80% работы. Это https://docs.unity3d.com/Packages/com.unity.renderstreaming@3.1/manual/
Сделано там всё на основе WebRTC, у него есть ряд довольно странных багов (скину скрины ниже) Но в целом для прототипа идеи попрёт. И главное вывод можно делать хоть в браузер. Хоть куда хочется
Почему важно, что он основан на WebRTC? Протоколов стриминга на самом деле много, но более менее стандартными являются RSTP, HLS, LL HLS, RTMP, RTMP Tuned, DASH, SRT и так далее. И все они в отличии от WebRTC имеют в среднем задержку более секунды. А мы же хотим "почти реалтайм")
У WebRTC же с другой стороны так же есть проблема. Он поддерживает 24 битные цвета без альфа канала. Но в целом, если мы на цветовую информацию отдадим по 6 бит на цвет, то альфу как-нить запихнём. Стандартные плееры будут конечно выводить чушь, но вот кастомный — скушает и не подавится. Что можно сделать шейдером, даже не меняя сам энкодинг-декодинг. Просто интерпретировать по-другому информацию о цвете на гпу при выводе
В общем если дойду до чего-то вменяемого, залью реализацию этого дела на гитхаб) А пакет в целом рекомендую поковырять, он любопытный :) Для моей же идеи мне кажется нужно ковырять https://docs.unity3d.com/Packages/com.unity.webrtc@2.4
👍1
Сверху рендер из редактора, снизу из билда. На самом деле ощущение, что нужно таргет фреймрейт выставить и в настройках поковыряться, так как артефакты буферизации будто бы из-за того, что слишком много кадров
А ещё в продолжение утренней темы есть крутая статья обозревающая большинство стриминг протоколов :)
https://www.wowza.com/blog/streaming-protocols
https://www.wowza.com/blog/streaming-protocols
👍1
Обожаю такие ролики. Очень вдохновляет на тему того, сколько ещё учить и учить для грамотной работы с графикой :) Сделать в одного такое за 24 дня — это магия :)
https://youtu.be/9n4P4ZjoiLs
https://youtu.be/9n4P4ZjoiLs
YouTube
How my ambition got the best of me, so yours doesn't have to | 3D Art Breakdown
Download my Infinite Journeys 3D scene (and more) on my Patreon: https://patreon.com/pwnisher
Subscribe for more breakdowns, in-depth tutorials and 3D challenges!
I didn't feel good about my latest piece of 3D art. I bit off way more than I could chew and…
Subscribe for more breakdowns, in-depth tutorials and 3D challenges!
I didn't feel good about my latest piece of 3D art. I bit off way more than I could chew and…
🔥4👍2
Интерьерный маппинг — очень крутая техника, чтобы делать окна в играх :) И не только в играх, так как не делая всю геометрию можно сильно сэкономить на времени рендера :)
https://youtu.be/dUjNoIxQXAA
https://youtu.be/dUjNoIxQXAA
YouTube
Creating an Interior Mapping Shader using Unity's Shader Graph - Game Dev Sandbox
I've been fascinated by technique used on the windows in Marvel's Spider-Man and Forza Horizon 4 so I set out to learn how these games achieved the effect and to see if I could build an Interior Mapping Shader myself using Shader Graph in Unity. Here's how…
🔥3😱2
Григорий Дядиченко
Обожаю такие ролики. Очень вдохновляет на тему того, сколько ещё учить и учить для грамотной работы с графикой :) Сделать в одного такое за 24 дня — это магия :) https://youtu.be/9n4P4ZjoiLs
И собственно вот полный ролик от кучи 3д артистов :) https://youtu.be/JXrWPLNp9tw
YouTube
Top 100 3D Renders from the Internet's Biggest CG Challenge | Infinite Journeys
To support more montages like this, consider becoming a patron 🙏🏼 https://www.patreon.com/pwnisher
During February 2022, I challenged 3D artists with the Infinite Journeys 3D challenge, where I provided artists with a simple animation of a moving "vehicle"…
During February 2022, I challenged 3D artists with the Infinite Journeys 3D challenge, where I provided artists with a simple animation of a moving "vehicle"…
🔥4
Крутой ролик разбирающий многие артефакты и аспекты подготовки графики, полезный не только в VR проектах. Но самый часто встречающийся косяк в тех же VR проектах, который прям бесит. Specular Aliasing :)
Хотя я бы к ролику относился, как к описанию проблем, так как часть решений данных в видео трудно назвать оптимальными и можно решать элегантнее на уровне шейдеров. Хотя dynamic cubemap soft shadows — очень крутая техника, которую я бы рекомендовал в общем взять на вооружение и для 3д мобильных проектов)
И ещё я бы отметил про переключения с гаммы. Это безопасно для десктопный платформ, а для мобильных на том же самсунге и многих других на уровне графического процессора есть ошибки, поэтому linear там правильно не работает)
https://youtu.be/xqgt9W4Zrjg
Хотя я бы к ролику относился, как к описанию проблем, так как часть решений данных в видео трудно назвать оптимальными и можно решать элегантнее на уровне шейдеров. Хотя dynamic cubemap soft shadows — очень крутая техника, которую я бы рекомендовал в общем взять на вооружение и для 3д мобильных проектов)
И ещё я бы отметил про переключения с гаммы. Это безопасно для десктопный платформ, а для мобильных на том же самсунге и многих других на уровне графического процессора есть ошибки, поэтому linear там правильно не работает)
https://youtu.be/xqgt9W4Zrjg
YouTube
VR Optimization and Performance Tips for Unity
Hey Everyone! I have something special for you today. We’re going to be talking about optimizations you can make for your VR project. We’ll be covering models, textures, and a lot of other topics!
This video is also sponsored by Unity, and Arm, so a big…
This video is also sponsored by Unity, and Arm, so a big…
🔥3
Прикольный тутор по VFX следа от удара) Полезно для всяких слешеров и подобных игр :) https://www.youtube.com/watch?v=9Nv28O2OIoQ
YouTube
Unity Shader Graph - Slash Shader Effect Tutorial
Unity Shader Graph - Sword Slash Shader Effect Tutorial
In this Shader Graph tutorial we are going to see how some cool Slashes for swords, axes and other weapons can be done without drawing textures. Just a shader, two gradients and a simple mesh to create…
In this Shader Graph tutorial we are going to see how some cool Slashes for swords, axes and other weapons can be done without drawing textures. Just a shader, two gradients and a simple mesh to create…
👍2
Как работает рендер?
Рендер достаточно забавная тема, особенно рендер в игровых движках. На ютубе почему-то очень часто, когда идёт рассказ про графику люди опускают такие вещи, как вертексный, геометрический и тесселяционный шейдер, говоря только про фрагментную часть шейдера. Хотя в целом тема в разы интереснее и комплекснее. И просто это довольно странно, когда в видео объясняется такое и оно называется "как работает рендер" — не говорить про все части рендера, а только про фрагментную и растеризацию. Собственно я нашёл статью, которая довольно просто, с неплохими рисунками описывает то, как работает рендер :) Не все нюансы и аспекты, но основную базу, которая важна для понимания работы шейдеров. Чтобы узнать нюансы есть книжка, которую я уже рекомендовал :)
https://www.haroldserrano.com/blog/how-to-develop-a-rendering-engine-an-overview
Пост с книжкой: https://news.1rj.ru/str/dyadichenkoga/117
Рендер достаточно забавная тема, особенно рендер в игровых движках. На ютубе почему-то очень часто, когда идёт рассказ про графику люди опускают такие вещи, как вертексный, геометрический и тесселяционный шейдер, говоря только про фрагментную часть шейдера. Хотя в целом тема в разы интереснее и комплекснее. И просто это довольно странно, когда в видео объясняется такое и оно называется "как работает рендер" — не говорить про все части рендера, а только про фрагментную и растеризацию. Собственно я нашёл статью, которая довольно просто, с неплохими рисунками описывает то, как работает рендер :) Не все нюансы и аспекты, но основную базу, которая важна для понимания работы шейдеров. Чтобы узнать нюансы есть книжка, которую я уже рекомендовал :)
https://www.haroldserrano.com/blog/how-to-develop-a-rendering-engine-an-overview
Пост с книжкой: https://news.1rj.ru/str/dyadichenkoga/117
Harold Serrano
How does a Rendering Engine work? An overview — Harold Serrano - Game Engine Developer
Developing a Rendering Engine requires an understanding of how OpenGL and GPU Shaders work. This article provides a brief overview of how OpenGL and GPU shaders work. I will start by explaining the three main type of data that are sent to the GPU.
👍9