Donate with PayPal button New New

+ Ответить в теме
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: Сезоны. Секрет приготовления

  1. #1
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303

    По умолчанию Сезоны. Секрет приготовления

    Начиная с ТРС2010, появилась поддержка сезонных объектов. В отличие от, например, РВ, ТРС имеет более гибкую настройку таких сезонов. К сожалению, найти более менее полную информацию о том, как их настроить, в сети невозможно. Даже на wiki и то описание посредственное, и в чем-то даже неправильное.

    И так, как же сделать сезонный объект. Для начала разберёмся, к чему же можно применять сезоны. Их можно применять к любым видимым объектам на карте. То есть к различным зданиям, машинкам, человекам, деревьям, индустриям, рельсам, путевым объектам, сплайнам и в конечном итоге к текстурам земли.
    Первое, что необходимо сделать, это создать нужные объекты. В отличии от РВ, в ТРС нельзя просто менять текстуру объекта под соответствующий сезон. Это значит, что если мы хотим сделать домик с текстурой снега и тп, нам надо делать два домика с разными текстурами.

    И так, с сезонами определились, объекты сделали. Теперь необходимо создать непосредственно сами сезоны. Для этого имеется контейнер
    [PHP]season-selector
    {
    }
    [/PHP]
    В нём мы и будем описывать наши сезоны. Все сезоны записываются как условия. В качестве условия используется период года и определяется тегом
    [PHP]season-range xxx, yyy[/PHP]
    с двумя значениями "xxx" - дата начала сезона, "yyy" - дата окончания сезона, определяемые дробным числом от 0.0 до 1.0. Началом года, как бы это не казалось абсурдным, является 1 июня. Это значит, что значение 0.0 соответствует 0:00 1 июня.

    Для определения номера сезона, а именно он понадобится для мешей, используется тег
    [PHP]output-season x[/PHP]
    где "x" - номер сезона. Их может быть сколько угодно, и не обязательно по порядку. Собственно этот тег является выходом из условия.
    Для проверки, выполняется ли условия сезона служат два контейнера
    [PHP] branch-true
    {
    }
    [/PHP]
    содержимое которого проверяется, если дата уложилась в заданный период и
    [PHP] branch-false
    {
    }[/PHP] если дата в заданный период не укладывается. Оба эти контейнера являются аналогией основного контейнера
    [PHP]season-selector
    {
    }
    [/PHP]
    То есть, новое условие или выход мы пишем в них.
    Вот простенький пример из 4х сезонов

    [PHP]season-selector
    {
    season-range 0.0,0.3

    branch-true
    {
    output-season 0
    }

    branch-false
    {
    season-range 0.3,0.6

    branch-true
    {
    output-season 1
    }

    branch-false
    {
    season-range 0.6,0.9

    branch-true
    {
    output-season 2
    }

    branch-false
    {
    output-season 4
    }
    }
    }
    }[/PHP]
    Вот таким образом и создаётся дерево сезонов.

    Теперь необходимо указать мешам в какие сезоны им появляться. Для этого есть тег
    [PHP] mesh-season x[/PHP]
    где x - номер требуемого сезона из нашего дерева.

    То есть мешь в mesh-table будет выглядеть так
    [PHP] summer
    {
    mesh "mymesh.im"
    auto-create 1
    mesh-season 2
    }
    [/PHP]
    Как видно, ничего сложного в этом нет.


    Заранее прошу прощения у тех, кто ничего, как и я, из написанного не понял. Я не самый лучший объясняльщик.


  2. #Trainz
    Реклама
    Регистрация
    Постоянная
    Адрес
    Весь мир
    Возраст
    2010
    Сообщений
    Много

    Donate with PayPal button N3v New New

     

  3. #2
    Пользователь Аватар для ak_timur
    Регистрация
    20.09.2009
    Страна
    Адрес
    г.Темрюк, Краснодарский край
    Возраст
    58
    Сообщений
    1,883

    По умолчанию

    Четыре сезона стоит делать для флоры (деревья, трава, кустарник) и для текстур поверхности.
    Остальные объекты могут обойтись двумя - зима-лето.

    Вот пример конфига для двухсезонного объекта scenery:
    [PHP]
    kuid <kuid2:68213:15004:2>
    username "Derelict baggage car 01"
    kind "scenery"
    trainz-build 3.6

    mesh-table
    {
    summer
    {
    auto-create 1
    mesh-season 0
    mesh "summer\derelict_baggage_car_01.im"
    light 1
    }

    snow
    {
    auto-create 1
    mesh-season 1
    mesh "snow\derelict_baggage_car_01.im"
    light 1
    }
    }
    category-keyword "baggage;static"
    height-range -50,50

    obsolete-table
    {
    0 <kuid2:68213:15004:1>
    }
    rollstep 1
    rotate-yz-range -180,180

    season-selector
    {
    above-snow-line "1"

    branch-true
    {
    output-season "1"
    }

    branch-false
    {
    output-season 0
    }
    }
    category-class "BR"
    category-era "1930s"
    category-region "US"
    description "Derelict baggage car, static scenery only.

    For this update I have toned down the brightness, added normal-mapped, altitude-dependent summer/snow textures, and simplified the mesh using opacity instead of Boolean techniques. Made with gmax, no LOD, 448 triangles, 1 material per mesh."
    author "Deane Tunaley"
    license "Freeware, for distribution only by N3V. No publicly distributed reskins please."
    contact-email "dxt333@hotmail.com"

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

    kuid-table
    {
    }
    [/PHP]

    А вот сам объект, посмотреть, как устроен:

    Для объектов, использующих одинаковую текстуру, например всякие варианты ящиков, сарайчиков, камней, шпал и т.д., имеет смысл создать библиотеку мешей.
    [I][B]Der Zug Um 7.40 Uhr[/B][/I]

  4. Сказали спасибо: (2)


  5. #3
    Пользователь Аватар для Skif
    Регистрация
    25.05.2010
    Страна
    Адрес
    Минск
    Возраст
    37
    Сообщений
    1,368

    По умолчанию

    С рельсами работает?
    Это наша-то колея узкая? Да это просто ваша слишком широкая!

  6. #4
    Пользователь Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    35
    Сообщений
    3,554

    По умолчанию

    Skif, должно.

  7. #5
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303
    Автор

    По умолчанию

    ak_timur, тот конфиг к нашим объектам не подходит. В нём стоит условие на нахождение объекта выше линии снежных шапок, а к календарю там никакой привязки.

  8. Сказал спасибо:


  9. #6
    Пользователь Аватар для RONNI
    Регистрация
    24.11.2010
    Страна
    Возраст
    28
    Сообщений
    654

    По умолчанию

    ak_timur, хороший конфиг, после объяснения Эрендира прям наглядный пример поставил все на свои места. Только не согласен, что для объектов(дома) нужно только 2 сезона. Осень никак нельзя списать со счетов. Думаю трех времени года будет достаточно: зима-лето-осень. Только обязательно нужно поставить границы этим временам года. Т.е. зима к примеру с 1 декабря до 31 февраля(но на самом деле это не всегда так). Может получиться ситуация, что один автор сделал зиму с 1 дек до 15 февр а другой до 31 февр. Т.е если поставить эти оба объекта на карту и выбрать 23 февр то один дом еще во снеге(зимний вариант) а второй уже с летней текстурой.

  10. #7
    Пользователь Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    35
    Сообщений
    3,554

    По умолчанию

    Цитата Сообщение от Эрендир Посмотреть сообщение
    Началом года, как бы это не казалось абсурдным, является 1 июня. Это значит, что значение 0.0 соответствует 0:00 1 июня.
    После 0.0 - полдень это уже не выглядит неожиданно.

    Кстати про дерево. А почему у тебя ветвление только по else? Можно же было равномернее распределить. Тот же вопрос по дереву ЛОДов.

  11. #8
    Пользователь Аватар для Skif
    Регистрация
    25.05.2010
    Страна
    Адрес
    Минск
    Возраст
    37
    Сообщений
    1,368

    По умолчанию

    И рельсам тоже два сезона мало - весной и осенью они в 90% случаев окрашиваются в черный из-за конденсата и влаги. Особенно деревянные шпалы. Да и цветов балласта больше реализуется в межсезонье.
    Это наша-то колея узкая? Да это просто ваша слишком широкая!

  12. #9
    Разработчик Аватар для B.U.G.O.R.
    Регистрация
    07.02.2010
    Адрес
    Montenegro
    Возраст
    30
    Сообщений
    8,379

    По умолчанию

    А еще надо унифицировать название. Чтобы не искать среди тонн объектов сезонные. Я вот уже сделал один объект себе, я перепилю все остальные свои, но чтобы знать точно, что объект сезонный, предлагаю писать где-нибудь в начала (S), ну типа season. За\против?
    Цитата Сообщение от RONNI Посмотреть сообщение
    Может получиться ситуация, что один автор сделал зиму с 1 дек до 15 февр а другой до 31 февр.
    А на счет этого, я предлагаю просто взять уже готовые теги для конфига из деревьев Cap1e. За\против?

    ---------- Сообщение добавлено в 16:50 ---------- Предыдущее сообщение размещено в 16:49 ----------

    Цитата Сообщение от RONNI Посмотреть сообщение
    31 февраля
    Кстати, это интересно.

  13. #10
    Пользователь Аватар для ak_timur
    Регистрация
    20.09.2009
    Страна
    Адрес
    г.Темрюк, Краснодарский край
    Возраст
    58
    Сообщений
    1,883

    По умолчанию

    B.U.G.O.R., кроме имени файла есть такой тэг category-keyword , по нему тоже легко осуществляется поиск. Специально сделан, чтобы не разгонять имя файла до неприличных размеров. Вот в нем можно написать и "season" и "bugor" и другие ключевые слова.
    [I][B]Der Zug Um 7.40 Uhr[/B][/I]

  14. Сказал спасибо:


+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения