MESH BODY / Проблема прозрачных и непрозрачных слоев в Second Life и режим Mask Mode

Советы по выбору виртуальных тел, частей тела, одежды и производителей Second Life.
Ответить
Аватара пользователя
DonCopone
Сообщения: 654
Зарегистрирован: Пн дек 07, 2015 1:18 pm
Gender: Male

MESH BODY / Проблема прозрачных и непрозрачных слоев в Second Life и режим Mask Mode

Сообщение DonCopone » Пт дек 11, 2015 5:41 pm

Давайте поговорим о том, что такое режим маски (Mask Mode) и как он работает.

Программное обеспечение Second Life использует интерфейс, ряд инструкций, чтобы «говорить» с Вашей видеокартой, это называется OpenGL. Это было очень популярное решение, начиная с 1992 года. Несмотря на его возраст, OpenGL пока морально не устарел. Но некоторые сложные графические ситуации, с которыми мы ежедневно встречаемся в SL, коварны для OpenGL. Например, многократные уровни прозрачности, например, одеваем на аватара татуировку и прозрачные чулки. OpenGL начинает путаться и показывать нам ерунду.

Проблема прозрачных и непрозрачных слоев в Second Life и Mask Mode.jpg

Без чулок и тату аватарам живется тоже неплохо. :D

Понимание режима маски (Mask Mode)

Когда видеокарта обрабатывает сцену (scene) виртуального мира, она должна понять, какие объекты и слои необходимо оставить видимым, а какие полностью скрыть. Обычно видеокарты делают это хорошо. Поэтому, если бы все объекты в Second Life были прозрачными или не непрозрачными, то не было бы никаких проблем. Но виртуальный мир Second Life не так прост. В нем много полупрозрачных объектов. Например, вещи, которые полностью прозрачны, но в тоже время слегка заштрихованы, например, прозрачные женские чулки с рисунком или тату. Здесь от дизайнеров требуется мастерство и хитрость.

Проблема с исчезновением слоев (layers) известна и стара как сам виртуальный мир Second Life. Например, в локах мы можем видеть странные вещи с домами. В стене дома вмонтировано окно (прозрачный слой), за которым на лице растет дерево, которое сделано на одном приме (prim) с добавлением текстуры. Когда мы смотрим на это дерево из дома, кажется, что дерево расположено между нами и стеной дома, т.е. внутри дома.

С телами аваторов еще труднее. Они более сложная вещь, чем однопримовое дерево.

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

К счастью, есть обходное решение. Существует два вида прозрачности.

Альфа-маска (Alpha Mask). Это бескомпромиссная вещь, т.е. либо видим, либо не видим. Промежуточных решений нет.

Вернемся к прозрачных чулкам и татуировкам. Им нужно нечто большее, чем Альфа-маска. Для этого используем Альфа-Смешивание (Alpha Blending), которое встраивается в текстуру и используется через Альфа-канал. Этот канал имеет 256 возможных значений, от полностью прозрачного до полностью непрозрачного. Это - то, где тени, чистая матрица и татуировки входят в нашу виртуальную жизнь.

Но мы получаем другую проблему, одеваем на аватара несколько объектов и у каждого из них свой альфа-канал на 8 битов (Смешанная Альфа). Видеокарта теперь должна решить, какой объект должен быть первым, т.е. видимым, а какие объекты требуется объединить и сделать непрозрачными. OpenGL предлагает нам решение, которое корректируется видеокартой, которая решает, что если текстура позади, то ее лучше вообще не показывать. Поэтому в Second Life приходится включать и отключать на аватаре объекты, пока, например, мы не увидим татуировку.

Примечание. На классическом аватаре (не меsh) можно носить 5 уровней татуировки и прозрачную одежду под ними. Потому, что видеокарта не рассматривает каждый слой индивидуально, как это происходит, например, с телом сетки (меш, mesh bode). Поэтому, независимо от того, сколько уровней одежды одето на Вашем классическом аватаре, для видеокарты это всего лишь одна текстура, «запеченная» на сервере Second Life и отправленная в игровой клиент, например, Фаершторм.

Для чего в Second Life нужен Режим маски (Mask Mode)?

Помните, Ваша видеокарта запутывается со сложенными Смешанных Уровней. Поэтому добавление Маскируемого слоя между ними, действует как новая точка для графических вычислений. Думайте о режиме маски, как о разделении стопки отчетов за неделю при помощи листа красной бумаги, который мы запихиваем в середину наших отчетов. С таким маркером, как красный лист бумаги, мы легко можем определить где верхняя половина стопки отчетов, а где ее нижняя часть. Уровень Masked Mode действует на видеокарту, как красная бумага, конкретно говоря ей, что делать с уровнями.

Пример того, как использовать Режим Маски. Одеваем татуировку на уровне татуировки и прозрачные чулки на уровне штанов. Возможно тату исчезло. Оденьте что-нибудь на уровне нижнего белья (Underwear Layer) и включите Режим Маски на своем, например, Lara HUD (данных худ работает только для меш-тел от Maitreya). Ваша татуировка теперь окажется ниже чулок, что мы и хотели сделать. Маскируемый слой сработал как красный листок бумаги, помог разобраться с двумя смешанным уровням и правильно отобразить их.

У меня все. Всем удачи в одевании своих mesh body )))

Ответить

Вернуться в «ОДЕВАЕМ аватаров в Second Life»