-
Публикации
11 968 -
Зарегистрирован
-
Посещение
Тип публикации
Профили
Статьи
Форум
Файлы
Все публикации пользователя Alex
-
Я уже запутался: это вы тут про реальность, или про игру? %) В реальности-то наоборот, а в игре таки да, вполне можно сделать и так. Если трамваи будут, как и положено, вмещать заметно больше людей, чем автобусы.
-
-
Коды для анимации дверей. Может, кому-то будет полезно тоже. Кейфреймы для анимации дверей прописываются в .msh-файле каждой дверной створки в блоке animations = { }. Поворотно-сдвижная дверь. Чтобы поворотно-сдвижная (планетарная) створка двери в игре отображалась правильно, при экспорте из 3DsMAX'a её следует поместить в координаты 0, 0, 0. При этом для всех дверей в модели может быть достаточно всего двух створок. А то может и одной, но это ещё покопать надо. Код передней створки: animations = { anim1 = { type = "KEYFRAME", params = { origin = { 0, 0, 0, }, keyframes = { { time = 0, rot = { 0, 0, 0 }, transl = { 0, 0, 0 } }, { time = 600, rot = { 30.00007, 0, 0 }, transl = { 0, 0.09999999, 0 } }, { time = 1200, rot = { 60.00014, 0, 0 }, transl = { 0.09999999, 0.2, 0 } }, { time = 1800, rot = { 84.99829, 0, 0 }, transl = { 0.2, 0.2, 0 } } } } }, }, Код задней створки: animations = { anim2 = { type = "KEYFRAME", params = { origin = { 0, 0, 0, }, keyframes = { { time = 0, rot = { 0, 0, 0 }, transl = { 0, 0, 0 } }, { time = 600, rot = { -30.00007, 0, 0 }, transl = { 0, 0.09999999, 0 } }, { time = 1200, rot = { -60.00014, 0, 0 }, transl = { -0.09999999, 0.2, 0 } }, { time = 1800, rot = { -84.99829, 0, 0 }, transl = { -0.2, 0.2, 0 } } } } }, }, Обратите внимание: здесь слова anim1 и anim2 являются именем анимации, которое будет использоваться в .mdl-файле. Оно может быть любым, но уникальным для каждой новой анимации. Отображение створок дверей на модели определяется в .mdl-файле модели, в блоке children = {} Пример записи: { id = "vehicle/bus/mbo305stubl/lod_0_door1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.52462, -1.18746, 1.28554, 1, }, type = "MESH", }, Здесь: id - путь к модели створки двери; 4.52462 - координата створки двери по продольной оси; -1.18746 - координата створки двери по перпендикулярной оси; 1.28554 - координата створки двери по вертикальной оси. В большинстве случаев последние две координаты будут постоянны для всей модели, изменяться от створки к створке будет только координата по продольной оси. Вызов анимации происходит в том же .mdl-файле, ниже, в блоке events = {}. Анимация для открытия дверей помещается в блок opan_all_doors = {}, для закрытия - close_all_doors = {}. Пример вызова анимации: [1] = { forward = true, name = "anim1", }, Здесь: [1] - номер блока мешей в блоке children (считается от 1); anim1 - имя анимации, которое вы написали в .msh-файле двери Прислонно-сдвижная (сдвижная) дверь При экспорте прислонно-сдвижной (как и сдвижной) двери её можно не сдвигать в нули по перпендикулярной и вертикальной оси, но для удобства расположения на модели желательно поместить в 0 по продольной оси. Код прислонно-сдвижной двери: animations = { anim1 = { type = "KEYFRAME", params = { origin = { 0, 0, 0, }, keyframes = { { time = 0, rot = { 0, 0, 0 }, transl = { 0, 0, 0 } }, { time = 800, rot = { 0, 0, 0 }, transl = { 0, 0.10, 0 } }, { time = 2000, rot = { 0, 0, 0 }, transl = { 0.70, 0.10, 0 } } } } }, }, Здесь во втором кадре дверь сдвигается на 10см влево (относительно переда модели), в третьем - сдвигается на 70 см вперёд, оставаясь при этом в тех же 10см слева. Соответственно, расставляя минусы, можно заставить дверь двигаться назад и вправо. Код для сдвижной двери - почти то же самое, без второго кадра: animations = { anim1 = { type = "KEYFRAME", params = { origin = { 0, 0, 0, }, keyframes = { { time = 0, rot = { 0, 0, 0 }, transl = { 0, 0, 0 } }, { time = 800, rot = { 0, 0, 0 }, transl = { -1.30, 0.0, 0 } } } } }, }, Остальное аналогично тому, что указано в описании для планетарной двери. При инициализации прислонно-сдвижной и сдвижной двери в .mdl-файле можно оставлять равными 0 координаты по перпендикулярной и вертикальной оси. Пример: { id = "vehicle/tram/KTM5M3/ktm5m3_door2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9548, 0, 0, 1, }, type = "MESH", },
-
Ага, именно. Снова же, в CiM в некотором роде этого удалось достичь благодаря скачкам стоимости топлива и электроэнергии. Тут же такого нет. По поводу скорости - сейчас максимальная скорость трамвая зависит в немалой степени от того, на какой дороге проложены рельсы. Тут то же, как у автобусов.
-
Откровенно говоря, я хотел бы, чтобы что-то вроде ЕСЦХ было включено разрабами в ванильную версию. Но для этого нам нужно сделать что-то удобное и играбельное, чтобы было что им предложить. Просто, снова же, у каждого вида транспорта должна быть своя ниша. В данный момент ситуация с автобусами и трамваями немного... далека от реальности, так или иначе. Автобусы в игре получаются и более вместительны, и в итоге более прибыльны, чем трамваи. Тогда как, как мы знаем, трамваи должны работать там, где пассажиропоток слишком высок для автобуса.
- 41 ответ
-
2
-
Да, я сразу modern поставил. Вообще слышно немного, но всё равно ревёт он пздц громко Ага, супер, будем ждать. Просто, например, вот в этом видео отлично слышен высокий металлический стук, а в игре он по-моему скорее больше похож на то, что слышно изнутри пассажирского вагона. Хотя может это я слишком придираюсь уже %)
-
Хм. Довольно странно, ведь один шестиосный локомотив равняется всего полуторе четырёхосных вагонов, не так-то и много. А за код спасибо, попробую для эксперимента его прикрутить к 2ТЭ116, может. upd: а там из-за рёва всё равно не слышно, стучит он или нет
-
Да, в игре используется однотонный звук двигателя. Его тон и громкость изменяется уже движком игры. А стук колёс у вагонов я и так хочу заменить на более звонкий металлический, а не тот сухой, что сейчас используется.
-
В игре локомотивы всё равно не стучат. Брать на звук двигателя звук со стуком тоже не вариант, увы.
-
Ну нет, идея повышения стоимости обслуживания как раз является наиболее удачной. 10% за 20 лет - смешно, сейчас в этом плане всё как раз так, как и нужно, как по мне. Стандартный транспорт в игре и так служит по 40-50 лет, двукратное повышение стоимости обслуживания за это время вполне нормально. Это ведь логично: на то, чтобы поддерживать в рабочем состоянии старый транспорт, нужно тратить куда больше денег, чем на поддержание нового. Другой вопрос, что лучше бы стоимость обслуживания и ресурс считались не по годам, а по пройденному расстоянию.
-
Omich, на всякий случай по поводу звука: он должен быть в .wav, моно, 8 бит. Иначе будет багаться.
-
Ах ты ж, какая хитрая хрень. Вполне возможно, сейчас попробую, спасибо. Касательно синтаксических ошибок в файлах - обычно в этом случае после падения появляется окошко с описанием ошибки. То же самое, например, при неправильном пути к какой-нибудь части модели (двери той же). upd: да, судя по всему, проблема была именно в нулях в .mdl. Спасибо огромное. Сраные нули отъели нехило нервов.
-
Так-с. Я столкнулся с абсолютно и крайне алогичной проблемой, которая уже почти поставила крест на этой модели, потому что З[вырезано]О. Кто будет здесь - проверьте работоспособность у себя. Вкратце, с 4 дверными створками из 5 модель работает отлично, с 5 же створками она работает _иногда_. Вылет происходит после назначения автобуса на линию. Гляньте, как у вас с этим. Может, у меня просто забагалось? Весь сраный день танцую над этим г-ном.
-
-
-
Текстуры для CiM делались же, для внутренних нет места. Может, потом как-нибудь перетяну. Пока побудет так, пассажиры не жалуются.
-
Нуэм, делать перекраски никто не запрещает жи.
-
В остальном всё отлично, вроде. Подправил предыдущий пост.
-
-
-
Так, для анимации поворачивающихся дверей критически важно, чтобы створка находилась в координатах 0, 0, 0. Тогда в скрипте анимация прописывается почти правильно (см. ниже), но расположение двери нужно указывать в .mdl модели. Ошибка в конвертере: для правильного поворота двери в строке rot угол должен указываться в первой координате: rot = { -60.00014, 0, 0 },
-
Да, главную роль тут играет интервал транспорта на линии.
-
Честно говоря, пока не пробовал. ':D Кстати, сегодня и опробую, надо ж МАЗ доделать наконец. Просто, оказалось, для прислонно-сдвижных проще взять кусок кода и вписать три числа, чем делать анимацию в Максе, потом конвертить всё, и всё такое. Но с теми же поворотно-сдвижными всё уже не так просто, так что будем-с экспериментировать.