Skip to content
Перейти к содержимому
Вернуться в блог
Стеклянное здание в Minecraft с чистыми и правильно отрисованными прозрачными блоками без визуальных артефактов

Как работает прозрачность в Minecraft

Alex Maftei
Alex Maftei
@ice
Обновлено
3 просмотров
TL;DR:Независимая от порядка прозрачность исправляет рендеринг стекла в Minecraft. Узнайте, почему в ванильной игре возникают проблемы с глубиной и как OIT решает их.

Независимая от порядка прозрачность (OIT) - это техника рендеринга, которая исправляет то, как Minecraft отображает перекрывающиеся прозрачные блоки вроде стекла. Без нее вы получаете визуальные артефакты и странные проблемы с наложением. С ней ваши стеклянные постройки выглядят аккуратно и прозрачно так, как и задумывалось.

Что делает независимая от порядка прозрачность

Стекло в Minecraft должно быть простым: прозрачные блоки, сквозь которые все видно. Но тут есть подвох. Рендер-движок Minecraft должен решать, какие прозрачные пиксели рисовать первыми, а какие последними, и этот порядок важен сильнее, чем нужно. Когда две стеклянные панели лежат друг на друге или когда вы смотрите через несколько слоев окон, движок может запутаться, какое из них отрисовывать на переднем плане. Это создает визуальные артефакты - иногда вы видите заднюю панель, иногда переднюю, а иногда они мерцают между собой в зависимости от угла камеры.

Независимая от порядка прозрачность - это решение. Это графическая техника, которая говорит: забудьте про порядок отрисовки и вычислите правильную прозрачность на основе реальной глубины. OIT рассчитывает, какие пиксели должны быть видны, используя измерения реального расстояния, а не угадывание последовательности. Больше никакого мерцания. Больше никаких артефактов.

Я протестировал это на своем SMP-сервере, когда мы строили стеклянную обсерваторию в прошлом году, и, честно говоря, разница была мгновенной. Все те многослойные окна, которые раньше мерцали, просто... заработали.

Почему у ванильного рендеринга есть эта проблема

Minecraft отрисовывает объекты в определенном порядке. Сначала сплошные блоки, затем прозрачные. Внутри прозрачных блоков он все еще следует последовательности, основанной на том, как вы построили сооружение. Если эта последовательность не совпадает с положением вашей камеры, вы получаете ошибки сортировки глубины.

Представьте стеклянную лестницу с несколькими слоями. Вы находитесь внутри и смотрите вверх сквозь несколько панелей. Движок должен выбрать: рендерить снизу вверх или сверху вниз? Если вы смотрите на нее под одним углом, возможно, порядок сверху вниз работает нормально. Повернули голову? Внезапно рендеринг ломается, и вы видите блоки в неправильном порядке. Ваш экран не соответствует реальности.

Эта проблема проявляется везде. Стеклянные купола, стеклянные здания, аквариумы, мансардные окна, декоративные оконные композиции - практически каждая стеклянная конструкция страдает от этого, если смотреть на нее под определенными углами. На моем сервере с множеством построенных игроками стеклянных конструкций это было одной из самых частых визуальных жалоб у новых игроков.

Как OIT исправляет проблему сортировки глубины

Независимая от порядка прозрачность работает за счет того, что сначала аккумулирует все прозрачные пиксели в вашей сцене, а затем правильно сортирует их на основе реальной глубины перед выводом на экран. Ему все равно, в каком порядке они были нарисованы - оно определяет правильный порядок на основе глубины и производит рендеринг соответствующим образом.

Стеклянное здание в Minecraft с чистыми и правильно отрисованными прозрачными блоками без визуальных артефактов
Стеклянное здание в Minecraft с чистыми и правильно отрисованными прозрачными блоками без визуальных артефактов

Технические детали быстро становятся непонятными. Мы говорим о срезе глубины, взвешенном смешанном OIT и особенностях архитектуры GPU, от которых потеют большинство драйверов. Но результат прост: ваше стекло выглядит правильно.

