Подсветка объектов

Подсветка объектов включается при наведении контроллера на объект (действие touch).

../../_images/image_0.gif

Чтобы на объекте работала подсветка, один из его компонентов должен реализовывать интерфейс IHighlightAware.

По умолчанию - при отсутствии эффекта подсветки на Varwin объекте, Varwin платформа добавляет компоненты, реализующие подсветку объекта с дефолтными настройками, при этом подсвечиваться будет объект целиком.

../../_images/image_160.png

Varwin SDK предоставляет возможность изменить эффект подсветки:

  • Изменить настройки внешнего вида эффекта, такие как цвет, толщина линий и прочие;
  • Выбрать, какие части объекта будут подсвечиваться.

Для работы с подсветкой Varwin SDK определяет следующие классы и интерфейс:

  • IHighlightAware - интерфейс, определяющий, будет ли на объекте работать подсветка.
  • HighlightConfig - класс-контейнер настроек подсветки. Реализует интерфейс IHighlightAware.
  • DefaultHighlighter - класс, предоставляющий дефолтные настройки подсветки;
  • HighlightEffect - класс, реализующий логику подсветки.
  • VarwinHighlightEffect - класс, запускающий HighlightEffect с настройками, предоставленными HighlightConfig.
  • HighlightOverrider - класс, позволяющий переопределить подсвечиваемый объект.

Разработчик контента на Varwin SDK может не волноваться о классах HighlightEffect и VarwinHighlightEffect.

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

Далее будут рассмотрены возможности изменения подсветки Varwin объектов.

Изменение настроек подсветки

Интерфейс IHighlightAware определяет, будет ли на объекте работать подсветка. Предоставляет метод, возвращающий настройки эффекта подсветки.

public interface IHighlightAware : IVarwinInputAware
{
    HightLightConfig HightLightConfig();
}

Класс-контейнер HighlightConfig определяет параметры эффекта подсветки.

DefaultHighlighter

Компонент, предоставляющий настройки подсветки HighlightConfig по умолчанию. Реализует IHighlightAware. Добавляется к объекту автоматически.

Для изменения данных настроек необходимо написать подобный компонент и добавить его на объект. Платформа автоматически подхватит эти изменения.

public class DefaultHightlighter : MonoBehaviour, IHighlightAware
    {
            public HightLightConfig HightLightConfig()
            {
                    HightLightConfig config = new HightLightConfig(
            true, 0.3f, Color.cyan,
                            false, 0.2f, 0.1f, 0.3f, Color.cyan,
                            false, 0f, 0f, Color.red,
                            false, 0f, 1.0f, Color.red);

                    return config;
            }
    }

Изменение подсвечиваемых частей

Varwin SDK позволяет переопределить подсветку так, чтобы подсвечивалась лишь часть объекта. Данный урок пошагово рассказывает как это сделать.

Шаг 1. Выделить часть сложного объекта в дочерний gameObject.

../../_images/image_248.png

Шаг 2. Добавить на корневой объект Cube компонент Highlight Overrider, назначить Object To Highlight дочерний объект Sphere.

Поскольку подсветка работает на touch, необходимо добавить Interactable Object Behaviour и отметить Is Touchable.

../../_images/image_330.png

Шаг 3. Сбилдить объект. Загрузить в платформу Varwin.

Подробнее: Билд объектов.

Подробнее: Импорт контента в платформу Varwin.

Шаг 4. Тестирование. При наведение на объект подсвечивается только сфера. Все работает.

../../_images/image_4.gif