forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   машины в городе (http://forum.boolean.name/showthread.php?t=364)

Akima 27.11.2005 06:24

Здравствуйте. вот делаю тут аля-GTA 4 :lol: , помогите с проблемой, как в играх такого рода создано уличное движение. подскажите кто знает. можете даже кодик подбросить :@ . спасибо что прочитали хоть :unsure: :'((

impersonalis 27.11.2005 14:06

Хоть какая-то, но эмуляция интеллекта тут должна быть.
Например - тупо расставить вейпоинты на карте и закодить алгоритм движения по ним.

alcosholik 27.11.2005 14:45

+алгоритм остановки на светофорах и перед людьми.

jimon 27.11.2005 15:59

надо делать карту улиц и пусть машинки катаются по улицам... учитывая правила дорожного движения

я лично невидел чтобы была какаята закономерность в движении машин в играх типа gta

кстати надо еще задать тип поведения водителя... точнее учитывает он правила дорожного движение или нет

еще надо подумать над обездами и прочее

вообщем сложновато ето зделать

alex-mad 27.11.2005 16:12

Цитата:

Originally posted by jimon@Nov 27 2005, 02:59 PM
я лично невидел чтобы была какаята закономерность в движении машин в играх типа gta
а я вот видел! и поверь там простейшие закономерности! :)

jimon 27.11.2005 16:19

ну и какие там закономерности ? чем толще дорога - тем больше по ней прется машин

и усе

alex-mad 27.11.2005 16:25

Цитата:

Originally posted by jimon@Nov 27 2005, 03:19 PM
ну и какие там закономерности ? чем толще дорога - тем больше по ней прется машин

и усе

а вот утрировать не надо!
если ты играл в gta то ты заметил бы , шта все машины поварачивают на определённых поворотах абсолютно по одним и тем же вейпоинтам...
и едят по прямой тоже по ним же и т.д. и т.п.

jimon 27.11.2005 19:09

Цитата:

надо делать карту улиц и пусть машинки катаются по улицам... учитывая правила дорожного движения
карта улиц... ето и есть твои вейпоинты - только в усложненом виде

alex-mad 27.11.2005 19:14

Цитата:

Originally posted by jimon@Nov 27 2005, 06:09 PM
Цитата:

надо делать карту улиц и пусть машинки катаются по улицам... учитывая правила дорожного движения
карта улиц... ето и есть твои вейпоинты - только в усложненом виде

ну да... так и есть = it's true

SubZer0 27.11.2005 22:52

ко всему вышесказанному хочу добавить, что машины в таких играх типа GTA - динамические, т.е. они есть только там, где ты ездишь... соответственно, кроме примитивных правил дорожного движения (можно легко основать на WayPoint'ах), должны работать функции добавления и удаления машин с карты...

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

ИМХО а объезды, характер водителей и т.п. это уже надо будет наворачивать когда вышесказанное будет работать... :)

Akima 29.11.2005 11:59

спасибо за обсуждение. Но как это все сделать.
Смотрите: я сделал карту с дорогой поставил на перекрестках кубы (вейпоинт) прикосаясь к которому машина поворачивает, НО КАК ОПРЕДЕЛИТЬ, где у нее перед. и едет ли она по дороге

Guest 29.11.2005 12:24

]Может начнёшь с чего-нибудь попроще?[

Повернуть машину "лицом" к вейпоинту поможет это
dyaw# = DeltaYaw (car,WayPoint[k])
TurnEntity car,0,dyaw#,0
при условии, что WayPoint[k], это entity - к-ый вейпоинт
НО поворот будет мгновенным!

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

Если нужно поворачивать (относительно плавно), то можно примерно так сделать
dyaw# = DeltaYaw (car,WayPoint[k])
If Abs(dyaw#)>=carSpdY#
TurnEntity car,0,carSpdY#,0
Else
TurnEntity car,0,dyaw#,0
EndIf

Теперь к этому добавляем MoveEntity car,0,0,carSpdZ#
И получаем очень настырную машинку, которая будет рулить сама!

jimon 29.11.2005 22:46

говорилже надо делать карту дорог, а не набор вейпоитов !

alex-mad 29.11.2005 22:48

Цитата:

Originally posted by jimon@Nov 29 2005, 09:46 PM
говорилже надо делать карту дорог, а не набор вейпоитов !
а я с тобой не согласен! вейпоинты рулят :lol:

jimon 29.11.2005 23:01

еще скажи что нарисовать рисунок по точкам легче чем по векторам

ps. мне лично пофиг, как и где будет ето реализовано

но по опыту предмереного мышления скажу что лутче карта дорог

если вас всештаки так прет ети вейпоинты
то разбиваем карту дорог на прямые линии, вот концы етих линий и будут вашими вейпоинтами

НО при таком подходе будут просто ужасные повороты ето раз
и при кривых дорогах будет просто дофигища вейпоинтов


Часовой пояс GMT +4, время: 13:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot