Пятница, 26.04.2024, 09:36



Приветствую Вас Гость | RSS
[ Главная ] [ Уроки ] [ Регистрация ] [ Вход ]
Меню сайта

Категории каталога
Мои уроки [9]
Мои уроки
Уроки от berleksus [3]
Уроки от berleksus

Главная » Статьи » Мои уроки

Анимируем ворота (часть 2)

       Далее я буду экспортировать модель в 5 макс через Export  в формате 3ds. Импортируем файл в 5-ом Макса с вот такими настройками:

 

     
 

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

Модель отображается в сером виде, необходимо перепрописать пути к текстурам. Вызываем меню Material Editor (M), Далее пипеткой кликаем на наш объект. Текстуры должны появиться. Проверим путь к ним в свитке Map. Он должен соответствовать расположению нашей текстуры на винчестере. Необходимо сделать это, иначе при экспорте в Trainz имена текстур могут слететь.

       Как я уже говорил раньше, наши ворота будут сконфигурированы как переезд. Т.е. они будут реагировать на приближение поезда, открываясь, а не закрываясь, как это делает переезд. Поэтому у нас будет обратный порядок анимации. Не смотря на то, что по умолчанию ворота будут закрыты, в нулевом кадре анимации мы должны показать ворота в открытом состоянии. Поэтому последним штрихом моделирования, будет установка створок в положение «открыто».

       Давайте повернем обе створки на 90 градусов.  Используем для этого Select and rotate с нажатым ограничителем Angle snap toggle, который будет осуществлять вращение с шагом в 5 градусов.

Далее сдвинем створки ворот на место их дислокации, помня, что петли,  т.е. оси вращения створок, расположены где-то на стыке внешнего угла створки, соприкасающегося со стойкой.

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

       В любом случае вот так должны выглядеть ворота перед анимацией:

 

     
 

 

 

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

 

 

 

       Все вспомогательные элементы, будь то Dummy или Point, должны добавляться к модели только через вид сверху (top), это правило обязательно к выполнению.  Если хоть один Dummy будет создан в виде отличном от сверху (top), глюки 100% будут вам обеспечены.

 

 

 

       Ставим наши Point-ы (меню CreateHelpers) на оси наших ворот, первую перед ней, вторую после, примерно на одинаковом расстоянии и с расстоянием между ними, предположим, в  2 метра. Это не принципиально, можно делать 5 и 10 и 100 метров. Здесь не обязательна высокая точность. В природе нет ничего идеального. В принципе, можно поставить один Point, второй просто склонировать, перемещая его только по одной оси. Не забудьте про названия вспомогательных объектов, они должны обязательно соответствовать спецификации от Auran. Остальные объекты можно называть так, как вам нравится. Этап расстановки Point-ов привязки рельс, можно проделать и в конце, здесь нет принципиальных условий, тем более что данные вспомогательные элементы могут  не линковаться к центральному Dummy.

 

 

 

       Переходим к анимации. Вся анимация в Trainz основана на Dummy. Это вспомогательные элементы – пустышки, которые никак не отображаются, но линкуются с объектами и именно их мы и будем анимировать.

 

 

 

       Правила расстановки для Dummy (меню CreateDummy) такие же, как и для Point-ов – т.е. только через вид сверху. Ставим главный Dummy на отметку 0,0,0. Это тоже обязательное условие. Сам размер Dummy не имеет значения. Основной Dummy должен носить имя либо b.r.main, либо b.r.base и никак иначе. Это родительский объект, на котором будут слинкованы далее все наши элементы. Основной Dummy лучше не трогать в дальнейшем.

 

 

 

       Сейчас наша модель должна выглядеть следующим образом:

 

 

 

     

 

 

 

 

 

 

 

       Теперь создадим Dummy для каждой створки. Для этой цели  можно просто склонировать основной Dummy. Переименуем получившиеся Dummy в b.r.stvorka и b.r.stvorka1. Можете использовать иные произвольные имена, но обязательно с наличием букв  - b.r. в начале.

 

 

 

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

 

 

 

       Вот так:

 

 

 

 

 

     
 

 

 

 

       Перед  линкованием давайте отцентруем оси вращения створок с соответствующими Dummy. Для этого активируем мышкой створку, в правом меню переходим на закладку Hierarchy, раздел Pivot, жмем Affect Pivot Only, далее Alt+A или Allign, вид курсора меняется на два прямоугольника, далее жмем на границу соответствующего Dummy. В появившемся окне ставим галочки в таком вот порядке:

 

 

 

      

 

 

 

 

 

 

 

       Жмем ОК. Проделываем то же самое со второй створкой.

 

 

 

       Все, осталось только слинковать все и приступить к анимации. Линкуем по следующей схеме: створки к соответствующим Dummy (b.r.stvorka(1)), Dummy створок линкуем с центральным b.r.base, стойки также линкуем к центральному Dummy. Точки привязки можно не линковать. Линковать надо, выделив зависимый объект, далее в основном меню жмем на кнопку Select and Link,  наводим курсор на наш объект, он принимает форму двух квадратов, далее жмем левую кнопку мыши и, не отпуская ее, наводим курсор на родительский объект, с которым мы хотим слинковать наш.

 

 

 

