Перейти к содержимому


Фотография

[1.2.5][SSP] Хонка [-0.0.0]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 69

#1 Nait

Nait

    Зачарователь

  • Пользователи
  • Сообщений: 1903

Написал 31.08.2011 - 17:13

Изображение


Здесь я буду писать о своем моде.
Направление работ — рельсы, поезда, и все с ними связанное.
Источник вдохновения — Цели

Верхнее строение пути:
Всё вышесказанное является сугубо моим мнением и не обязательно правильным.

#2 Konstantin

Konstantin

    RIP

  • Пользователи
  • Сообщений: 3397
  • Откуда: I'M A POTATO!

Написал 31.08.2011 - 17:21

Я в моддинге не очень разбираюсь, но могу посоветовать вскрыть "Trains and Zeppelin MOD" и посмотреть, как реализуется движение по рельсам.

Зовите меня просто - Костя.

Скрытый текст

#3 Nait

Nait

    Зачарователь

  • Пользователи
  • Сообщений: 1903

Написал 31.08.2011 - 17:51

я пока не вскрывал, но догадываюсь, что там взят код от вагонетки - иначе, от чего бы вагонам частично проходить через друг друга и стены?А вот код вагонетки такой запутанный что в нем с наскока не разобрался :/
Всё вышесказанное является сугубо моим мнением и не обязательно правильным.

#4 Konstantin

Konstantin

    RIP

  • Пользователи
  • Сообщений: 3397
  • Откуда: I'M A POTATO!

Написал 31.08.2011 - 18:38

Ну потрать побольше времени, ведь ты же серьезно им собираешься заниматься, да?Да и я особо не советчик, я если только в тестеры.

Зовите меня просто - Костя.

Скрытый текст

#5 Breein

Breein

    Добытчик алмазов

  • Пользователи
  • Сообщений: 783
  • Откуда: Россия, Новосибирск

Написал 31.08.2011 - 19:18

Это отличная идея для мода, всегда искал такой, а то эти кривые стрелки, и Г образные повороты просто раздражают, также как и тупо движение вагонетки. Очень нужны нормальные стрелки, круглые повороты, и может быть даже семафоры. Короче, нужно чтобы в майнкрафте можно было создать любой существующий жд строительный менеджер. Как отличный пример такой игры предлагаю попоялиться на скрины , или же качнуть и поиграть, чтобы понять о чем я таки веду речь :) P.S. А можно сделать рельсы 3D? А то по плоскости уж очень очень отстойно ездить.

#6 Nait

Nait

    Зачарователь

  • Пользователи
  • Сообщений: 1903

Написал 01.09.2011 - 02:16

Спасибо и на этом :/Да, 3D я могу легко (наверное) сделать, только не уверен - не добавится ли лагов от этого?
Всё вышесказанное является сугубо моим мнением и не обязательно правильным.

#7 Oflor

Oflor

    Тонущий в песках душ

  • Пользователи
  • Сообщений: 2327

Написал 01.09.2011 - 08:08

не добавится ли лагов от этого?

не добавится



#8 Konstantin

Konstantin

    RIP

  • Пользователи
  • Сообщений: 3397
  • Откуда: I'M A POTATO!

Написал 01.09.2011 - 15:29

А почему ты так думаешь? Нотч

Придется писать специальный код, а это ОЧЕ сложно, окда?

Зовите меня просто - Костя.

Скрытый текст

#9 TroJaN

TroJaN

    Добытчик железа

  • Пользователи
  • Сообщений: 400
  • Откуда: Страна дружбомагии

Написал 01.09.2011 - 15:36

Я только если тестер/текстурмейкер... Насчёт времени уделяемого, хз. Думаю с 16:00 до 19:00 буду свободенЕсли серьезно возьмусь изучать Java, возможно буду скриптером.

#10 Nait

Nait

    Зачарователь

  • Пользователи
  • Сообщений: 1903

Написал 01.09.2011 - 16:29

Придется писать специальный код, а это ОЧЕ сложно, окда?

Ну, разве что на коде движения я застряну, а с остальным пока справляюсь, помаленьку)

Я только если тестер/текстурмейкер... Насчёт времени уделяемого, хз. Думаю с 16:00 до 19:00 буду свободен Если серьезно возьмусь изучать Java, возможно буду скриптером.

Окей, тогда можешь помочь с текстурами? У меня вроде нормальные, но хайрез тоже можно, пофиг, пойдет и с дефолтным ТП...
Всё вышесказанное является сугубо моим мнением и не обязательно правильным.

