![]() |
![]() ![]() |
![]() |
volvo |
![]()
Сообщение
#1
|
Гость ![]() |
Приветствую всех, заглянувших в эту тему...
Вот, появилась у меня задумка, и одновременно с задумкой - проблема с выбором средства реализации... Дело в следующем... Мне для одного моего проекта (проект, в принципе, не игровой, но поскольку в играх нечто подобное может встречаться часто - спрошу здесь) понадобилась реализация замкнутого пространства с возможностью свободного перемещения по нему... Все бы ничего, если бы пространство включало в себя комнату, скажем, 10*10 метров и 3 метров высоты... В моем случае все гораздо сложнее - приблизительные размеры помещения оцениваются в 50 (длина) километров и порядка 20 километров высоты, и в этом "помещении" нужно реализовать передвижение человека (ну, пусть будет перемещение камеры на высоте от человеческого роста до, скажем, одного километра) - что будет равноценно перемещению человека на ногах или на вертолете... Если быть совсем точным, лучше всего объект, который я хочу реализовать, описывается так: полый цилиндр диаметром 20 километров длиной 50 километров, вид изнутри (Олег, ты правильно догадался, именно это я и хочу сделать ![]() Собственно вопрос: что лучше использовать (для успешной реализации всех перечисленных спецэффектов, и максимально реалистичного отображения объекта)? В принципе, доступными средствами на данный момент являются DirectX или OpenGL, среда разработки - предпочтительно Дельфи (возможно - FPC), но возможен переход на C++ (под OpenGL)... Если у кого был опыт разработки трехмерного мира подобного масштаба - просьба откликнуться, рассказать, с какими сложностями можно столкнуться в процессе разработки, возможно, есть какие-то сторонние (желательно - FreeWare) библиотеки, использование которых облегчит разработку? |
arhimag |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Впринципе для этого можно использовать DGLE, но если хочеться, чтобы фпс было побольше и порыться глубже, то Opengl ИМХО он проще и удобнее, правда от DirectX, имхо, можно добиться большей производительности. А так, и OpenGL и DirectX есть и под Delphi, все зависит от твоего желания, но OpenGL имхо менно для твоей задумки будет значительно проще!
-------------------- Чего хочет женщина – того хочет Бог
|
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Я извиняюсь за вторжение - не считаю себя специалистом в этом вопросе. Но один пункт меня заинтересовал..
Почему ты считаешь, что комната - это мало, а 50 км - много? Ведь ясно, что вопрос только в отношении размеров объема к размеру деталей. То есть, если мы захотим в комнате рассматривать микронные неровности, то задача усложнится больше, чем рассматривание метровых деталей в 50 км.. А если так, то на первый план выступает способ отображения объекта с разными уровнями детализации. И тут полагаться на графические библиотеки, имхо, не стоит. Надо иметь специальный движок, наподобие того, что используется во flight-симуляторах. Наверняка такие движки есть - хотя я их не знаю, как неспециалист.. Мне кажется, такую штуку интересно было бы разработать самому - но это вопрос желания и наличия времени.. - последнего как правило нету ![]() Я правильно понял суть вопроса? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
arhimag |
![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
то что ты говоришь реализуеться достаточно легко, алгоритм бсп деревьев, его легко редактировать набором констант и блаагодаря этому можно редактировать детализация объектов.
-------------------- Чего хочет женщина – того хочет Бог
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата Почему ты считаешь, что комната - это мало, а 50 км - много? Объясняю, в чем основная проблема: дело в том, что при таком раскладе, что человек находится на внутренней поверхности цилиндра, для него НЕТ скрытого пространства, это во-первых (изгиб поверхности НЕ скрывает, а открывает все то, что на этой поверхности находится) достаточно поднять камеру вверх, и должно быть видно все, что творится на противоположной стороне цилиндра (при условии хорошего освещения и чистой атмосферы внутри объекта, а освещение будет прекрасным, и прозрачность атмосферы должна колебаться от абсолютно прозрачной до густого тумана, поэтому полагаться на скрытие деталей за туманом нельзя, да и размеры объектов могут быть километровыми...), а во-вторых, я вообще не могу никак сообразить, как реализовать то, что камера находится ВНУТРИ, а не снаружи цилиндра, ну, и с физикой дикие проблемы: цилиндр в принципе вращающийся, следовательно сила тяжести направлена не куда-нибудь, а от продольной оси цилиндра "под ноги человеку", это тоже привносит дополнительные проблемы (в частности - представь, как должна вести себя вода в таком мире)...Так что, готовые движки скорее всего отпадают, буду пробовать делать на маленьких моделях вручную... |
arhimag |
![]()
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Volvo , поведай тайну, что это такое?
А по поводу графики, то действительно, это очень похоже на классический пример для бсп деревьев. -------------------- Чего хочет женщина – того хочет Бог
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Классический? Ты работал с DirectX ВООБЩЕ когда-нибудь (не на уровне "Hello, World!")? Можно посмотреть твои работы? Аналогично - с OpenGL, ссылку на ТВОИ программы приведи...
|
arhimag |
![]()
Сообщение
#8
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
В directX работал только с directdraw, а для dricetX 3d знаю только теорию, на практике ничего на нем не делал, а вот OPENGL использовал и в достаточно большом количестве, и огромные ландшафты делал!
-------------------- Чего хочет женщина – того хочет Бог
|
Altair |
![]()
Сообщение
#9
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата Volvo , поведай тайну, что это такое? Можно я? ![]() Это будет трехмерное путешествие по миру инопланетного космического корабля! ![]() Незабываемое путешествие! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 16:31 |