Запомните, мы линкуем объекты (боксы, плейны, меши) к Dummyа не наоборот. Dummy могут линковаться только со старшими Dummy. Все должно быть слинковано и в итоге замыкаться на основном Dummy.  Результат  линка можно посмотреть в меню Select by Name, активировав галочку Display Subtree.

 

 

 

       Должно получиться вот так:

 

 

 

      

 

 

 

 

 

 

 

       Можно приступать к анимации. Для начала установим длину анимации в 30 кадров, этого будет достаточно для ворот. За анимацию отвечает меню, находящееся внизу, под видами проекции. Жмем Time Configuration (кнопочка с часиками). В открывшемся окне в разделе Animation меняем цифру в поле End Time на 30. Жмем Re-Scale Time. Далее два раза ОК.

 

 

 

Линейка анимации (внизу) должна стать длиной в 30 кадров. Убеждаемся, что бегунок кадров стоит на 0. Жмем кнопку Set Key (внизу), линейка окрашивается в красный цвет. В этом режиме кликаем сначала на один Dummy створки, затем с нажатой клавишей CTRL на второй, выделяя их вместе. Далее жмем на кнопку с изображением ключа. На линейке на нулевом кадре, где сейчас находится бегунок анимации, появляется метка ключа. Так мы активировали первый ключ анимации в кадре 0 для обеих наших створок.

 

 

 

     
 

 

 

 

       Двигаем бегунок анимации в крайнее положение на 30 кадр. Выбираем на основном меню манипуляцию Select and Rotate. Выделяем один из наших Dummy и вращаем его в положение створка закрыта, т.е ровно на 90 градусов. Убедитесь, что у вас активирована функция (кнопка) Angle snap Toggle, так как в этом случае вращение будет происходить с шагом ровно в 5 градусов. Производим те же действия с Dummy второй створки.

 

 

 

       Готово. Осталось сохранить исходный файл и произвести экспорт в формат Trainz. Перед экспортом, убедитесь, что ни один объект или Dummy не выделен. Выбираем в меню экспорт формат Trainz, сначала экспортируем саму модель с расширением .im, задайте любое произвольное имя, без указания расширения. Далее производим ту же операцию, но экспортируем файл анимации, я использую дефолтное имя файла anim.kin, но это не принципиально, при экспорте файла анимации необходимо помимо имени файла обязательно добавить и расширение .kin иначе вы опять произведете экспорт в .im  формат.

 

 

 

      

 

Я не использую штатную функцию СМР по созданию config файла, так как нахожу ее достаточно глючной и сложной в понимании. Поэтому просто найдите config файл любого однопутного поезда и скопируйте его в вашу папку, изменив все нужные данные в нем (имя файлов, название, Kuid, автора и т.д.). В СМР создайте новый объект с любым типом, я использую Scenery, откройте папку для редактирования в Explorer, замените config.txt на заранее подготовленный, пропишите в нем номер Kuid и скопируйте файлы наших ворот в эту папку. Произведите commit (Ctrl+m). Я использую вот такой config.txt:

kuid                            <kuid:370528:1270>
category-class            "BR"
type                            "Scenery"
light                            1
mesh-table {
    default {
        mesh                    "Lessonvorota.im"
        anim                    "anim.kin"
        auto-create                1
    }
}
kind                            "mocrossing"
attached-track {
    track_one {
        track                    <kuid:-10:137>
        useadjoiningtracktype            1
        vertices {
            0                "a.track0a"
            1                "a.track0b"
        }
    }
}
trainz-build                       3
category-region               "KZ"
category-era                    "1970s"
username                        "n_Lessonvorota"
author                            "Neoklai"
kuid-table {
    0                                <kuid:-10:137>
}
contact-email                    "zubec75@mail.ru"
contact-website                "www.neoklai.org"

thumbnails

{
  0
  {
    image                               "$screenshot$.jpg"
    width                               240
    height                              180
  }
}

 

Сделайте скрин готовой модели и поместите его под названием $screenshot$.jpg в папку редактирования модели - этот скрин будет появляться в СМР во вкладке "детали".

 

   

 

   В случае какой-либо ошибки в структуре файлов или в config.txt напротив вашей модели в CMP загорится красный восклицательный знак. В этом случае выберите через меню функцию View Error и посмотрите в чем дело. В нашем случае в папке с объектом должно быть 5 файлов:

 

 

 

 

 

 

1. Файл текстуры

 

 

 

2. Текстовый файл текстуры

 

 

 

3. Сам объект с расширением .im

 

 

 

4. Файл анимации с anim.kin

 

 

 

5. Файл config.txt

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

       Скачать исходный файл в максе и текстуру можно здесь:

 

http://neoklai.ucoz.ru/Lesson1.rar

 

 

 

 

 

 

 

 

 

 

 

           

 

 

 

 

 

 

 

 

 

 

 

 

Категория: Мои уроки | Добавил: Lana (30.06.2008) | Автор: Neoklai
Просмотров: 6284 | Комментарии: 2 | Рейтинг: 5.0/2
Всего комментариев: 2
2 Anton-eep  
Небольшая поправка: часть 2

1 ylitka_den  
biggrin cool спасибо )) мне помогло) вот только текстура стенки пропала((( но я еще разберусь) biggrin

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Поиск

Друзья сайта





Статистика



Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright Dobryi © 2024