Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Сплайны...

Другие вопросы и проблемы разработки дополнений

Сплайны...

Сообщение ***DELT@*** » 16.08.2006, 20:22

Вот - делаю я сплайн, и обнаружилась проблема. Заключпется она в следующем:
Изображение
Вот как мне это исправить?

И ещё одно - когда я ставлю забор на карту, конец его как бы висит в воздухе. Что нужно сделать, чтобы кажды раз в конце забора ненадо было ставить заключающую его палку.

П.С. - мне объясняли, что в игре сплайны сделаны из каких-то трёх частей...
Отличные дополнения для TRS2004тут!!!
Аватара пользователя
***DELT@***
 
Сообщения: 16
Зарегистрирован: 29.07.2006, 22:54
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Сплайны...

Сообщение Эрендир » 16.08.2006, 21:30

***DELT@*** писал(а): Вот - делаю я сплайн, и обнаружилась проблема. Заключпется она в следующем:
Изображение
Вот как мне это исправить?

И ещё одно - когда я ставлю забор на карту, конец его как бы висит в воздухе. Что нужно сделать, чтобы кажды раз в конце забора ненадо было ставить заключающую его палку.

П.С. - мне объясняли, что в игре сплайны сделаны из каких-то трёх частей...

Что бы не было того, что на скрине, уменьше длину сплайна в конфиге.
А сплайн и вправду состоит из 3 частей

Одна основная, две вторые необязательные

Одна - это сам сплайн. Две вторые это объекты расположенные по его краям, а именно в начале и конце. Думаю это и есть ответ на то, как сделать, что бы в конце сплайна появлялась палочка.
Аватара пользователя
Эрендир
 
Сообщения: 121
Зарегистрирован: 04.05.2005, 16:15
Откуда: От туда...
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Алексей

Re: Сплайны...

Сообщение ***DELT@*** » 16.08.2006, 21:51

Вроде как понятно, но...

То что на скрине не из-за длины... Длину я подогнал. Это появляется там, где забор поворачивает. Вот как это исправить?

И та самая вторая часть... Это должен быть отдельный *.im ???

Если да, то как прописать его в конфиге?
Отличные дополнения для TRS2004тут!!!
Аватара пользователя
***DELT@***
 
Сообщения: 16
Зарегистрирован: 29.07.2006, 22:54
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Сплайны...

Сообщение maxfactor » 17.08.2006, 10:08

***DELT@*** писал(а): Вроде как понятно, но...
То что на скрине не из-за длины... Длину я подогнал. Это появляется там, где забор поворачивает. Вот как это исправить?

Может, сделать Split Spline (расщепить сплайн)?
Вот твой билет, вот твой вагон, все в лучшем виде, одному тебе дано...
Аватара пользователя
maxfactor
 
Сообщения: 138
Зарегистрирован: 18.05.2006, 21:45
Откуда: Сергиев Посад
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Роль: Фотограф
Имя: Макс

Re: Сплайны...

Сообщение MylnikovDm » 19.08.2006, 18:39

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

Главной моделью будет сетка, имя её файла .im нужно прописать в параметр
asset-filename <имя IM файла>

Все файлы, которые нужны для построения столбика, нужно записать во внутреннюю папку. Имя папки должно совпадать с именем IM файла столбика. Таких папок может быть несколько, если для разных частей сплайна мы хотим указать разные объекты.

Можно задать объект для начальной точки, для промежуточных точек, и для конечной точки. Они прописываются в файле config.txt соответсвенно строчками:
initiator <имя папки и вложенного IM файла>
divider <имя папки и вложенного IM файла>
terminator <имя папки и вложенного IM файла>
В вашем случае это может быть одна и таже модель, но можно и сделать все три разных. Последний вариант обычно используется при создании моделей мостов, когда отличаются оба съезда и опора моста.
Подгонкой под использования для мостов и тоннелей объясняется и тот факт, что модель, которая используется в качестве terminator, равзорачивается на 180 градусов. При создании мостов это позволяет указывать для начала и конца моста одну и ту же модель.
То есть, если модель симетрична, то можно на это забить. Если же нет, то для последней точки придётся сделать отдельную модель с разворотом на 180 градусов.

Теперь что касается глюка, показанного на вашем скриншоте. Он возникает в тех случаях, когда длина модели не точно соответсвует длине сегмента сплайна, которую вы указали в параметре
length XX
при этом нужно учитывать, что Trainz считает не полную длину сплайна, а длину частей начиная с точки 0,0,0 То есть, если у вас столбик выходит за начало координат в другую сторону и имеет отрицательные координаты, то его не нужно учитывать и включать в длину сплайна. Указывайте только длину самой сетки, которая у вас выступает за начало координат.
Кстати, если указать длину сплайна короче, чем модель, то её конец будет выступать за точку поворота сплайна.

