Jump to content

Запекание сетки


You are about to reply to a thread that has been inactive for 1625 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Bakes on Mesh - это функция, позволяющая отображать запеченные текстуры системных аватаров на прикрепленных сетках.

Что такое запеченная текстура и почему я хочу ее на сетке?


Если вы используете стандартный системный аватар, вы можете носить несколько текстурных слоев, чтобы настроить свой скин и добавить татуировки со слоями одежды. Чтобы сэкономить время обработки и предоставить всем пользователям в любой системе один и тот же вид вашего внешнего вида, эти текстуры «запекаются» сервером в одну объединенную текстуру. Раньше, если вы хотели использовать настраиваемую часть тела меша и выполнять такую же настройку, для этой части тела была бы нужна собственная система текстурирования (отдельный скрипт). Кроме того, вам, как правило, нужно применять «альфа слой», который можно носить на базовой части тела аватара, чтобы скрыть его, лишь бы он не мешал одежде. С запеканием на сетке вы можете применить любые системные скины и другие слои к своему аватару (вам не нужен альфа-слой), а затем использовать вьювер, чтобы применить полученную запеченную текстуру к вашей части тела сетки. Основная часть системного аватара скрыта для вас автоматически, поэтому использование альфа-масок не требуется.

Основные характеристики

 

  • Любая лицевая сторона объекта сетки может быть затекстурирована с использованием любой из запеченных на сервере текстур.
  • Соответствующая область системного аватара скрыта, если любая прикрепленная сетка использует запеченную текстуру.
  • Были добавлены новые каналы для выпекания текстур, чтобы дать больше контроля над текстурированием меш объектов.
  • Новый «универсальный носитель» теперь предоставляется с поддержкой новых текстурных каналов.


Выгода

 

  • Можно избежать нужду в использовании различных апплиеров, что упростит процесс работы.
  • Можно избежать лишние проблемы с локациями.
  • Нет нужды в продаже полноправных мешей. Пользователь может просто изменять любой меш, который работает с системой БОМ простым цеплянием текстур без нужды в изменении меша для себя.

Как это устроено
Носимые и запекающиеся (bake) каналы


Носимые аватары традиционно делятся на шесть различных текстур (BAKE_HEAD, BAKE_UPPER, BAKE_LOWER, BAKE_EYES, BAKE_SKIRT, BAKE_HAIR) службой выпечки. Эти текстуры получаются путем комбинирования соответствующих текстур в различных предметах вашего аватара. Например, рубашка устанавливает UPPER текстуру, а несколько рубашек, наложенных друг на друга, будут способствовать получению текстуры BAKE_UPPER.

Проект Bakes on Mesh также добавил пять новых каналов для выпечки: LEFT_ARM_BAKED, LEFT_LEG_BAKED, AUX1_BAKED, AUX2_BAKED, AUX3_BAKED. В отличие от оригинальных текстур, системный аватар не использует ни одну из этих текстур. Они являются просто расширениями, позволяющими лучше контролировать внешний вид сетки.

LEFT_ARM_BAKED и LEFT_LEG_BAKED предназначены для помощи в создании аватаров сетки, в которых левая и правая конечности имеют разные текстуры.
Каналы AUX являются универсальными и могут использоваться для областей тела, не принадлежащих системным аватарам (таким как крылья), или для других целей.
Всего это дает 11 возможных каналов для ношения текстур, которые можно использовать для производства выпечки.

Универсальные предметы одежды


Новые каналы бесполезны, если нет какого-либо способа носить предметы, использующие эти каналы. Для удовлетворения этой потребности был добавлен новый носимый тип под названием Universal. Универсальный носитель имеет слоты, соответствующие всем 11 новым и старым каналам выпекания. В порядке наслоения универсальные предметы одежды устанавливаются над кожей и татуировкой, а также под всеми другими видами одежды.

Настройка сетки для использования запеченных текстур
Теперь вы можете применить эти текстуры к диффузным текстурам, цепляемым на вашего аватара:

  • 1. Щелкните правой кнопкой мыши на вложении, нажмите «Изменить» и в меню «Редактировать материал» выберите текстуры.
  • 2. Нажмите значок diffuse текстуры, чтобы открыть окно выбора текстуры.
  • 3. В палитре текстур есть дополнительный режим переключателя, который называется «bake» для выбора запекания на сервере. Переключатель режима «bake» имеет выпадающий список выбора текстур для запекания на сервере.

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

Если грань сетки настроена на отображение запеченной текстуры, но не прикреплена к аватару, вы увидите запеченную текстуру по умолчанию. Если вы используете более старую программу просмотра без поддержки Bakes on Mesh, то грани для отображения запеченных текстур также будут отображаться в качестве запеченной текстуры по умолчанию, а области базовой сетки не будут скрыты.

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

image9.png

«Резервные» текстуры для оригинальных каналов выпекания. Вьюверы, которые не поддерживают Bakes on Mesh, будут показывать такие изображения вместо запеченных текстур. Вы также увидите их на любых объектах без вложений, которые настроены на использование Bakes on Mesh. Новые каналы для выпечки имеют аналогичные резервные текстуры.

 

Работа с новыми каналами


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

Если вы хотите, прозрачное запекание в одном из новых каналов использовалось для того, чтобы сделать вашу сетку частично прозрачной, вам нужно установить альфа-режим для определенного лица (материала) на «Альфа-смешивание».

bom_transparent_universal_alpha_mode_blending.JPG.6b354ce21d0aa8c17d76f9edcb469cb1.JPG

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

bom_transparent_universal_alpha_mode_none.JPG.1d90f83f8654be190e7faa172bea7956.JPG

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

bom_transparent_universal_over_opaque_universal.JPG.026cd5cce638c292296ff828c9f68af0.JPG

Если вы добавите дополнительный универсальный носимый материал с подходящей непрозрачной текстурой кожи для канала левой руки, вы получите это. Теперь обе руки непрозрачны, независимо от того, установлен ли альфа-режим на None или Alpha Blending.

Link to comment
Share on other sites

Работа с Анимеш
Объекты Animesh обрабатываются несколько иначе, когда прикреплены. Поскольку у них есть свои собственные скелеты, они текстурированы независимо от аватара, к которому они привязаны. Прикрепленный объект animesh не поддерживает Bakes on Mesh и будет отображать любые текстуры Bakes on Mesh с использованием текстур-заполнителей, описанных выше.

Поддержка скриптов
Bakes on Mesh работает путем определения специальных текстурных идентификаторов, соответствующих каждому из каналов выпекания. Для каждого из каналов имеются соответствующие константы LSL, поэтому вы также можете написать скрипт, который включает функцию Bakes on Mesh для грани сетки. Константы LSL:

IMG_USE_BAKED_HEAD
IMG_USE_BAKED_UPPER
IMG_USE_BAKED_LOWER
IMG_USE_BAKED_EYES
IMG_USE_BAKED_SKIRT
IMG_USE_BAKED_HAIR
IMG_USE_BAKED_LEFTARM
IMG_USE_BAKED_LEFTLEG
IMG_USE_BAKED_AUX1
IMG_USE_BAKED_AUX2
IMG_USE_BAKED_AUX3
Их можно использовать в таких командах, как llSetLinkTexture () или llSetLinkPrimitiveParamsFast (). Например:

llSetLinkPrimitiveParamsFast (0, [PRIM_TEXTURE, 0, IMG_USE_BAKED_UPPER, <1.0, 1.0, 0.0>, ZERO_VECTOR, 0.0]);
установил бы первую грань несвязанного прима, чтобы использовать запеченную текстуру верхней части тела.

Информация.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1625 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...