TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.63K subscribers
Post #1985 1.24K
Как собрать убедительный кристалл в Unreal, не платя за прозрачность.

Анастасия Горбань расписала свой мастер-материал по шагам. Материал непрозрачный: глубина внутри камня подделана двумя цветовыми слоями, которые при повороте камеры смещаются на разное расстояние. Именно разрыв между ними даёт объём, а не смесь двух цветов.

Перед цветом идёт стадия глубины, и там на выбор параллакс с картой высот или дешёвое смещение по яркости. Оба пути берут высоту из одного источника с одним тайлингом — поэтому подделанная глубина всегда ложится ровно на тот цвет, который смещает.

Переливы снаружи сделаны через синус: интерференция периодична по углу обзора, поэтому плавный градиент превращается в повторяющиеся полосы. Слой отключаемый — кварцу и рубину он не нужен, опалу и лунному камню нужен.

В конце автор приводит арифметику. Вариант на новой системе слоёв стоит 445–517 инструкций шейдера, а тот же вид на обычном материале — 291–369. Автор честно пишет: если цель просто выпустить этот кристалл дёшево, обычный материал правильнее.

@make_game
  • 🤣 2
More from @make_game
  1. Sep 20, 2026Как собрать редактируемую 2D-карту в Unity с Marching Squares Туториал начинает с сетки яч…
  2. Sep 20, 2026Как пространственное разбиение ускоряет поиск соседей в игровом мире В стратегии реального…
  3. Sep 20, 2026Как построить кубическую сферу в Unity без скопления вершин у полюсов У обычной UV-сферы в…
  4. Sep 19, 2026Зачем игровому движку очередь событий Прямой вызов playSound() блокирует меню, пока аудиод…
  5. Sep 19, 2026Как разделить код теней в собственном конвейере рендеринга Unity Custom SRP 7.1.0 для Unit…
  6. Sep 19, 2026Как численное интегрирование двигает объекты в игровой физике Физический цикл не вычисляет…
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 →