Creative Coder
У кого какие идеи как это можно реализовать в браузере?) #inspiraton by Gleb Kuznetsov
У нас очень кайфовое сообщество, вариантов накидали массу 😊
Самый надёжный и очевидный вариант предложил @vovazhuruk — использовать секвенции пререндеренных картинок
Плюсы: просто, красиво, апрувнуто Юрой Артюхом :D
Минусы: загрузка картинок, минимальный интерактив, для изменений нужно всё перерендеривать
Вместо секвенции можно использовать видео, о чём когда-то в нашем чате писал @dergachevm. Он предложил крутое решение проблемы с лагами при перемотке видео в обратную сторону
В теории оно хорошо уменьшает объём загружаемых данных и меньше кушает память браузера
@NobodyRoo предложил сделать cubemaps для кристалла и внутренних отражений, и отдельно запечь в текстурки внутренние грани. Не очень понял как это точно должно работать, но логика есть и по идее должно смотреться хорошо
Плюсы: не сложно, красиво, производительно
Минусы: не точная физическая отрисовка, может ничего не получиться
@karpik предложил использовать дары природы и почитать туториал с кодропс
Плюсы: готовое решение, не сложно, интерактивно, легко обновлять мэш
Минусы: не учитывается путь луча внутри кристалла, нет внутренних отражений, не вау
В соседнем посте в том же канале есть офигенное решение
Рефракции происходят в экранном пространстве, с учётом глубины, для повышения точности используется реймарчинг. Сходу сложно понять как это устроено, может когда-то разберусь
Плюсы: красиво, интерактивно, легко обновлять мэш, можно анимировать как хочешь
Минусы: сложно, тормозит, какой будет результат на кристаллах не понятно
Есть ещё такая вот работа и вроде должно получаться с аппроксимациями, но публичной реализации я не видел
https://www.researchgate.net/publication/220506766_Approximate_Ray-Tracing_on_the_GPU_with_Distance_Impostors
Может на самом деле это и сделано в предыдущем варианте, надо разбираться
@Xander_nome предложил использовать Пекс, хотя изначально такой способ реализовали Lusion на трёхе
По сути это развитие того что было на codrops
Плюсы: можно менять свойства материала, вроде учитывает глубину (но это не точно), интерактивно, производительно, красиво
Минусы: нет внутренних отражений, для кристаллов не пойдёт
И конечно же мой вариант — взять и порейтрейсить всё. Пост я скинул в отложенные вечером, а ночью попробовал. Сам кристалл рейтрейсить довольно просто и быстро, но вот с материалами, окружением и тенями пока беда. Но обкладываться костылями я мастер, так что это ещё не финал 😉
Плюсы: красиво, интерактивно, полная свобода
Минусы: дьявольская сложность, долгая компиляция шейдера, только лоу поли мэши, может тормозить (ещё не ясно, тут как выйдет)
Ну и @maksim_zov предложил сделать это на WebGL, за что ему спасибо :D Он крутой дизайнер если что
Кто не знал, для подобных обсуждений есть чат @creativecoders, вступайте 😊
#reference #tutorial
Самый надёжный и очевидный вариант предложил @vovazhuruk — использовать секвенции пререндеренных картинок
Плюсы: просто, красиво, апрувнуто Юрой Артюхом :D
Минусы: загрузка картинок, минимальный интерактив, для изменений нужно всё перерендеривать
Вместо секвенции можно использовать видео, о чём когда-то в нашем чате писал @dergachevm. Он предложил крутое решение проблемы с лагами при перемотке видео в обратную сторону
В теории оно хорошо уменьшает объём загружаемых данных и меньше кушает память браузера
@NobodyRoo предложил сделать cubemaps для кристалла и внутренних отражений, и отдельно запечь в текстурки внутренние грани. Не очень понял как это точно должно работать, но логика есть и по идее должно смотреться хорошо
Плюсы: не сложно, красиво, производительно
Минусы: не точная физическая отрисовка, может ничего не получиться
@karpik предложил использовать дары природы и почитать туториал с кодропс
Плюсы: готовое решение, не сложно, интерактивно, легко обновлять мэш
Минусы: не учитывается путь луча внутри кристалла, нет внутренних отражений, не вау
В соседнем посте в том же канале есть офигенное решение
Рефракции происходят в экранном пространстве, с учётом глубины, для повышения точности используется реймарчинг. Сходу сложно понять как это устроено, может когда-то разберусь
Плюсы: красиво, интерактивно, легко обновлять мэш, можно анимировать как хочешь
Минусы: сложно, тормозит, какой будет результат на кристаллах не понятно
Есть ещё такая вот работа и вроде должно получаться с аппроксимациями, но публичной реализации я не видел
https://www.researchgate.net/publication/220506766_Approximate_Ray-Tracing_on_the_GPU_with_Distance_Impostors
Может на самом деле это и сделано в предыдущем варианте, надо разбираться
@Xander_nome предложил использовать Пекс, хотя изначально такой способ реализовали Lusion на трёхе
По сути это развитие того что было на codrops
Плюсы: можно менять свойства материала, вроде учитывает глубину (но это не точно), интерактивно, производительно, красиво
Минусы: нет внутренних отражений, для кристаллов не пойдёт
И конечно же мой вариант — взять и порейтрейсить всё. Пост я скинул в отложенные вечером, а ночью попробовал. Сам кристалл рейтрейсить довольно просто и быстро, но вот с материалами, окружением и тенями пока беда. Но обкладываться костылями я мастер, так что это ещё не финал 😉
Плюсы: красиво, интерактивно, полная свобода
Минусы: дьявольская сложность, долгая компиляция шейдера, только лоу поли мэши, может тормозить (ещё не ясно, тут как выйдет)
Ну и @maksim_zov предложил сделать это на WebGL, за что ему спасибо :D Он крутой дизайнер если что
Кто не знал, для подобных обсуждений есть чат @creativecoders, вступайте 😊
#reference #tutorial
Telegram
Mihail Dergachev in Creative Coders
есть хитрый способ
Media is too big
VIEW IN TELEGRAM
Как создавался сайт Polly Kole
Вчера @NobodyRoo, сооснователь и арт-директор fluc28.io, рассказал в чате как создавался сайт Polly Kole. Весь процесс от идеи до собственно реализации через поиск референсов, стиля, создание концептов и преодоление сложностей творческого процесса. Очень крутое чтиво:
https://yangx.top/creativecoders/1660
Ну а кто не понимает о чём речь — просто зайдите на http://pollykole.com/
И вступайте в чат @creativecoders :)
#reference
Вчера @NobodyRoo, сооснователь и арт-директор fluc28.io, рассказал в чате как создавался сайт Polly Kole. Весь процесс от идеи до собственно реализации через поиск референсов, стиля, создание концептов и преодоление сложностей творческого процесса. Очень крутое чтиво:
https://yangx.top/creativecoders/1660
Ну а кто не понимает о чём речь — просто зайдите на http://pollykole.com/
И вступайте в чат @creativecoders :)
#reference
Живые материалы в ThreeJS
Идея не нова и довольно проста — бери да анимируй что-то в шейдере в зависимости о времени. Самое простое — изменять цвет, либо просто текстурные координаты, но если хочется чего-то покруче то приходится интегрироваться с PBR системой трёхи. И это не так удобно как хотелось бы :)
В этих демках ради скорости прототипирования я каждый кадр пререндерил карты шума и нормалей и использовал их для различных свойств материала. Сначала думал обойтись без нормалей и использовать шум как bump map, но на третьем видео отлично видна "пикселизация" — нехватка данных для dFdx. К счастью в Генклубе недавно выложили несколько ресурсов по шумам, и среди них был шикарный репозиторий с реализациями различных шумов с вычислением производных. Очень рекомендую! В принципе производные можно найти и вычисляя шум для соседних фрагментов, но это х5 больше вычислений 🤷♂️
В продакшн такое решение с пререндерингом не стоит запускать, лучше заморочиться и реализовать всё в шейдере собственно материала. Так должно работать сильно быстрее. Проблема тут в системе материалов ThreeJS и способе их кастомизации, придётся разобраться как она работает, подменять шейдер чанки на свои и это адский ад, но всё равно это быстрее чем писать свой PBR.
Кстати, существует инструмент типа Shader Chunks Explorer, который очень упрощает жизнь когда в этом разбираешься, но я потерял ссылку :) Если у кого есть, поделитесь пожалуйста.
Ну и конечно же поддержите на дрибббле 🙏
#my #reference
Идея не нова и довольно проста — бери да анимируй что-то в шейдере в зависимости о времени. Самое простое — изменять цвет, либо просто текстурные координаты, но если хочется чего-то покруче то приходится интегрироваться с PBR системой трёхи. И это не так удобно как хотелось бы :)
В этих демках ради скорости прототипирования я каждый кадр пререндерил карты шума и нормалей и использовал их для различных свойств материала. Сначала думал обойтись без нормалей и использовать шум как bump map, но на третьем видео отлично видна "пикселизация" — нехватка данных для dFdx. К счастью в Генклубе недавно выложили несколько ресурсов по шумам, и среди них был шикарный репозиторий с реализациями различных шумов с вычислением производных. Очень рекомендую! В принципе производные можно найти и вычисляя шум для соседних фрагментов, но это х5 больше вычислений 🤷♂️
В продакшн такое решение с пререндерингом не стоит запускать, лучше заморочиться и реализовать всё в шейдере собственно материала. Так должно работать сильно быстрее. Проблема тут в системе материалов ThreeJS и способе их кастомизации, придётся разобраться как она работает, подменять шейдер чанки на свои и это адский ад, но всё равно это быстрее чем писать свой PBR.
Кстати, существует инструмент типа Shader Chunks Explorer, который очень упрощает жизнь когда в этом разбираешься, но я потерял ссылку :) Если у кого есть, поделитесь пожалуйста.
Ну и конечно же поддержите на дрибббле 🙏
#my #reference
Немного рейтрейсинга и глитчей с отрицательной рефракцией 😄
Подумал что можно избежать появления полосок когда считаешь дисперсию для каждого канала отдельно, если вручную брать разные мип уровни в зависимости от разбега лучей. Примерно как реализован блум в трёхе или карты окружения в PBR там же. Но пока не могу придумать как это адекватно вычислять в шейдере где есть преломления и отражения по несколько раз 🤷♂️
Дрибббл
#my #reference
Подумал что можно избежать появления полосок когда считаешь дисперсию для каждого канала отдельно, если вручную брать разные мип уровни в зависимости от разбега лучей. Примерно как реализован блум в трёхе или карты окружения в PBR там же. Но пока не могу придумать как это адекватно вычислять в шейдере где есть преломления и отражения по несколько раз 🤷♂️
Дрибббл
#my #reference
Media is too big
VIEW IN TELEGRAM
Фантастическая интерактивная работа на юнити 😍
В вебе это тоже возможно с деградацией картинки на слабых устройствах
#reference by KeJyun Wu
В вебе это тоже возможно с деградацией картинки на слабых устройствах
#reference by KeJyun Wu
Захоплюючий сайт, котрий проводить користувача віртуальною реконструкцією стародавнього перського міста Персеполіс, відродженого з руїн.
Ідеальне використання 3D в вебі, крутий пост процессинг, увага до деталей — кайф
https://persepolis.getty.edu/
#reference
Ідеальне використання 3D в вебі, крутий пост процессинг, увага до деталей — кайф
https://persepolis.getty.edu/
#reference
This media is not supported in your browser
VIEW IN TELEGRAM
https://www.youtube.com/watch?v=PjHKcdeRQiY
Відтворення ефекту на https://www.zikd.space/de від Юри Артюха. Заодно показує як модифікувати матеріали тришки, що є дуже потужною технікою, і дозволяє робити дива в браузері не пишучи кілометри реалізацій PBR. Хоча в цьому випадку мабуть можна було взяти геометрію ціліндра замість площини і керувати полем offset текстур.
До речі, нагадую про зручний спосіб дивитись шейдери тришки.
Загалом це крутий, хоч і доволі простий ефект. Було б цікаво поекспериментувати з оживленням типографіки і самої форми — це відкриє величезний простір до кінетичної типографіки наступного рівня. Хто спробує і в кого вийде, напишу його ім'я на снаряді 😉😄
#tutorial #reference
Відтворення ефекту на https://www.zikd.space/de від Юри Артюха. Заодно показує як модифікувати матеріали тришки, що є дуже потужною технікою, і дозволяє робити дива в браузері не пишучи кілометри реалізацій PBR. Хоча в цьому випадку мабуть можна було взяти геометрію ціліндра замість площини і керувати полем offset текстур.
До речі, нагадую про зручний спосіб дивитись шейдери тришки.
Загалом це крутий, хоч і доволі простий ефект. Було б цікаво поекспериментувати з оживленням типографіки і самої форми — це відкриє величезний простір до кінетичної типографіки наступного рівня. Хто спробує і в кого вийде, напишу його ім'я на снаряді 😉😄
#tutorial #reference
This media is not supported in your browser
VIEW IN TELEGRAM
Для мене було цікаво як розробники Spline зробили таку швидку реалізацію розмиття, і на щастя прямо в коді шейдера є посилання на шейдертой. Вони навіть зробили визначення сили розмиття в залежності від глибини, але для цього всі об'єкти позаду "скла" рендеряться вдруге з DepthMaterial. Тому ця фіча має прихований оверхед. Подивитись можна самому з допомогою SpectorJS — взагалі рекомендую аналізувати з його допомогою всі цікаві вам сайти, дуже круто бустить скіл 😉
До речі, ще одне відео з цією технікою, цікава ідея:
https://www.youtube.com/watch?v=59NVCBo26TA
Сам Spline це майбутнє масове 3D в вебі, покриває багато потреб дизайнерів і здешевлює виробництво. Хороша новина в тому, що ті хто вміють робити вау за межами можливостей Spline будуть мати більше роботи через розширення ринку. Також можна почати корисутватись Spline і робити те саме 3D що зараз, тільки швидше. Вангую появу професії по сплайну, як от сталось з вебфлоу. І до речі, вони одне з одним чудово інтегруються.
#tool #reference
До речі, ще одне відео з цією технікою, цікава ідея:
https://www.youtube.com/watch?v=59NVCBo26TA
Сам Spline це майбутнє масове 3D в вебі, покриває багато потреб дизайнерів і здешевлює виробництво. Хороша новина в тому, що ті хто вміють робити вау за межами можливостей Spline будуть мати більше роботи через розширення ринку. Також можна почати корисутватись Spline і робити те саме 3D що зараз, тільки швидше. Вангую появу професії по сплайну, як от сталось з вебфлоу. І до речі, вони одне з одним чудово інтегруються.
#tool #reference
This media is not supported in your browser
VIEW IN TELEGRAM
Дуже крута демка по інтеграції HTML інтерфейсу в тривимірну WebGL сцену.
https://codesandbox.io/s/interactive-spline-scene-live-html-f79ucc
Сцену зроблено в Spline (знову він, так :), інтегровано за допомогою react three fiber. До речі екосистема r3f поповнюється такими шалено крутими речами, що цьому варто присвятити цілу серію постів. Але зараз не про те. Мене вразило як круто це працює, зберігається повний функціонал HTML, навіть є автозаповнення імейлу (я для відео почистив). Це значно крутіше, ніж у будь-яких подібних демо.
Ефект досягається за рахунок накладання canvas з прозорим віконцем поверх сторінки, а контейнеру сторінки прописаний стиль transform: matrix3d(...), і ця матриця оновлюється відповідно до 3D сцени. Можна помітити як воно іноді не встигає, але з тим нічого не зробиш.
Очевидно, таке рішення дуже обмежене в можливостях, але. Курсор у вигляді руки тицяє по DOM кнопкам! І від неї ще відкидається тінь на сцену! І ховери! Дуже дуже круто 😍
#reference
https://codesandbox.io/s/interactive-spline-scene-live-html-f79ucc
Сцену зроблено в Spline (знову він, так :), інтегровано за допомогою react three fiber. До речі екосистема r3f поповнюється такими шалено крутими речами, що цьому варто присвятити цілу серію постів. Але зараз не про те. Мене вразило як круто це працює, зберігається повний функціонал HTML, навіть є автозаповнення імейлу (я для відео почистив). Це значно крутіше, ніж у будь-яких подібних демо.
Ефект досягається за рахунок накладання canvas з прозорим віконцем поверх сторінки, а контейнеру сторінки прописаний стиль transform: matrix3d(...), і ця матриця оновлюється відповідно до 3D сцени. Можна помітити як воно іноді не встигає, але з тим нічого не зробиш.
Очевидно, таке рішення дуже обмежене в можливостях, але. Курсор у вигляді руки тицяє по DOM кнопкам! І від неї ще відкидається тінь на сцену! І ховери! Дуже дуже круто 😍
#reference
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт-портфоліо David Heckhoff
Мабуть це буде тиждень мультяшного дизайну :D
https://david-hckh.com/
Цікаві анімації і мені прямо зайшло як на першому екрані він щось там собі друкує і крутить колесо мишки :) Дрібниця, що створює всю атмосферу.
Дрібниці, деталі і нюанси зазвичай дуже посилюють враження від досвіду. Чим більше референсів ви бачили, тим більше різних дрібниць ви можете вигадати і втілити, тим самим піднімаючи клас своєї роботи.
#reference
Мабуть це буде тиждень мультяшного дизайну :D
https://david-hckh.com/
Цікаві анімації і мені прямо зайшло як на першому екрані він щось там собі друкує і крутить колесо мишки :) Дрібниця, що створює всю атмосферу.
Дрібниці, деталі і нюанси зазвичай дуже посилюють враження від досвіду. Чим більше референсів ви бачили, тим більше різних дрібниць ви можете вигадати і втілити, тим самим піднімаючи клас своєї роботи.
#reference
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт візитка Arno Di Nunzio.
https://adinunz.io/
Крутий інтерактив, водночас мінімалістичний і багатий дизайн, кайф :) І так, елементи падають по скролу 🔥
З неба капають сльози клонів портфоліо Bruno Simon 😅
Рефки для сьогоднішніх постів підказав автор @blinklinks. Обіцяю, наступного тижня буде інший дизайн :)
#reference
https://adinunz.io/
Крутий інтерактив, водночас мінімалістичний і багатий дизайн, кайф :) І так, елементи падають по скролу 🔥
З неба капають сльози клонів портфоліо Bruno Simon 😅
Рефки для сьогоднішніх постів підказав автор @blinklinks. Обіцяю, наступного тижня буде інший дизайн :)
#reference
This media is not supported in your browser
VIEW IN TELEGRAM
Продовжую тиждень мультяшного дизайну в вебі — портфоліо дизайнера і арт директора Peter Tarka
https://petertarka.com/
Цей сайт насправді означав прихід відео на прозорому тлі в веб. Нарешті. Йому вже кілька місяців, але не згадати його не можна. Тепер можна робити ще більше різних крутих штук і я це вже обкатав в продакшені, може колись напишу про те :)
Для всіх нормальних браузерів пакуємо png секвенції так:
Для Safari беремо MacOS і пакуємо ту саму секвенцію використовуючи QuickTime. Завелось тільки так 🤷♂️
#reference
https://petertarka.com/
Цей сайт насправді означав прихід відео на прозорому тлі в веб. Нарешті. Йому вже кілька місяців, але не згадати його не можна. Тепер можна робити ще більше різних крутих штук і я це вже обкатав в продакшені, може колись напишу про те :)
Для всіх нормальних браузерів пакуємо png секвенції так:
ffmpeg -framerate 30 -f image2 -i ./png/input%03d.png -c:v libvpx-vp9 -pix_fmt yuva420p output.webmЗвісно, потрібно при цьому встановити ffmpeg :)
Для Safari беремо MacOS і пакуємо ту саму секвенцію використовуючи QuickTime. Завелось тільки так 🤷♂️
#reference
Media is too big
VIEW IN TELEGRAM
Як закохатись в сайт з першого погляду
Або принаймні закохати мене. Для цього достатньо зробити щось чарівне і дуже гарне використовуючи технічно прості методи. Сьогодні пропоную вашій увазі сайт зроблений Immersive Garden:
https://gleec.com/
Технічно нічого складного, хіба що вони використали GPGPU для симуляції поінтів та ліній, але для подібної анімації можна було обійтись і без того. По анімації тексту Юра Артюх встиг зробити туторіал, за що йому дяка ♥️
Найголовніше тут — арт-дирекшн. Саме ідеї та вміння користуватись простими методами дозволяє робити подібні дуже круті сайти. Колись я теж цьому навчусь :)
#reference
Або принаймні закохати мене. Для цього достатньо зробити щось чарівне і дуже гарне використовуючи технічно прості методи. Сьогодні пропоную вашій увазі сайт зроблений Immersive Garden:
https://gleec.com/
Технічно нічого складного, хіба що вони використали GPGPU для симуляції поінтів та ліній, але для подібної анімації можна було обійтись і без того. По анімації тексту Юра Артюх встиг зробити туторіал, за що йому дяка ♥️
Найголовніше тут — арт-дирекшн. Саме ідеї та вміння користуватись простими методами дозволяє робити подібні дуже круті сайти. Колись я теж цьому навчусь :)
#reference
Media is too big
VIEW IN TELEGRAM
Чарівне медитативне аудіовізуальне
https://www.artisansdidees.com/en
Так, в нас знову сайт від Immersive Garden, і так, вони знову роблять магію. Цього разу технічно це не такий простий сайт як вчора, але він так само має дуже крутий арт дирекшн, котрий за рахунок більш складних прийомів робить досвід користувача ще більш феноменальним. Деталей, ідей і дрібниць тут дуже багато. Про частину з них розповіли власне автори сайту, дуже рекомендую :)
#reference
https://www.artisansdidees.com/en
Так, в нас знову сайт від Immersive Garden, і так, вони знову роблять магію. Цього разу технічно це не такий простий сайт як вчора, але він так само має дуже крутий арт дирекшн, котрий за рахунок більш складних прийомів робить досвід користувача ще більш феноменальним. Деталей, ідей і дрібниць тут дуже багато. Про частину з них розповіли власне автори сайту, дуже рекомендую :)
#reference