#11 TroJaN

TroJaN

    Добытчик железа

  • Пользователи
  • Сообщений: 400
  • Откуда: Страна дружбомагии

Написал 01.09.2011 - 16:33

В скайп добавь markorus12345

#12 MetroiD

MetroiD

    Добытчик светокамня

  • Пользователи
  • Сообщений: 3300
  • Откуда: FROM ZEBES

Написал 01.09.2011 - 16:37

Посыки, вам в конфочку нада(да, да, ту что жаббер), там сидят кодеры: вд, агентпомидорка, офлор, и собсна я...Если будут вопросы, обращайтесь, не знаю как те что перечислены, но я помогу(чем смогу)...И да, название негодное, я уж думал рельсотрон в майнкрафт ввести захотели...Хмм... я бы не отказался кидаться монетками из металла, как Мисака(рейлган) из индекса...

Obscurell - скайп, вк...
Личность успешно существует...
 


#13 TroJaN

TroJaN

    Добытчик железа

  • Пользователи
  • Сообщений: 400
  • Откуда: Страна дружбомагии

Написал 01.09.2011 - 16:47

RRCraft

#14 MetroiD

MetroiD

    Добытчик светокамня

  • Пользователи
  • Сообщений: 3300
  • Откуда: FROM ZEBES

Написал 01.09.2011 - 16:55

Райлроад крафт больше подходит, да...

Obscurell - скайп, вк...
Личность успешно существует...
 


#15 Playermet

Playermet

    Олежа :3

  • Главные модераторы
  • Сообщений: 9368
  • Откуда: Макеевка, ул.Ленина,д.84/16

Написал 09.09.2011 - 21:10

Посыки, вам в конфочку нада(да, да, ту что жаббер), там сидят кодеры: вд, агентпомидорка, офлор, и собсна я...

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

Для форумчан можно просто Олег.

Скрытый текст

#16 genaplus

genaplus

    Зачарователь

  • Пользователи
  • Сообщений: 1547
  • Откуда: вот оттуда.

Написал 10.09.2011 - 07:00

я бы помог с текстуркамикстати учусь сейчас модингу в minecraft по верхним статьям

#17 Playermet

Playermet

    Олежа :3

  • Главные модераторы
  • Сообщений: 9368
  • Откуда: Макеевка, ул.Ленина,д.84/16

Написал 10.09.2011 - 21:20

