Пятница, 29 Марта 2024, 04:43

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Ресурсы и Примеры игр » 3D-моделирование и 3D-графика » Terrain + пещеры (вопрос)
Terrain + пещеры
TahomaДата: Четверг, 30 Декабря 2010, 12:17 | Сообщение # 1
был не раз
Сейчас нет на сайте
Привет всем. Хотелось бы услышать/увидеть хорошее предложение по созданию туннелей/шахт/пещер в моделях ландшафта.
Сейчас используя С++ с D3D создаю небольшой ландшафтик исходя из цветовых высот изложенных в обычной bmp. Ну как обычно, чем ярче, тем выше.
Вот теперь возник вопрос, как же мне создать пещеру, ну или просто углубление в полученной горе? Может кто-нибудь подсказать логическую часть КАК? Буду очень благодарен
ArchidoДата: Четверг, 30 Декабря 2010, 13:15 | Сообщение # 2
Сэнсэй
Сейчас нет на сайте
Tahoma, с помощью карты высот никак вообщем-то.
Делаешь вторую карту, на которой помечаешь места, где у тебя есть пещеры\углубления, далее просто в том месте не создаешь треугольники и подгоняешь в то место готовую отдельную модель пещеры к примеру.
Вторая карта "пещер" скажем, может хранить ID требуемой модели.
Т.е. это вообщем-то уже Indoor получается (ландшафт - outdoor)


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
TahomaДата: Четверг, 30 Декабря 2010, 13:43 | Сообщение # 3
был не раз
Сейчас нет на сайте
Пробовал. У меня получается вылазят дырки из модели пещеры. Т.е. допустим у меня ровная высокая стена ввысь. Получается построена она всего из нескольких треугольников тянущихся снизу до самого верху и наоборот. Убирая полигоны там, где должен быть вход в пещеру, у меня убираются полигоны до самого верху, что значительно дыряво выглядеть начинает, т.к. пещера даже до половины стенки не доходит в высоту.
ezhickovichДата: Четверг, 30 Декабря 2010, 14:17 | Сообщение # 4
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Попробуй использовать воксели для построения ландшафта...
Кроме всего прочего это позволит создавать разрушаемые ландшафты... (да и вообще геометрия на вокселях потенциально разрушаема)
Немного википедии



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
ArchidoДата: Четверг, 30 Декабря 2010, 14:20 | Сообщение # 5
Сэнсэй
Сейчас нет на сайте
В таких случаях обычно принято выкладывать скриншоты smile , гораздо лучше становится понятно проблему.

Под "стеной" ты подразумеваешь ландшафт(пару треуглов), которые вытянули в высоту? Если я все правильно понял, то так делать немножко хорошо smile , там будут проблемы с текстурами (они сильно потянутся вверх и размажутся), придеться два раза читать текстуры в шейдере(если есть конечно smile ).

А вообще, к самой модели пещеры можно приложить "сверху" небольшую окантовку (или бордюр). Представляет собой примерно сетку 8х8 (например) треугольников, в середине которой заранее смоделирован "переход" в пещеру (т.е. реальная окантовка будет меньше 8x8, по высоте не выравниваем).
И далее когда нужно воткнуть пещеру в ландшафт, то убираем в нужном месте 8x8 тайлов и подсовываем туда нашу пещерку с "окантовкой". Окантовку выравниваем по высоте участка(реального ландшафта), который вырезали. От туда же берем текстурные координаты и делаем такой же маппинг.
По высоте(около смоделированного перехода) можно по-разному равнять(можно проинтерполировать, чтобы очень плавные высоты перехода получилось, а для простоты можно взять "среднее арифметическое"), тогда грубых скачков при переходе не будет.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Четверг, 30 Декабря 2010, 15:06
TahomaДата: Четверг, 30 Декабря 2010, 14:42 | Сообщение # 6
был не раз
Сейчас нет на сайте
Quote (ezhickovich)
Попробуй использовать воксели для построения ландшафта... Кроме всего прочего это позволит создавать разрушаемые ландшафты... (да и вообще геометрия на вокселях потенциально разрушаема)

Quote (Archido)
А вообще, к самой модели пещеры можно приложить "сверху" небольшую окантовку (или бордюр). Представляет собой примерно сетку 8х8 (например) треугольников, в середине которой заранее смоделирован "переход" в пещеру (т.е. реальная окантовка будет меньше 8x8, по высоте не выравниваем). И далее когда нужно воткнуть пещеру в ландшафт, то убираем в нужном месте 8x8 тайлов и подсовываем туда нашу пещерку с "окантовкой". Окантовку выравниваем по высоте участка(реального ландшафта), который вырезали. От туда же берем текстурные координаты и делаем такой же маппинг. По высоте(около смоделированного перехода) можно по-разному равнять(можно проинтерполировать, чтобы очень плавные высоты перехода получилось, а для простоты можно взять "среднее арифметическое"), тогда грубых скачков при переходе не будет.

Попробую оба варианта, отпишусь что получилось.

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

Тут маленько сложнее. Сейчас на работе и ничего под рукой нет, чтобы заскринить. Как дома буду, проверю варианты и в случае чего приложу скрины.

p.s.: ещё вопрос: если я ландшафт смоделирую в максе и сконверчу в Х, как это отразится на производительности? Чисто логически загрузка должна пройти быстрее, чем построение вершин из bmp.

Сообщение отредактировал Tahoma - Четверг, 30 Декабря 2010, 14:48
ArchidoДата: Четверг, 30 Декабря 2010, 15:05 | Сообщение # 7
Сэнсэй
Сейчас нет на сайте
Quote (Tahoma)
ещё вопрос: если я ландшафт смоделирую в максе и сконверчу в Х, как это отразится на производительности? Чисто логически загрузка должна пройти быстрее, чем построение вершин из bmp.

Ну чуток будет шустрее да, но не принципиально.
С картой высот удобнее работать (если нормально редактора нет), имхо.

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


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Четверг, 30 Декабря 2010, 15:54
TahomaДата: Пятница, 31 Декабря 2010, 13:47 | Сообщение # 8
был не раз
Сейчас нет на сайте
Quote (Archido)
Ландшафт со встроенными пещерами будет проще в реализации (сделал в максе, загрузил и не нарадуешься ), но возникнет немного других проблем: отсечение и лоды (когда до оптимайза доберешься).

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

Добавлено (31.12.2010, 13:47)
---------------------------------------------
Скачал движек ryzom. То что мне хотелось там есть, по крайней мере на скринах. Сейчас буду ковырять, может что ещё интересного найдется

ArchidoДата: Пятница, 31 Декабря 2010, 14:21 | Сообщение # 9
Сэнсэй
Сейчас нет на сайте
Quote (Tahoma)
ну оптимизацию я сразу заложил. чем дальше "горка", тем меньше полигонов выводится. Конечно не до полного искажения, но пока без деревьев и прочего видно, что при приближении горка изменяется и выравнивается. надеюсь с другими элементами мира этого видно не будет

Мм, а каким образом сейчас реализован ландшафт и система LODов? Вкратце.

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


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Форум игроделов » Ресурсы и Примеры игр » 3D-моделирование и 3D-графика » Terrain + пещеры (вопрос)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг