ПрограммированиеФорумГрафика

Алгоритм генерации ландшафта под 3d модель

#0
21:26, 26 окт 2011

Приветствую всех.

Дано - некоторая модель, состоящая из треугольников (например - закольцованное дорожное полотно).
Вводное - по заданным габаритам прямоугольника(Xmin, Zmin, Xmax, Zmax) в XZ плоскости (принимая что up = +Y) сформировать меш ландшафта, с вырезкой элементов данного объекта по плоскости XZ и плотно сшитый с ним.

Какие есть алгоритмы и/или подходы и/или идеи?

Если не понятное объяснил - отпишите - поясню...

#1
22:13, 26 окт 2011

если я понял правильно проблему, то это булевская операция над 2 объектами с триангуляцией.
http://gts.sourceforge.net/

#2
1:01, 27 окт 2011

NIXIUS
Долго вчитывался, не могу понять
Надо вокруг куска дороги достроить ландшафт?

#3
1:32, 27 окт 2011

NIXIUS
> Какие есть алгоритмы и/или подходы и/или идеи?
  В игровых редакторах есть такое

#4
8:48, 27 окт 2011

Aslan
Ну да, ему это и надо.

#5
10:18, 27 окт 2011

misty
> если я понял правильно проблему, то это булевская операция над 2 объектами с
> триангуляцией.
Не совсем. Тут два варианта:
1. Генерировать ландшафт с учётом высоты дороги.
2. Вырезать из ландшафта углубления и делать "насыпи", если ландшафт сгенерирован независимо.
Я в AoS2:
http://www.gamedev.ru/projects/forum/?id=143531
делал немного не так - у меня в дороге задаётся только X и Z, а Y свободен. Потом дорога ложится на ландшафт с некоторой "упругостью", чтобы сгладить резкие перепады.

#6
11:48, 27 окт 2011

Mikle - меня понял правильно. Так какие есть решения?

#7
12:53, 27 окт 2011

Mikle
1. ты не получаешь
NIXIUS
> плотно сшитый с ним

2. это то, что я описал.

#8
13:31, 27 окт 2011

misty
Почему не получаю? Это подразумевает алгоритм генерации, учитывающий уже имеющиеся величины.

#9
13:33, 27 окт 2011

ну т.е. таже триангуляция?

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

#10
13:36, 27 окт 2011

misty
> т.е. таже триангуляция?
Да, но булевской операцией мешей дороги и ландшафта не обойтись.
NIXIUS
> Mikle - меня понял правильно.
Это про п.1 или п.2?

#11
15:22, 27 окт 2011

Mikle
Про п.2

#12
16:15, 27 окт 2011

NIXIUS
Ну а в чём проблема? Пройтись по сетке ландшафта циклом, если разница высот между текущей точкой и ближайшей точкой дороги больше расстояния до этой точки * k, где k - предельная крутизна склонов, то соответственно понижаешь(повышаешь) эту точку.

ПрограммированиеФорумГрафика

Тема в архиве.