Тема: Режимы рендеринга Ключевые слова: рендеринг, отображение, спрайт, прозрачность, свечение, "корона" См. также: -
Статья применима как для спрайтов, так и для энтити. Общие сведения о рендеринге в Source Большинство режимов рендеринга реализованы неудовлетворительно, поэтому они почти не используются. Главным образом, изменять режим рендеринга требуется, если нужно реализовать:
В режимах добавления плоскость спрайта выделяется при рендеринге и визуально как бы рассекает любые объекты. Режимы свечения предназначены для того, чтобы имитировать источники света. Спрайт в этих режимах отображается корректно, его плоскость специально не выделяется. В режиме World Space Glow размер спрайта корректируется с учетом перспективы. В режиме Glow размер спрайта увеличивается с увеличением расстояния. Пояснение: в режимах добавления спрайт рассматривается как грань, которая может пересекать любые другие грани. В режимах свечения спрайт рассматривается как точка, и отображается всегда целиком, но только в том случае, если виден его центр (т.е. аналогично точечному источнику света). Чтобы сделать энтити прозрачной, нужно изменить режим рендеринга на любой, кроме Normal или Don't Render. При этом на эффект оказывает влияние параметр FX Amount (0-255). В режиме Don't Render энтити активна в игре, только полностью невидима. Замечание: в редакторе Hammer спрайты в основном рисуются неправильно, но в игре каждый спрайт отображается в соответствии с настройками. Normal Обычный режим рендеринга (по умолчанию), без специальных эффектов. Атрибут FX Amount (0-255) в этом режиме не влияет на рендеринг. Для спрайтов данный режим не рекомендуется, т.к. отсутствует прозрачность. Color В этом режиме для энтити можно задать степени цвета и прозрачности. Однако по сравнению с остальными режимами его можно считать неактуальным. Для спрайтов данный режим также не рекомендуется, т.к. отсутствует прозрачность фона. Texture Визуально режим аналогичен предыдущему. Также не рекомендуется для спрайтов. Glow Режим предназначен для спрайтов, имитирующих светящиеся объекты (например, источник света или огонь). Объекты в этом режиме всегда выглядят "светящимися", будто источники света, однако реального освещения сцене не добавляют. В этом режиме работает прозрачность, размер спрайта увеличивается с увеличением расстояния. Атрибут GlowProxySize спрайта в данном режиме учитывается. Режим полезен, когда нужно обратить внимание игрока на что-либо (например, кнопку пульта). Solid (устаревший режим) Данный режим также упоминается как Alphatest (альфа-тест). Альфа-тест представляет собой попиксельную обработку текстуры, которая отображает прозрачными пиксели с определенным оттенком синего (например, текстура debug/debugluxels). Это очень полезно для отображения несплошных решеток, прутьев и ограждений, которые в противном случае использовали бы не более одной текстуры при любой геометрии брашей. Goldsource (движок Half-Life) нуждался в данном режиме для рендеринга специальных текстур, однако в современном Source альфа-тест выполняется для материалов автоматически. Аналогично, не рекомендуется для спрайтов (т.к. не учитывает альфа-компоненту). Additive В данном режиме альфа-компонента спрайта делается прозрачной, т.е. спрайт рисуется корректно. Однако заметна плоскость изображения спрайта (как было отмечено выше). А поскольку спрайт в Source всегда поворачивается "лицом" к игроку, эффект плоскости только усиливается. Additive fractional frame Выполняется плавный переход между кадрами анимации (затухание текущего и проявление следующего кадров). Очень удобно для сглаживания резкой анимации (когда не хватает промежуточных кадров). В остальном режим аналогичен Additive. Alpha add Название режима отсутствует в редакторе (не описано в *.fgd-файле ресурсов), тем не менее, режим задается вводом значения 8 для атрибута Render Mode. Визуально аналогичен режиму Color. Не рекомендуется для спрайтов. World space glow Режим аналогичен Glow, только размер спрайта корректируются с учетом перспективы. Один из лучших режимов для отображения спрайтов. Don't render Данный режим также упоминается как None. При этом объект не отображается, но ведет себя в соответствии со своим типом (классом энтити); игрок и другие NPC, энтити также могут взаимодействовать с таким объектом. Статьи (рус): Статьи (eng): Render Modes
Номер статьи: 23
|