Итак. Как и обещал пара советов. Для начала, я изобразил теоретическую траекторию поезда и схематическую форму путей, места пересечения границ блоков я взял за опорные точки, они выделены синим. Иллюстрация: [attachment=3]scheme1.PNG[/attachment] Далее я на основе занимаемого пространства определил размер площадки для разворота, 3х3 оказалось достаточно. Так-же я четко выделил все опорные пункты белым. Красным прямоугольником выделена площадка, зелеными - прямые пути. Иллюстрация: [attachment=2]scheme2.PNG[/attachment] Здесь я определил размер вагона - 2х3, выбрал положение осей, которые будут опираться на путь. Оси выделены красным, физический центр располагается прямо между осями и выделен желтым. Иллюстрация: [attachment=1]scheme3.PNG[/attachment] Ближе к коду. У нас есть вагон, у него 2 оси. Когда вагон поставлен на рельсы, мы должны точно проверить, соответствует ли количество путей размерам вагона. Это очень важно, иначе ничего не получится. Так-же было бы неплохо специальный инструмент для снятия путей, и ограничение на снятие путей, над которыми находятся вагоны. Сразу при установке вагона, мы должны установить координаты двум осям в пространстве. Координаты эти берутся из координат путей, на которые ставится вагон. Оси должны встать точно на центр между блоками по ширине вагона, а между осями должно быть строго определенное расстояние, при чем определенное заранее, от него будет зависеть многое. И естественно вагон должен стоять параллельно путям, и желательно укладываться идеально точно в центре 2*3 блока. Для этого можно сначала определить цент вагона, а затем вычислить координаты осей. При этом оси обязательно равноудалены от центра. Немного о данных. Для начала, сразу после установки вагона мы должны определить 2 вещи. Это позицию блока, на котором стоит задняя ось, и блока на котором стоит передняя. Это тоже очень важно. Немного о теории. Весь наш вагон воспринимайте как отрезок между двумя координатами осей. Это точки А и Б. Опуская пока высоту у каждой точки есть х и у. Обозначать я их буду А.х, А.у, Б.х, Б.у. Но модель вагона мы можем отобразить только по одной точке. Для этого мы вычислим центр С. С.х=(А.х+Б.х)/2 С.у=(А.у+Б.у)/2 Таким образом, мы получаем центральную точку между А и Б. Далее мы должны определить угол между А и Б. Вот так выглядит код моей функции в с++:
double radxy(double xc,double yc,double x,double y){ double a=0; if(yc!=y)  a=atan((xc-x)/(yc-y))-M_PI/2; if(yc<y)  return a; else  return a+M_PI;}
Я использовал вещественные двойной точности, но нам хватит и обычных. M_PI - это 3.1415. Получив угол, мы должны повернуть точно по нему вагон. Теперь о движении. Сейчас я объясню, зачем нужны 2 оси и зачем нужны позиции блоков под осями. Самое главное - понять принцип. Выше я проставлял опоры на иллюстрациях. Опора должна быть у каждой пары рельс. Вернее одна половина рельсы просто для декорации, вторая - имеет эту самую опору на стыке с первой, декоративной половиной. Примечание: Можно, но не обязательно взять за расстояние между осями длину двух блоков, ибо это расстояние между крайними опорами на пути длиной три блока, на котором изначально стоит вагон. Теперь о главном - во время движения ось должна находится на воображаемом отрезке между текущей опорой, к которой закреплена ось(А вот для этого и нужна позиция блока под осью.) и опорой на следующей паре рельс, к которой движется эта самая ось. Для этого достаточно знать точную позицию опоры (О.х,О.у), позицию следующей опоры (О2.х,О2.у), а так-же пройденный путь относительно начала отрезка, соединяющего опоры - Р. При движении вагона мы: 0) По направлению движения оси определяем "конечную" опору. Текущую берем по позиции блока под осью. 1) Увеличиваем Р на величину скорости. 2) Проверяем, не больше ли Р, чем расстояние между опорами. Если да - то мы должны взять за текущую опору под осью ту, которую на данный момент считали "конечной", присвоить Р = Р - текущее расстояние между опорами. Если нет - то ничего не менять. 3) Теперь нужно вычислить координаты оси. Зная координаты опор, расстояние между ними, и пройденный относительно начала отрезка путь это не сложно. 4) Делаем то-же самое для второй оси. 5) Определяем центр и угол направления вагона по формулам, что были выше. Применяем их. 6) ??? 7) PROFIT!!! Из плюсов: 0) Гладкое движение. 1) У нас две оси. Обычно они идут друг за другом по одним и тем-же рельсам. Однако ничто не мешает удлинить вагон, передние оси поставить на одни рельсы, а задние на параллельные первым рельсы. Не знаю зачем, но может пригодится. 2) Если взять и разделить "оси на рельсах" и "воображаемые реальные оси вагона", объединить их упругими связями, то вагон при движении будет покачиваться и наклоняться даже реальней чем в ИРЛ. 3) Можно подстроить под любые вагоны, ширину рельс и т.д. 4) Учитывая, что позиции следующей рельсы берется с учетом направления движения оси, в пересечении 2 путей нет вообще никаких проблем. Только 2х2 платформу-пересечения с опорой в центре добавить, и все. Вагон проедет так, как надо. Минусы: 0) Не дай Бог рельсам исчезнуть из под колес, как с вагоном произойдет НЁХ. Иллюстрация: [attachment=0]scheme4.PNG[/attachment] Судя по примеру в левом углу четко видно, что применяя метод даже на Г-образных угловых рельсах поворот получается плавным и округлым. В центре довольно коряво я попытался изобразить состояние осе-отрезка на разных этапах движения, намеренно взяв немного в сторону, что-бы не затирать путь. P.S. Прошу прощения за мад скиллз. Иллюстрации лучше видны в пейнте при 4х-8ми кратном зуме. P.S.S. Приятного мозго-плавления.

Для форумчан можно просто Олег.

Скрытый текст

#18 Playermet

Playermet

    Олежа :3

  • Главные модераторы
  • Сообщений: 9368
  • Откуда: Макеевка, ул.Ленина,д.84/16

Написал 10.09.2011 - 22:40

