Урок 4 От теории к практике. Как правильно сесть на стул

Тип статьи:
Авторская

В SL_ВИКИ я наткнулся на один простенький, но действительно интересный и полезный для начинающих скрипт. ПРЯМАЯ ССЫЛКА.

Попробуем разобраться, как он работает.

Создадим объект (куб).

Добавим в него следующий скрипт: (создадим основу)

default
{

    state_entry()
    {

    }

}

Итак. У нас есть на данный момент скрипт, который ничего не делает, но у него есть основной поток default{}, и в нем он опрашивает событие state_entry (старт скрипта).

Нам нужно сесть на этот объект, и для этого мы будем использовать функцию:

llSitTarget(pos,rot);

где pos — vector (дополнительное смешение аватара относительно данного объекта)

а rot — rotation (дополнительный поворот аватара относительно данного объекта)

Попробуем это как-то применить.

default
{

    state_entry()
    {

    llSitTarget(<0.00, 0.00, 1.00>, ZERO_ROTATION);

    }

}

Мы установили на объекте параметры того, как аватар, если сядет на него -  будет на нем сидеть.

Первым идет вектор смещения относительно центра данного объекта

он у нас <0.00, 0.00, 1.00>

или <x=0.00, y=0.00, z=1.00>

т.е. при (посадке на объект) аватар сместиться относительно центра этого объекта по высоте (z=1.00) на единицу.

Вторым идет поворот.

Но мы не хотим использовать поворот. Нас и так все устраивает пока. Но, параметры поворота нужно обязательно передать в функцию, ведь она принимает 2 аргумента, смещение и поворот. Как быть ?

А вот так. Мы используем константу ZERO_ROTATION, это означает поворот 0, т.е. нет никакого поворота.

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

Разумеется смещение и поворот можно подогнать, пробуя менять их параметры.

Кстати, можно сделать так, чтобы аватар (по умолчанию) садился на кубик. Т.е. при наведении на этот кубик курсор мыши смениться на стульчик.

Для этого в СВОЙСТВАХ ОБЪЕКТА во вкладке ОБЩИЕ (FIRESTORM), ==>По щелчку — Коснуться (по умолчанию) измените на Сесть на объект

Подведем итоги.

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

* Этот пример работает корректно НЕ ДЛЯ ВСЕХ случаев.

Нет комментариев. Ваш будет первым!
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.