Ещё некоторые параметры, которые могут понадобиться при работе со сплайнами.
bendy - может принимать значения 0 или 1. Если 1, то слпайн будет гибким, то есть будет изгибаться не только в точках начала/конца модели, но и по всей длинне. Но у этого режима есть один существенный недостаток. Он не поддерживает объекты initiator, divider и terminator. Даже если вы их укажете, они будут проигнорированы.
Если прописать параметр grounded 0, то сплайн будет огибать рельеф. Если же grounded 1, то он будет тянутс по прямой между точками, которые вы укажете для слпайна, точно так же как мосты.

Если указать isroad 0, то сплайн будет соединятся только с объектами точно такого же типа. Если же isroad 1, то он будет присоединятся к любым сплайнам, у которых тоже прописано isroad 1.
Аватара пользователя
MylnikovDm
 
Сообщения: 15
Зарегистрирован: 12.07.2004, 21:38
Откуда: Челябинск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Сплайны...

Сообщение FlasH » 25.05.2008, 07:36

А вот такой вопрос. Как сделать примерно следующую конструкцию: Изображение
Это провод поперечный для трамвайной КС. В чем проблема - нужно чтобы изолятор оставался всегда посредине, а крайние точки провода имели разную высоту, для создания эффекта провисания. Причем тут можно:
а) разница высот постоянная - но тут проблема, что тогда угол наклона провода, в зависимости от длины будет разный, а уровень наклона этого изолятора постоянный. Будет некрасиво.
б) делать фиксированной высоты точку начала "протягивания" сплайна, а конечная будет зависеть от длины. Тут может даже чуть логичнее - чем больше длина провода, тем больше будет провес. Но не знаю, как так сделать.
Да и вообще не особо знаю, как сделать фиксированный средний кусок сплайна. А края наоборот растягиваемые.
Есть ли возможность сделать все это? Тогда скажите как, пожалуйста.
Аватара пользователя
FlasH
 
Сообщения: 251
Зарегистрирован: 11.12.2007, 18:40
Откуда: Lugansk/Kharkov
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Играю в: Auran Trainz
Роль: Фотограф
Имя: Павел Комаров

Re: Сплайны...

Сообщение MylnikovDm » 25.05.2008, 10:09

Насколько я знаю движок Trainz, одним объектом это реализовать невозможно.
И вообще вряд ли возможно, поскольку обычные объекты можно попорачивать только вокруг вертикальной оси, а тут требуется поворот вокруг одной из горизонтальных осей. Если же делать сплайном, то там не получится сделать эффект провисания провода.
разница высот постоянная - но тут проблема, что тогда угол наклона провода, в зависимости от длины будет разный, а уровень наклона этого изолятора постоянный. Будет некрасиво.

Если изолятор будет частью сплайна, то он будет наклонятся вместе с проводом. Но только при условии, что всё это есть один сегмент сплайна и изолятор находится посередине. Но в этом случае длина сегмента сплайна должна быть больше длины самого сплайна на карте, иначе движок начнёт размнождать объект и у вас получится несколько изоляторов. Кроме того, при разной длине слпайнов у вас будут изменяться размеры изолятора.

делать фиксированной высоты точку начала "протягивания" сплайна, а конечная будет зависеть от длины. Тут может даже чуть логичнее - чем больше длина провода, тем больше будет провес. Но не знаю, как так сделать.

Этого сделать нельзя. Либо высота фиксирована для всех точек сплайна, либо изменяемая тоже для всех.

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

Одним объектом нельзя. Сплайн состоит из собственно тела сплайна, которое может иметь переменную длину, и в зависимости от опций быть гибкой и с изменением высоты в точках сплайна. Далее, можно назначить отдельные модели для начальной, конечной и средних точек сплайна.

Единсвтенное, что вы можете попробовать, это сделать изолятор отдельным объектом и назначить его как элемент на средних точках сплайна. Честно говоря, я сейчас уже не помню, изменяет ли движок угол наклона для средних объектов, если мы наклоняем сплайн. Вроде как изменяет при некоторых опциях, наприер у заборов. Но в этом случае длина сегмента сплайна должна быть примерно равна половине длины объекта на карте, тогда движок составит его из двух кусочков, добавив в тчоку соединения срединный объект. Если же длина будет ещё больше, то он добавит третий сегмент и у вас будет уже два изолятора. На практике длину объекта можно будет делать примерно от 2/3 до 4/3. Если меньше, то будет всего один сегмент без изолятора, если больше, то сегментов будет уже больше двух, а изоляторов больше одного. Но ещё раз повторюсь, что эффекта провисания провода вы в этом случае не получите, поскольку сегментов у сплайна будет мало. Разве что сам сегмент сплайна сделаете с имитацией провисания, как это часто делают для ЛЭП.
Аватара пользователя
MylnikovDm
 
Сообщения: 15
Зарегистрирован: 12.07.2004, 21:38
Откуда: Челябинск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Сплайны...

Сообщение TRam_ » 25.05.2008, 10:24

MylnikovDm писал(а): Насколько я знаю движок Trainz, одним объектом это реализовать невозможно.
И вообще вряд ли возможно, поскольку обычные объекты можно попорачивать только вокруг вертикальной оси, а тут требуется поворот вокруг одной из горизонтальных осей.

только это возможно. Cкриптами. Как - спрашивай у Varza
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир


Вернуться в [TZ] Другие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5