Впрочем, всегда есть подвох. OIT требует больше вычислительной мощности GPU. Ваша видеокарта не может просто отправить пиксели на экран за один проход - ей нужно правильно их проанализировать, отсортировать и смешать. На современных графических процессорах за последние пять лет это нормально. На старых машинах или встроенной графике ноутбуков вы можете заметить падение производительности.

Получение OIT в Minecraft 26.2

Здесь все становится сложнее. В ванильном Minecraft Java 26.2 функция OIT не встроена по умолчанию. Стандартный рендерер по-прежнему использует старый метод сортировки по глубине со всеми проблемами. Если вам нужны улучшения OIT, вам нужно использовать графический мод.

Лучшие варианты прямо сейчас? Canvas надежен, хотя он сильнее нагружает ресурсы. Sodium в паре с Indium предлагает более легкие улучшения прозрачности - поддержка OIT в Indium продолжает улучшаться с обновлениями. Iris Shaders с Sodium дает еще один путь, хотя некоторые пакеты шейдеров добавляют собственные исправления прозрачности вместо настоящего OIT.

Вообще-то, я должен поправить себя - в Canvas реализована более полная поддержка OIT, чем в Indium на данный момент, но он также более требователен. Выбирайте в зависимости от того, что для вашей машины важнее - производительность или визуальное качество.

Игрокам на серверах: вот хорошие новости. Ваши игроки могут установить эти модификации на стороне клиента, не затрагивая остальных участников на сервере. Каждый получает лучший рендеринг стекла со своего устройства. Проблемы на стороне сервера не влияют на исправления рендеринга.

Какую сборку вам следует установить?

У вас приличный игровой ПК? Canvas или Iris Shaders. Вы сразу заметите улучшения прозрачности. Строите что-то с большим количеством многослойного стекла? Вы сразу увидите разницу.

Стеклянное здание в Minecraft с чистыми и правильно отрисованными прозрачными блоками без визуальных артефактов
Стеклянное здание в Minecraft с чистыми и правильно отрисованными прозрачными блоками без визуальных артефактов

Ноутбук или старый ПК? Ваш выбор - Sodium + Indium. Он легкий и все равно дает лучший рендеринг стекла по сравнению с ванильной версией. Вы не получите идеальный OIT, но заметите существенные улучшения.

Сложные стеклянные конструкции на серверах особенно выигрывают от OIT. Я наблюдал, как строители тратили часы на отладку того, что они считали проблемами дизайна, только чтобы обнаружить, что ванильный клиентский рендеринг лгал о том, как их стекло выглядит в игре на самом деле. Если говорить начистоту, с OIT вы строите один раз, и это выглядит правильно под любым углом.

Хотите сохранить стабильность сервера и хорошую связь? Загляните на страницу Бесплатный DNS для Minecraft, чтобы получить надежную серверную инфраструктуру, которая поддерживает любую сборку модов по выбору ваших игроков.

Влияние на производительность

OIT требует ресурсов графического процессора. Насколько сильно? Это зависит от вашей системы и количества прозрачных блоков на экране одновременно.

По результатам моих тестов на средних системах падение производительности составляет 5-15%. Если стоять внутри стеклянного купола и смотреть на лес, то скорее 15-20%. Если вы уже с трудом добиваетесь 60 FPS, OIT может опустить показатели ниже нормы. Если вам комфортно при 100+ FPS, вы этого даже не заметите. Большинство игроков находится где-то посредине - вы увидите небольшое падение FPS, но ничего критичного для игры.

Хорошие новости: большинство модов позволяют включать и выключать эти функции. На нашем сервере мы выяснили, что включение OIT в зависимости от текущей активности отлично работает. Включите и забудьте, если у вас есть запас кадров. Отключайте, когда нужен прирост производительности.

Стоит ли устанавливать OIT?

Да, если вы строите из стекла. Да, если вы играете на серверах со сложными стеклянными постройками. Нет, если вы вообще не используете прозрачные блоки.

Большинство игроков в Minecraft попадают в первую категорию. Мансардные окна, окна, элементы декора, аквариумы - мы все постоянно используем стекло. Включение OIT не изменит вашу эффективность фарма или скорость добычи ресурсов. Ваши боевые навыки не улучшатся. Но ваши стеклянные постройки будут выглядеть правильно под любым углом, а это важно, когда вы тратите часы на эстетику.

Я бы не назвалы это обязательным. Но для любого, кто занимается серьезным строительством, стоит потратить пять минут на установку Canvas или Sodium+Indium, чтобы увидеть разницу самостоятельно. Как только вы увидите правильный рендеринг прозрачности, возвращение к ванильной версии покажется слишком грубым.

Интересно, что используют другие игроки? Загляните в нашу галерею скинов сообщества - иногда у творческих строителей есть рекомендации в их профилях. Настоящие строители знают свои инструменты.

И последнее: если вы играете на серверах сообщества, сначала изучите вики или руководства. Некоторые серверы имеют официальные рекомендации по модам и руководства по установке. ThreadsMine в нашем списке серверов предоставляет инструкции по настройке модов, которые работают с их сервером. Нет ничего хуже, чем установить не тот графический мод и бороться с проблемами совместимости.

Об авторе
Alex Maftei
Alex MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Часто задаваемые вопросы

Что такое независимая от порядка прозрачность в Minecraft?
Независимая от порядка прозрачность (OIT) - это техника рендеринга, которая исправляет отображение перекрывающихся прозрачных блоков в Minecraft за счет расчета правильного порядка прозрачности на основе реальной глубины, а не последовательности рисования. Это устраняет визуальные артефакты и мерцание, возникающие при ванильном рендеринге через несколько слоев стекла или прозрачных блоков.
Нужно ли устанавливать моды для использования OIT?
Да. В ванильной Minecraft Java Edition 26.2 функция OIT не встроена. Вам понадобятся графические моды вроде Canvas или Sodium в паре с Indium. Iris Shaders с определенными пакетами шейдеров также могут обеспечить похожие улучшения прозрачности. Все они работают на стороне клиента, так что вы можете использовать их на любом сервере.
Как сильно OIT повлияет на мой FPS?
Большинство систем видят падение производительности на 5-15% при включении OIT, с большим влиянием (15-20%) при взгляде сквозь множество прозрачных слоев. На современных игровых ПК со стабильными 100+ FPS вы этого не заметите. На ноутбуках или старом железе потеря производительности может ощущаться сильнее. Вы можете включать и отключать эту функцию по необходимости.
Почему ванильное стекло выглядит плохо без OIT?
Ванильный Minecraft использует сортировку по глубине для прозрачных блоков, которая следует фиксированному порядку отрисовки независимо от положения камеры. Когда вы смотрите на стекло под разными углами, этот порядок не совпадает с реальной глубиной, из-за чего на переднем плане появляются не те пиксели, создавая мерцание и визуальные сбои, которые устраняет OIT.
Какой мод обеспечивает лучшую производительность OIT?
Canvas предлагает наиболее полную реализацию OIT, но требует больше мощности GPU. Sodium в сочетании с Indium обеспечивает более легкие улучшения прозрачности и идеально подходит для ноутбуков или старых компьютеров. Выбирайте Canvas ради визуального качества, если ваше железо его тянет, или Sodium+Indium для баланса производительности и улучшений.

Have a Question or Tip about this Guide?Community Q&A

Ask a question or help other players below. Join the discussion and share your Minecraft tips!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

Мы используем файлы cookie для улучшения вашего опыта. Продолжая использовать этот сайт, вы соглашаетесь с использованием нами файлов cookie. Ознакомиться с нашей Политикой конфиденциальности