1. Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, сыграть в увлекательные ФРПГ, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
    Скрыть объявление
  2. Форум аддона "Возвращение" 2.0:
    — Обсудить игру, почитать о прохождениях и/или разрешить свои вопросы по игре вы можете в одной из тем одноименного форума. Посетить...
    — Прочитать историю изменения и/или скачать последнюю версию аддона "Возвращение", вы можете на страницах наших ресурсов. Скачать...
    Скрыть объявление

Важно Как создать простой мувер

Тема в разделе "Spacer", создана пользователем MEG@VOLT, 1 дек 2014.

Статус темы:
Закрыта.
  1. MEG@VOLT

    MEG@VOLT ★★★★★★★
    Модератор

    Регистрация:
    24 мар 2006
    Сообщения:
    1.604
    Благодарности:
    648
    Баллы:
    290
    Муверы в спейсере – это движущиеся обьекты.

    Самый простой пример – каменные двери в храме Аданоса (Яркендар). Они поднимаются вверх, изображая открытие.

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

    Давайте сделаем простой мувер.

    Создаем в спейсере обьект типа zCMover:

    Выбираем тип:


    [​IMG]
    Вставляем мувер в мир:

    [​IMG]
    Зададим для него имя:

    [​IMG]
    Мувер вставлен:

    [​IMG]
    Пойдем дальше.
    Попытаемся добавить небольшую интерактивность в наш мир. Изобразим появление рыбацкой лодки на берегу. Пока сделаем просто появление лодки, без наворотов типа медленного причаливания и т.п.; просто лодка появится на берегу, в то время, как ГГ будет инициировать определенное событие в другом месте - разговор, пересечение триггера и т.п.

    Возьмем 3DS лодки; к примеру, этот:

    [​IMG]
    Так как лодка у нас будет неинтерактивной, сделаем ее простым обьектом типа zCVob:

    [​IMG]
    Теперь сделаем такой трюк: недостаточно просто вставить обьект лодки в мир, нужно, чтобы обьект был привязан к муверу. Делаем следующее: находим наш мувер, и вставляем новый обьект (будущая лодка) как _подобьект_ (child) этого мувера:

    [​IMG]
    Что это даст - а то, что все перемещения мувера будут перемещать и нашу лодку, т.к. она зависит от этого мувера.

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

    Чтобы ГГ не пробегал лодку насквозь, флаг обьекта лодки cdDyn нужно сделать TRUE.

    Раскадровка.

    Теперь самое интересное, суть мувера – ключевые точки (keys).
    Это точки, в которых мувер будет находиться в определенный момент своего движения.

    Обьясню сразу на нашем примере. В начале нашей лодки на берегу быть не должно – это будет первый кадр (key = 0). Передвигаем мувер (не лодку! лодка передвинется сама, т.к. зависит от мувера) так, чтобы лодка исчезла из видимого ГГерою мира (например, “под берег”). Определившись с местом, где будет лодка, в свойствах мувера жмем кнопку new key – первый кадр есть.
    Лодки не видно, это наша цель для кадра 1.

    [​IMG]
    Идем дальше. Теперь нужно определиться, куда лодка встанет на берегу. Передвигаем мувер, следим за лодкой. Определившись окончательно, жмем new key еще раз - эта позиция лодки будет следующим кадром.

    Лодка стоит на берегу - это наша цель для кадра 2.

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

    Щелкая по кнопкам keyframes (< и >) можно посмотреть мувер в действии.

    Примечание: наша задача - мгновенное появление лодки, поэтому в свойствах мувера скорость ставим побольше (чтобы игрок не заметил движения лодки).

    [​IMG]
    Для обьектов типа каменных дверей, к примеру, эта скорость = 0.3; видимо, это зависимость кадр/секунда.

    Хорошо, мувер у нас есть. Как же сделать так, чтобы передвинуть его, к примеру, скриптом?
    Здесь на помощь приходят триггеры.
    Создаем "обычный" триггер (тип zCTrigger):

    [​IMG]
    Заполняем его свойства:

    1) Обязательно – имя триггера, уникальное в пределах мира.Это нужно, чтобы скриптовый оператор WLD_SendTrigger инициировал только нужный нам триггер.
    К примеру, имя триггера (vob_name) = TRIGGER_MOVER_BOAT

    2) Обязательно – цель триггера (поле trigger Target). Здесь вводим имя созданного ранее мувера лодки.
    К примеру, trigger Target = MOVER_01

    3) Обязательно – поставить TRUE в поле reactToOnTrigger – чтобы триггер мог среагировать на WLD_SendTrigger.

    В итоге должно выглядеть примерно так:

    [​IMG]
    Ну вот практически и все.

    Теперь в скриптах пишем в нужном месте
    WLD_SendTrigger(“TRIGGER_MOVER_BOAT”);

    Лодка появится в нужном месте в нужное время

    Автор статьи - marazmus.
     

    Вложения:

    • 1.png
      1.png
      Размер файла:
      16,4 КБ
      Просмотров:
      573
    • 2.png
      2.png
      Размер файла:
      17 КБ
      Просмотров:
      449
    • 3.png
      3.png
      Размер файла:
      2,6 КБ
      Просмотров:
      446
    • 4.png
      4.png
      Размер файла:
      36,2 КБ
      Просмотров:
      557
    • 5.png
      5.png
      Размер файла:
      168,5 КБ
      Просмотров:
      551
    • 6.png
      6.png
      Размер файла:
      5,2 КБ
      Просмотров:
      462
    • 7.png
      7.png
      Размер файла:
      70,1 КБ
      Просмотров:
      535
    • 8.png
      8.png
      Размер файла:
      94,9 КБ
      Просмотров:
      560
    • 9.png
      9.png
      Размер файла:
      177 КБ
      Просмотров:
      523
    • 10.png
      10.png
      Размер файла:
      16,4 КБ
      Просмотров:
      423
    • 12.png
      12.png
      Размер файла:
      12,3 КБ
      Просмотров:
      406
    • 13.png
      13.png
      Размер файла:
      139,6 КБ
      Просмотров:
      600
Статус темы:
Закрыта.

Поделиться этой страницей

Neverwinter