2012-03-22 2 views
0

Я пытаюсь найти лучший способ для проектирования автомобилей и дорожных объектов для игрового дизайна, над которым я работаю.Класс Дизайн: Автомобиль и дорога

Идея для автомобилей ИИ (а также автомобиля, управляемого игроком), чтобы распознать, когда они пересекают пунктирные линии или прямые линии на дорогах. Я хотел бы иметь возможность построить Variable Lane Road для Unity3D с соответствующими флагами и вспомогательными объектами, чтобы автомобили узнавали, где они находятся, и когда и как они проходят или поворачиваются и т. Д. 'И т. Д.

Например , дорога может иметь одно направление или находиться в обоих направлениях. Для каждого направления может быть несколько полос движения. Дорожки позволяют автомобилям обгонять друг друга (что означает пунктирную линию между дорожками). Если это двунаправленная дорога, то между двумя полосами есть линия между двумя полосами - при желании и в идеале, если на любом из направлений имеется более одной полосы, тогда линия, которая разделяет направляющие полосы, прямая. По умолчанию должен быть флаг, который рисует линию в соответствии с флагом isOvertakingAllowed boolean.

Важнейшая часть состоит в том, что объекты Car должны знать, на какой полосе движения они находятся, или если они находятся на линии разделения полосы и какой тип это разделение (допускается обгон). Это трудная часть, для меня.

Любая помощь приветствуется.

ответ

1

Существует article на gamasutra с описанием модели, которая использовалась для opencity, и как различные агенты (стандартный автомобиль, гоночный автомобиль, пешеход ...) могли бы использовать его. Это может дать вам несколько указателей или идей.

2

Я бы порекомендовал вас осуществить Lane, которые имеют направление движения. Затем реализуем команду Road, которая имеет набор точек, путь, определяющий ее форму и расстояние, и набор объектов Lane, следующих за этим путем. Независимо от того, является ли дорога односторонней или двусторонней, вопрос о том, сколько дорог и сколько полос они имеют.

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

Вы также можете иметь специальный пункт в Road, называемого Intersection, который является точкой подключения нескольких Lanes, и каким-то образом указать, какие LanesCar может перейти и с момента, когда он в Intersection.

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

+0

Действительно, это хорошее начало. Однако мой игровой дизайн немного сложнее. Все в порядке, чтобы автомобиль пошел на линию разделения - и в этом случае различные действия, которые может сыграть игра, могут быть вознаграждены. В основном, объекты автомобиля НЕ должны быть сжаты полосами или дорогами. Только руководствуйтесь ими и информируйте их (я имею в виду, чтобы автомобили знали, где они находятся и что такое нарушение правил дорожного движения, которое они могут делать). –

+1

Итак, используйте дорожку/дорогу в качестве поворотного устройства для поворота и т. Д., Но допускайте некоторое смещение от этой жесткой линии, которая гаснет, насколько вам угодно. Например, в моей технической демонстрации Pedestrians пешеходы используют A * для поиска пути через лабиринт, а пути, которые они возвращают, основаны на 8 направлениях.Тем не менее, им разрешено отклоняться от этих путей, чтобы поворачиваться и избегать друг друга. Вот видео: http://www.youtube.com/watch?v=ZEY9MLpDkGE&list=UU7iqR7zggnpvZySau81qCqw&index=2&feature=plcp – jefflunt

Смежные вопросы