TGViewer
Creative Coder Creative Coder @creative_coder · 416 subscribers
Post #186 3.51K
Живые материалы в ThreeJS

Идея не нова и довольно проста — бери да анимируй что-то в шейдере в зависимости о времени. Самое простое — изменять цвет, либо просто текстурные координаты, но если хочется чего-то покруче то приходится интегрироваться с PBR системой трёхи. И это не так удобно как хотелось бы :)

В этих демках ради скорости прототипирования я каждый кадр пререндерил карты шума и нормалей и использовал их для различных свойств материала. Сначала думал обойтись без нормалей и использовать шум как bump map, но на третьем видео отлично видна "пикселизация" — нехватка данных для dFdx. К счастью в видалено недавно выложили несколько ресурсов по шумам, и среди них был шикарный репозиторий с реализациями различных шумов с вычислением производных. Очень рекомендую! В принципе производные можно найти и вычисляя шум для соседних фрагментов, но это х5 больше вычислений 🤷‍♂️

В продакшн такое решение с пререндерингом не стоит запускать, лучше заморочиться и реализовать всё в шейдере собственно материала. Так должно работать сильно быстрее. Проблема тут в системе материалов ThreeJS и способе их кастомизации, придётся разобраться как она работает, подменять шейдер чанки на свои и это адский ад, но всё равно это быстрее чем писать свой PBR.

Кстати, существует инструмент типа Shader Chunks Explorer, который очень упрощает жизнь когда в этом разбираешься, но я потерял ссылку :) Если у кого есть, поделитесь пожалуйста.

Ну и конечно же поддержите на дрибббле 🙏

#my #reference
GitHub GitHub - BrianSharpe/Wombat: An efficient texture-free GLSL procedural noise library An efficient texture-free GLSL procedural noise library - BrianSharpe/Wombat
More from @creative_coder
  1. Sep 29, 2026Привіт усім! =) Зробив 3D-шрифт, який добре деформується і гнучко працює з Catmull-Clark с…
  2. Sep 23, 2026Я он подумав а що як допиляти сім і релізнути як продукт? Вирішив зробити маркетингове дос…
  3. Sep 19, 2026Зробив за вечір fpv-симулятор Тришка, браузер, підключення до реального контроллера, фізик…
  4. Sep 10, 2026якщо комусь цікаво веду репортаж з threejs.paris https://x.com/akella/status/2097962589716…
  5. Aug 19, 2026А що це в нас таке класне? 😏🤍😇 https://youtu.be/6C-cBc5g4Q0
  6. Aug 4, 2026Voxel Airplanes 3D, or the story about fitting vertex data into 4 bytes | by Oleksandr Pop…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →