Класс Дизайн: Авто и Дорога - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь найти лучший способ создания объектов Car и Road для игрового дизайна, над которым я работаю.

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

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

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

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

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

1 голос
/ 24 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...