Прошу прощения за даблпост, просто там скорее о механике(да и так большой слишком) а тут более к идеям.1) Думаю, было бы неплохо сделать ускорение и торможение медленным. Что-бы поезд красиво разгонялся как настоящий.2) Специально для торможения можно сделать рельс-тормоз. Сразу после которого двигатель поезда выключится и включатся тормоза. Расположив такой по краям станции можно не волноваться о пропуске остановки.3) Связь межу вагонами можно сделать на связях частиц. При достаточно прочной связи и ограничении скорости вагоны не будут входить друг в друга и будут работать даже составами по 100шт.Можно сделать даже проще, но менее красиво - просто придавать подцепленному вагону скорость впереди-стоящего вагона. А с одинаковой скоростью они точно не столкнуться.4) Не стоит делать нифигические скорости. Имхо даже стандартная пиковая скорость вагонетки великовата.5) Дым из труб. Гудок после проезда по рельс-тормозу. После наступления темноты зажигание спрайтов-ламп в вагонах. Шум проезда колес "по стыкам рельс"(можно при проезде определенного расстояния и сброса его счетчика.). Все это мелочи, но очень приятные.6) Грузовые вагоны. Со счетчиком нагрузки. Т.е. подошел к пустой платформе, щелкнул по ней ПКМ со стаком дерева в руках, и на вагон добавилось 1 бревно, еще 1 стак - еще 1 бревно. Размещать бревна на вагоне можно тупо в цикле. Максимальное количество - стаков 16. Что-бы хоть смысл в вагонах был. Разгрузка производится при активации блока-разгрузчика, стоящего сбоку от рельсы, на которой стоит задняя ось вагона.Так-же для песка, камней. Но уже другие вагоны. Ковше образные.7) Можно цистерну для воды. Так как еще модель не меняется в зависимости от заполненности, емкость ей можно дать на уровне 32 ведер. Это точно убедит игрока в необходимости этой самой цистерны.8) Вагон-вольер?9) Не использовать это тупое уничтожение как сейчас у вагонетки. Лучше уж сделать устанавливаемый гараж 2*3*3 блока, в который при столкновении попадает вагон. А при его активации вагон появляется на рельсах и немного отталкивается в сторону. При этом вагон можно вытащить из гаража как итем из сундука.10) Во избежание бага при съезде вагона с рельса, как только одна из осей вагона не может определить новую конечную рельсу нужно делать на месте вагона взрыв как от динамита и сразу же уничтожать вагон. И эффектно, и баг в фичу превращается.Для существенного упрощение можно и очень желательно для блока рельс иметь переменную - ссылку на вагон, чья ось в данный момент на этом рельсе стоит.

Для форумчан можно просто Олег.

Скрытый текст

#19 Nait

Nait

    Зачарователь

  • Пользователи
  • Сообщений: 1903

Написал 11.09.2011 - 14:26

Playermet, даже незнаю, как тебя отблагодарить!Спасибо большое, это именно то что мне нужно было))Я примерно представлял себе как это сделать, но точных идей не было.На данный момент я делаю повороты, точнее, итемы для добавления поворотов... это быстро доделать, только я ленивый и немного забросил, надо за ум браться))По поводу физики - я когда рассчитывал все, взял размер поворота на 90 градусов в 24 блока О_оМне показалось, что хоть 3*3 будет гладко, но слишком резко. Я сильно ориентировался на РЖ.Также насчет вагонов - не очень знаю что такое гибкие связи, и как их использовать. И перспектива сделать половину рельс фейковыми меня не очень радует... Думаю, можно добавить в расчеты несколько точек - сами колеса, помимо центра осей. К тому же, вагоны есть и с большим количеством тележек, по несколько осей в каждой... Да, ну да об этом попозже подумаем, сейчас мне надо определится с радиусами, размерами и доделать повороты.Вагоны, кстати, я тоже себе представлял побольше, чем 2*3 :/Что скажешь по этому поводу?PS, я немного занимался программированием, в одной физической игрухе, но точно разберусь разве только с тригонометрией (повороты точек, углы и прочая муть))), да немного с ускорениями и физическим движением, т.е формулы - V = V0 + t*a, вроде того)Добавить в блоки дополнительные переменные я уже могу и довольно легко))
Всё вышесказанное является сугубо моим мнением и не обязательно правильным.

#20 Kanareika 1

Kanareika 1

    Странник

  • Пользователи
  • Сообщений: 83
  • Откуда: Челябинск

Написал 11.09.2011 - 14:51

Идея локомотива: активируется в конфиге, требуетИК2 (электровоз), для крафта нужен генератор. Высота - 3 блока, на четвёртом блоке должны быть провода (под напряжением!). Атомный локомотив (поищи в популярной механике). Требует атомное топливо.
14 летняя школота.


Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных